From dbff53150cdc807faa56c0d1a947d24b69f372b9 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 31 八月 2023 18:43:20 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   84 +++++++++++++++++++++++++++++++-----------
 1 files changed, 62 insertions(+), 22 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 e59af1b..5b5d2cd 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
@@ -813,7 +813,8 @@
      * @param payerClientIp
      * @param goodsNameList
      */
-    public void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId,
+
+    private void createWxPayInfo(AppPlaceOrderVo appPlaceOrderVo, Long userId, Long shopId,
                                  String goodsName, String outTradeNo,
                                  String orderId, BigDecimal payMoney,
                                  String openid, String payerClientIp, List<String> goodsNameList,Integer orderFrom){
@@ -1226,14 +1227,20 @@
         List<AppUserOrderPageVo> appUserOrderPageVoList = orderMapper.pageUserOrder(page, appUserOrderPageDto);
         if (appUserOrderPageVoList != null && !appUserOrderPageVoList.isEmpty()) {
             Long shopId;
+            String activityId;
             Shop shop;
-            HashSet<Long> set = new HashSet<Long>();
+            HashSet<Long> shopSet = new HashSet<Long>();
+            HashSet<String> activitySet = new HashSet<String>();
             for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) {
                 shopId = appUserOrderPageVo.getShopId();
-                set.add(shopId);
+                shopSet.add(shopId);
+                if(appUserOrderPageVo.getOrderFrom()==2){
+                    activityId = appUserOrderPageVo.getActivityId();
+                    activitySet.add(activityId);
+                }
             }
             Map<Long, Shop> shopMap = new HashMap<>();
-            set.forEach(shopIdLong -> {
+            shopSet.forEach(shopIdLong -> {
                 Shop shopTemp = remoteShopService.getShop(shopIdLong).getData();
                 shopMap.put(shopIdLong, shopTemp);
             });
@@ -1625,7 +1632,10 @@
             payRecord.setPayType(merVerifyOrderDto.getPayType());
             payRecordService.save(payRecord);
         }
-
+        //更新用户消费统计
+        MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
+        memberTotalChangeDto.setConsumeTime(nowTime);
+        remoteMemberService.changeMemberTotal(memberTotalChangeDto);
         return merVerifyOrderVo;
     }
 
@@ -2308,7 +2318,10 @@
         if (StringUtils.isNotBlank(memberCouponSJ.toString())) {
             remoteCouponService.useMemberCoupon(memberCouponSJ.toString());
         }
-
+        //更新会员消费记录
+        MemberTotalChangeDto memberTotalChangeDto = new MemberTotalChangeDto();
+        memberTotalChangeDto.setConsumeTime(nowTime);
+        remoteMemberService.changeMemberTotal(memberTotalChangeDto);
         //更新商户统计
         /*ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto();
         shopTotalChangeDto.setShopId(order.getShopId());
@@ -2369,7 +2382,7 @@
                     if (orderFrom == 1) {
                         orderFromDesc = "商城订单";
                     } else if (orderFrom == 2) {
-                        orderFromDesc = "店铺砍价活动(" + merOrderPageVo.getActivityName() + ")";
+                        orderFromDesc = "平台秒杀活动(" + merOrderPageVo.getActivityName() + ")";
                     } else {
                         orderFromDesc = "线下创建";
                     }
@@ -3447,9 +3460,11 @@
         }
         //订单分布
         //日期全部时固定为5天
+        Boolean fillZero = false;
         if(StringUtils.isBlank(mgtBasePlatformDto.getStartDate())){
             mgtBasePlatformDto.setEndDate(DateUtils.getDate());
             mgtBasePlatformDto.setStartDate(DateUtils.parseDateToStr("yyyy-MM-dd",DateUtils.addDays(new Date(),-4)));
+            fillZero = true;
         }
         List<MgtMapTotalPlusVo> MgtMapIntTotalVos = orderMapper.listPlTotalOrderTotal(mgtBasePlatformDto);
         if (MgtMapIntTotalVos != null && MgtMapIntTotalVos.size() > 0) {
@@ -3461,10 +3476,17 @@
                 orderTotalValue[i] = MgtMapIntTotalVos.get(i).getMapValueFirst();
                 orderMoneyValue[i] = MgtMapIntTotalVos.get(i).getMapValueSecond();
             }
-            MerOrderDistributionTotalVo merOrderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue);
-            mgtTotalOrderTotalVo.setOrderTotalKey(merOrderDistributionTotalVo.getOrderTotalKey());
-            mgtTotalOrderTotalVo.setOrderTotalValue(merOrderDistributionTotalVo.getOrderTotalValue());
-            mgtTotalOrderTotalVo.setOrderMoneyValue(merOrderDistributionTotalVo.getOrderMoneyValue());
+            if(fillZero){
+                MerOrderDistributionTotalVo merOrderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue);
+                mgtTotalOrderTotalVo.setOrderTotalKey(merOrderDistributionTotalVo.getOrderTotalKey());
+                mgtTotalOrderTotalVo.setOrderTotalValue(merOrderDistributionTotalVo.getOrderTotalValue());
+                mgtTotalOrderTotalVo.setOrderMoneyValue(merOrderDistributionTotalVo.getOrderMoneyValue());
+            }else{
+                mgtTotalOrderTotalVo.setOrderTotalKey(orderTotalKey);
+                mgtTotalOrderTotalVo.setOrderTotalValue(orderTotalValue);
+                mgtTotalOrderTotalVo.setOrderMoneyValue(orderMoneyValue);
+            }
+
         }
         return mgtTotalOrderTotalVo;
     }
@@ -3497,6 +3519,10 @@
             }
         }*/
         List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+        if(mgtBasePlatformDto.getShopId()!=null){
+            shopIdList = new ArrayList<>();
+            shopIdList.add(mgtBasePlatformDto.getShopId());
+        }
         mgtBasePlatformDto.setShopIdList(shopIdList);
         //获取基础统计
         MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto);
