From 3ffd3ab0899390721aabe6fc1a0f2d8a6a038759 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 15 十二月 2023 10:48:49 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 112 insertions(+), 8 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 53b0c25..c5713ed 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
@@ -47,6 +47,7 @@
 import com.ruoyi.system.api.constant.DelayTaskEnum;
 import com.ruoyi.system.api.constant.SecurityConstant;
 import com.ruoyi.system.api.domain.dto.*;
+import com.ruoyi.system.api.domain.poji.activity.Activity;
 import com.ruoyi.system.api.domain.poji.activity.ActivityRecord;
 import com.ruoyi.system.api.domain.poji.config.DelayTask;
 import com.ruoyi.system.api.domain.poji.goods.Goods;
@@ -1354,11 +1355,104 @@
             //处理订单回显
             for (AppUserOrderPageVo appUserOrderPageVo : appUserOrderPageVoList) {
                 if(member.getBindingFlag()==0&&appUserOrderPageVo.getOrderFrom()==2){
-                    appUserOrderPageVo.setShopName("全部店铺");
+                    //查询秒杀活动的参与店铺
+                    R<Activity> activity = remoteActivityService.getActivity(appUserOrderPageVo.getActivityId());
+                    if(activity.getCode() != 200){
+                        throw new RuntimeException(activity.getMsg());
+                    }
+                    Activity data = activity.getData();
+                    if(data.getAreaFlag() == 1){
+                        appUserOrderPageVo.setShopNumber(0);
+                        appUserOrderPageVo.setShopName("全部店铺");
+                    }
+                    if(data.getAreaFlag() == 2 && data.getShopFlag() == 1){
+                        String designatedArea = data.getDesignatedArea();
+                        String[] split = designatedArea.split(",");
+                        List<String> list = Arrays.asList(split);
+                        R<List<Shop>> listR = remoteShopService.listShopByCityCode(list);
+                        if(listR.getCode() != 200){
+                            throw new RuntimeException(listR.getMsg());
+                        }
+                        List<Shop> data1 = listR.getData();
+                        appUserOrderPageVo.setShopNumber(1);
+                        appUserOrderPageVo.setShopName(JSON.toJSONString(data1));
+                    }
+                    if(data.getShopFlag() == 2){
+                        String applicableShop = data.getApplicableShop();
+                        String[] split = applicableShop.split(",");
+                        List<String> list = Arrays.asList(split);
+                        R<List<Shop>> listR = remoteShopService.listShopByIds(list);
+                        if(listR.getCode() != 200){
+                            throw new RuntimeException(listR.getMsg());
+                        }
+                        List<Shop> data1 = listR.getData();
+                        appUserOrderPageVo.setShopNumber(1);
+                        appUserOrderPageVo.setShopName(JSON.toJSONString(data1));
+                    }
+                }else if(member.getBindingFlag()==1&&appUserOrderPageVo.getOrderFrom()==2){
+                    Long relationShopId = member.getRelationShopId();
+                    R<Shop> shop = remoteShopService.getShop(relationShopId);
+                    if(shop.getCode() != 200){
+                        throw new RuntimeException(shop.getMsg());
+                    }
+                    Shop data1 = shop.getData();
+                    //查询秒杀活动的参与店铺
+                    R<Activity> activity = remoteActivityService.getActivity(appUserOrderPageVo.getActivityId());
+                    if(activity.getCode() != 200){
+                        throw new RuntimeException(activity.getMsg());
+                    }
+                    Activity data = activity.getData();
+                    if(data.getAreaFlag() == 1){
+                        appUserOrderPageVo.setShopNumber(2);
+                        appUserOrderPageVo.setShopName(data1.getShopName());
+                        appUserOrderPageVo.setShopServicePhone(data1.getShopServicePhone());
+                    }
+                    if(data.getAreaFlag() == 2 && data.getShopFlag() == 1){
+                        String designatedArea = data.getDesignatedArea();
+                        String[] split = designatedArea.split(",");
+                        List<String> list = Arrays.asList(split);
+                        R<List<Shop>> listR = remoteShopService.listShopByCityCode(list);
+                        if(listR.getCode() != 200){
+                            throw new RuntimeException(listR.getMsg());
+                        }
+                        List<Shop> data2 = listR.getData();
+                        List<Long> collect = data2.stream().map(Shop::getShopId).collect(Collectors.toList());
+                        if(collect.contains(relationShopId)){
+                            appUserOrderPageVo.setShopNumber(2);
+                            appUserOrderPageVo.setShopName(data1.getShopName());
+                            appUserOrderPageVo.setShopServicePhone(data1.getShopServicePhone());
+                        }else{
+                            appUserOrderPageVo.setShopNumber(1);
+                            appUserOrderPageVo.setShopName(JSON.toJSONString(data2));
+                        }
+                    }
+                    if(data.getShopFlag() == 2){
+                        String applicableShop = data.getApplicableShop();
+                        String[] split = applicableShop.split(",");
+                        List<String> list = Arrays.asList(split);
+                        R<List<Shop>> listR = remoteShopService.listShopByIds(list);
+                        if(listR.getCode() != 200){
+                            throw new RuntimeException(listR.getMsg());
+                        }
+                        List<Shop> data2 = listR.getData();
+                        List<Long> collect = data2.stream().map(Shop::getShopId).collect(Collectors.toList());
+                        if(collect.contains(relationShopId)){
+                            appUserOrderPageVo.setShopNumber(2);
+                            appUserOrderPageVo.setShopName(data1.getShopName());
+                            appUserOrderPageVo.setShopServicePhone(data1.getShopServicePhone());
+                        }else{
+                            appUserOrderPageVo.setShopNumber(1);
+                            appUserOrderPageVo.setShopName(JSON.toJSONString(data2));
+                        }
+                    }
+
+
+
                 }else{
                     simpleShopVo = shopMap.get(appUserOrderPageVo.getShopId());
                     appUserOrderPageVo.setShopName(simpleShopVo.getShopName());
                     appUserOrderPageVo.setShopServicePhone(simpleShopVo.getShopServicePhone());
+                    appUserOrderPageVo.setShopNumber(2);
                     if (appUserOrderPageVo.getShopId().equals(appUserOrderPageDto.getShopId())) {
                         appUserOrderPageVo.setSameShop(1);
                     } else {
@@ -2890,7 +2984,7 @@
             // 根据用户ID列表获取用户信息
             MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
             mgtBaseBathDto.setIds(userIdSj.toString());
-            List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+            List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(userIdSj.toString()).getData();
             Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream()
                     .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
             // 遍历订单列表,设置用户信息
@@ -3050,13 +3144,14 @@
                     .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
             mgtBaseBathDto = new MgtBaseBathDto();
             mgtBaseBathDto.setIds(userJoinedString);
-            List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+            List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(userJoinedString).getData();
             Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream()
                     .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
             // 遍历列表,设置店铺名称、用户名称和未支付金额
             for (MgtActivityOrderPageVo mgtActivityOrderPageVo : activityOrderPageVoList) {
                 if(mgtActivityOrderPageVo.getShopId()!=null){
-                    mgtActivityOrderPageVo.setShopName(shopMap.get(mgtActivityOrderPageVo.getShopId()).getShopName());
+                    MgtSimpleShopVo mgtSimpleShopVo = shopMap.get(mgtActivityOrderPageVo.getShopId());
+                    mgtActivityOrderPageVo.setShopName(null == mgtSimpleShopVo ? "" : mgtSimpleShopVo.getShopName());
 
                 }
                 if (userMap.get(mgtActivityOrderPageVo.getUserId()) != null) {
@@ -3175,7 +3270,7 @@
                 String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList()));
                 MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
                 mgtBaseBathDto.setIds(userJoinedString);
-                List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+                List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(userJoinedString).getData();
                 userMap = simpleMemberVoList.stream()
                         .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
             }
@@ -3918,7 +4013,7 @@
         mgtTotalOrderTotalVo.setOrderTotal(totalOrderTotalVo.getOrderTotal());
         mgtTotalOrderTotalVo.setOnlineTotal(totalOrderTotalVo.getOnlineTotal());
         mgtTotalOrderTotalVo.setOfflineTotal(totalOrderTotalVo.getOfflineTotal());
-        mgtTotalOrderTotalVo.setActivityTotal(0);
+        mgtTotalOrderTotalVo.setActivityTotal(totalOrderTotalVo.getActivityTotal());
         mgtTotalOrderTotalVo.setOrderMoney(totalOrderTotalVo.getOrderMoney());
         mgtTotalOrderTotalVo.setOnlineMoney(totalOrderTotalVo.getOnlineMoney());
         mgtTotalOrderTotalVo.setOfflineMoney(totalOrderTotalVo.getOfflineMoney());
@@ -5053,7 +5148,7 @@
                 String userJoinedString = String.join(",", userIdSet.stream().map(Object::toString).collect(Collectors.toList()));
                 MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
                 mgtBaseBathDto.setIds(userJoinedString);
-                List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+                List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(userJoinedString).getData();
                 userMap = simpleMemberVoList.stream()
                         .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));
             }
