Browse Source

用户数据统计街口,网格开通状况

dev
Jackwang 6 years ago
parent
commit
c638187771
  1. 30
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserCountDTO.java
  2. 24
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GriddingCountDTO.java
  3. 33
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserAnalysisCountDTO.java
  4. 51
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java
  5. 24
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java
  6. 23
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java
  7. 36
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java
  8. 36
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
  9. 31
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java
  10. 26
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisUserFeignClient.java
  11. 12
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisUserFeignClientFallback.java
  12. 24
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java
  13. 18
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java

30
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/form/UserCountDTO.java

@ -0,0 +1,30 @@
package com.elink.esua.epdc.dto.user.form;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @program: esua-epdc-cloud
* @description: 用户数据统计/网格开通数量
* @author: wangtong
* @create: 2020-02-12 10:03
**/
@Data
public class UserCountDTO{
/**
* 部门id
*/
@NotNull(message = "部门id不能为空")
private String deptId;
public String getDeptId() {
return deptId;
}
public void setDeptId(String deptId) {
this.deptId = deptId;
}
}

24
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/GriddingCountDTO.java

@ -0,0 +1,24 @@
package com.elink.esua.epdc.dto.user.result;
import java.io.Serializable;
/**
* @program: esua-epdc-cloud
* @description: 网格数量统计Serializable
* @author: wangtong
* @create: 2020-02-11 14:50
**/
public class GriddingCountDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 网格总计
**/
private String gridTotle;
/**
* 开通网格数量
**/
private String gridCount;
}

33
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/user/result/UserAnalysisCountDTO.java

@ -0,0 +1,33 @@
package com.elink.esua.epdc.dto.user.result;
import lombok.Data;
import java.io.Serializable;
/**
* @program: esua-epdc-cloud
* @description: 用户数据统计
* @author: wangtong
* @create: 2020-02-11 12:14
**/
@Data
public class UserAnalysisCountDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 所有用户数
**/
private Integer allUserCount;
/**
* 党员数
**/
private Integer partyMemberCount;
/**
* 居民数
**/
private Integer userCount;
}

51
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/controller/UserAnalysisController.java

@ -1,31 +1,22 @@
package com.elink.esua.epdc.modules.user.controller;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.modules.user.service.OldMemberRankService;
import com.elink.esua.epdc.modules.user.service.YoungMemberRankService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
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 com.elink.esua.epdc.modules.user.service.YoungMemberRankService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Map;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 数据端用户数据分析相关接口
@ -96,4 +87,32 @@ public class UserAnalysisController {
ValidatorUtils.validateEntity(formDto);
return this.youngMemberRankService.listYoungMemberRankByDeptId(formDto);
}
/**
*用户数据统计
*
* @author wangtong
* @date 2020/2/11 11:57
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("getUserStatistics")
public Result getUserStatistics(@RequestBody UserCountDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return userAnalysisService.getUserStatistics(formDto);
}
/**
*网格开通状况
*
* @author wangtong
* @date 2020/2/11 14:26
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("getGridStatistics")
public Result getGridStatistics(@RequestBody UserCountDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return userAnalysisService.getGridStatistics(formDto);
}
}

24
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/dao/UserAnalysisDao.java

@ -2,7 +2,10 @@ 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.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.GriddingCountDTO;
import com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO;
import com.elink.esua.epdc.dto.user.result.UserDataRankResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -144,4 +147,25 @@ public interface UserAnalysisDao extends BaseMapper<UserAnalysisDTO> {
*/
List<GridOpeningResultDTO> selectListCommunityTopicCount();
/**
*用户数据统计
*
* @author wangtong
* @date 2020/2/11 14:55
* @param [formDTO]
* @return com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO
*/
UserAnalysisCountDTO getUserStatistics(UserCountDTO formDto);
/**
*网格数量统计
*
* @author wangtong
* @date 2020/2/11 14:55
* @param [formDTO]
* @return com.elink.esua.epdc.dto.user.result.GriddingCountDTO
*/
GriddingCountDTO getGridStatistics(UserCountDTO formDto);
}

23
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/UserAnalysisService.java

