Commit b6d400e04ac300c3e6632d4999d5e037b0125047
1 parent
6f08645f
统计:会员终端统计接口实现
Showing
5 changed files
with
24 additions
and
8 deletions
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 | ... | ... |