diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserDataRankResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserDataRankResultDTO.java new file mode 100644 index 000000000..a4463005a --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserDataRankResultDTO.java @@ -0,0 +1,64 @@ +package com.elink.esua.epdc.dto.user.result; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 用户数据排行 + * + * @author work@yujt.net.cn + * @date 2020/2/11 14:44 + */ +@Data +public class UserDataRankResultDTO { + + /** + * 街道id + */ + private String streetId; + /** + * 街道名称 + */ + private String streetName; + /** + * 用户注册数 + */ + private Integer userCount; + /** + * 男性数 + */ + private Integer maleCount; + /** + * 女性数 + */ + private Integer femaleCount; + /** + * 未知性别数 + */ + private Integer unknownSexCount; + /** + * 居民数 + */ + private Integer residentCount; + /** + * 党员数 + */ + private Integer partymemberCount; + /** + * 老人数(年龄大于50) + */ + private Integer oldCount; + /** + * 年轻人数(年龄不大于50) + */ + private Integer youngCount; + /** + * 老人比例 + */ + private BigDecimal oldPercent; + /** + * 年轻人比例 + */ + private BigDecimal youngPercent; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java index ade9c9e61..feda0ad91 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java @@ -1,7 +1,13 @@ package com.elink.esua.epdc.modules.user.controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO; +import com.elink.esua.epdc.modules.user.service.UserAnalysisService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; /** * 数据端,用户数据分析相关接口 @@ -13,4 +19,21 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("user") public class UserAnalysisController { + + @Autowired + private UserAnalysisService userAnalysisService; + + /** + * PC端用户数据分析,用户注册排行,党员排行 + * + * @param params + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author work@yujt.net.cn + * @date 2020/2/11 15:17 + */ + @GetMapping("page/dataRank") + public Result> pageUserDataRank(@RequestParam Map params) { + PageData pageData = userAnalysisService.pageUserDataRank(params); + return new Result().ok(pageData); + } } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java index 885a4d717..c4287f063 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java @@ -3,9 +3,11 @@ package com.elink.esua.epdc.modules.user.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.elink.esua.epdc.dto.user.UserAnalysisDTO; import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO; +import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO; import org.apache.ibatis.annotations.Mapper; import java.util.List; +import java.util.Map; /** * 用户数据分析相关 @@ -15,10 +17,10 @@ import java.util.List; */ @Mapper public interface UserAnalysisDao extends BaseMapper { - + /*** * 居民注册 - * @param + * @param * @return java.util.List * @author qushutong * @date 2020/2/11 12:32 @@ -82,4 +84,13 @@ public interface UserAnalysisDao extends BaseMapper { */ List selectListItemCount(); + /** + * 查询用户数据排行 + * + * @param params + * @return java.util.List + * @author work@yujt.net.cn + * @date 2020/2/11 14:48 + */ + List selectListUserDataRank(Map params); } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java index cbac4d3be..f02d9690d 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java @@ -1,8 +1,11 @@ package com.elink.esua.epdc.modules.user.service; +import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO; +import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO; import java.util.List; +import java.util.Map; /** * 用户数据分析相关业务 @@ -20,4 +23,14 @@ public interface UserAnalysisService { * @date 2020/2/11 14:04 */ List listPageGridOpening(); + + /** + * 用户数据排行,PC端用户数据分析,居民注册排行,党员排行 + * + * @param params + * @return com.elink.esua.epdc.commons.tools.page.PageData + * @author work@yujt.net.cn + * @date 2020/2/11 15:13 + */ + PageData pageUserDataRank(Map params); } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java index 11d25d96f..da6e8e682 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java @@ -1,15 +1,22 @@ package com.elink.esua.epdc.modules.user.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; +import com.elink.esua.epdc.commons.tools.security.user.UserDetail; +import com.elink.esua.epdc.datasources.DataSourceNames; +import com.elink.esua.epdc.datasources.annotation.DataSource; import com.elink.esua.epdc.dto.user.UserAnalysisDTO; import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO; -import com.elink.esua.epdc.dto.user.result.UserRegisterDataResultDTO; +import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO; import com.elink.esua.epdc.modules.user.dao.UserAnalysisDao; import com.elink.esua.epdc.modules.user.service.UserAnalysisService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; /** * 用户数据分析业务实现 @@ -29,4 +36,14 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl pageUserDataRank(Map params) { + UserDetail userDetail = SecurityUser.getUser(); + params.put("deptIdList", userDetail.getDeptIdList()); + IPage page = getPage(params); + List list = baseDao.selectListUserDataRank(params); + return new PageData<>(list, page.getTotal()); + } } diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml index 7f6ebdfec..6682f5fac 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml @@ -27,4 +27,42 @@ ORDER BY t0.id ASC + + +