@ -1,10 +1,11 @@
package com.elink.esua.epdc.modules.user.service;
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.form.UserCountDTO;
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;
/**
@ -35,4 +36,24 @@ public interface UserAnalysisService {
PageData<UserDataRankResultDTO> pageUserDataRank(Map<String, Object> params);
/**
*用户数据统计
*
* @author wangtong
* @date 2020/2/11 17:14
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result getUserStatistics(UserCountDTO formDto);
/**
*网格开通状况
*
* @author wangtong
* @date 2020/2/11 17:15
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result getGridStatistics(UserCountDTO formDto);
}

36
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/user/service/impl/UserAnalysisServiceImpl.java

@ -8,15 +8,18 @@ import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum;
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.commons.tools.utils.Result;
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.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.GridOpeningResultDTO;
import com.elink.esua.epdc.dto.user.result.GriddingCountDTO;
import com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO;
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 com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@ -122,4 +125,35 @@ public class UserAnalysisServiceImpl extends BaseServiceImpl<UserAnalysisDao, Us
}
return hasList;
}
/**
*用户数据统计
*
* @author wangtong
* @date 2020/2/11 14:33
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public Result getUserStatistics(UserCountDTO formDto) {
UserAnalysisCountDTO message = baseDao.getUserStatistics(formDto);
return new Result<UserAnalysisCountDTO>().ok(message);
}
/**
*网格开通状况
*
* @author wangtong
* @date 2020/2/11 14:33
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@DataSource(name = DataSourceNames.FOURTH)
@Override
public Result getGridStatistics(UserCountDTO formDto) {
GriddingCountDTO message = baseDao.getGridStatistics(formDto);
return new Result<GriddingCountDTO>().ok(message);
}
}

36
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

@ -415,4 +415,40 @@
ORDER BY
t0.id ASC
</select>
<select id="getUserStatistics" resultType="com.elink.esua.epdc.dto.user.result.UserAnalysisCountDTO">
SELECT
t.userCount,
t.partyMemberCount,
t.residentCount - t.partyMemberCount residentCount
FROM
(
SELECT
COUNT( u.ID ) userCount,
COUNT( u.STATE != '0' OR NULL ) residentCount,
COUNT( u.party_flag = '1' OR NULL ) partyMemberCount
FROM
esua_epdc_user.epdc_user u
WHERE
u.DEL_FLAG = '0'
AND u.DEPT_ID = #{formDto.deptId}
)t
</select>
<select id="getGridStatistics" resultType="com.elink.esua.epdc.dto.user.result.GriddingCountDTO">
SELECT
COUNT( ad.id) gridTotle,
COUNT( ac.ID) gridCount
FROM
esua_epdc_admin.sys_dept ad
LEFT JOIN esua_epdc_admin.epdc_dept_ma_code ac ON ad.id = ac.GRID_ID
LEFT JOIN esua_epdc_admin.sys_dept ad1 ON ad.pid = ad1.id
LEFT JOIN esua_epdc_admin.sys_dept ad2 ON ad1.pid = ad2.id
WHERE
ad.type_key = 'grid_party'
AND ad2.id != 1191534129122230274
AND ad2.id != 1201319745506598913
AND ad2.id = #{formDto.deptId}
ORDER BY
ad.create_date ASC
</select>
</mapper>

31
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAnalysisUserController.java

@ -3,13 +3,10 @@ package com.elink.esua.epdc.controller;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.annotation.LoginUser;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.service.AnalysisItemService;
import com.elink.esua.epdc.service.AnalysisUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -51,4 +48,30 @@ public class ApiAnalysisUserController {
public Result<List<YoungMemberRankResultDTO>> listYoungMemberRankByDeptId(MemberRankFormDTO formDto) {
return analysisUserService.listYoungMemberRankByDeptId(formDto);
}
/**
*用户数据统计
*
* @author wangtong
* @date 2020/2/11 11:32
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("/getUserStatistics")
public Result getUserStatistics(UserCountDTO formDto) {
return analysisUserService.getUserStatistics(formDto);
}
/**
*网格开通状况
*
* @author wangtong
* @date 2020/2/11 14:22
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping("/getGridStatistics")
public Result getGridStatistics(UserCountDTO formDto) {
return analysisUserService.getGridStatistics(formDto);
}
}

26
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AnalysisUserFeignClient.java

@ -3,12 +3,10 @@ package com.elink.esua.epdc.feign;
import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.config.FeignRequestInterceptor;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.feign.fallback.AnalysisIssueFeignClientFallback;
import com.elink.esua.epdc.feign.fallback.AnalysisUserFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
@ -55,5 +53,27 @@ public interface AnalysisUserFeignClient {
@GetMapping(value = "analysis/user/partyMemberYoungSort", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<YoungMemberRankResultDTO>> listYoungMemberRankByDeptId(MemberRankFormDTO formDto);
/**
*用户数据统计
*
* @author wangtong
* @date 2020/2/12 10:10
* @param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping(value = "analysis/user/getUserStatistics", consumes = MediaType.APPLICATION_JSON_VALUE)
Result getUserStatistics(UserCountDTO formDto);
/**
*网格开通状况
*
* @author wangtong
* @date 2020/2/12 10:10
* @param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
@GetMapping(value = "analysis/user/getGridStatistics", consumes = MediaType.APPLICATION_JSON_VALUE)
Result getGridStatistics(UserCountDTO formDto);
}

12
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisUserFeignClientFallback.java

@ -4,9 +4,9 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.feign.AnalysisIssueFeignClient;
import com.elink.esua.epdc.feign.AnalysisUserFeignClient;
import org.springframework.stereotype.Component;
@ -35,4 +35,14 @@ public class AnalysisUserFeignClientFallback implements AnalysisUserFeignClient
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "listYoungMemberRankByDeptId",formDto);
}
@Override
public Result getUserStatistics(UserCountDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "getUserStatistics",formDto);
}
@Override
public Result getGridStatistics(UserCountDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "getGridStatistics",formDto);
}
}

24
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/AnalysisUserService.java

@ -1,10 +1,8 @@
package com.elink.esua.epdc.service;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.form.ItemFormDTO;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
@ -42,4 +40,24 @@ public interface AnalysisUserService {
**/
Result<List<YoungMemberRankResultDTO>> listYoungMemberRankByDeptId(MemberRankFormDTO formDto);
/**
*网格开通状况
*
* @author wangtong
* @date 2020/2/12 10:08
* @param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result getGridStatistics(UserCountDTO formDto);
/**
*用户数据统计
*
* @author wangtong
* @date 2020/2/12 10:08
* @param [formDto]
* @return com.elink.esua.epdc.commons.tools.utils.Result
*/
Result getUserStatistics(UserCountDTO formDto);
}

