From 83c1a766957e4c74ea6e81c6e9b18f1b692b1b7b Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期六, 26 八月 2023 17:50:40 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |   83 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 80 insertions(+), 3 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 6ff0f42..5d57e7f 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
@@ -2836,6 +2836,12 @@
     public MgtTotalActivityTotalVo getTotalActivityTotal(MgtBaseShopDto mgtBaseShopDto) {
         //获取基础统计
         MgtTotalActivityTotalVo totalActivityTotalVo = orderMapper.getTotalActivityTotal(mgtBaseShopDto);
+        //获客人数
+        MgtTotalActivityTotalVo totalActivityMemberTotalVo = orderMapper.getTotalActivityMemberTotal(mgtBaseShopDto);
+        totalActivityTotalVo.setOrderPerson(totalActivityMemberTotalVo.getOrderPerson());
+        totalActivityTotalVo.setCyclePerson(totalActivityMemberTotalVo.getCyclePerson());
+        totalActivityTotalVo.setServicePerson(totalActivityMemberTotalVo.getServicePerson());
+        totalActivityTotalVo.setExperiencePerson(totalActivityMemberTotalVo.getExperiencePerson());
         //获取商品分类销售数据
         List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listTotalActivityTotalGoodsType(mgtBaseShopDto);
         if (MgtMapIntTotalVoGoodsType != null && MgtMapIntTotalVoGoodsType.size() > 0) {
@@ -2896,6 +2902,8 @@
             totalActivityTotalVo.setOrderTotalValue(orderTotalValue);
             totalActivityTotalVo.setOrderMoneyValue(orderMoneyValue);
         }
+        //参与人数
+
         return totalActivityTotalVo;
     }
 
@@ -3152,6 +3160,12 @@
         mgtBasePlatformDto.setShopIdList(shopIdList);
         //获取基础统计
         MgtPlTotalActivityTotalVo totalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto);
+        //获客人数
+        MgtPlTotalActivityTotalVo totalActivityMemberTotalVo = orderMapper.getPlTotalActivityMemberTotal(mgtBasePlatformDto);
+        totalActivityTotalVo.setOrderPerson(totalActivityMemberTotalVo.getOrderPerson());
+        totalActivityTotalVo.setCyclePerson(totalActivityMemberTotalVo.getCyclePerson());
+        totalActivityTotalVo.setServicePerson(totalActivityMemberTotalVo.getServicePerson());
+        totalActivityTotalVo.setExperiencePerson(totalActivityMemberTotalVo.getExperiencePerson());
         //获取商品分类销售数据
         List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalActivityTotalGoodsType(mgtBasePlatformDto);
         List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
@@ -3241,6 +3255,57 @@
             activitySalesRank = bigListRemoveNull(activitySalesRank);
             totalActivityTotalVo.setActivitySalesRankList(activitySalesRank);
         }
+        MerTotalDto merTotalDto = new MerTotalDto();
+        merTotalDto.setAgeType(mgtBasePlatformDto.getAgeType());
+        if(mgtBasePlatformDto.getAgeType()!=null){
+            List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBasePlatformDto.getAgeType()).getData();
+            mgtBasePlatformDto.setUserIdList(userIdList);
+        }
+        //参与人数
+        List<MgtMapIntTotalVo> joinList = orderMapper.getMgtActivityMemberTotal(mgtBasePlatformDto);
+        // 将查询结果转为Map
+        Map<String, Integer> mgtMapIntTotalVoMap = new HashMap<>();
+        if (joinList != null && !joinList.isEmpty()) {
+            mgtMapIntTotalVoMap = joinList.stream()
+                    .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
+        }
+        // 获取日期范围
+        List<String> dateList = getDateRange(mgtBasePlatformDto.getStartDate(), mgtBasePlatformDto.getEndDate());
+        int size = dateList.size();
+        // 创建日期和成员总数的数组
+        String[] joinMemberTotalKey = new String[size];
+        Integer[] joinMemberTotalValue = new Integer[size];
+        // 遍历日期列表,设置日期和成员总数的数组
+        String str;
+        Integer value;
+        for (int i = 0; i < size; i++) {
+            str = dateList.get(i);
+            joinMemberTotalKey[i] = str;
+            value = mgtMapIntTotalVoMap.get(str);
+            joinMemberTotalValue[i] = (value != null) ? value : 0;
+        }
+        totalActivityTotalVo.setJoinMemberTotalKey(joinMemberTotalKey);
+        totalActivityTotalVo.setJoinMemberTotalValue(joinMemberTotalValue);
+        //获客人数
+        List<MgtMapIntTotalVo> getList = orderMapper.getMgtActivityGetMemberTotal(mgtBasePlatformDto);
+        // 将查询结果转为Map
+        Map<String, Integer> getMemberMap = new HashMap<>();
+        if (getList != null && !getList.isEmpty()) {
+            getMemberMap = getList.stream()
+                    .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
+        }
+        // 创建日期和成员总数的数组
+        String[] getMemberTotalKey = new String[size];
+        Integer[] getMemberTotalValue = new Integer[size];
+        // 遍历日期列表,设置日期和成员总数的数组
+        for (int i = 0; i < size; i++) {
+            str = dateList.get(i);
+            joinMemberTotalKey[i] = str;
+            value = getMemberMap.get(str);
+            joinMemberTotalValue[i] = (value != null) ? value : 0;
+        }
+        totalActivityTotalVo.setGetMemberTotalKey(getMemberTotalKey);
+        totalActivityTotalVo.setGetMemberTotalValue(getMemberTotalValue);
         return totalActivityTotalVo;
     }
 
@@ -3660,6 +3725,7 @@
         List<MgtMapBigTotalVo> goodsRankList = orderMapper.listMerOrderTotalGoodsRank(merTotalDto);
         if (goodsRankList != null && goodsRankList.size() > 0) {
             goodsRankList = bigListRemoveNull(goodsRankList);
+            Collections.reverse(goodsRankList);
             orderGoodsRankVo.setGoodsRankList(goodsRankList);
         }
         return orderGoodsRankVo;
@@ -3685,6 +3751,7 @@
         List<MgtMapBigTotalVo> orderFromList = orderMapper.listMerOrderTotalOrderFrom(merTotalDto);
         if (orderFromList != null && orderFromList.size() > 0) {
             orderFromList = bigListRemoveNull(orderFromList);
+            Collections.reverse(orderFromList);
             merOrderFromRankVo.setOrderFromRankList(orderFromList);
         }
         return merOrderFromRankVo;
@@ -3850,9 +3917,11 @@
     @Override
     @Transactional
     public void payBack(PartnerTransactionsResult transaction) {
-        // 更新订单状态
-        String orderId = transaction.getOutTradeNo();
-        Order order = this.getById(orderId);
+        // Order order = this.getById(orderId);
+        // 更新订单状态 订单编号,就是 微信outTradeNo
+        String orderNo = transaction.getOutTradeNo();
+        Order order = this.getByOrderNo(orderNo);
+        String orderId = order.getOrderId();
         order.setOrderStatus(2);
         order.setPayTime(new Date());
         this.saveOrUpdate(order);
@@ -3984,6 +4053,14 @@
         payRecordService.save(payRecord);
     }
 
+    @Override
+    public Order getByOrderNo(String orderNo) {
+        LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(Order::getOrderNo, orderNo)
+                .last(" limit 1 ");
+        return this.getOne(queryWrapper);
+    }
+
     /**
      * @param orderId
      * @return void

--
Gitblit v1.7.1