From 47ca395c7dd7005f04fd68e4f12aa4dd0baf31bc Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 10 七月 2025 15:25:10 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |  122 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 insertions(+), 1 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 2344a3e..117fbc5 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
@@ -72,7 +72,6 @@
 import com.ruoyi.system.api.model.QwH5LoginVo;
 import com.ruoyi.system.api.model.QwUserDetailDto;
 import com.ruoyi.system.api.service.*;
-import io.seata.spring.annotation.GlobalTransactional;
 import lombok.extern.log4j.Log4j2;
 import org.redisson.api.RLock;
 import org.redisson.api.RedissonClient;
@@ -4387,6 +4386,12 @@
         mgtTotalOrderTotalVo.setExperienceTotal(0);
         mgtTotalOrderTotalVo.setServiceTotal(0);
         mgtTotalOrderTotalVo.setItemTotal(0);
+        mgtTotalOrderTotalVo.setMeituan(0);
+        mgtTotalOrderTotalVo.setDouyin(0);
+        mgtTotalOrderTotalVo.setKuaishou(0);
+        mgtTotalOrderTotalVo.setMeituanAmount(new BigDecimal("0"));
+        mgtTotalOrderTotalVo.setDouyinAmount(new BigDecimal("0"));
+        mgtTotalOrderTotalVo.setKuaishouAmount(new BigDecimal("0"));
         mgtTotalOrderTotalVo.setOrderMoney(new BigDecimal("0"));
         mgtTotalOrderTotalVo.setOnlineMoney(new BigDecimal("0"));
         mgtTotalOrderTotalVo.setOfflineMoney(new BigDecimal("0"));
@@ -4424,6 +4429,12 @@
         mgtTotalOrderTotalVo.setOnlineMoney(totalOrderTotalVo.getOnlineMoney());
         mgtTotalOrderTotalVo.setOfflineMoney(totalOrderTotalVo.getOfflineMoney());
         mgtTotalOrderTotalVo.setActivityMoney(totalOrderTotalVo.getActivityMoney());
+        mgtTotalOrderTotalVo.setMeituan(totalOrderTotalVo.getMeituan());
+        mgtTotalOrderTotalVo.setDouyin(totalOrderTotalVo.getDouyin());
+        mgtTotalOrderTotalVo.setKuaishou(totalOrderTotalVo.getKuaishou());
+        mgtTotalOrderTotalVo.setMeituanAmount(totalOrderTotalVo.getMeituanAmount());
+        mgtTotalOrderTotalVo.setDouyinAmount(totalOrderTotalVo.getDouyinAmount());
+        mgtTotalOrderTotalVo.setKuaishouAmount(totalOrderTotalVo.getKuaishouAmount());
         //获取商品分类销售数据
         List<MgtMapTotalPlusVo> MgtMapIntTotalVoGoodsType = orderMapper.listPlTotalOrderTotalGoodsType(mgtBasePlatformDto);
         List<MgtMapIntTotalVo> goodsTypeTotalList = new ArrayList<>();
@@ -6777,4 +6788,113 @@
         return R.ok();
 
     }