18
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AnalysisUserServiceImpl.java

@ -1,15 +1,12 @@
package com.elink.esua.epdc.service.impl;
import com.elink.esua.epdc.common.token.dto.TokenDto;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.item.result.ItemResultDTO;
import com.elink.esua.epdc.dto.user.form.MemberRankFormDTO;
import com.elink.esua.epdc.dto.user.form.UserCountDTO;
import com.elink.esua.epdc.dto.user.result.OldMemberRankResultDTO;
import com.elink.esua.epdc.dto.user.result.YoungMemberRankResultDTO;
import com.elink.esua.epdc.feign.AnalysisIssueFeignClient;
import com.elink.esua.epdc.feign.AnalysisUserFeignClient;
import com.elink.esua.epdc.service.AnalysisIssueService;
import com.elink.esua.epdc.service.AnalysisUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -43,4 +40,17 @@ public class AnalysisUserServiceImpl implements AnalysisUserService {
public Result<List<YoungMemberRankResultDTO>> listYoungMemberRankByDeptId(MemberRankFormDTO formDto) {
return analysisUserFeignClient.listYoungMemberRankByDeptId(formDto);
}
@Override
public Result getGridStatistics(UserCountDTO formDto) {
return analysisUserFeignClient.getUserStatistics(formDto);
}
@Override
public Result getUserStatistics(UserCountDTO formDto) {
return analysisUserFeignClient.getGridStatistics(formDto);
}
}

Loading…
Cancel
Save