From e39dda2f25df9680e66c9e0dd3a606149e21bcc5 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 22 四月 2026 20:06:37 +0800
Subject: [PATCH] 代码生成

---
 server/services/src/main/java/com/doumee/service/business/impl/ShopInfoServiceImpl.java |  116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 110 insertions(+), 6 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 e9a63ca..efd4e45 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
@@ -32,6 +32,7 @@
 import com.doumee.dao.vo.ShopCenterVO;
 import com.doumee.dao.vo.ShopLoginVO;
 import com.doumee.dao.vo.ShopNearbyVO;
+import com.doumee.dao.vo.ShopSalesStatsVO;
 import com.doumee.dao.vo.ShopWebDetailVO;
 import com.doumee.service.business.AreasService;
 import com.doumee.service.business.ShopInfoService;
@@ -239,8 +240,6 @@
     public void applyShop(ShopApplyDTO request) {
         Member member = memberMapper.selectById(request.getMemberId());
 
-        // 1. 鏍¢獙闂ㄥ簵鎵嬫満鍙峰敮涓�鎬э紙shop_info.telephone锛�
-        checkTelephoneUnique(request.getTelephone(), null);
 
         // 2. 鏍规嵁绫诲瀷鏍¢獙闄勪欢
         if (Constants.equalsInteger(request.getCompanyType(), Constants.ZERO)) {
@@ -320,9 +319,12 @@
             existing.setAuditRemark(null);
             existing.setAuditTime(null);
             existing.setAuditUserId(null);
+            existing.setAuditStatus(Constants.ZERO);
             shopInfoMapper.updateById(existing);
             shopId = existing.getId();
         } else {
+            // 1. 鏍¢獙闂ㄥ簵鎵嬫満鍙峰敮涓�鎬э紙shop_info.telephone锛�
+            checkTelephoneUnique(request.getTelephone(), null);
             // 鏂板缓
             ShopInfo shopInfo = new ShopInfo();
             shopInfo.setCompanyType(request.getCompanyType());
@@ -658,6 +660,7 @@
         vo.setCreateTime(shopInfo.getCreateTime());
         vo.setAliAccount(shopInfo.getAliAccount());
         vo.setAliName(shopInfo.getAliName());
+        vo.setDepositAmount(shopInfo.getDepositAmount());
 
         // 鎷兼帴鍥剧墖鍓嶇紑
         String imgPrefix = "";
@@ -994,6 +997,106 @@
                 .eq(Orders::getDeleted, Constants.ZERO)
                 .in(Orders::getStatus, Constants.OrderStatus.delivering.getStatus(), Constants.OrderStatus.arrived.getStatus()));
         vo.setWaitReceiveCount(waitReceiveCount.intValue());
+        // 鏀粯瀹濇彁鐜拌处鍙�
+        vo.setAliAccount(shop.getAliAccount());
+        vo.setAliName(shop.getAliName());
+        return vo;
+    }
+
+    @Override
+    public ShopSalesStatsVO getShopSalesStats(Integer shopId, Integer period) {
+        // 璁$畻鏃堕棿鑼冨洿 0=浠婃棩 1=鏈湀 2=涓婃湀
+        Calendar cal = Calendar.getInstance();
+        Date startTime;
+        Date endTime;
+
+        if (Constants.equalsInteger(period, 2)) {
+            // 涓婃湀锛氫笂鏈�1鍙�00:00:00 ~ 鏈湀1鍙�00:00:00
+            cal.set(Calendar.DAY_OF_MONTH, 1);
+            cal.set(Calendar.HOUR_OF_DAY, 0);
+            cal.set(Calendar.MINUTE, 0);
+            cal.set(Calendar.SECOND, 0);
+            cal.set(Calendar.MILLISECOND, 0);
+            endTime = cal.getTime();
+            cal.add(Calendar.MONTH, -1);
+            startTime = cal.getTime();
+        } else if (Constants.equalsInteger(period, 1)) {
+            // 鏈湀锛氭湰鏈�1鍙�00:00:00 ~ 涓嬫湀1鍙�00:00:00
+            cal.set(Calendar.DAY_OF_MONTH, 1);
+            cal.set(Calendar.HOUR_OF_DAY, 0);
+            cal.set(Calendar.MINUTE, 0);
+            cal.set(Calendar.SECOND, 0);
+            cal.set(Calendar.MILLISECOND, 0);
+            startTime = cal.getTime();
+            cal.add(Calendar.MONTH, 1);
+            endTime = cal.getTime();
+        } else {
+            // 浠婃棩锛氫粖澶�00:00:00 ~ 鏄庡ぉ00:00:00
+            cal.set(Calendar.HOUR_OF_DAY, 0);
+            cal.set(Calendar.MINUTE, 0);
+            cal.set(Calendar.SECOND, 0);
+            cal.set(Calendar.MILLISECOND, 0);
+            startTime = cal.getTime();
+            cal.add(Calendar.DAY_OF_MONTH, 1);
+            endTime = cal.getTime();
+        }
+
+        ShopSalesStatsVO vo = new ShopSalesStatsVO();
+
+        // 1. 閿�鍞 + 璁㈠崟鏁帮細鎸夎鍗曞垱寤烘椂闂达紝瀛樹欢闂ㄥ簵鎴栧彇浠堕棬搴楁槸鏈棬搴�
+        // 瀛樹欢闂ㄥ簵
+        List<Orders> depositSalesOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getDeleted, Constants.ZERO)
+                .ge(Orders::getCreateTime, startTime)
+                .lt(Orders::getCreateTime, endTime)
+                .eq(Orders::getDepositShopId, shopId));
+        // 鍙栦欢闂ㄥ簵
+        List<Orders> takeSalesOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getDeleted, Constants.ZERO)
+                .ge(Orders::getCreateTime, startTime)
+                .lt(Orders::getCreateTime, endTime)
+                .eq(Orders::getTakeShopId, shopId));
+        long salesAmount = depositSalesOrders.stream().mapToLong(o -> o.getTotalAmount() != null ? o.getTotalAmount() : 0L).sum()
+                + takeSalesOrders.stream().mapToLong(o -> o.getTotalAmount() != null ? o.getTotalAmount() : 0L).sum();
+        vo.setSalesAmount(salesAmount);
+        vo.setOrderCount(depositSalesOrders.size() + takeSalesOrders.size());
+
+        // 2. 缁撶畻鍒╂鼎锛氭寜缁撶畻鏃堕棿锛屾牴鎹棬搴楄鑹插彇depositShopFee鎴杢akeShopFee
+        // 瀛樹欢闂ㄥ簵 = 鏈棬搴� 鐨勮鍗曪紝鍙� depositShopFee
+        List<Orders> depositSettleOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getDeleted, Constants.ZERO)
+                .eq(Orders::getSettlementStatus, Constants.ONE)
+                .ge(Orders::getSettlementTime, startTime)
+                .lt(Orders::getSettlementTime, endTime)
+                .eq(Orders::getDepositShopId, shopId));
+        // 鍙栦欢闂ㄥ簵 = 鏈棬搴� 鐨勮鍗曪紝鍙� takeShopFee
+        List<Orders> takeSettleOrders = ordersMapper.selectList(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getDeleted, Constants.ZERO)
+                .eq(Orders::getSettlementStatus, Constants.ONE)
+                .ge(Orders::getSettlementTime, startTime)
+                .lt(Orders::getSettlementTime, endTime)
+                .eq(Orders::getTakeShopId, shopId));
+        long depositFee = depositSettleOrders.stream()
+                .mapToLong(o -> o.getDepositShopFee() != null ? o.getDepositShopFee() : 0L).sum();
+        long takeFee = takeSettleOrders.stream()
+                .mapToLong(o -> o.getTakeShopFee() != null ? o.getTakeShopFee() : 0L).sum();
+        vo.setSettlementProfit(depositFee + takeFee);
+
+        // 3. 鍦ㄥ簱璁㈠崟鏁�
+        // 3.1 瀛樹欢闂ㄥ簵=鏈棬搴楋紝status in (2宸插瘎瀛�, 5寰呭彇浠�)
+        Long depositStorageCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getDeleted, Constants.ZERO)
+                .eq(Orders::getDepositShopId, shopId)
+                .in(Orders::getStatus,
+                        Constants.OrderStatus.deposited.getStatus(),
+                        Constants.OrderStatus.arrived.getStatus()));
+        // 3.2 鍙栦欢闂ㄥ簵=鏈棬搴楋紝status = 5寰呭彇浠�
+        Long takeStorageCount = ordersMapper.selectCount(new QueryWrapper<Orders>().lambda()
+                .eq(Orders::getDeleted, Constants.ZERO)
+                .eq(Orders::getTakeShopId, shopId)
+                .eq(Orders::getStatus, Constants.OrderStatus.arrived.getStatus()));
+        vo.setStorageCount(depositStorageCount.intValue() + takeStorageCount.intValue());
+
         return vo;
     }
 
@@ -1057,12 +1160,13 @@
     }
 
     @Override
-    public ShopLoginVO shopSilentLogin(String openid) {
-        if (StringUtils.isBlank(openid)) {
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "openid涓嶈兘涓虹┖");
+    public ShopLoginVO shopSilentLogin(Integer memberId) {
+        Member member = memberMapper.selectById(memberId);
+        if(Objects.isNull(member)||StringUtils.isBlank(member.getOpenid())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "褰撳墠鐧诲綍浼氬憳韬唤寮傚父,璇疯仈绯荤鐞嗗憳!");
         }
         ShopInfo shop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
-                .eq(ShopInfo::getOpenid, openid)
+                .eq(ShopInfo::getOpenid, member.getOpenid())
                 .eq(ShopInfo::getDeleted, Constants.ZERO)
                 .last("limit 1"));
         if (shop == null) {

--
Gitblit v1.9.3