@@ -3552,6 +3578,8 @@
                     mgtMapBigTotalVo.setMapKey("单品");
                     noGoods = false;
                 }
+                goodsTypeTotalList.add(mgtMapIntTotalVo);
+                goodsTypeMoneyList.add(mgtMapBigTotalVo);
             }
             //补充缺少类型
             if(noCycle){
@@ -4091,6 +4119,7 @@
      */
     @Override
     public MerOrderDistributionTotalVo MerOrderDistributionTotalVo(MerTotalDto merTotalDto) {
+        //获取查询的商户列表
         if (merTotalDto.getShopAllFlag() != null && merTotalDto.getShopAllFlag() == 1) {
             List<Long> shopIdList = remoteShopService.listShopIdByShopId(merTotalDto.getShopId()).getData();
             merTotalDto.setShopIdList(shopIdList);
@@ -4149,6 +4178,7 @@
         String[] orderTotalKey = new String[mgtMapTotalPlusVoList.size()];
         Integer[] orderTotalValue = new Integer[mgtMapTotalPlusVoList.size()];
         BigDecimal[] orderMoneyValue = new BigDecimal[mgtMapTotalPlusVoList.size()];
+        //数据为空返回空数组
         if (mgtMapTotalPlusVoList != null && !mgtMapTotalPlusVoList.isEmpty()) {
             MgtMapTotalPlusVo mgtMapTotalPlusVo;
             for (int i = 0; i < mgtMapTotalPlusVoList.size(); i++) {
@@ -4157,6 +4187,7 @@
                 orderTotalValue[i] = mgtMapTotalPlusVo.getMapValueFirst();
                 orderMoneyValue[i] = mgtMapTotalPlusVo.getMapValueSecond();
             }
+            //补充日期到近5日
             orderDistributionTotalVo = fillOrderTotalKeyAndValuesToRecentFiveDays(orderTotalKey,orderTotalValue,orderMoneyValue);
         }else{
             orderDistributionTotalVo.setOrderTotalKey(orderTotalKey);
@@ -4546,6 +4577,8 @@
             Integer bugGoodsNum = orderMapper.countUserBuyGoodsNum(order.getUserId(), orderGoods.getGoodsId());
             if (bugGoodsNum == null || bugGoodsNum < 1) {
                 goodsTotalChangeDto.setPersonNum(1);
+            }else{
+                goodsTotalChangeDto.setPersonNum(0);
             }
             goodsTotalChangeDtoList.add(goodsTotalChangeDto);
         }
@@ -4683,6 +4716,9 @@
         Boolean haveService = false;
         Boolean haveExperience = false;
         Boolean haveGoods = false;
+        //商品统计回退
+        List<GoodsTotalChangeDto> goodsTotalChangeDtoList = new ArrayList<>();
+        GoodsTotalChangeDto goodsTotalChangeDto;
         List<OrderGoods> orderGoodsList = orderGoodsService.listByOrderId(orderId);
         if (orderGoodsList != null && !orderGoodsList.isEmpty()) {
             StringJoiner memberCouponSJ = new StringJoiner(",");
@@ -4718,6 +4754,7 @@
                 } else {
                     memberCouponSJ.add(orderGoods.getCouponId());
                 }
+                //会员统计更新
                 switch (orderGoods.getGoodsType()) {
                     case 1:
                         cycleMoney = cycleMoney.add(orderGoods.getGoodsReceivableMoney());
@@ -4738,7 +4775,21 @@
                     default:
                         break;
                 }
+                //商品统计更新
+                goodsTotalChangeDto = new GoodsTotalChangeDto();
+                goodsTotalChangeDto.setGoodsId(orderGoods.getGoodsId());
+                goodsTotalChangeDto.setChangeType(2);
+                goodsTotalChangeDto.setChangeNum(orderGoods.getBuyNum());
+                goodsTotalChangeDto.setMoney(orderGoods.getGoodsReceivableMoney());
+                Integer bugGoodsNum = orderMapper.countUserBuyGoodsNum(order.getUserId(), orderGoods.getGoodsId());
+                if (bugGoodsNum == null || bugGoodsNum <= orderGoods.getBuyNum()) {
+                    goodsTotalChangeDto.setPersonNum(1);
+                }else{
+                    goodsTotalChangeDto.setPersonNum(0);
+                }
+                goodsTotalChangeDtoList.add(goodsTotalChangeDto);
             }
+            remoteGoodsService.changeGoodsTotal(goodsTotalChangeDtoList);
             //回退优惠券
             if (memberCouponSJ != null) {
                 remoteCouponService.backMemberCoupon(memberCouponSJ.toString());
@@ -5424,17 +5475,6 @@
             for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) {
                 userId = merOrderPageVo.getUserId();
                 userIdSj.add(userId.toString());
-                orderFrom = merOrderPageVo.getOrderFrom();
-                if (orderFrom != null) {
-                    if (orderFrom == 1) {
-                        orderFromDesc = "商城订单";
-                    } else {
-                        orderFromDesc = "线下创建";
-                    }
-                } else {
-                    orderFromDesc = "商城订单";
-                }
-                merOrderPageVo.setOrderFromDesc(orderFromDesc);
                 if(merOrderPageVo.getUnPaidMoney().compareTo(zeroBig)<0){
                     merOrderPageVo.setUnPaidMoney(zeroBig);
                 }

--
Gitblit v1.7.1