Commit b6e63e885dc7e02756603a84e3ad2161040014e1

Authored by zhijiantianya@gmail.com
1 parent 15021596

code review:商城统计

Showing 29 changed files with 74 additions and 9 deletions
yudao-module-mall/yudao-module-statistics-api/src/main/java/cn/iocoder/yudao/module/statistics/enums/TimeRangeTypeEnum.java
... ... @@ -35,9 +35,8 @@ public enum TimeRangeTypeEnum implements IntArrayValuable {
35 35  
36 36 public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TimeRangeTypeEnum::getType).toArray();
37 37  
38   -
39 38 /**
40   - * 状态
  39 + * 类型
41 40 */
42 41 private final Integer type;
43 42  
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/admin/member/MemberStatisticsController.java
... ... @@ -77,6 +77,7 @@ public class MemberStatisticsController {
77 77 }
78 78  
79 79 // TODO 芋艿:已经 review
  80 + // TODO @疯狂:要不 get 前缀去掉,和下面的 list 接口保持一致
80 81 @GetMapping("/get-area-statistics-list")
81 82 @Operation(summary = "按照省份,获得会员统计列表")
82 83 @PreAuthorize("@ss.hasPermission('statistics:member:query')")
... ... @@ -85,6 +86,7 @@ public class MemberStatisticsController {
85 86 }
86 87  
87 88 // TODO 芋艿:已经 review
  89 + // TODO @疯狂:要不 get 前缀去掉,和下面的 list 接口保持一致
88 90 @GetMapping("/get-sex-statistics-list")
89 91 @Operation(summary = "按照性别,获得会员统计列表")
90 92 @PreAuthorize("@ss.hasPermission('statistics:member:query')")
... ... @@ -92,6 +94,8 @@ public class MemberStatisticsController {
92 94 return success(memberStatisticsService.getMemberSexStatisticsList());
93 95 }
94 96  
  97 + // TODO 芋艿:已经 review
  98 + // TODO @疯狂:要不 get 前缀去掉,和下面的 list 接口保持一致
95 99 @GetMapping("/get-terminal-statistics-list")
96 100 @Operation(summary = "按照终端,获得会员统计列表")
97 101 @PreAuthorize("@ss.hasPermission('statistics:member:query')")
... ... @@ -106,6 +110,7 @@ public class MemberStatisticsController {
106 110 return success(memberStatisticsService.getUserCountComparison());
107 111 }
108 112  
  113 + // TODO 芋艿:已经 review
