Commit b6d400e04ac300c3e6632d4999d5e037b0125047

Authored by owen
1 parent 6f08645f

统计:会员终端统计接口实现

yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/controller/admin/member/MemberStatisticsController.java
... ... @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.statistics.controller.admin.member;
2 2  
3 3 import cn.hutool.core.util.ArrayUtil;
4 4 import cn.hutool.core.util.NumberUtil;
5   -import cn.iocoder.yudao.framework.common.enums.TerminalEnum;
6 5 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
7 6 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
8 7 import cn.iocoder.yudao.module.statistics.controller.admin.common.vo.DataComparisonRespVO;
... ... @@ -25,7 +24,6 @@ import java.time.LocalDateTime;
25 24 import java.util.List;
26 25  
27 26 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
28   -import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
29 27  
30 28 @Tag(name = "管理后台 - 会员统计")
31 29 @RestController
... ... @@ -98,12 +96,7 @@ public class MemberStatisticsController {
98 96 @Operation(summary = "按照终端,获得会员统计列表")
99 97 @PreAuthorize("@ss.hasPermission('statistics:member:query')")
100 98 public CommonResult<List<MemberTerminalStatisticsRespVO>> getMemberTerminalStatisticsList() {
101   - // TODO 疯狂:这个可以晚点写,因为 user = = 上还没记录 terminal
102   - // TODO @疯狂:在 member_user 上,增加 registerTerminal 字段,基于它来统计哈;
103   - List<MemberTerminalStatisticsRespVO> list = convertList(TerminalEnum.values(),
104   - t -> new MemberTerminalStatisticsRespVO()
105   - .setTerminal(t.getTerminal()).setUserCount(t.getTerminal() * 100));
106   - return success(list);
  99 + return success(memberStatisticsService.getRegisterTerminalStatisticsList());
107 100 }
108 101  
109 102 @GetMapping("/user-count-comparison")
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/member/MemberStatisticsMapper.java
... ... @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.statistics.dal.mysql.member;
3 3 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
4 4 import cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberRegisterCountRespVO;
5 5 import cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberSexStatisticsRespVO;
  6 +import cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberTerminalStatisticsRespVO;
6 7 import cn.iocoder.yudao.module.statistics.service.member.bo.MemberAreaStatisticsRespBO;
7 8 import org.apache.ibatis.annotations.Mapper;
8 9 import org.apache.ibatis.annotations.Param;
... ... @@ -23,6 +24,8 @@ public interface MemberStatisticsMapper extends BaseMapperX {
23 24  
24 25 List<MemberSexStatisticsRespVO> selectSummaryListBySex();
25 26  
  27 + List<MemberTerminalStatisticsRespVO> selectSummaryListByRegisterTerminal();
  28 +
26 29 // TODO @芋艿:已经 review
27 30 Integer selectUserCount(@Param("beginTime") LocalDateTime beginTime,
28 31 @Param("endTime") LocalDateTime endTime);
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/member/MemberStatisticsService.java
... ... @@ -46,6 +46,13 @@ public interface MemberStatisticsService {
46 46 List<MemberSexStatisticsRespVO> getMemberSexStatisticsList();
47 47  
48 48 /**
  49 + * 按照终端,获得会员统计列表
  50 + *
  51 + * @return 会员统计列表
  52 + */
  53 + List<MemberTerminalStatisticsRespVO> getRegisterTerminalStatisticsList();
  54 +
  55 + /**
49 56 * 获取用户注册数量列表
50 57 *
51 58 * @param beginTime 起始时间
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/java/cn/iocoder/yudao/module/statistics/service/member/MemberStatisticsServiceImpl.java
... ... @@ -105,6 +105,11 @@ public class MemberStatisticsServiceImpl implements MemberStatisticsService {
105 105 }
106 106  
107 107 @Override
  108 + public List<MemberTerminalStatisticsRespVO> getRegisterTerminalStatisticsList() {
  109 + return memberStatisticsMapper.selectSummaryListByRegisterTerminal();
  110 + }
  111 +
  112 + @Override
108 113 public List<MemberRegisterCountRespVO> getMemberRegisterCountList(LocalDateTime beginTime, LocalDateTime endTime) {
109 114 return memberStatisticsMapper.selectListByCreateTimeBetween(beginTime, endTime);
110 115 }
... ...
yudao-module-mall/yudao-module-statistics-biz/src/main/resources/mapper/member/MemberStatisticsMapper.xml
... ... @@ -18,6 +18,14 @@
18 18 GROUP BY sex
19 19 </select>
20 20  
  21 + <select id="selectSummaryListByRegisterTerminal"
  22 + resultType="cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberTerminalStatisticsRespVO">
  23 + SELECT register_terminal as terminal, COUNT(1) AS userCount
  24 + FROM member_user
  25 + WHERE deleted = FALSE
  26 + GROUP BY register_terminal
  27 + </select>
  28 +
21 29 <select id="selectUserCount" resultType="java.lang.Integer">
22 30 SELECT COUNT(1)
23 31 FROM member_user
... ...