From 6e8a55edef22faa7f7d5bbbccd727119a6fd918f Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期一, 03 六月 2024 14:05:08 +0800 Subject: [PATCH] 用户端商品 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java | 36 ++++++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java | 11 - ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java | 4 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 134 +++++++++++++++++++++- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java | 46 +++++++ ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java | 75 ++++++++++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java | 14 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java | 3 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java | 4 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java | 2 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java | 2 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java | 12 +- 14 files changed, 316 insertions(+), 31 deletions(-) diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsGroupPurchase.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java similarity index 98% rename from ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsGroupPurchase.java rename to ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java index eb0e2c2..077d104 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/GoodsGroupPurchase.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/GoodsGroupPurchase.java @@ -1,4 +1,4 @@ -package com.ruoyi.goods.domain; +package com.ruoyi.system.api.domain; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java new file mode 100644 index 0000000..48fa0d7 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MemberOrderDTO.java @@ -0,0 +1,46 @@ +package com.ruoyi.system.api.domain.dto; + +import com.ruoyi.common.core.enums.OrderFromEnum; +import com.ruoyi.common.core.enums.OrderStatusEnum; +import com.ruoyi.common.core.enums.PaymentMethodEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class MemberOrderDTO { + @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=拍卖订单") + private Integer orderFrom; + + @ApiModelProperty(value = "会员id") + private Long memberId; + + @ApiModelProperty(value = "商品数量") + private Integer goodsQuantity; + + @ApiModelProperty(value = "优惠券id") + private Long couponId; + + @ApiModelProperty(value = "商品id") + private Long goodsSkuId; + + @ApiModelProperty(value = "收货人姓名") + private String receiverName; + + @ApiModelProperty(value = "收货人电话") + private String receiverphone; + + @ApiModelProperty(value = "城市") + private String receiverCity; + + + @ApiModelProperty(value = "详细地址") + private String receiverDetailAddress; + + + @ApiModelProperty(value = "支付方式 1=微信 2=支付宝") + private Integer paymentMethod; + + +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java new file mode 100644 index 0000000..19fbdec --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberTiOrderVO.java @@ -0,0 +1,75 @@ +package com.ruoyi.system.api.domain.vo; + +import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; +import com.ruoyi.common.core.enums.OrderFromEnum; +import com.ruoyi.common.core.enums.OrderStatusEnum; +import com.ruoyi.common.core.enums.PaymentMethodEnum; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +@Data +public class MemberTiOrderVO { + @ApiModelProperty(value = "订单id") + private Long id; + + @ApiModelProperty(value = "订单编号") + private String orderNo; + + @ApiModelProperty(value = "商品id") + private Long goodsSkuId; + + @ApiModelProperty(value = "下单时间") + private LocalDateTime orderTime; + + @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=拍卖订单") + private OrderFromEnum orderFrom; + + @ApiModelProperty(value = "拍卖订单类型 1=普通拍品 2=拍卖会拍品") + private AuctionOrderTypeEnum auctionType; + + @ApiModelProperty(value = "会员id") + private Long memberId; + + @ApiModelProperty(value = "支付方式 1=微信 2=支付宝") + private PaymentMethodEnum paymentMethod; + + @ApiModelProperty(value = "支付合计") + private BigDecimal totalAmount; + + @ApiModelProperty(value = "订单状态 1=待支付 2=待发货 3=待收货 4=已完成 5=已取消") + private OrderStatusEnum orderStatus; + + @ApiModelProperty(value = "优惠金额") + private BigDecimal discountMoney; + + @ApiModelProperty(value = "商品数量") + private Integer goodsQuantity; + + @ApiModelProperty(value = "收货人姓名") + private String receiverName; + + @ApiModelProperty(value = "收货人电话") + private String receiverphone; + + @ApiModelProperty(value = "城市") + private String receiverCity; + + + @ApiModelProperty(value = "详细地址") + private String receiverDetailAddress; + + @ApiModelProperty(value = "商品价格") + private BigDecimal price; + + + @ApiModelProperty(value = "优惠的价格") + private BigDecimal youhiPrice; + + @ApiModelProperty(value = "商品名称") + private String skuName; + + @ApiModelProperty(value = "封面图") + private String coverPic; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java index f0133b2..3b74556 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java @@ -1,12 +1,7 @@ package com.ruoyi.system.api.factory; import com.ruoyi.common.core.domain.R; -import com.ruoyi.system.api.domain.GoodsBrand; -import com.ruoyi.system.api.domain.GoodsCategory; -import com.ruoyi.system.api.domain.GoodsFlavorType; -import com.ruoyi.system.api.domain.GoodsSeckill; -import com.ruoyi.system.api.domain.GoodsSeries; -import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.domain.*; import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; import java.util.Collection; @@ -51,6 +46,11 @@ } @Override + public R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(Long goodsSkuId, String source) { + return R.fail("通过id团购商品失败:" + cause.getMessage()); + } + + @Override public R<GoodsSeckill> getGoodsSeckillOne(Long goodsSkuId, String source) { return R.fail("通过id查询秒杀商品失败:" + cause.getMessage()); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java index 85a46a9..ab0129d 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java @@ -3,12 +3,7 @@ import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; -import com.ruoyi.system.api.domain.GoodsBrand; -import com.ruoyi.system.api.domain.GoodsCategory; -import com.ruoyi.system.api.domain.GoodsFlavorType; -import com.ruoyi.system.api.domain.GoodsSeckill; -import com.ruoyi.system.api.domain.GoodsSeries; -import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.domain.*; import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; import com.ruoyi.system.api.factory.GoodsSkuFactory; import java.util.Collection; @@ -44,6 +39,10 @@ R<GoodsFlavorType> getFlavorTypeOne(@RequestBody Long flavorTypeId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + @PostMapping("/goods-group-purchase/getGoodsSeckiGoodsGroupPurchaseOne") + R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(@RequestBody Long goodsSkuId, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + @PostMapping("/goods-seckill/getGoodsSeckillOne") R<GoodsSeckill> getGoodsSeckillOne(@RequestBody Long goodsSkuId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java index 373ceb6..08c79fa 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java @@ -4,13 +4,11 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; +import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.goods.service.IGoodsGroupPurchaseService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; /** * <p> @@ -28,6 +26,14 @@ private final IGoodsGroupPurchaseService goodsGroupPurchaseService; + @InnerAuth + @PostMapping("/getGoodsSeckiGoodsGroupPurchaseOne") + @ResponseBody + public R<GoodsGroupPurchase> getGoodsSeckiGoodsGroupPurchaseOne(@RequestBody Integer goodsSkuId) { + GoodsGroupPurchase GoodsSeckillOne = goodsGroupPurchaseService.getById(goodsSkuId); + return R.ok(GoodsSeckillOne); + } + /** * 团购商品开始团购 * diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java index 6f164ee..4da224a 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/GoodsGroupPurchaseMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO; -import com.ruoyi.goods.domain.GoodsGroupPurchase; +import com.ruoyi.system.api.domain.GoodsGroupPurchase; import org.apache.ibatis.annotations.Param; /** diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java index 77d6403..814df1e 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java @@ -6,12 +6,11 @@ import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseDTO; import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseQuery; import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO; -import com.ruoyi.goods.domain.GoodsGroupPurchase; +import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.ListStatusDTO; import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO; import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO; -import org.springframework.web.bind.annotation.RequestBody; /** * <p> diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java index 13afb40..3ef1023 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Lists; import com.ruoyi.common.core.constant.SecurityConstants; -import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.enums.GroupStatusEnum; import com.ruoyi.common.core.enums.ListingStatusEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; @@ -18,13 +17,12 @@ import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.common.redis.service.RedisService; -import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO; import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseDTO; import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseQuery; import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO; -import com.ruoyi.goods.domain.GoodsGroupPurchase; +import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper; import com.ruoyi.goods.service.IGoodsGroupPurchaseService; import com.ruoyi.goods.service.IGoodsSkuService; diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java index c04b4bb..8d0d431 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java @@ -17,7 +17,7 @@ import com.ruoyi.goods.controller.management.dto.GoodsSkuDTO; import com.ruoyi.goods.controller.management.dto.GoodsSkuQuery; import com.ruoyi.goods.controller.management.vo.GoodsSkuVO; -import com.ruoyi.goods.domain.GoodsGroupPurchase; +import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.goods.domain.GoodsInfoTitleValue; import com.ruoyi.goods.domain.MemberGoodsCollection; import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper; diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java index eade347..375563a 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/task/GoodsScheduler.java @@ -3,7 +3,7 @@ import com.ruoyi.common.core.enums.ListingStatusEnum; import com.ruoyi.common.core.enums.StartStatusEnum; import com.ruoyi.common.core.utils.StringUtils; -import com.ruoyi.goods.domain.GoodsGroupPurchase; +import com.ruoyi.system.api.domain.GoodsGroupPurchase; import com.ruoyi.goods.service.IGoodsGroupPurchaseService; import com.ruoyi.goods.service.IGoodsSeckillService; import com.ruoyi.goods.service.async.AsyncMethodService; diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java new file mode 100644 index 0000000..e122425 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/forepart/ForepartOrderController.java @@ -0,0 +1,36 @@ +package com.ruoyi.order.controller.forepart; + + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.order.service.IOrderService; +import com.ruoyi.system.api.domain.dto.MemberOrderDTO; +import com.ruoyi.system.api.domain.vo.MemberTiOrderVO; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + + +/** + * <p> + * 订单表 前端控制器 + * </p> + * + * @author mitao + * @since 2024-05-16 + */ +@Slf4j +@RestController +@RequestMapping("/forepart/order") +@RequiredArgsConstructor +public class ForepartOrderController { + + private final IOrderService orderService; + + @PostMapping("/saveMemberOrder") + @ApiOperation(value = "用户端-立即下单") + public R<MemberTiOrderVO> saveMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO) { + return R.ok(orderService.saveMemberOrder(memberOrderDTO)); + } + +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java index 32719aa..e3a3d88 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/IOrderService.java @@ -3,7 +3,9 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; +import com.ruoyi.system.api.domain.dto.MemberOrderDTO; import com.ruoyi.system.api.domain.dto.OrderDTO; +import com.ruoyi.system.api.domain.vo.MemberTiOrderVO; import com.ruoyi.system.api.domain.vo.OrderVO; import org.springframework.web.bind.annotation.RequestBody; @@ -48,5 +50,7 @@ Order getOrderByGroupPurchaseMemberId(HomeGoodsSkuDTO homeGoodsSkuDTO); List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO); + MemberTiOrderVO saveMemberOrder(@RequestBody MemberOrderDTO memberOrderDTO); + } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 334950d..5160306 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -1,24 +1,32 @@ package com.ruoyi.order.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; +import com.ruoyi.common.core.enums.PaymentMethodEnum; +import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.order.domain.OrderMall; import com.ruoyi.order.mapper.OrderMapper; import com.ruoyi.order.service.IOrderMallService; import com.ruoyi.order.service.IOrderService; import com.ruoyi.order.util.OrderUtil; -import com.ruoyi.system.api.domain.Order; -import com.ruoyi.system.api.domain.OrderAuctionBond; +import com.ruoyi.system.api.domain.*; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; +import com.ruoyi.system.api.domain.dto.MemberOrderDTO; import com.ruoyi.system.api.domain.dto.OrderDTO; + +import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.List; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Resource; +import com.ruoyi.system.api.domain.vo.MemberTiOrderVO; import com.ruoyi.system.api.domain.vo.OrderVO; +import com.ruoyi.system.api.feignClient.GoodsSkuClient; +import com.ruoyi.system.api.feignClient.MemberClient; import org.springframework.stereotype.Service; /** @@ -36,11 +44,32 @@ @Resource private IOrderMallService orderMallService; + + @Resource + private GoodsSkuClient goodsSkuClient; + + @Resource + private MemberClient memberClient; + + @Override public void saveOrderOne(OrderDTO OrderDTO) { Order order=new Order(); - String prefix = OrderUtil.getOrderNoForPrefix("XM"); - order.setOrderNo(prefix); + if (OrderDTO.getOrderFrom().getCode()==1){ + order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER); + order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP")); + } + if (OrderDTO.getOrderFrom().getCode()==2){ + order.setOrderFrom(OrderFromEnum.SNAP_ORDERS); + order.setOrderNo(OrderUtil.getOrderNoForPrefix("MS")); + } + if (OrderDTO.getOrderFrom().getCode()==3){ + order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS); + order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG")); + }if (OrderDTO.getOrderFrom().getCode()==4){ + order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS); + order.setOrderNo(OrderUtil.getOrderNoForPrefix("PM")); + } order.setOrderTime(OrderDTO.getOrderTime()); order.setOrderFrom(OrderDTO.getOrderFrom()); order.setAuctionType(OrderDTO.getAuctionType()); @@ -105,4 +134,97 @@ public List<OrderVO> getOrderByGroupPurchaseMemberList(HomeGoodsSkuDTO homeGoodsSkuDTO) { return baseMapper.getOrderByGroupPurchaseMemberList(homeGoodsSkuDTO); } + + @Override + public MemberTiOrderVO saveMemberOrder(MemberOrderDTO memberOrderDTO) { + + MemberTiOrderVO memberOrderVO=new MemberTiOrderVO(); + BigDecimal pice=new BigDecimal(0); + + Order order=new Order(); + if (memberOrderDTO.getOrderFrom()==1){ + order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER); + order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP")); + } + if (memberOrderDTO.getOrderFrom()==2){ + order.setOrderFrom(OrderFromEnum.SNAP_ORDERS); + order.setOrderNo(OrderUtil.getOrderNoForPrefix("MS")); + } + if (memberOrderDTO.getOrderFrom()==3){ + order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS); + order.setOrderNo(OrderUtil.getOrderNoForPrefix("TG")); + } + if (memberOrderDTO.getPaymentMethod()==1){ + order.setPaymentMethod(PaymentMethodEnum.WECHAT); + }if (memberOrderDTO.getPaymentMethod()==2){ + order.setPaymentMethod(PaymentMethodEnum.ALIPAY); + } + + if (memberOrderDTO.getOrderFrom()==1){ + GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); + memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); + memberOrderVO.setPrice(goodsSku.getPrice()); + memberOrderVO.setCoverPic(goodsSku.getCoverPic()); + memberOrderVO.setSkuName(goodsSku.getSkuName()); + pice=goodsSku.getPrice(); + } + if (memberOrderDTO.getOrderFrom()==2){ + order.setOrderFrom(OrderFromEnum.SNAP_ORDERS); + GoodsSeckill data = goodsSkuClient.getGoodsSeckillOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); + GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); + memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); + memberOrderVO.setPrice(goodsSku.getPrice()); + memberOrderVO.setCoverPic(goodsSku.getCoverPic()); + memberOrderVO.setSkuName(goodsSku.getSkuName()); + memberOrderVO.setYouhiPrice(data.getSeckillPrice()); + pice=data.getSeckillPrice(); + } + if (memberOrderDTO.getOrderFrom()==3){ + order.setOrderFrom(OrderFromEnum.GROUP_PURCHASE_ORDERS); + GoodsGroupPurchase data = goodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData(); + GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(data.getGoodsSkuId(), SecurityConstants.INNER).getData(); + memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); + memberOrderVO.setPrice(goodsSku.getPrice()); + memberOrderVO.setCoverPic(goodsSku.getCoverPic()); + memberOrderVO.setSkuName(goodsSku.getSkuName()); + memberOrderVO.setYouhiPrice(data.getGroupPurchasePrice()); + pice=data.getGroupPurchasePrice(); + } + order.setMemberId(memberOrderDTO.getMemberId()); + order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity()); + order.setOrderTime(LocalDateTime.now()); + order.setGoodsQuantity(memberOrderDTO.getGoodsQuantity()); + order.setTotalAmount(pice.multiply(new BigDecimal(memberOrderDTO.getGoodsQuantity()))); + order.setOrderStatus(OrderStatusEnum.TO_PLAY); + + MemberAddress data = memberClient.getMemberAddressOne( + memberOrderDTO.getMemberId(), SecurityConstants.INNER).getData(); + if (StringUtils.isNotNull(data)) { + order.setReceiverName(data.getRecipientName()); + order.setReceiverCity(data.getReceiverCity()); + order.setReceiverDetailAddress(data.getDetailedAddress()); + order.setReceiverphone(data.getRecipientPhone()); + } + + baseMapper.insert(order); + OrderMall orderMall=new OrderMall(); + orderMall.setOrderId(order.getId()); + if (memberOrderDTO.getOrderFrom()==1){ + orderMall.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); + } + if (memberOrderDTO.getOrderFrom()==2){ + orderMall.setActivityId(memberOrderDTO.getGoodsSkuId()); + } + if (memberOrderDTO.getOrderFrom()==3){ + orderMall.setActivityId(memberOrderDTO.getGoodsSkuId()); + } + orderMallService.save(orderMall); + + memberOrderVO.setOrderStatus(OrderStatusEnum.TO_PLAY); + memberOrderVO.setOrderNo(order.getOrderNo()); + memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); + memberOrderVO.setOrderTime(order.getOrderTime()); + memberOrderVO.setOrderFrom(order.getOrderFrom()); + return null; + } } -- Gitblit v1.7.1