From 59bfd0b8bbbf0ee94ec68e4a3a1a6e536d0ad8fd Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 20 五月 2026 23:10:43 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 46 insertions(+), 5 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java
index e302df5..1c7807f 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java
@@ -19,6 +19,7 @@
 import com.doumee.dao.business.MemberMapper;
 import com.doumee.dao.business.MultifileMapper;
 import com.doumee.dao.business.OrdersMapper;
+import com.doumee.dao.business.OtherOrdersMapper;
 import com.doumee.dao.business.PricingRuleMapper;
 import com.doumee.dao.business.RevenueMapper;
 import com.doumee.dao.business.ShopInfoMapper;
@@ -27,6 +28,7 @@
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.business.model.Multifile;
 import com.doumee.dao.business.model.Orders;
+import com.doumee.dao.business.model.OtherOrders;
 import com.doumee.dao.business.model.PricingRule;
 import com.doumee.dao.business.model.Revenue;
 import com.doumee.dao.business.model.ShopInfo;
@@ -122,6 +124,9 @@
 
     @Autowired
     private CategoryMapper categoryMapper;
+
+    @Autowired
+    private OtherOrdersMapper otherOrdersMapper;
 
     @Override
     public Integer create(ShopInfo shopInfo) {
@@ -342,6 +347,8 @@
             newChange.setCreateTime(now);
             newChange.setUpdateTime(now);
             newChange.setRegionMemberId(member.getId());
+            newChange.setRevenueShareConfig(changeVersion.getRevenueShareConfig());
+            newChange.setDeliveryArea(changeVersion.getDeliveryArea());
             setDepositAmountFromPricingRule(newChange);
             shopInfoMapper.insert(newChange);
 
@@ -564,6 +571,7 @@
                 changeVersion.setAuditUserId(auditDTO.getAuditUser());
                 changeVersion.setRevenueShareConfig(revenueShareConfig);
                 changeVersion.setUpdateTime(now);
+                setDefaultDeliveryRange(changeVersion);
                 shopInfoMapper.updateById(changeVersion);
 
                 // 鏍囪鍘嗗彶鐨勫彉鏇寸増鏈负鍒犻櫎
@@ -1213,8 +1221,20 @@
             vo.setTagId(tag.getId());
             vo.setTagName(tag.getName());
             vo.setShopCount(count != null ? count.intValue() : 0);
+            vo.setSortnum(tag.getSortnum());
             result.add(vo);
         }
+
+        // 鎸夐棬搴楁暟閲忓�掑簭锛岀浉鍚屾椂鎸夋帓搴忕爜闄嶅簭
+        result.sort((a, b) -> {
+            int cmp = Integer.compare(
+                    b.getShopCount() != null ? b.getShopCount() : 0,
+                    a.getShopCount() != null ? a.getShopCount() : 0);
+            if (cmp != 0) return cmp;
+            return Integer.compare(
+                    b.getSortnum() != null ? b.getSortnum() : 0,
+                    a.getSortnum() != null ? a.getSortnum() : 0);
+        });
 
         // 鎬绘暟鏀惧湪鍒楄〃绗竴涓�
         Long totalCount = shopInfoMapper.selectCount(baseQw);
@@ -1396,6 +1416,7 @@
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
         ShopCenterVO vo = new ShopCenterVO();
+        vo.setId(shop.getId());
         vo.setShopName(shop.getName());
         vo.setLinkName(shop.getLinkName());
         vo.setCompanyType(shop.getCompanyType());
@@ -1597,14 +1618,34 @@
                 .count();
         vo.setFinishedOrderCount((int) finishedCount);
 
-        // 鎬昏惀鏀堕噾棰� = sum(totalAmount - refundAmount)
-        long totalRevenue = orders.stream()
+        // 鎬昏惀鏀堕噾棰� = sum(鏀粯閲戦 - 閫�娆鹃噾棰�) + 閫炬湡閲戦
+        long baseRevenue = orders.stream()
                 .mapToLong(o -> {
-                    long total = o.getTotalAmount() != null ? o.getTotalAmount() : 0L;
+                    long pay = o.getPayAmount() != null ? o.getPayAmount() : 0L;
                     long refund = o.getRefundAmount() != null ? o.getRefundAmount() : 0L;
-                    return total - refund;
+                    return pay - refund;
                 }).sum();
-        vo.setTotalRevenue(totalRevenue);
+
+        // 鏌ヨ璇ラ棬搴楀弬涓庣殑閫炬湡璐圭敤锛堜粠other_orders琛ㄨ幏鍙栵紝type=2宸叉敮浠橈級
+        QueryWrapper<OtherOrders> overdueQw = new QueryWrapper<>();
+        overdueQw.lambda()
+                .eq(OtherOrders::getDeleted, Constants.ZERO)
+                .eq(OtherOrders::getType, Constants.TWO)
+                .eq(OtherOrders::getPayStatus, Constants.ONE)
+                .inSql(OtherOrders::getOrderId,
+                        "SELECT id FROM orders WHERE DELETED = 0 AND (DEPOSIT_SHOP_ID = " + shopId + " OR TAKE_SHOP_ID = " + shopId + ")");
+        if (query.getStartDate() != null) {
+            overdueQw.lambda().ge(OtherOrders::getCreateTime, query.getStartDate());
+        }
+        if (query.getEndDate() != null) {
+            overdueQw.lambda().le(OtherOrders::getCreateTime, Utils.Date.getEnd(query.getEndDate()));
+        }
+        List<OtherOrders> overdueOrders = otherOrdersMapper.selectList(overdueQw);
+        long overdueTotal = overdueOrders.stream()
+                .mapToLong(o -> o.getPayAccount() != null ? o.getPayAccount() : 0L)
+                .sum();
+
+        vo.setTotalRevenue(baseRevenue + overdueTotal);
 
         // 闂ㄥ簵鍒嗘垚閲戦
         long shopFee = 0L;

--
Gitblit v1.9.3