From 65816321c28dab1f43d0563af67dbcbad2c5bdca Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期一, 22 五月 2023 18:15:39 +0800
Subject: [PATCH] demo补完

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 7b8da7d..4708c86 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -16,11 +16,13 @@
 import com.ruoyi.order.domain.pojo.order.ConsumerGoods;
 import com.ruoyi.order.domain.pojo.order.Order;
 import com.ruoyi.order.domain.pojo.order.OrderGoods;
+import com.ruoyi.order.domain.pojo.order.ShoppingCart;
 import com.ruoyi.order.domain.vo.*;
 import com.ruoyi.order.service.goods.GoodsFileService;
 import com.ruoyi.order.service.goods.ShopGoodsService;
 import com.ruoyi.order.service.order.ConsumerGoodsService;
 import com.ruoyi.order.service.order.OrderGoodsService;
+import com.ruoyi.order.service.order.ShoppingCartService;
 import com.ruoyi.order.util.CodeFactoryUtil;
 import com.ruoyi.system.api.RemoteMemberService;
 import com.ruoyi.system.api.RemoteShopService;
@@ -28,6 +30,7 @@
 import com.ruoyi.system.api.constant.AppErrorConstant;
 import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
 import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
+import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
@@ -82,6 +85,9 @@
 
     @Resource
     private ConsumerGoodsService consumerGoodsService;
