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,7 +2,6 @@ package cn.iocoder.yudao.module.statistics.controller.admin.member; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.ArrayUtil; | 3 | import cn.hutool.core.util.ArrayUtil; |
| 4 | import cn.hutool.core.util.NumberUtil; | 4 | import cn.hutool.core.util.NumberUtil; |
| 5 | -import cn.iocoder.yudao.framework.common.enums.TerminalEnum; | ||
| 6 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | 5 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 7 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 8 | import cn.iocoder.yudao.module.statistics.controller.admin.common.vo.DataComparisonRespVO; | 7 | import cn.iocoder.yudao.module.statistics.controller.admin.common.vo.DataComparisonRespVO; |
| @@ -25,7 +24,6 @@ import java.time.LocalDateTime; | @@ -25,7 +24,6 @@ import java.time.LocalDateTime; | ||
| 25 | import java.util.List; | 24 | import java.util.List; |
| 26 | 25 | ||
| 27 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | 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 | @Tag(name = "管理后台 - 会员统计") | 28 | @Tag(name = "管理后台 - 会员统计") |
| 31 | @RestController | 29 | @RestController |
| @@ -98,12 +96,7 @@ public class MemberStatisticsController { | @@ -98,12 +96,7 @@ public class MemberStatisticsController { | ||
| 98 | @Operation(summary = "按照终端,获得会员统计列表") | 96 | @Operation(summary = "按照终端,获得会员统计列表") |
| 99 | @PreAuthorize("@ss.hasPermission('statistics:member:query')") | 97 | @PreAuthorize("@ss.hasPermission('statistics:member:query')") |
| 100 | public CommonResult<List<MemberTerminalStatisticsRespVO>> getMemberTerminalStatisticsList() { | 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 | @GetMapping("/user-count-comparison") | 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,6 +3,7 @@ package cn.iocoder.yudao.module.statistics.dal.mysql.member; | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 4 | import cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberRegisterCountRespVO; | 4 | import cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberRegisterCountRespVO; |
| 5 | import cn.iocoder.yudao.module.statistics.controller.admin.member.vo.MemberSexStatisticsRespVO; | 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 | import cn.iocoder.yudao.module.statistics.service.member.bo.MemberAreaStatisticsRespBO; | 7 | import cn.iocoder.yudao.module.statistics.service.member.bo.MemberAreaStatisticsRespBO; |
| 7 | import org.apache.ibatis.annotations.Mapper; | 8 | import org.apache.ibatis.annotations.Mapper; |
| 8 | import org.apache.ibatis.annotations.Param; | 9 | import org.apache.ibatis.annotations.Param; |
| @@ -23,6 +24,8 @@ public interface MemberStatisticsMapper extends BaseMapperX { | @@ -23,6 +24,8 @@ public interface MemberStatisticsMapper extends BaseMapperX { | ||
| 23 | 24 | ||
| 24 | List<MemberSexStatisticsRespVO> selectSummaryListBySex(); | 25 | List<MemberSexStatisticsRespVO> selectSummaryListBySex(); |
| 25 | 26 | ||
| 27 | + List<MemberTerminalStatisticsRespVO> selectSummaryListByRegisterTerminal(); | ||
| 28 | + | ||
| 26 | // TODO @芋艿:已经 review | 29 | // TODO @芋艿:已经 review |
| 27 | Integer selectUserCount(@Param("beginTime") LocalDateTime beginTime, | 30 | Integer selectUserCount(@Param("beginTime") LocalDateTime beginTime, |
| 28 | @Param("endTime") LocalDateTime endTime); | 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,6 +46,13 @@ public interface MemberStatisticsService { | ||
| 46 | List<MemberSexStatisticsRespVO> getMemberSexStatisticsList(); | 46 | List<MemberSexStatisticsRespVO> getMemberSexStatisticsList(); |
| 47 | 47 | ||
| 48 | /** | 48 | /** |
| 49 | + * 按照终端,获得会员统计列表 | ||
| 50 | + * | ||
| 51 | + * @return 会员统计列表 | ||
| 52 | + */ | ||
| 53 | + List<MemberTerminalStatisticsRespVO> getRegisterTerminalStatisticsList(); | ||
| 54 | + | ||
| 55 | + /** | ||
| 49 | * 获取用户注册数量列表 | 56 | * 获取用户注册数量列表 |
| 50 | * | 57 | * |
| 51 | * @param beginTime 起始时间 | 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,6 +105,11 @@ public class MemberStatisticsServiceImpl implements MemberStatisticsService { | ||
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | @Override | 107 | @Override |
| 108 | + public List<MemberTerminalStatisticsRespVO> getRegisterTerminalStatisticsList() { | ||
| 109 | + return memberStatisticsMapper.selectSummaryListByRegisterTerminal(); | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + @Override | ||
| 108 | public List<MemberRegisterCountRespVO> getMemberRegisterCountList(LocalDateTime beginTime, LocalDateTime endTime) { | 113 | public List<MemberRegisterCountRespVO> getMemberRegisterCountList(LocalDateTime beginTime, LocalDateTime endTime) { |
| 109 | return memberStatisticsMapper.selectListByCreateTimeBetween(beginTime, endTime); | 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,6 +18,14 @@ | ||
| 18 | GROUP BY sex | 18 | GROUP BY sex |
| 19 | </select> | 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 | <select id="selectUserCount" resultType="java.lang.Integer"> | 29 | <select id="selectUserCount" resultType="java.lang.Integer"> |
| 22 | SELECT COUNT(1) | 30 | SELECT COUNT(1) |
| 23 | FROM member_user | 31 | FROM member_user |