+
+    @Override
+    public List<MgtThirdOrderPageVo> pageMgtThirdOrder(Page<MgtThirdOrderPageVo> page, MgtThirdOrderPageDto dto) {
+        //如果区域代码不为null获取对应的商户id
+        if (StringUtils.isNotBlank(dto.getKeyword()) || StringUtils.isNotBlank(dto.getShopProvinceCode()) || StringUtils.isNotBlank(dto.getShopCityCode()) || StringUtils.isNotBlank(dto.getShopAreaCode())) {
+            MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
+            mgtShopIdByCodeDto.setShopProvinceCode(dto.getShopProvinceCode());
+            mgtShopIdByCodeDto.setShopCityCode(dto.getShopCityCode());
+            mgtShopIdByCodeDto.setShopAreaCode(dto.getShopAreaCode());
+            MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
+            if (StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())) {
+                dto.setShopIds(mgtShopIdByCodeVo.getShopIds());
+            }
+        }
+        //如果关键词不为null获取对应的用户id
+        if (StringUtils.isNotBlank(dto.getKeyword())) {
+            MgtUserIdByKeywordDto mgtUserIdByKeywordDto = new MgtUserIdByKeywordDto();
+            mgtUserIdByKeywordDto.setKeyword(dto.getKeyword());
+            MgtUserIdByKeywordVo mgtUserIdByKeywordVo = remoteMemberService.getUserIdByKeyword(mgtUserIdByKeywordDto).getData();
+            if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) {
+                dto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
+            }
+        }
+        //数据权限
+        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userId);
+        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        if (!shops.isEmpty()) {
+            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
+            String join = collect.stream().map(Object::toString).collect(Collectors.joining(","));
+            String shopIds = dto.getShopIds();
+            if(StringUtils.isNotEmpty(shopIds)){
+                shopIds = shopIds + "," + join;
+            }else{
+                shopIds = join;
+            }
+            dto.setShopIds(shopIds);
+        }
+
+        // 从数据库中获取第三方订单列表
+        List<MgtThirdOrderPageVo> thirdOrderPageVoList = orderMapper.pageMgtThirdOrder(page, dto);
+        // 如果列表不为空
+        if (!thirdOrderPageVoList.isEmpty()) {
+            // 定义变量
+            HashSet<Long> shopIdSet = new HashSet<>();
+            BigDecimal zeroBig = new BigDecimal("0.00");
+            // 遍历列表,获取店铺 ID 和用户 ID
+            for (MgtThirdOrderPageVo mgtActivityOrderPageVo : thirdOrderPageVoList) {
+                if(mgtActivityOrderPageVo.getShopId()!=null){
+                    shopIdSet.add(mgtActivityOrderPageVo.getShopId());
+                }
+            }
+            // 将店铺 ID 和用户 ID 转换为逗号分隔的字符串
+            String shopJoinedString = String.join(",", shopIdSet.stream().map(Object::toString).collect(Collectors.toList()));
+            // 从远程服务获取店铺和用户信息
+            MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
+            mgtBaseBathDto.setIds(shopJoinedString);
+            List<MgtSimpleShopVo> simpleShopVoList = remoteShopService.listShopSimpleVoByIds(mgtBaseBathDto).getData();
+            Map<Long, MgtSimpleShopVo> shopMap = simpleShopVoList.stream()
+                    .collect(Collectors.toMap(MgtSimpleShopVo::getShopId, Function.identity()));
+            mgtBaseBathDto = new MgtBaseBathDto();
+            // 遍历列表,设置店铺名称
+            for (MgtThirdOrderPageVo mgtActivityOrderPageVo : thirdOrderPageVoList) {
+                if(mgtActivityOrderPageVo.getShopId()!=null){
+                    MgtSimpleShopVo mgtSimpleShopVo = shopMap.get(mgtActivityOrderPageVo.getShopId());
+                    mgtActivityOrderPageVo.setShopName(null == mgtSimpleShopVo ? "" : mgtSimpleShopVo.getShopName());
+                }
+            }
+        }
+
+        return thirdOrderPageVoList;
+
+    }
+
+    @Override
+    public MgtPlTotalThirdOrderStaticsVO getPlTotalThirdOrderStatics(MgtBasePlatformDto mgtBasePlatformDto) {
+        MgtPlTotalThirdOrderStaticsVO vo = new MgtPlTotalThirdOrderStaticsVO();
+        //数据权限
+        List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        if(null != userIds){
+            if(null != userIdList){
+                userIdList.addAll(userIds);
+            }else{
+                userIdList = userIds;
+            }
+            mgtBasePlatformDto.setUserIdList(userIdList);
+        }
+        List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
+        if (mgtBasePlatformDto.getUserId() != null || StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) {
+            if(shopIdList==null||shopIdList.isEmpty()){
+                return vo;
+            }
+        }
+        if(mgtBasePlatformDto.getShopId()!=null){
+            shopIdList = new ArrayList<>();
+            shopIdList.add(mgtBasePlatformDto.getShopId());
+        }
+        mgtBasePlatformDto.setShopIdList(shopIdList);
+        // 从数据库中获取第三方订单统计
+         vo = orderMapper.getPlTotalThirdOrderStatics(mgtBasePlatformDto);
+        return vo;
+    }
+
+    @Override
+    public StaticsShopMgtGoodsVO getGoodsSellStatic(List<String> goodsIdList) {
+        return orderGoodsService.getGoodsSellStatic(goodsIdList);
+    }
 }

--
Gitblit v1.7.1