@@ -5113,6 +5208,9 @@
                     try {
                         redissonLock.lock(30, TimeUnit.SECONDS);
                         Integer surpNum = redisService.getCacheObject(SecurityConstant.ACTIVITY_GOODS + "-" + order.getActivityId() + "-" + orderGoods.getGoodsId());
+                        if(null == surpNum){
+                            surpNum = 0;
+                        }
                         redisService.setCacheObject(SecurityConstant.ACTIVITY_GOODS + "-" + order.getActivityId() + "-" + orderGoods.getGoodsId(), surpNum + orderGoods.getBuyNum());
                     } finally {
                         redissonLock.unlock();
@@ -5374,6 +5472,9 @@
                     try {
                         redissonLock.lock(30, TimeUnit.SECONDS);
                         Integer surpNum = redisService.getCacheObject(SecurityConstant.ACTIVITY_GOODS + "-" + order.getActivityId() + "-" + orderGoods.getGoodsId());
+                        if(null == surpNum){
+                            surpNum = 0;
+                        }
                         redisService.setCacheObject(SecurityConstant.ACTIVITY_GOODS + "-" + order.getActivityId() + "-" + orderGoods.getGoodsId(), surpNum + orderGoods.getBuyNum());
                     } finally {
                         redissonLock.unlock();
@@ -6107,6 +6208,9 @@
                     try {
                         redissonLock.lock(30, TimeUnit.SECONDS);
                         Integer surpNum = redisService.getCacheObject(SecurityConstant.ACTIVITY_GOODS + "-" + order.getActivityId() + "-" + orderGoods.getGoodsId());
+                        if(null == surpNum){
+                            surpNum = 0;
+                        }
                         redisService.setCacheObject(SecurityConstant.ACTIVITY_GOODS + "-" + order.getActivityId() + "-" + orderGoods.getGoodsId(), surpNum + orderGoods.getBuyNum());
                     } finally {
                         redissonLock.unlock();
@@ -6186,7 +6290,7 @@
             // 获取用户列表
             MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
             mgtBaseBathDto.setIds(userIdSj.toString());
-            List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData();
+            List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(userIdSj.toString()).getData();
             // 将用户列表转换为Map,以便根据用户ID快速查找用户信息
             Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream()
                     .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity()));

--
Gitblit v1.7.1