From 696daad0798c29631ccda2d98ca52eedcbf2fcb4 Mon Sep 17 00:00:00 2001
From: 刘帅 <rr.iii@qq.com>
Date: 星期一, 21 九月 2026 20:57:27 +0800
Subject: [PATCH] bug:登录问题

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
index 208b8d3..503fbf8 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/DataStatisticsController.java
@@ -104,9 +104,7 @@
         return storeId;
     }
 
-    /**
-     * 运营商统计的门店范围:平台(0)统计平台门店,其他值统计对应运营商门店。
-     */
+    /** 平台(0)或运营商统计均以门店的 operatorId 作为唯一归属依据。 */
     private List<TStore> listStatisticsStores(Integer operatorId, boolean enabledOnly) {
         LambdaQueryWrapper<TStore> wrapper = new LambdaQueryWrapper<>();
         if (enabledOnly) {
@@ -116,10 +114,8 @@
         }
         if (operatorId == null) {
             // 平台统计:所有门店总和,不按门店所属运营商过滤。
-        } else if (Integer.valueOf(0).equals(operatorId)) {
-            wrapper.eq(TStore::getType, 1);
         } else {
-            wrapper.eq(TStore::getType, 2).eq(TStore::getOperatorId, operatorId);
+            wrapper.eq(TStore::getOperatorId, operatorId);
         }
         return storeService.list(wrapper);
     }
@@ -299,7 +295,9 @@
         // 下游多处查询会在门店集合为空时忽略门店过滤。运营商没有任何门店时,
         // 直接返回完整的零值结构,避免被误统计为全平台数据。
         if (operatorId != null && storeId == null
-                && listStatisticsStores(operatorId, false).isEmpty()) {
+                && storeService.count(new LambdaQueryWrapper<TStore>()
+                        .eq(TStore::getOperatorId, operatorId)
+                        .ne(TStore::getState, 3)) == 0) {
             Map<String, Object> emptyIncomeData = buildIncomeStatistics(Collections.emptyList());
             emptyIncomeData.put("incomeTypeNet", buildIncomeTypeNet(Collections.emptyList(), null));
             Map<String, Object> emptyTicketIncome = new HashMap<>();
@@ -1293,7 +1291,9 @@
     @RequestMapping(value = "/userAndVipPt")
     @ResponseBody
     public Object userAndVipPt(Integer type) {
-        HashMap<String, Object> map = appUserClient.userAndVipYys(listStatisticsAppUserIds(null));
+        // 平台用户统计按用户归属全量统计,不能以“已有消费记录”筛选,
+        // 否则会遗漏尚未在门店消费的新注册用户。
+        HashMap<String, Object> map = appUserClient.userAndVipPt(1);
         return map;
     }
 

--
Gitblit v1.7.1