109 114 @GetMapping("/register-count-list")
110 115 @Operation(summary = "获得会员注册数量列表")
111 116 @PreAuthorize("@ss.hasPermission('statistics:member:query')")
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/admin/member/vo/MemberCountRespVO.java
... ... @@ -10,6 +10,7 @@ public class MemberCountRespVO {
10 10 @Schema(description = "用户访问量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
11 11 private Integer visitUserCount;
12 12  
  13 + // TODO @疯狂:要不改成 registerUserCount,注册
13 14 @Schema(description = "新增用户数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
14 15 private Integer createUserCount;
15 16  
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/admin/pay/PayStatisticsController.java
... ... @@ -24,6 +24,7 @@ public class PayStatisticsController {
24 24 @Resource
25 25 private PayWalletStatisticsService payWalletStatisticsService;
26 26  
  27 + // TODO @疯狂:要不搞成 PaySummary?只是目前只有 rechargePrice 充值金额?
27 28 @GetMapping("/wallet-recharge-price")
28 29 @Operation(summary = "获取充值金额")
29 30 public CommonResult<Integer> getWalletRechargePrice() {
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/admin/trade/TradeStatisticsController.java
... ... @@ -47,6 +47,7 @@ public class TradeStatisticsController {
47 47 @Resource
48 48 private BrokerageStatisticsService brokerageStatisticsService;
49 49  
  50 + // TODO 芋艿:已经 review
50 51 @GetMapping("/summary")
51 52 @Operation(summary = "获得交易统计")
52 53 @PreAuthorize("@ss.hasPermission('statistics:trade:query')")
... ... @@ -55,6 +56,7 @@ public class TradeStatisticsController {
55 56 TradeSummaryRespBO yesterdayData = tradeStatisticsService.getTradeSummaryByDays(-1);
56 57 // 1.2 前天的数据(用于对照昨天的数据)
57 58 TradeSummaryRespBO beforeYesterdayData = tradeStatisticsService.getTradeSummaryByDays(-2);
  59 +
58 60 // 2.1 本月数据
59 61 TradeSummaryRespBO monthData = tradeStatisticsService.getTradeSummaryByMonths(0);
60 62 // 2.2 上月数据(用于对照本月的数据)
... ... @@ -73,6 +75,7 @@ public class TradeStatisticsController {
73 75 ArrayUtil.get(reqVO.getTimes(), 1)));
74 76 }
75 77  
  78 + // TODO 芋艿:已经 review
76 79 @GetMapping("/list")
77 80 @Operation(summary = "获得交易状况明细")
78 81 @PreAuthorize("@ss.hasPermission('statistics:trade:query')")
... ... @@ -82,6 +85,7 @@ public class TradeStatisticsController {
82 85 return success(TradeStatisticsConvert.INSTANCE.convertList(list));
83 86 }
84 87  
  88 + // TODO 芋艿:已经 review
85 89 @GetMapping("/export-excel")
86 90 @Operation(summary = "导出获得交易状况明细 Excel")
87 91 @PreAuthorize("@ss.hasPermission('statistics:trade:export')")
... ... @@ -94,16 +98,20 @@ public class TradeStatisticsController {
94 98 ExcelUtils.write(response, "交易状况.xls", "数据", TradeTrendSummaryExcelVO.class, data);
95 99 }
96 100  
  101 + // TODO 芋艿:已经 review
97 102 @GetMapping("/order-count")
98 103 @Operation(summary = "获得交易订单数量")
99 104 @PreAuthorize("@ss.hasPermission('statistics:trade:query')")
100 105 public CommonResult<TradeOrderCountRespVO> getOrderCount() {
  106 + // 订单统计
101 107 TradeOrderCountRespVO vo = tradeOrderStatisticsService.getOrderCount();
  108 + // 售后统计
102 109 vo.setAfterSaleApply(afterSaleStatisticsService.getCountByStatus(AfterSaleStatusEnum.APPLY))
103 110 .setAuditingWithdraw(brokerageStatisticsService.getWithdrawCountByStatus(BrokerageWithdrawStatusEnum.AUDITING));
104 111 return success(vo);
105 112 }
106 113  
  114 + // TODO 芋艿:已经 review
107 115 @GetMapping("/order-comparison")
108 116 @Operation(summary = "获得交易订单数量")
109 117 @PreAuthorize("@ss.hasPermission('statistics:trade:query')")
... ... @@ -111,6 +119,7 @@ public class TradeStatisticsController {
111 119 return success(tradeOrderStatisticsService.getOrderComparison());
112 120 }
113 121  
  122 + // TODO 芋艿:已经 review
114 123 @GetMapping("/order-count-trend")
115 124 @Operation(summary = "获得订单量趋势统计")
116 125 @PreAuthorize("@ss.hasPermission('statistics:trade:query')")
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/convert/trade/TradeStatisticsConvert.java
... ... @@ -52,6 +52,7 @@ public interface TradeStatisticsConvert {
52 52  
53 53 List<TradeTrendSummaryRespVO> convertList(List<TradeStatisticsDO> list);
54 54  
  55 + // TODO @疯狂:要不要搞个默认的 convertA 方法,然后这个 convert 去调用 convertA,特殊字段再去 set?
55 56 default TradeTrendSummaryRespVO convert(TradeStatisticsDO tradeStatistics) {
56 57 return new TradeTrendSummaryRespVO()
57 58 .setDate(tradeStatistics.getTime().toLocalDate())
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/dataobject/trade/TradeStatisticsDO.java
... ... @@ -63,6 +63,7 @@ public class TradeStatisticsDO extends TenantBaseDO {
63 63 */
64 64 private Integer brokerageSettlementPrice;
65 65  
  66 + // TODO @疯狂:walletPayPrice,钱包支付金额
66 67 /**
67 68 * 总支付金额(余额),单位:分
68 69 */
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/infra/ApiAccessLogStatisticsMapper.java
... ... @@ -16,10 +16,12 @@ import java.time.LocalDateTime;
16 16 @SuppressWarnings("rawtypes")
17 17 public interface ApiAccessLogStatisticsMapper extends BaseMapperX {
18 18  
  19 + // TODO 芋艿:已经 review
19 20 Integer selectIpCountByUserTypeAndCreateTimeBetween(@Param("userType") Integer userType,
20 21 @Param("beginTime") LocalDateTime beginTime,
21 22 @Param("endTime") LocalDateTime endTime);
22 23  
  24 + // TODO 芋艿:已经 review
23 25 Integer selectUserCountByUserTypeAndCreateTimeBetween(@Param("userType") Integer userType,
24 26 @Param("beginTime") LocalDateTime beginTime,
25 27 @Param("endTime") LocalDateTime endTime);
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/member/MemberStatisticsMapper.java
... ... @@ -20,16 +20,27 @@ import java.util.List;
20 20 @SuppressWarnings("rawtypes")
21 21 public interface MemberStatisticsMapper extends BaseMapperX {
22 22  
  23 + // TODO @芋艿:已经 review
23 24 List<MemberAreaStatisticsRespBO> selectSummaryListByAreaId();
24 25  
  26 + // TODO @芋艿:已经 review
25 27 List<MemberSexStatisticsRespVO> selectSummaryListBySex();
26 28  
  29 + // TODO @芋艿:已经 review
27 30 List<MemberTerminalStatisticsRespVO> selectSummaryListByRegisterTerminal();
28 31  
29 32 // TODO @芋艿:已经 review
30 33 Integer selectUserCount(@Param("beginTime") LocalDateTime beginTime,
31 34 @Param("endTime") LocalDateTime endTime);
32 35  
  36 + // TODO @芋艿:已经 review
  37 + /**
  38 + * 获得用户的每天注册数量列表
  39 + *
  40 + * @param beginTime 开始时间
  41 + * @param endTime 结束时间
  42 + * @return 每天注册数量列表
  43 + */
33 44 List<MemberRegisterCountRespVO> selectListByCreateTimeBetween(@Param("beginTime") LocalDateTime beginTime,
34 45 @Param("endTime") LocalDateTime endTime);
35 46  
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/pay/PayWalletStatisticsMapper.java
... ... @@ -37,6 +37,7 @@ public interface PayWalletStatisticsMapper extends BaseMapperX {
37 37 @Param("endTime") LocalDateTime endTime,
38 38 @Param("payStatus") Boolean payStatus);
39 39  
  40 + // TODO 芋艿:已经 review;
40 41 Integer selectRechargePriceSummary(@Param("payStatus") Integer payStatus);
41 42  
42 43 }
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/trade/AfterSaleStatisticsMapper.java
... ... @@ -20,6 +20,7 @@ public interface AfterSaleStatisticsMapper extends BaseMapperX&lt;TradeStatisticsDO
20 20 AfterSaleSummaryRespBO selectSummaryByRefundTimeBetween(@Param("beginTime") LocalDateTime beginTime,
21 21 @Param("endTime") LocalDateTime endTime);
22 22  
  23 + // TODO 芋艿:已经 review
23 24 Long selectCountByStatus(@Param("status") Integer status);
24 25  
25 26 }
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/trade/BrokerageStatisticsMapper.java
... ... @@ -15,11 +15,13 @@ import java.time.LocalDateTime;
15 15 @Mapper
16 16 public interface BrokerageStatisticsMapper extends BaseMapperX<TradeStatisticsDO> {
17 17  
  18 + // TODO 芋艿:已经 review
18 19 Integer selectSummaryPriceByStatusAndUnfreezeTimeBetween(@Param("bizType") Integer bizType,
19 20 @Param("status") Integer status,
20 21 @Param("beginTime") LocalDateTime beginTime,
21 22 @Param("endTime") LocalDateTime endTime);
22 23  
  24 + // TODO 芋艿:已经 review
23 25 Long selectWithdrawCountByStatus(@Param("status") Integer status);
24 26  
25 27 }
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/trade/TradeOrderStatisticsMapper.java
... ... @@ -42,6 +42,7 @@ public interface TradeOrderStatisticsMapper extends BaseMapperX&lt;TradeStatisticsD
42 42 Integer selectUserCountByPayTimeBetween(@Param("beginTime") LocalDateTime beginTime,
43 43 @Param("endTime") LocalDateTime endTime);
44 44  
  45 + // TODO 芋艿:已经 review
45 46 /**
46 47 * 按照支付时间统计订单(按天分组)
47 48 *
... ... @@ -52,6 +53,7 @@ public interface TradeOrderStatisticsMapper extends BaseMapperX&lt;TradeStatisticsD
52 53 List<TradeOrderTrendRespVO> selectListByPayTimeBetweenAndGroupByDay(@Param("beginTime") LocalDateTime beginTime,
53 54 @Param("endTime") LocalDateTime endTime);
54 55  
  56 + // TODO 芋艿:已经 review
55 57 /**
56 58 * 按照支付时间统计订单(按月分组)
57 59 *
... ... @@ -62,10 +64,13 @@ public interface TradeOrderStatisticsMapper extends BaseMapperX&lt;TradeStatisticsD
62 64 List<TradeOrderTrendRespVO> selectListByPayTimeBetweenAndGroupByMonth(@Param("beginTime") LocalDateTime beginTime,
63 65 @Param("endTime") LocalDateTime endTime);
64 66  
  67 + // TODO @芋艿:已经 review
65 68 Long selectCountByStatus(@Param("status") Integer status);
66 69  
  70 + // TODO 芋艿:已经 review
67 71 Long selectCountByStatusAndPickUpStoreIdIsNotNull(@Param("status") Integer status);
68 72  
  73 + // TODO 芋艿:已经 review
69 74 TradeOrderSummaryRespVO selectPaySummaryByStatusAndPayTimeBetween(@Param("status") Integer status,
70 75 @Param("beginTime") LocalDateTime beginTime,
71 76 @Param("endTime") LocalDateTime endTime);
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/trade/TradeStatisticsMapper.java
... ... @@ -25,14 +25,17 @@ public interface TradeStatisticsMapper extends BaseMapperX&lt;TradeStatisticsDO&gt; {
25 25 TradeTrendSummaryRespVO selectVoByTimeBetween(@Param("beginTime") LocalDateTime beginTime,
26 26 @Param("endTime") LocalDateTime endTime);
27 27  
  28 + // TODO @芋艿:已经 review
28 29 default List<TradeStatisticsDO> selectListByTimeBetween(LocalDateTime beginTime, LocalDateTime endTime) {
29 30 return selectList(new LambdaQueryWrapperX<TradeStatisticsDO>()
30 31 .between(TradeStatisticsDO::getTime, beginTime, endTime));
31 32 }
32 33  
  34 + // TODO @芋艿:已经 review
33 35 Integer selectExpensePriceByTimeBetween(@Param("beginTime") LocalDateTime beginTime,
34 36 @Param("endTime") LocalDateTime endTime);
35 37  
  38 + // TODO @芋艿:已经 review
36 39 default TradeStatisticsDO selectByTimeBetween(LocalDateTime beginTime, LocalDateTime endTime) {
37 40 return selectOne(new LambdaQueryWrapperX<TradeStatisticsDO>()
38 41 .between(TradeStatisticsDO::getTime, beginTime, endTime));
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/job/trade/TradeStatisticsJob.java
... ... @@ -30,6 +30,7 @@ public class TradeStatisticsJob implements JobHandler {
30 30 @Override
31 31 @TenantJob
32 32 public String execute(String param) {
  33 + // TODO @疯狂:要搞个默认的 1 哈;
33 34 if (NumberUtil.isInteger(param)) {
34 35 throw new RuntimeException("交易统计任务的参数只能为是正整数");
35 36 }
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/infra/ApiAccessLogStatisticsService.java
... ... @@ -9,6 +9,7 @@ import java.time.LocalDateTime;
9 9 */
10 10 public interface ApiAccessLogStatisticsService {
11 11  
  12 + // TODO 芋艿:已经 review
12 13 /**
13 14 * 获取活跃用户数量
14 15 *
... ... @@ -19,6 +20,7 @@ public interface ApiAccessLogStatisticsService {
19 20 */
20 21 Integer getUserCount(Integer userType, LocalDateTime beginTime, LocalDateTime endTime);
21 22  
  23 + // TODO 芋艿:已经 review
22 24 /**
23 25 * 获取访问用户数量
24 26 *
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/member/MemberStatisticsService.java
... ... @@ -21,6 +21,7 @@ public interface MemberStatisticsService {
21 21 */
22 22 MemberSummaryRespVO getMemberSummary();
23 23  
  24 + // TODO 芋艿:已经 review
24 25 /**
25 26 * 获取会员分析对照数据
26 27 *
... ... @@ -31,6 +32,7 @@ public interface MemberStatisticsService {
31 32 DataComparisonRespVO<MemberAnalyseDataRespVO> getMemberAnalyseComparisonData(LocalDateTime beginTime,
32 33 LocalDateTime endTime);
33 34  
  35 + // TODO 芋艿:已经 review
34 36 /**
35 37 * 按照省份,获得会员统计列表
36 38 *
... ... @@ -38,6 +40,7 @@ public interface MemberStatisticsService {
38 40 */
39 41 List<MemberAreaStatisticsRespVO> getMemberAreaStatisticsList();
40 42  
  43 + // TODO 芋艿:已经 review
41 44 /**
42 45 * 按照性别,获得会员统计列表
43 46 *
... ... @@ -45,6 +48,7 @@ public interface MemberStatisticsService {
45 48 */
46 49 List<MemberSexStatisticsRespVO> getMemberSexStatisticsList();
47 50  
  51 + // TODO @疯狂:这个要不要使用 getMemberTerminalStatisticsList;保持统一?
48 52 /**
49 53 * 按照终端,获得会员统计列表
50 54 *
... ... @@ -52,6 +56,7 @@ public interface MemberStatisticsService {
52 56 */
53 57 List<MemberTerminalStatisticsRespVO> getRegisterTerminalStatisticsList();
54 58  
  59 + // TODO 芋艿:已经 review
55 60 /**
56 61 * 获取用户注册数量列表
57 62 *
... ... @@ -61,6 +66,7 @@ public interface MemberStatisticsService {
61 66 */
62 67 List<MemberRegisterCountRespVO> getMemberRegisterCountList(LocalDateTime beginTime, LocalDateTime endTime);
63 68  
  69 + // TODO 芋艿:已经 review
64 70 /**
65 71 * 获得用户数量量统计对照
66 72 *
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/pay/PayWalletStatisticsService.java
... ... @@ -32,6 +32,7 @@ public interface PayWalletStatisticsService {
32 32 */
33 33 RechargeSummaryRespBO getUserRechargeSummary(LocalDateTime beginTime, LocalDateTime endTime);
34 34  
  35 + // TODO 芋艿:已经 review
35 36 /**
36 37 * 获取充值金额合计
37 38 *
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/pay/bo/RechargeSummaryRespBO.java
... ... @@ -6,7 +6,6 @@ import lombok.Data;
6 6 /**
7 7 * 充值统计 Response BO
8 8 */
9   -@Schema(description = "管理后台 - ")
10 9 @Data
11 10 public class RechargeSummaryRespBO {
12 11  
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/AfterSaleStatisticsService.java
... ... @@ -22,6 +22,7 @@ public interface AfterSaleStatisticsService {
22 22 */
23 23 AfterSaleSummaryRespBO getAfterSaleSummary(LocalDateTime beginTime, LocalDateTime endTime);
24 24  
  25 + // TODO 芋艿:已经 review
25 26 /**
26 27 * 获取指定状态的售后订单数量
27 28 *
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/BrokerageStatisticsService.java
... ... @@ -21,6 +21,7 @@ public interface BrokerageStatisticsService {
21 21 */
22 22 Integer getBrokerageSettlementPriceSummary(LocalDateTime beginTime, LocalDateTime endTime);
23 23  
  24 + // TODO 芋艿:已经 review
24 25 /**
25 26 * 获取指定状态的提现记录数量
26 27 *
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/TradeOrderStatisticsService.java
... ... @@ -62,6 +62,7 @@ public interface TradeOrderStatisticsService {
62 62 */
63 63 Integer getOrderPayPrice(LocalDateTime beginTime, LocalDateTime endTime);
64 64  
  65 + // TODO 芋艿:已经 review
65 66 /**
66 67 * 获得交易订单数量
67 68 *
... ... @@ -69,6 +70,7 @@ public interface TradeOrderStatisticsService {
69 70 */
70 71 TradeOrderCountRespVO getOrderCount();
71 72  
  73 + // TODO 芋艿:已经 review
72 74 /**
73 75 * 交易订单销售额对照
74 76 *
... ... @@ -76,6 +78,7 @@ public interface TradeOrderStatisticsService {
76 78 */
77 79 DataComparisonRespVO<TradeOrderSummaryRespVO> getOrderComparison();
78 80  
  81 + // TODO 芋艿:已经 review
79 82 /**
80 83 * 获得订单量趋势统计
81 84 *
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/TradeOrderStatisticsServiceImpl.java
... ... @@ -63,9 +63,9 @@ public class TradeOrderStatisticsServiceImpl implements TradeOrderStatisticsServ
63 63  
64 64 @Override
65 65 public TradeOrderCountRespVO getOrderCount() {
  66 + // TODO 疯狂:这个可以根据 status + delivertyType 来过滤呀;ps:是不是搞个 service 方法,交给上层去聚合,这样 TradeOrderCountRespVO 可以更明确返回,不用搞 bo;
66 67 Long undeliveredCount = tradeOrderStatisticsMapper.selectCountByStatus(TradeOrderStatusEnum.UNDELIVERED.getStatus());
67 68 Long pickUpCount = tradeOrderStatisticsMapper.selectCountByStatusAndPickUpStoreIdIsNotNull(TradeOrderStatusEnum.DELIVERED.getStatus());
68   -
69 69 return new TradeOrderCountRespVO()
70 70 .setPickUp(ObjUtil.defaultIfNull(pickUpCount, 0L))
71 71 .setUndelivered(ObjUtil.defaultIfNull(undeliveredCount, 0L));
... ... @@ -81,8 +81,8 @@ public class TradeOrderStatisticsServiceImpl implements TradeOrderStatisticsServ
81 81 private TradeOrderSummaryRespVO getPayPriceSummary(LocalDateTime date) {
82 82 LocalDateTime beginTime = LocalDateTimeUtil.beginOfDay(date);
83 83 LocalDateTime endTime = LocalDateTimeUtil.beginOfDay(date);
84   -
85   - return tradeOrderStatisticsMapper.selectPaySummaryByStatusAndPayTimeBetween(PayOrderStatusEnum.SUCCESS.getStatus(), beginTime, endTime);
  84 + return tradeOrderStatisticsMapper.selectPaySummaryByStatusAndPayTimeBetween(
  85 + PayOrderStatusEnum.SUCCESS.getStatus(), beginTime, endTime);
86 86 }
87 87  
88 88 @Override
... ... @@ -93,7 +93,7 @@ public class TradeOrderStatisticsServiceImpl implements TradeOrderStatisticsServ
93 93 LocalDateTime referenceEndTime = reqVO.getBeginTime().minusDays(1);
94 94 LocalDateTime referenceBeginTime = referenceEndTime.minus(Duration.between(reqVO.getBeginTime(), reqVO.getEndTime()));
95 95 List<TradeOrderTrendRespVO> reference = getOrderCountTrend(reqVO.getType(), referenceBeginTime, referenceEndTime);
96   -
  96 + // 顺序对比返回
97 97 return IntStream.range(0, value.size())
98 98 .mapToObj(index -> new DataComparisonRespVO<TradeOrderTrendRespVO>()
99 99 .setValue(CollUtil.get(value, index))
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/TradeStatisticsService.java
... ... @@ -49,6 +49,7 @@ public interface TradeStatisticsService {
49 49 */
50 50 String statisticsTrade(Integer days);
51 51  
  52 + // TODO 芋艿:已经 review
52 53 /**
53 54 * 统计指定日期的交易数据
54 55 *
... ... @@ -57,6 +58,7 @@ public interface TradeStatisticsService {
57 58 */
58 59 TradeSummaryRespBO getTradeSummaryByDays(int days);
59 60  
  61 + // TODO 芋艿:已经 review
60 62 /**
61 63 * 统计指定月份的交易数据
62 64 *
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/trade/TradeStatisticsServiceImpl.java
... ... @@ -83,6 +83,7 @@ public class TradeStatisticsServiceImpl implements TradeStatisticsService {
83 83 @Override
84 84 public String statisticsTrade(Integer days) {
85 85 LocalDateTime today = LocalDateTime.now();
  86 + // TODO @疯狂:不用并发哈,因为租户可能会丢;然后,一般串行就好,对性能没绝对的要求哈,天数也不会多;
86 87 return IntStream.rangeClosed(1, days)
87 88 .parallel()
88 89 .mapToObj(day -> statisticsTrade(today.minusDays(day)))
... ... @@ -130,6 +131,7 @@ public class TradeStatisticsServiceImpl implements TradeStatisticsService {
130 131 entity = TradeStatisticsConvert.INSTANCE.convert(date, orderSummary, afterSaleSummary, brokerageSettlementPrice,
131 132 walletSummary);
132 133 tradeStatisticsMapper.insert(entity);
  134 + // TODO @疯狂:这里是不是也要把日期带上?类似 108 那边
133 135 return stopWatch.prettyPrint();
134 136 }
135 137  
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/resources/mapper/trade/TradeOrderStatisticsMapper.xml
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3 <mapper namespace="cn.iocoder.yudao.module.statistics.dal.mysql.trade.TradeOrderStatisticsMapper">
  4 +
  5 + <!-- TODO @疯狂:是返回不是的 MemberAreaStatisticsRespBO 哈 -->
4 6 <select id="selectSummaryListByAreaId"
5 7 resultType="cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberAreaStatisticsRespVO">
6 8 SELECT receiver_area_id AS areaId,
... ... @@ -87,7 +89,8 @@
87 89 <select id="selectCountByStatus" resultType="java.lang.Long">
88 90 SELECT COUNT(1)
89 91 FROM trade_order
90   - WHERE status = #{status} AND deleted = FALSE
  92 + WHERE status = #{status}
  93 + AND deleted = FALSE
91 94 </select>
92 95  
93 96 <select id="selectCountByStatusAndPickUpStoreIdIsNotNull" resultType="java.lang.Long">
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
... ... @@ -187,6 +187,7 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
187 187 order.setStatus(TradeOrderStatusEnum.UNPAID.getStatus());
188 188 order.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus());
189 189 order.setProductCount(getSumValue(calculateRespBO.getItems(), TradePriceCalculateRespBO.OrderItem::getCount, Integer::sum));
  190 + // TODO @疯狂:无状态,terminal 不从 servletuTILS 拿,而是通过 controller 传递给 service;
190 191 order.setTerminal(ServletUtils.getTerminal());
191 192 // 支付 + 退款信息
192 193 order.setAdjustPrice(0).setPayStatus(false);
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/user/MemberUserDO.java
... ... @@ -117,7 +117,7 @@ public class MemberUserDO extends TenantBaseDO {
117 117 * 积分
118 118 */
119 119 private Integer point;
120   - // TODO 芋艿:增加一个 totalPoint;个人信息接口要返回
  120 + // TODO 疯狂:增加一个 totalPoint;个人信息接口要返回
121 121  
122 122 /**
123 123 * 会员标签列表,以逗号分隔
... ...
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
... ... @@ -100,6 +100,7 @@ public class MemberUserServiceImpl implements MemberUserService {
100 100 user.setStatus(CommonStatusEnum.ENABLE.getStatus()); // 默认开启
101 101 user.setPassword(encodePassword(password)); // 加密密码
102 102 user.setRegisterIp(registerIp);
  103 + // TODO @疯狂:无状态,terminal 不从 servletuTILS 拿,而是通过 controller 传递给 service;
103 104 user.setRegisterTerminal(ServletUtils.getTerminal());
104 105 memberUserMapper.insert(user);
105 106  
... ...