+
+    @Resource
+    private ShoppingCartService shoppingCartService;
 
     /**
      * @description: buyGoods
@@ -244,6 +250,8 @@
         String orderNo = CodeFactoryUtil.getShopOrderNo();
         OrderGoods orderGoods;
         String orderGoodsId;
+        ShoppingCart shoppingCart;
+        HashSet<String> goodsTypeSet = new HashSet<>();
         for(AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList){
             appSureOrderGoodsVo = new AppSureOrderGoodsVo();
             useCoupon = 0;
@@ -326,6 +334,17 @@
             orderGoods.setServiceNum(serviceNum);
             orderGoods.setGoodsType(goods.getGoodsType());
             orderGoodsService.save(orderGoods);
+            //清空购物车
+            shoppingCartService.deleteByUserIdAndGoodsId(userId,goodsId);
+            if(goods.getGoodsType()==1){
+                goodsTypeSet.add("周期");
+            }else if(goods.getGoodsType()==2){
+                goodsTypeSet.add("服务");
+            }else if(goods.getGoodsType()==3){
+                goodsTypeSet.add("体验");
+            }else if(goods.getGoodsType()==4){
+                goodsTypeSet.add("单品");
+            }
         }
         Order order = new Order();
         order.setOrderId(orderId);
@@ -340,6 +359,7 @@
         order.setCouponMoney(couponDiscount);
         order.setDiscountMoney(couponDiscount);
         order.setReceivableMoney(orderPayMoney);
+        order.setReceivableDeposit(orderPayDeposit);
         order.setPayType(appPlaceOrderDto.getPayType());
         if(order.getPayType()==1){
             order.setPayMoney(orderPayMoney);
@@ -358,10 +378,18 @@
         order.setGoodsNum(goodsNum);
         order.setCreateTime(new Date());
         this.save(order);
+        //更新用户商品类型
+        if(goodsTypeSet!=null&&goodsTypeSet.size()>0){
+            AppMemberGoodsTypeDto appMemberGoodsTypeDto = new AppMemberGoodsTypeDto();
+            appMemberGoodsTypeDto.setUserId(userId);
+            appMemberGoodsTypeDto.setGoodsTypeSet(goodsTypeSet);
+            remoteMemberService.updateMemberGoodsType(appMemberGoodsTypeDto);
+        }
         appPlaceOrderVo.setOrderId(orderId);
         appPlaceOrderVo.setOrderNo(orderNo);
 
         //调用支付
+
 
         return appPlaceOrderVo;
     }
@@ -513,6 +541,9 @@
         merVerifyOrderVo.setReceivableMoney(order.getReceivableMoney());
         merVerifyOrderVo.setPayMoney(order.getPayMoney());
         merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
+        merVerifyOrderVo.setCreateTime(order.getCreateTime());
+        merVerifyOrderVo.setPayTime(order.getPayTime());
+        merVerifyOrderVo.setUseTime(order.getUseTime());
         merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
         SysUser sysUser = remoteUserService.getSysUser(order.getUserId()).getData();
         merVerifyOrderVo.setUserName(sysUser.getNickName());
@@ -577,6 +608,9 @@
         merVerifyOrderVo.setPayMoney(order.getPayMoney());
         merVerifyOrderVo.setOrderRemark(order.getOrderRemark());
         merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList);
+        merVerifyOrderVo.setCreateTime(order.getCreateTime());
+        merVerifyOrderVo.setPayTime(order.getPayTime());
+        merVerifyOrderVo.setUseTime(order.getUseTime());
         SysUser sysUser = remoteUserService.getSysUser(order.getUserId()).getData();
         merVerifyOrderVo.setUserName(sysUser.getNickName());
         merVerifyOrderVo.setUserMobile(sysUser.getPhonenumber());
@@ -593,8 +627,12 @@
     public List<MerMemberNoClearOrderVo> pageMerMemberNoClearOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto){
         List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberNoClearOrder(page,merMemberNoClearOrderDto.getMemberUserId());
         if(merMemberNoClearOrderVoList!=null&&!merMemberNoClearOrderVoList.isEmpty()){
+            BigDecimal zeroBig = new BigDecimal("0.00");
             for(MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList){
                 merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney()));
+                if(merMemberNoClearOrderVo.getUnPaidMoney()==null){
+                    merMemberNoClearOrderVo.setUnPaidMoney(zeroBig);
+                }
             }
         }
         return merMemberNoClearOrderVoList;
@@ -750,6 +788,7 @@
         order.setCouponMoney(couponDiscount);
         order.setDiscountMoney(couponDiscount);
         order.setReceivableMoney(orderPayMoney);
+        order.setReceivableDeposit(new BigDecimal("0.00"));
         order.setPayType(1);
         if(order.getPayType()==1){
             order.setPayMoney(orderPayMoney);
@@ -819,6 +858,7 @@
             Member member;
             Integer orderFrom;
             String orderFromDesc;
+            BigDecimal zeroBig = new BigDecimal("0.00");
             for(MerOrderPageVo merOrderPageVo : merOrderPageVoList){
                 userId = merOrderPageVo.getUserId();
                 member = remoteMemberService.getMember(userId).getData();
@@ -845,6 +885,10 @@
                     orderFromDesc = "商城订单";
                 }
                 merOrderPageVo.setOrderFromDesc(orderFromDesc);
+                merOrderPageVo.setUnPaidMoney(merOrderPageVo.getReceivableMoney().subtract(merOrderPageVo.getPayMoney()));
+                if(merOrderPageVo.getUnPaidMoney()==null){
+                    merOrderPageVo.setUnPaidMoney(zeroBig);
+                }
             }
         }
         return merOrderPageVoList;
@@ -860,8 +904,12 @@
     public List<MerMemberNoClearOrderVo> pageMerMemberOrder(Page page, MerMemberNoClearOrderDto merMemberNoClearOrderDto){
         List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderMapper.pageMerMemberOrder(page,merMemberNoClearOrderDto.getMemberUserId());
         if(merMemberNoClearOrderVoList!=null&&!merMemberNoClearOrderVoList.isEmpty()){
+            BigDecimal zeroBig = new BigDecimal("0.00");
             for(MerMemberNoClearOrderVo merMemberNoClearOrderVo : merMemberNoClearOrderVoList){
                 merMemberNoClearOrderVo.setUnPaidMoney(merMemberNoClearOrderVo.getReceivableMoney().subtract(merMemberNoClearOrderVo.getPayMoney()));
+                if(merMemberNoClearOrderVo.getUnPaidMoney()==null){
+                    merMemberNoClearOrderVo.setUnPaidMoney(zeroBig);
+                }
             }
         }
         return merMemberNoClearOrderVoList;

--
Gitblit v1.7.1