Эх сурвалжийг харах

code review:修复部分统计报错

YunaiV 1 жил өмнө
parent
commit
a72869b97e

+ 0 - 9
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/admin/member/package-info.java

@@ -1,9 +0,0 @@
-/**
- * TODO
- * 1. 会员总数据
- * 2. 性别统计
- * 3. 渠道统计
- * 4. 地域统计
- * 5. 会员概览
- */
-package cn.iocoder.yudao.module.statistics.controller.admin.member;

+ 7 - 7
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/member/MemberStatisticsService.java

@@ -15,6 +15,13 @@ import java.util.List;
  */
 public interface MemberStatisticsService {
 
+    /**
+     * 获取会员统计
+     *
+     * @return 会员统计
+     */
+    MemberSummaryRespVO getMemberSummary();
+
     /**
      * 按照省份,获得会员统计列表
      *
@@ -38,11 +45,4 @@ public interface MemberStatisticsService {
      */
     MemberAnalyseRespVO getMemberAnalyse(LocalDateTime beginTime, LocalDateTime endTime);
 
-    /**
-     * 获取会员统计
-     *
-     * @return 会员统计
-     */
-    MemberSummaryRespVO getMemberSummary();
-
 }

+ 12 - 13
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/member/MemberStatisticsServiceImpl.java

@@ -44,6 +44,18 @@ public class MemberStatisticsServiceImpl implements MemberStatisticsService {
     @Resource
     private ApiAccessLogStatisticsService apiAccessLogStatisticsService;
 
+    @Override
+    public MemberSummaryRespVO getMemberSummary() {
+        MemberSummaryRespVO vo = payWalletStatisticsService.getUserRechargeSummary(null, null);
+        Integer expensePrice = tradeStatisticsService.getExpensePrice(null, null);
+        Integer userCount = memberStatisticsMapper.selectUserCount(null, null);
+        // 拼接数据
+        if (vo == null) {
+            vo = new MemberSummaryRespVO().setRechargeUserCount(0).setRechargePrice(0);
+        }
+        return vo.setUserCount(userCount).setExpensePrice(expensePrice);
+    }
+
     @Override
     public List<MemberAreaStatisticsRespVO> getMemberAreaStatisticsList() {
         // 统计用户
@@ -89,19 +101,6 @@ public class MemberStatisticsServiceImpl implements MemberStatisticsService {
                 .setComparison(new TradeStatisticsComparisonRespVO<>(vo, reference));
     }
 
-    @Override
-    public MemberSummaryRespVO getMemberSummary() {
-        MemberSummaryRespVO vo = payWalletStatisticsService.getUserRechargeSummary(null, null);
-        Integer expensePrice = tradeStatisticsService.getExpensePrice(null, null);
-        Integer userCount = memberStatisticsMapper.selectUserCount(null, null);
-
-        if (vo == null) {
-            vo = new MemberSummaryRespVO().setRechargeUserCount(0).setRechargePrice(0);
-        }
-
-        return vo.setUserCount(userCount).setExpensePrice(expensePrice);
-    }
-
     private MemberAnalyseComparisonRespVO getMemberAnalyseComparisonData(LocalDateTime beginTime, LocalDateTime endTime) {
         Integer rechargeUserCount = Optional.ofNullable(payWalletStatisticsService.getUserRechargeSummary(beginTime, endTime))
                 .map(MemberSummaryRespVO::getRechargeUserCount).orElse(0);

+ 2 - 4
yudao-module-mall/yudao-module-statistics-biz/src/main/resources/mapper/trade/TradeOrderStatisticsMapper.xml

@@ -24,20 +24,18 @@
     </select>
 
     <select id="selectUserCountByCreateTimeBetween" resultType="java.lang.Integer">
-        SELECT COUNT(1)
+        SELECT COUNT(DISTINCT(user_id))
         FROM trade_order
         WHERE deleted = FALSE
           AND create_time BETWEEN #{beginTime} AND #{endTime}
-        GROUP BY user_id
     </select>
 
     <select id="selectUserCountByPayTimeBetween" resultType="java.lang.Integer">
-        SELECT COUNT(1)
+        SELECT COUNT(DISTINCT(user_id))
         FROM trade_order
         WHERE pay_time BETWEEN #{beginTime} AND #{endTime}
           AND pay_status = TRUE
           AND deleted = FALSE
-        GROUP BY user_id
     </select>
 
     <select id="selectCountByCreateTimeBetween" resultType="java.lang.Integer">