Browse Source

Merge branch 'dev' into release

dev_shibei_match
sunyuchao 5 years ago
parent
commit
314176cf81
  1. 39
      epmet-auth/src/main/java/com/epmet/controller/GovWebController.java
  2. 21
      epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java
  3. 39
      epmet-auth/src/main/java/com/epmet/dto/form/GetResiWxPhoneFormDTO.java
  4. 46
      epmet-auth/src/main/java/com/epmet/dto/form/GovWebLoginFormDTO.java
  5. 2
      epmet-auth/src/main/java/com/epmet/dto/form/LoginCommonFormDTO.java
  6. 11
      epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  7. 6
      epmet-auth/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallback.java
  8. 19
      epmet-auth/src/main/java/com/epmet/service/GovWebService.java
  9. 9
      epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java
  10. 124
      epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java
  11. 38
      epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java
  12. 6
      epmet-commons/epmet-commons-dynamic-datasource/pom.xml
  13. 48
      epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/aspect/DataSourceAspect.java
  14. 8
      epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/config/DynamicDataSource.java
  15. 48
      epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/enums/DataSourceEnum.java
  16. 13
      epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/util/AbstractDataSourceNameFetcher.java
  17. 44
      epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/util/HttpRequestDataSourceNameFetcher.java
  18. 13
      epmet-commons/epmet-commons-extapp-auth/src/main/java/com/epmet/commons/extappauth/aspect/ExternalAppRequestAuthAspect.java
  19. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  20. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  21. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpContextUtils.java
  22. 81
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/UniqueIdGenerator.java
  23. 4
      epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java
  24. 1
      epmet-gateway/src/main/resources/bootstrap.yml
  25. 11
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java
  26. 15
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/constant/ScreenConstant.java
  27. 28
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/AgencyAndNumFormDTO.java
  28. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/AgencyFormDTO.java
  29. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/AgencyNumTypeParamFormDTO.java
  30. 43
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/BranchBuildRankFormDTO.java
  31. 39
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/BranchBuildTrendFormDTO.java
  32. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/BranchFormDTO.java
  33. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/CompartmentFormDTO.java
  34. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/ContactMassLineChartFormDTO.java
  35. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/FineExampleFormDTO.java
  36. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/MonthBarchartFormDTO.java
  37. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/MonthPieChartFormDTO.java
  38. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/ParymemberFormDTO.java
  39. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/ProjectDetailFormDTO.java
  40. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/ProjectFormDTO.java
  41. 33
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/SubAgencyIndexRankFormDTO.java
  42. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/TopProfileFormDTO.java
  43. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/UserFormDTO.java
  44. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/VolunteerServiceFormDTO.java
  45. 24
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/YearAverageIndexFormDTO.java
  46. 53
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/AdvanceBranchRankResultDTO.java
  47. 40
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/AgencyDistributionResultDTO.java
  48. 23
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchBuildOrderByCountResultDTO.java
  49. 32
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchBuildRankResultDTO.java
  50. 31
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchBuildTrendResultDTO.java
  51. 22
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchIssueDataResultDTO.java
  52. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchResultDTO.java
  53. 27
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchTrendSeriesDataResultDTO.java
  54. 49
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/CompartmentResultDTO.java
  55. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ContactMassLineChartResult.java
  56. 31
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ContactMassLineChartResultDTO.java
  57. 44
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/DifficultProjectResultDTO.java
  58. 81
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/FineExampleResultDTO.java
  59. 42
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/GovernCapacityRankResultDTO.java
  60. 42
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/GovernCapacityResultDTO.java
  61. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/MonthBarchartResult.java
  62. 42
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/MonthBarchartResultDTO.java
  63. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/MonthPieChartResultDTO.java
  64. 54
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/OrgRankDataResultDTO.java
  65. 31
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartyUserPointResultDTO.java
  66. 44
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartymemberAgeDistributionResultDTO.java
  67. 37
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartymemberAgePercentResultDTO.java
  68. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartymemberPercentResultDTO.java
  69. 46
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ParymemberDistributionResultDTO.java
  70. 49
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ParymemberResultDTO.java
  71. 47
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ProjectDetailResultDTO.java
  72. 45
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ProjectResultDTO.java
  73. 38
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiChartResultDTO.java
  74. 48
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiProfileResultDTO.java
  75. 28
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiRankResultDTO.java
  76. 40
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/SubAgencyIndexRankResultDTO.java
  77. 45
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/TopProfileResultDTO.java
  78. 37
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/TreeResultDTO.java
  79. 46
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserDistributionResultDTO.java
  80. 47
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserJoinIndicatorGrowthRateResultDTO.java
  81. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserJoinMonthlyResultDTO.java
  82. 28
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserPointRankResultDTO.java
  83. 20
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserPointResultDTO.java
  84. 49
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserResultDTO.java
  85. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/VolunteerServiceResult.java
  86. 36
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/VolunteerServiceResultDTO.java
  87. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/YearAverageIndexResultDTO.java
  88. 2
      epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml
  89. 39
      epmet-module/data-report/data-report-server/pom.xml
  90. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/aspect/RequestLogAspect.java
  91. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/config/ModuleConfigImpl.java
  92. 0
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/.gitignore
  93. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/group/GroupController.java
  94. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/issue/IssueController.java
  95. 0
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java
  96. 4
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/publicity/PublicityController.java
  97. 59
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java
  98. 95
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/DistributionController.java
  99. 109
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/GrassRootsGovernController.java
  100. 93
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/GrassrootsPartyDevController.java

39
epmet-auth/src/main/java/com/epmet/controller/GovWebController.java

@ -0,0 +1,39 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.GovWebLoginFormDTO;
import com.epmet.dto.result.UserTokenResultDTO;
import com.epmet.service.GovWebService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description PC工作端-登陆服务
* @author sun
*/
@RestController
@RequestMapping("govweb")
public class GovWebController {
@Autowired
private GovWebService govWebService;
/**
* @param formDTO
* @return
* @Author sun
* @Description PC工作端-工作人员登录
**/
@PostMapping("login")
public Result<UserTokenResultDTO> workLogin(@RequestBody GovWebLoginFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<UserTokenResultDTO>().ok(govWebService.login(formDTO));
}
}

21
epmet-auth/src/main/java/com/epmet/controller/ThirdLoginController.java

@ -2,13 +2,11 @@ package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.LoginFormDTO;
import com.epmet.dto.form.StaffOrgsFormDTO;
import com.epmet.dto.form.ThirdStaffOrgsFormDTO;
import com.epmet.dto.form.ThirdWxmpEnteOrgFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.StaffOrgsResultDTO;
import com.epmet.dto.result.UserTokenResultDTO;
import com.epmet.service.ThirdLoginService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -91,4 +89,19 @@ public class ThirdLoginController {
return new Result<List<StaffOrgsResultDTO>>().ok(staffOrgs);
}
/**
* @param formDTO
* @return
* @author sun
* @description 单客户-获取微信用户手机号
**/
@PostMapping("getresiwxphone")
public Result getResiWxPhone(@RequestBody GetResiWxPhoneFormDTO formDTO) {
String phone = thirdLoginService.getResiWxPhone(formDTO);
if (StringUtils.isNotBlank(phone) && !"null".equals(phone)) {
return new Result().ok(phone);
}
return new Result().ok("");
}
}

39
epmet-auth/src/main/java/com/epmet/dto/form/GetResiWxPhoneFormDTO.java

@ -0,0 +1,39 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 单客户-获取微信用户手机号
*
* @author sun
*/
@Data
public class GetResiWxPhoneFormDTO implements Serializable {
private static final long serialVersionUID = 4381236451736209332L;
/**
* 小程序appId
*/
@NotBlank(message = "appId不能为空",groups = {AddUserInternalGroup.class})
private String appId;
/**
* 微信code
*/
@NotBlank(message = "wxCode不能为空",groups = {AddUserInternalGroup.class})
private String wxCode;
/**
* 用户信息
*/
@NotBlank(message = "encryptedData不能为空",groups = {AddUserInternalGroup.class})
private String encryptedData;
/**
* 加密算法的初始向量
*/
@NotBlank(message = "iv不能为空",groups = {AddUserInternalGroup.class})
private String iv;
public interface AddUserInternalGroup {}
}

46
epmet-auth/src/main/java/com/epmet/dto/form/GovWebLoginFormDTO.java

@ -0,0 +1,46 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description PC工作端 手机号+密码登陆-接口入参
* @Author sun
*/
@Data
public class GovWebLoginFormDTO extends LoginCommonFormDTO implements Serializable {
private static final long serialVersionUID = 7950477424010655108L;
/**
* 客户Id
*/
@NotBlank(message = "客户Id不能为空",groups = {AddUserShowGroup.class})
private String customerId;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空",groups = {AddUserShowGroup.class})
private String phone;
/**
* 密码
*/
@NotBlank(message = "密码不能为空",groups = {AddUserShowGroup.class})
private String password;
/**
* 验证码
*/
@NotBlank(message="验证码不能为空",groups = {AddUserShowGroup.class})
private String captcha;
/**
* 唯一标识
*/
@NotBlank(message="唯一标识不能为空",groups = {AddUserInternalGroup.class})
private String uuid;
}

2
epmet-auth/src/main/java/com/epmet/dto/form/LoginCommonFormDTO.java

@ -19,7 +19,7 @@ public class LoginCommonFormDTO implements Serializable {
/**
* 政府端:gov居民端:resi运营端:oper
*/
@NotBlank(message = "app不能为空(政府端:gov、居民端:resi、运营端:oper)",groups ={AddUserInternalGroup.class} )
@NotBlank(message = "app不能为空(工作端:gov、居民端:resi、运营端:oper)",groups ={AddUserInternalGroup.class} )
private String app;
/**

11
epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -7,6 +7,7 @@ import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.UserDTO;
import com.epmet.dto.UserWechatDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.GovWebOperLoginResultDTO;
import com.epmet.dto.result.PasswordLoginUserInfoResultDTO;
import com.epmet.dto.result.StaffLatestAgencyResultDTO;
import com.epmet.feign.fallback.EpmetUserFeignClientFallback;
@ -115,4 +116,14 @@ public interface EpmetUserFeignClient {
*/
@PostMapping("/epmetuser/staffrole/staffroles")
Result<List<GovStaffRoleDTO>> getRolesOfStaff(StaffRoleFormDTO staffRoleFormDTO);
/**
* @param formDTO
* @return
* @Author sun
* @Description PC工作端登陆-根据客户Id和手机号查询登陆用户信息
**/
@PostMapping(value = "epmetuser/customerstaff/getstaffidandpwd", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<GovWebOperLoginResultDTO> getStaffIdAndPwd(@RequestBody GovWebOperLoginFormDTO formDTO);
}

6
epmet-auth/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallback.java

@ -8,6 +8,7 @@ import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.UserDTO;
import com.epmet.dto.UserWechatDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.GovWebOperLoginResultDTO;
import com.epmet.dto.result.PasswordLoginUserInfoResultDTO;
import com.epmet.dto.result.StaffLatestAgencyResultDTO;
import com.epmet.feign.EpmetUserFeignClient;
@ -68,4 +69,9 @@ public class EpmetUserFeignClientFallback implements EpmetUserFeignClient {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getRolesOfStaff", staffRoleFormDTO);
}
@Override
public Result<GovWebOperLoginResultDTO> getStaffIdAndPwd(GovWebOperLoginFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffIdAndPwd", formDTO);
}
}

19
epmet-auth/src/main/java/com/epmet/service/GovWebService.java

@ -0,0 +1,19 @@
package com.epmet.service;
import com.epmet.dto.form.GovWebLoginFormDTO;
import com.epmet.dto.result.UserTokenResultDTO;
/**
* @Description 第三方-居民端政府端登陆服务
* @author sun
*/
public interface GovWebService {
/**
* @param formDTO
* @return
* @Author sun
* @Description PC工作端-工作人员登录
**/
UserTokenResultDTO login(GovWebLoginFormDTO formDTO);
}

9
epmet-auth/src/main/java/com/epmet/service/ThirdLoginService.java

@ -1,5 +1,6 @@
package com.epmet.service;
import com.epmet.dto.form.GetResiWxPhoneFormDTO;
import com.epmet.dto.form.LoginFormDTO;
import com.epmet.dto.form.ThirdStaffOrgsFormDTO;
import com.epmet.dto.form.ThirdWxmpEnteOrgFormDTO;
@ -53,4 +54,12 @@ public interface ThirdLoginService {
* @description 单客户-手机号密码获取组织
**/
List<StaffOrgsResultDTO> getMyOrgByPassword(ThirdStaffOrgsFormDTO formDTO);
/**
* @param formDTO
* @return
* @author sun
* @description 单客户-获取微信用户手机号
**/
String getResiWxPhone(GetResiWxPhoneFormDTO formDTO);
}

124
epmet-auth/src/main/java/com/epmet/service/impl/GovWebServiceImpl.java

@ -0,0 +1,124 @@
package com.epmet.service.impl;
import com.epmet.common.token.constant.LoginConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.password.PasswordUtils;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.GovWebLoginFormDTO;
import com.epmet.dto.form.GovWebOperLoginFormDTO;
import com.epmet.dto.form.LoginByPassWordFormDTO;
import com.epmet.dto.form.PasswordLoginUserInfoFormDTO;
import com.epmet.dto.result.GovWebOperLoginResultDTO;
import com.epmet.dto.result.PasswordLoginUserInfoResultDTO;
import com.epmet.dto.result.UserTokenResultDTO;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.jwt.JwtTokenProperties;
import com.epmet.jwt.JwtTokenUtils;
import com.epmet.service.CaptchaService;
import com.epmet.service.GovWebService;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
* @author sun
* @Description 第三方-居民端政府端登陆服务
*/
@Slf4j
@Service
public class GovWebServiceImpl implements GovWebService {
private static final Logger logger = LoggerFactory.getLogger(GovWebServiceImpl.class);
@Autowired
private CaptchaService captchaService;
@Autowired
private JwtTokenUtils jwtTokenUtils;
@Autowired
private JwtTokenProperties jwtTokenProperties;
@Autowired
private CpUserDetailRedis cpUserDetailRedis;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
/**
* @param formDTO
* @return
* @Author sun
* @Description PC工作端-工作人员登录
**/
@Override
public UserTokenResultDTO login(GovWebLoginFormDTO formDTO) {
//1.参数校验
if (!(LoginConstant.APP_GOV.equals(formDTO.getApp()) && LoginConstant.CLIENT_WEB.equals(formDTO.getClient()))) {
logger.error("当前接口只适用于PC工作端运营管理后台");
throw new RenException("当前接口只适用于PC工作端运营管理后台");
}
//2.验证码校验
boolean flag = captchaService.validate(formDTO.getUuid(), formDTO.getCaptcha());
if (!flag) {
logger.error(String.format("用户%s登录,验证码输入错误,暂时放行", formDTO.getPhone()));
//暂时关闭验证码校验 TODO
//throw new RenException(EpmetErrorCode.ERR10019.getCode());
}
//3.校验登陆账号是否存在
//根据客户Id和手机号查询登陆用户信息(此处不需要判断登陆人是否是有效客户以及是否是客户的根管理员,前一接口获取登陆手机号对应客户列表已经判断了)
GovWebOperLoginFormDTO form = new GovWebOperLoginFormDTO();
form.setCustomerId(formDTO.getCustomerId());
form.setMobile(formDTO.getPhone());
Result<GovWebOperLoginResultDTO> result = epmetUserFeignClient.getStaffIdAndPwd(form);
if (!result.success() || null == result.getData() || null == result.getData().getUserId()) {
logger.error("根据手机号查询PC工作端登陆人员信息失败,返回10003账号不存在");
throw new RenException(EpmetErrorCode.ERR10003.getCode());
}
GovWebOperLoginResultDTO resultDTO = result.getData();
//4.密码是否正确
//密码错误
if (!PasswordUtils.matches(formDTO.getPassword(), resultDTO.getPassWord())) {
logger.error("登陆密码错误");
throw new RenException(EpmetErrorCode.ERR10004.getCode());
}
//5.生成token存到redis并返回
UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO();
userTokenResultDTO.setToken(this.packagingUserToken(formDTO, resultDTO.getUserId()));
return userTokenResultDTO;
}
/**
* 生成PC工作端token
* @author sun
*/
private String packagingUserToken(GovWebLoginFormDTO formDTO, String userId) {
// 生成token
Map<String, Object> map = new HashMap<>();
map.put("app", formDTO.getApp());
map.put("client", formDTO.getClient());
map.put("userId", userId);
String token = jwtTokenUtils.createToken(map);
logger.info("app:" + formDTO.getApp() + ";client:" + formDTO.getClient() + ";userId:" + userId + ";生成token[" + token + "]");
int expire = jwtTokenProperties.getExpire();
TokenDto tokenDto = new TokenDto();
tokenDto.setApp(formDTO.getApp());
tokenDto.setClient(formDTO.getClient());
tokenDto.setUserId(userId);
tokenDto.setToken(token);
tokenDto.setUpdateTime(System.currentTimeMillis());
tokenDto.setExpireTime(jwtTokenUtils.getExpiration(token).getTime());
cpUserDetailRedis.set(tokenDto, expire);
logger.info("截止时间:" + DateUtils.format(jwtTokenUtils.getExpiration(token), "yyyy-MM-dd HH:mm:ss"));
return token;
}
}

38
epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java

@ -1,6 +1,8 @@
package com.epmet.service.impl;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.util.crypt.WxMaCryptUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.epmet.common.token.constant.LoginConstant;
@ -549,4 +551,40 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
return userWechatDTO;
}
/**
* @param formDTO
* @return
* @author sun
* @description 单客户-获取微信用户手机号
* 此接口只适配第三方客户对于党群e事通客户还是走原接口
**/
@Override
public String getResiWxPhone(GetResiWxPhoneFormDTO formDTO) {
String phone = "";
try {
//1.根据wxcode获取sessionKey
WxLoginFormDTO resiLoginFormDTO = new WxLoginFormDTO();
resiLoginFormDTO.setAppId(formDTO.getAppId());
resiLoginFormDTO.setWxCode(formDTO.getWxCode());
//此方法会校验appId是否授权,然后在判断客户是否存在,之后才是获取sessionKey,如果只想获取sessionKey需要写新接口
UserWechatDTO userWechatDTO = this.getUserWeChat(resiLoginFormDTO);
if (null == userWechatDTO || null == userWechatDTO.getSessionKey()) {
logger.error(String.format("调用生成third服务wxcode获取sessionKey失败,对应appId->" + formDTO.getAppId()));
throw new RenException("获取本机号码失败");
}
//2.使用sessionKey解密获取手机号
WxMaPhoneNumberInfo phoneNoInfo = WxMaPhoneNumberInfo.fromJson(WxMaCryptUtils.decrypt(userWechatDTO.getSessionKey(),
formDTO.getEncryptedData(),
formDTO.getIv()));
if (null != phoneNoInfo) {
phone = phoneNoInfo.getPurePhoneNumber();
}
} catch (Exception e) {
e.printStackTrace();
log.error(String.format("获取用户微信绑定的手机号接口异常%s", e.getMessage()));
}
return phone;
}
}

6
epmet-commons/epmet-commons-dynamic-datasource/pom.xml

@ -19,6 +19,12 @@
<version>2.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>

48
epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/aspect/DataSourceAspect.java

@ -9,8 +9,8 @@
package com.epmet.commons.dynamic.datasource.aspect;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.dynamic.datasource.bean.DataSourceParam;
import com.epmet.commons.dynamic.datasource.config.DynamicContextHolder;
import com.epmet.commons.dynamic.datasource.util.HttpRequestDataSourceNameFetcher;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
@ -19,12 +19,12 @@ import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
/**
* 多数据源切面处理类
@ -38,6 +38,9 @@ import java.lang.reflect.Parameter;
public class DataSourceAspect {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private HttpRequestDataSourceNameFetcher httpRequestDataSourceNameFetcher;
@Pointcut("@annotation(com.epmet.commons.dynamic.datasource.annotation.DataSource) " +
"|| @within(com.epmet.commons.dynamic.datasource.annotation.DataSource)")
public void dataSourcePointCut() {
@ -55,12 +58,14 @@ public class DataSourceAspect {
if(targetDataSource != null || methodDataSource != null){
String value;
if(methodDataSource != null){
value = getDatasourceName(methodDataSource, signature.getMethod().getParameters(), point.getArgs());
value = getDatasourceName(methodDataSource);
}else {
value = getDatasourceName(targetDataSource, signature.getMethod().getParameters(), point.getArgs());
value = getDatasourceName(targetDataSource);
}
DynamicContextHolder.push(value);
if (StringUtils.isNotBlank(value)) {
DynamicContextHolder.push(value);
}
logger.debug("set datasource is {}", value);
}
@ -77,33 +82,16 @@ public class DataSourceAspect {
* @param dataSource
* @return
*/
public String getDatasourceName(DataSource dataSource, Parameter[] methodParameters, Object[] methodArgValues) {
public String getDatasourceName(DataSource dataSource) {
String dataSourceName = null;
if (dataSource.datasourceNameFromArg()) {
// 1.从参数中动态获取数据源名称
String datasourceNameFromParam = getDatasourceNameFromArg(methodParameters, methodArgValues);
if (StringUtils.isNotBlank(datasourceNameFromParam)) {
// 如果有DatasourceParam类型的参数并且设置了datasourceName值,那么返回这个值,否则使用硬编码的
return datasourceNameFromParam;
}
// 1.优先从http header中动态获取数据源名称
dataSourceName = httpRequestDataSourceNameFetcher.fetchDataSourceName();
}
// 2.硬编码指定数据源名称
return dataSource.value();
}
/**
* 从参数中取数据源名称
* @param parameters
* @param argsObject
* @return
*/
public String getDatasourceNameFromArg(Parameter[] parameters, Object[] argsObject) {
for (int i = 0; i < parameters.length; i++) {
if (parameters[i].getType() == DataSourceParam.class) {
DataSourceParam param = (DataSourceParam) argsObject[i];
return param.getDatasourceName();
}
// 2.硬编码指定默认的数据源名称
if (StringUtils.isBlank(dataSourceName)) {
dataSourceName = dataSource.value();
}
return null;
return dataSourceName;
}
}

8
epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/config/DynamicDataSource.java

@ -8,6 +8,8 @@
package com.epmet.commons.dynamic.datasource.config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
/**
@ -18,9 +20,13 @@ import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
*/
public class DynamicDataSource extends AbstractRoutingDataSource {
private Logger logger = LoggerFactory.getLogger(getClass());
@Override
protected Object determineCurrentLookupKey() {
return DynamicContextHolder.peek();
String datasourceName = DynamicContextHolder.peek();
logger.info("使用的数据源名称为:{}", datasourceName);
return datasourceName;
}
}

48
epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/enums/DataSourceEnum.java

@ -0,0 +1,48 @@
package com.epmet.commons.dynamic.datasource.enums;
/**
* 服务-数据源flag-数据源名称对应关系
*/
public enum DataSourceEnum {
DATA_STATISTICAL_REAL("data-statistical-server", "real", "stats"),
DATA_STATISTICAL_FAKE("data-statistical-server", "fake", "statsDisplay"),
DATA_REPORT_REAL("data-report-server", "real", "stats"),
DATA_REPORT_FAKE("data-report-server", "fake", "statsDisplay"),
;
// 服务名
private String serviceName;
// 数据源标记
private String flag;
// 数据源,跟yml中的数据源名称保持一致
private String dataSourceName;
DataSourceEnum(String serviceName, String flag, String dataSourceName) {
this.serviceName = serviceName;
this.flag = flag;
this.dataSourceName = dataSourceName;
}
public static DataSourceEnum getEnum(String serviceName, String flag) {
DataSourceEnum[] values = DataSourceEnum.values();
for (DataSourceEnum value : values) {
if (value.serviceName.equals(serviceName) && value.flag.equals(flag)) {
return value;
}
}
return null;
}
public String getServiceName() {
return serviceName;
}
public String getFlag() {
return flag;
}
public String getDataSourceName() {
return dataSourceName;
}
}

13
epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/util/AbstractDataSourceNameFetcher.java

@ -0,0 +1,13 @@
package com.epmet.commons.dynamic.datasource.util;
import com.epmet.commons.dynamic.datasource.enums.DataSourceEnum;
public abstract class AbstractDataSourceNameFetcher {
public abstract String fetchDataSourceName();
//protected String getDataSourceName(String dataType, String serviceName) {
// return DataSourceEnum.getEnum(serviceName, dataType)
//}
}

44
epmet-commons/epmet-commons-dynamic-datasource/src/main/java/com/epmet/commons/dynamic/datasource/util/HttpRequestDataSourceNameFetcher.java

@ -0,0 +1,44 @@
package com.epmet.commons.dynamic.datasource.util;
import com.epmet.commons.dynamic.datasource.enums.DataSourceEnum;
import com.epmet.commons.tools.exception.RenException;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* Http请求中获取数据源名称
*/
@Component
public class HttpRequestDataSourceNameFetcher extends AbstractDataSourceNameFetcher {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private Environment environment;
@Override
public String fetchDataSourceName() {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
javax.servlet.http.HttpServletRequest request = requestAttributes.getRequest();
String dataType = request.getHeader("Data-Type");
logger.info("HttpRequestDataSourceNameFetcher获取到的DataType为:{}", dataType);
if (StringUtils.isBlank(dataType)) {
return null;
}
String serviceName = environment.getProperty("spring.application.name");
DataSourceEnum dataSourceEnum = DataSourceEnum.getEnum(serviceName, dataType);
if (dataSourceEnum == null) {
throw new RenException(String.format("根据前端传入的DataType[%s]无法找到对应的数据源。", dataType));
}
logger.info("HttpRequestDataSourceNameFetcher根据DataType:[{}]获取到的DataSourceEnum为{}", dataType, dataSourceEnum.getDataSourceName());
return dataSourceEnum.getDataSourceName();
}
}

13
epmet-commons/epmet-commons-extapp-auth/src/main/java/com/epmet/commons/extappauth/aspect/ExternalAppRequestAuthAspect.java

@ -37,6 +37,9 @@ public class ExternalAppRequestAuthAspect {
public static final String ACCESS_TOKEN_HEADER_KEY = "AccessToken";
public static final String APP_ID_HEADER_KEY = "appId";
public static final String APP_ID_TIMESTAMP_KEY = "ts";
public static final String APP_ID_CUSTOMER_ID_KEY = "CustomerId";
public static final String APP_ID_AUTY_TYPE_KEY = "AuthType";
@Autowired
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
@ -52,6 +55,9 @@ public class ExternalAppRequestAuthAspect {
HttpServletRequest request = getRequest();
String token = request.getHeader(ACCESS_TOKEN_HEADER_KEY);
String appId = request.getHeader(APP_ID_HEADER_KEY);
String ts = request.getHeader(APP_ID_TIMESTAMP_KEY);
String customerId = request.getHeader(APP_ID_CUSTOMER_ID_KEY);
String authType = request.getHeader(APP_ID_AUTY_TYPE_KEY);
if (StringUtils.isAnyBlank(token, appId)) {
throw new RenException("请求头中的token和appId不能为空");
@ -62,6 +68,11 @@ public class ExternalAppRequestAuthAspect {
ExternalAppAuthFormDTO form = new ExternalAppAuthFormDTO();
form.setAppId(appId);
form.setToken(token);
form.setAuthType(authType);
if (StringUtils.isNotBlank(ts)) {
// 将字符串转化为时间
form.setTs(new Long(ts));
}
Result<ExternalAppAuthResultDTO> result = commonServiceOpenFeignClient.externalAppAuth(form);
if (result == null) {
throw new RenException("调用服务进行外部应用认证,返回null");
@ -84,7 +95,7 @@ public class ExternalAppRequestAuthAspect {
if (parameters[i].getType() == ExternalAppRequestParam.class) {
ExternalAppRequestParam requestParam = (ExternalAppRequestParam) point.getArgs()[i];
requestParam.setAppId(appId);
requestParam.setCustomerId(authResult.getCustomerId());
requestParam.setCustomerId(authResult.getCustomerId() == null ? customerId : authResult.getCustomerId());
}
}
}

4
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java

@ -35,6 +35,10 @@ public interface NumConstant {
int ONE_HUNDRED = 100;
int ONE_THOUSAND = 1000;
int MAX = 99999999;
int EIGHTY_EIGHT = 88;
double ZERO_DOT_ZERO = 0.0;
long ZERO_L = 0L;
long ONE_L = 1L;

3
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -77,6 +77,8 @@ public enum EpmetErrorCode {
CANNOT_DISABLE_YOURSELF(8405,"您不能禁用自己"),
NO_SET_GRID_COUNT(8406,"您还未设置创建网格数量上限,请联系管理员设置"),
GRID_COUNT_UP(8407,"您的创建网格数量已到达上限,请联系管理员设置"),
EXIT_PEND_PROJECT(8408,"该工作人员有项目尚在处理,处理完毕方可操作"),
EXIT_PUBLISHED_ACTIVITY(8409,"该工作人员有活动尚在进行,等活动完成方可操作"),
ALREADY_EVALUATE(8501,"您已评价"),
ALREADY_VOTE(8502,"您已表态"),
@ -104,6 +106,7 @@ public enum EpmetErrorCode {
OPER_EXTERNAL_APP_AUTH_ERROR(8709, "外部应用认证失败"),
OPER_EXTERNAL_CUSTOMER_NOT_EXISTS(8710, "该客户不存在"),
OPER_EXTERNAL_APP_EXISTS(8711, "应用已存在"),
OPER_EXT_APP_SECRET_RESET_FAIL(8712, "秘钥更新失败"),
// 党建声音 前端提示 88段
DRAFT_CONTENT_IS_NULL(8801, "至少需要添加一个段落"),

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpContextUtils.java

@ -61,8 +61,9 @@ public class HttpContextUtils {
}
//请求语言
defaultLanguage = request.getHeader(HttpHeaders.ACCEPT_LANGUAGE);
if(StringUtils.isNotBlank(request.getHeader(HttpHeaders.ACCEPT_LANGUAGE))){
defaultLanguage = request.getHeader(HttpHeaders.ACCEPT_LANGUAGE);
}
return defaultLanguage;
}
}

81
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/UniqueIdGenerator.java

@ -0,0 +1,81 @@
package com.epmet.commons.tools.utils;
import org.apache.commons.lang3.StringUtils;
import java.util.Date;
import java.util.Random;
import java.util.concurrent.atomic.AtomicLong;
/**
* 唯一ID生成器
*/
public class UniqueIdGenerator {
private static UniqueValue uniqueValue = new UniqueValue();
private static String middle;
static {
String threadCode = StringUtils.right(String.valueOf(Math.abs(System.nanoTime()+"".hashCode())), 2);
middle = StringUtils.leftPad(threadCode, 2, "0");
}
/**
* 唯一时间值
*/
private static class UniqueValue {
private AtomicLong uniqueValue = new AtomicLong(0L);
private volatile String currentTime = DateUtils.format(new Date(), DateUtils.DATE_TIME_NO_SPLIT);
private volatile String lastTime = currentTime;
/**
* 获取当前时间yyyyMMddHHmmSS
* 如果到了下一秒则唯一值从0开始
*
* @return
*/
public String getCurrentTime() {
currentTime = DateUtils.format(new Date(), DateUtils.DATE_TIME_NO_SPLIT);
if (!currentTime.equals(lastTime)) {
lastTime = currentTime;
Random random = new Random();
uniqueValue.set(Long.valueOf(random.nextInt(10)));
}
return currentTime;
}
public String getCurrentValue() {
return StringUtils.leftPad(String.valueOf(uniqueValue.incrementAndGet()), 5, "0");
}
}
/**
* 生成一个24位唯一ID
* 15位时间+2位中间值防止多服务冲突+2个线程code+5位秒级递增值
*
* @return
*/
public static String generate() {
StringBuilder builder = new StringBuilder(32);
builder.append(uniqueValue.getCurrentTime())
.append(middle)
.append(getUniqueThreadCode())
.append(uniqueValue.getCurrentValue());
return builder.toString();
}
public static String getUniqueThreadCode() {
String threadCode = StringUtils.left(String.valueOf(Thread.currentThread().hashCode()), 2);
return StringUtils.leftPad(threadCode, 2, "0");
}
public static void main(String[] args) throws InterruptedException {
System.out.println(UniqueIdGenerator.uniqueValue.currentTime);
System.out.println(UniqueIdGenerator.middle);
System.out.println(UniqueIdGenerator.getUniqueThreadCode());
System.out.println(uniqueValue.getCurrentValue());
}
}

4
epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java

@ -135,7 +135,9 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
.header(AppClientConstant.USER_ID,baseTokenDto.getUserId())
;
if (StringUtils.equals(baseTokenDto.getApp(), "gov")) {//工作端
exchange.getRequest().mutate().header(AppClientConstant.CUSTOMER_ID, customerId);
if(StringUtils.isNotBlank(customerId)){
exchange.getRequest().mutate().header(AppClientConstant.CUSTOMER_ID, customerId);
}
} else if (StringUtils.equals(baseTokenDto.getApp(), "public")) {//公众号端
exchange.getRequest().mutate().header(AppClientConstant.CUSTOMER_ID, customerId);
}

1
epmet-gateway/src/main/resources/bootstrap.yml

@ -441,6 +441,7 @@ epmet:
# url认证白名单,先判断白名单,在白名单中的url直接放行,不再判断上述需要认证的名单
urlWhiteList:
- /data/report/test/test
- /epmetuser/customerstaff/customerlist
swaggerUrls:

11
epmet-module/data-report/data-report-client/src/main/java/com/epmet/constant/DataSourceConstant.java

@ -0,0 +1,11 @@
package com.epmet.constant;
public interface DataSourceConstant {
/**
* 统计数据库
*/
String STATS = "stats";
String STATS_DISPLAY = "statsDisplay";
}

15
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/constant/ScreenConstant.java

@ -0,0 +1,15 @@
package com.epmet.screen.constant;
/**
* @Author zxc
* @DateTime 2020/8/18 5:02 下午
*/
public interface ScreenConstant {
String COMMUNITY = "community";
String MONTH = "月";
String RATIO = "%";
}

28
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/AgencyAndNumFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 通用的agencyId topNum入参
* @ClassName AgencyAndNumFormDTO
* @Auth wangc
* @Date 2020-08-20 10:29
*/
@Data
public class AgencyAndNumFormDTO implements Serializable {
private static final long serialVersionUID = -8674763412362557239L;
/**
* 显示多少条 不在这里设置默认值 不同的接口使用的默认值不同 在逻辑中判断
* */
private Integer topNum;
/**
* 机关Id
* */
@NotBlank(message = "机关Id不能为空" , groups = AgencyFormDTO.CommonAgencyIdGroup.class)
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/AgencyFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 通用 agencyId 入参
ClassName AgencyFormDTO
* @Auth wangc
* @Date 2020-08-20 10:29
*/
@Data
public class AgencyFormDTO implements Serializable {
private static final long serialVersionUID = -2880432640584616651L;
public interface CommonAgencyIdGroup extends CustomerClientShowGroup{}
@NotBlank(message = "机关Id不能为空" , groups = CommonAgencyIdGroup.class)
private String agencyId;
}

35
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/AgencyNumTypeParamFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.screen.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 通用 agencyId topNum type(各种类型)传参dto
* @ClassName AgencyNumTypeParamFormDTO
* @Auth wangc
* @Date 2020-08-20 13:36
*/
@Data
public class AgencyNumTypeParamFormDTO implements Serializable {
private static final long serialVersionUID = -8049013016922130410L;
public interface AgencyNumTypeParamGroup extends CustomerClientShowGroup{}
/**
* agencyId
* */
@NotBlank(message = "机关Id不能为空", groups = AgencyNumTypeParamGroup.class)
private String agencyId;
private Integer topNum;
/**
* 各种类型
* */
@NotBlank(message = "类型不能为空", groups = AgencyNumTypeParamGroup.class)
private String type;
}

43
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/BranchBuildRankFormDTO.java

@ -0,0 +1,43 @@
package com.epmet.screen.dto.form;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 4支部建设情况|联建共建情况-排行 入参dto
* @NEI https://nei.netease.com/interface/detail/?pid=57068&id=321982
* @ClassName BranchBuildRankFormDTO
* @Auth wangc
* @Date 2020-08-19 15:06
*/
@Data
public class BranchBuildRankFormDTO implements Serializable {
private static final long serialVersionUID = -6580433475773171870L;
public interface BranchBuildRankGroup extends CustomerClientShowGroup{}
/**
* 机关Id
* */
@NotBlank(message = "机关Id不能为空",groups = BranchBuildRankGroup.class)
private String agencyId;
/**
* 支部建设情况zbjs; 联建共建情况ljgj;联建党员志愿服务情况:ljdyzy
* */
@NotBlank(message = "类型key不能为空" , groups = BranchBuildRankGroup.class)
private String category;
/**
* 默认显示前4显示全部传入0
* */
private Integer topNum = NumConstant.FOUR;
private String monthId;
private String bottomMonthId;
}

39
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/BranchBuildTrendFormDTO.java

@ -0,0 +1,39 @@
package com.epmet.screen.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 3支部建设情况|联建共建情况-折线图 入参DTO
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321981
* @ClassName BranchBuildTrendFormDTO
* @Auth wangc
* @Date 2020-08-19 10:01
*/
@Data
public class BranchBuildTrendFormDTO implements Serializable {
private static final long serialVersionUID = 2998463730542699247L;
public interface branchBuildTrendGroup extends CustomerClientShowGroup{}
/**
* 机关Id
* */
@NotBlank(message = "agencyId不可为空" , groups = branchBuildTrendGroup.class)
private String agencyId;
/**
* 组织次数organize 参加人数joinuser; 平均参加人数averagejoinuser
* */
@NotBlank(message = "基层党建折线图类型不可为空" , groups = branchBuildTrendGroup.class)
private String type;
/**
* 支部建设情况zbjs; 联建共建情况ljgj
* */
@NotBlank(message = "基层党建情况不可为空" , groups = branchBuildTrendGroup.class)
private String category;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/BranchFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 10:49 上午
*/
@Data
public class BranchFormDTO implements Serializable {
private static final long serialVersionUID = -8256381995441422191L;
public interface Branch{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {Branch.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/CompartmentFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 2:14 下午
*/
@Data
public class CompartmentFormDTO implements Serializable {
private static final long serialVersionUID = -3354777434424878413L;
public interface Compartment{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {Compartment.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/ContactMassLineChartFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 2:28 下午
*/
@Data
public class ContactMassLineChartFormDTO implements Serializable {
private static final long serialVersionUID = 5627978767044772204L;
public interface ContactMassLineChart{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {ContactMassLineChart.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/FineExampleFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 1:46 下午
*/
@Data
public class FineExampleFormDTO implements Serializable {
private static final long serialVersionUID = -5402747414542735700L;
public interface FineExample{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {FineExample.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/MonthBarchartFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 5:20 下午
*/
@Data
public class MonthBarchartFormDTO implements Serializable {
private static final long serialVersionUID = 4852721296827851714L;
public interface MonthBarchart{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {MonthBarchart.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/MonthPieChartFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 3:10 下午
*/
@Data
public class MonthPieChartFormDTO implements Serializable {
private static final long serialVersionUID = -3163410637094615814L;
public interface MonthPieChart{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {MonthPieChart.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/ParymemberFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 10:49 上午
*/
@Data
public class ParymemberFormDTO implements Serializable {
private static final long serialVersionUID = -5589396567320406525L;
public interface Parymember{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {Parymember.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/ProjectDetailFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 4:34 下午
*/
@Data
public class ProjectDetailFormDTO implements Serializable {
private static final long serialVersionUID = 6588246858516674808L;
public interface ProjectDetail{}
/**
* 项目ID
*/
@NotBlank(message = "项目ID不能为空",groups = {ProjectDetail.class})
private String projectId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/ProjectFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 1:25 下午
*/
@Data
public class ProjectFormDTO implements Serializable {
private static final long serialVersionUID = 7114390205886348751L;
public interface Project{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {Project.class})
private String agencyId;
}

33
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/SubAgencyIndexRankFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 9:54 上午
*/
@Data
public class SubAgencyIndexRankFormDTO implements Serializable {
private static final long serialVersionUID = -2920561669035794486L;
public interface SubAgencyIndexRank{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {SubAgencyIndexRank.class})
private String agencyId;
/**
* 默认查询前几名
*/
@NotNull(message = "默认查询名次不能为空",groups = {SubAgencyIndexRank.class})
private Integer topNum;
private String yearId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/TopProfileFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 1:43 下午
*/
@Data
public class TopProfileFormDTO implements Serializable {
private static final long serialVersionUID = -287352242311433250L;
public interface TopProfile{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {TopProfile.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/UserFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 10:49 上午
*/
@Data
public class UserFormDTO implements Serializable {
private static final long serialVersionUID = 4863908542899315106L;
public interface User{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {User.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/VolunteerServiceFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 3:12 下午
*/
@Data
public class VolunteerServiceFormDTO implements Serializable {
private static final long serialVersionUID = 7916606646764729831L;
public interface VolunteerService{}
/**
* 机关ID
*/
@NotBlank(message = "机关ID不能为空",groups = {VolunteerService.class})
private String agencyId;
}

24
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/form/YearAverageIndexFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.screen.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 2:40 下午
*/
@Data
public class YearAverageIndexFormDTO implements Serializable {
private static final long serialVersionUID = -2389432085360116229L;
public interface YearAverageIndex{}
/**
* 机关Id
*/
@NotBlank(message = "机关ID不能为空",groups = {YearAverageIndex.class})
private String agencyId;
}

53
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/AdvanceBranchRankResultDTO.java

@ -0,0 +1,53 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 4先进排行榜单-先进支部排行 返参dto
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321539
* @ClassName AdvanceBranchRankResultDTO
* @Auth wangc
* @Date 2020-08-21 10:47
*/
@Data
public class AdvanceBranchRankResultDTO implements Serializable {
private static final long serialVersionUID = 330099297596334388L;
/**
* 名称 XXXX社区党委
* */
private String name;
/**
* 满意度 90.64% 返回字符串前端直接显示
* */
private String satisfactionRatio;
/**
* 结案率 94.3% 返回字符串前端直接显示
* */
private String closedProjectRatio;
/**
* 党员数
* */
private Integer partyMemberNum;
/**
* 支部建设 GROUP_TOTAL
* */
private Integer branchNum;
/**
* 议题数
* */
private Integer issueNum;
/**
* 项目数
* */
private Integer projectNum;
}

40
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/AgencyDistributionResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 2:20 下午
*/
@Data
public class AgencyDistributionResultDTO implements Serializable {
private static final long serialVersionUID = -8404806508669824731L;
/**
* 可能是gridId,可能是agencyId
*/
private String subId;
/**
* 名称
*/
private String subName;
/**
* 坐标区域
*/
private String subAreaMarks;
/**
* 中心点位
*/
private String subCenterMark;
/**
* 组织agency; 网格grid ; 部门dept
*/
private String type;
}

23
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchBuildOrderByCountResultDTO.java

@ -0,0 +1,23 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 查询机关组织次数参加人数的排序返参
* @ClassName BranchBuildOrderByCountResultDTO
* @Auth wangc
* @Date 2020-08-20 09:20
*/
@Data
public class BranchBuildOrderByCountResultDTO implements Serializable {
private static final long serialVersionUID = -8268706123005848128L;
private String orgName;
private Integer organizeData;
private Integer joinData;
}

32
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchBuildRankResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 4支部建设情况|联建共建情况-排行 返参dto
* @NEI https://nei.netease.com/interface/detail/?pid=57068&id=321982
* @Auth wangc
* @Date 2020-08-19 15:09
*/
@Data
public class BranchBuildRankResultDTO implements Serializable {
private static final long serialVersionUID = 6213072175254509349L;
/**
* 组织次数
* */
private List<Integer> organizeData;
/**
* 组织名称数组
* */
private List<String> xAxis;
/**
* 参与人数
* */
private List<Integer> joinData;
}

31
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchBuildTrendResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 3支部建设情况|联建共建情况-折线图 返参DTO
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321981
* @ClassName BranchBuildTrendResultDTO
* @Auth wangc
* @Date 2020-08-19 10:06
*/
@Data
public class BranchBuildTrendResultDTO implements Serializable {
private static final long serialVersionUID = 2453727230656371207L;
/**
* 分类数组 ["三会党课","主体党日","三述专题","志愿服务","党内关怀"]
* */
private List<String> legend;
/**
* 横坐标近12个月的结合 ["8月","9月"]
* */
private List<String> xAxis;
private List<BranchTrendSeriesDataResultDTO> seriesData;
}

22
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchIssueDataResultDTO.java

@ -0,0 +1,22 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @ClassName BranchIssueDataResultDTO
* @Auth wangc
* @Date 2020-08-19 10:50
*/
@Data
public class BranchIssueDataResultDTO implements Serializable {
private static final long serialVersionUID = 2417543749267496482L;
private String issue;
private String monthId;
private Integer data;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 10:52 上午
*/
@Data
public class BranchResultDTO implements Serializable {
private static final long serialVersionUID = -8001714892170166320L;
/**
* 网格ID
*/
private String gridId = "";
/**
* 网格名称
*/
private String gridName = "";
/**
* 党支部(网格)位置
*/
private String partyMark = "";
}

27
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/BranchTrendSeriesDataResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 3支部建设情况|联建共建情况-折线图 返参中的系列数组
* @ClassName BranchTrendSeriesDataResultDTO
* @Auth wangc
* @Date 2020-08-19 10:22
*/
@Data
public class BranchTrendSeriesDataResultDTO implements Serializable {
private static final long serialVersionUID = -2288264050517402039L;
/**
* 和legend集合值一致
* */
private String name;
/**
* 对应每个月的数值
* */
private List<Integer> data;
}

49
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/CompartmentResultDTO.java

@ -0,0 +1,49 @@
package com.epmet.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/18 14:18
*/
@Data
public class CompartmentResultDTO implements Serializable {
private static final long serialVersionUID = 7963177476365327829L;
/**
* 当前所选组织
*/
private String agencyId = "";
/**
* 当前所选组织名称
*/
private String name = "";
/**
* 当前所选组织的坐标区域
*/
private String areaMarks = "";
/**
* 机关级别
* 社区级community
* 街道:street,
* 区县级: district,
* 市级: city
* 省级:province
*/
@JsonIgnore
private String level;
/**
* 子级用户分布
*/
private List<AgencyDistributionResultDTO> agencyDistribution = new ArrayList<>();
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ContactMassLineChartResult.java

@ -0,0 +1,30 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 2:45 下午
*/
@Data
public class ContactMassLineChartResult implements Serializable {
private static final long serialVersionUID = 5668549816473850787L;
/**
* 组织名称
*/
private String orgName;
/**
* 党员建群数
*/
private Integer groupTotal;
/**
* 群成员数
*/
private Integer userTotal;
}

31
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ContactMassLineChartResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/20 2:31 下午
*/
@Data
public class ContactMassLineChartResultDTO implements Serializable {
private static final long serialVersionUID = 192666933158635787L;
/**
* 横坐标集合
*/
private List<String> xAxis;
/**
* 党员建群数
*/
private List<Integer> groupData;
/**
* 群成员数
*/
private List<Integer> groupMemberData;
}

44
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/DifficultProjectResultDTO.java

@ -0,0 +1,44 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 2难点赌点-耗时最长|涉及部门最多|处理次数 返参DTO
* @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614
* @ClassName DifficultProjectResultDTO
* @Auth wangc
* @Date 2020-08-20 13:43
*/
@Data
public class DifficultProjectResultDTO implements Serializable {
private static final long serialVersionUID = -7338625142484943434L;
private String projectId;
private String title;
/**
* 状态: 待处理: pending; 结案closed
* */
private String status;
private Integer totalHours;
/**
* yyyy-MM-dd HH:mm
* */
private String createDateTime;
private String gridName;
private String imgUrl;
private String categoryName;
private Integer handleDepts;
private Integer handleCount;
}

81
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/FineExampleResultDTO.java

@ -0,0 +1,81 @@
package com.epmet.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 1:48 下午
*/
@Data
public class FineExampleResultDTO implements Serializable {
private static final long serialVersionUID = -2754696449087950719L;
/**
* 党员参与议事
*/
private Integer issueTotal = 0;
@JsonIgnore
private Double issueRatioA;
/**
* 党员参与议事占比
*/
private String issueRatio = "0.00%";
/**
* 党员发布话题总数
*/
private Integer topicTotal = 0;
@JsonIgnore
private Double topicRatioA;
/**
* 党员发布话题占比
*/
private String topicRatio = "0.00%";
/**
* 议题转项目
*/
private Integer shiftProjectTotal = 0;
@JsonIgnore
private Double shiftProjectRatioA;
/**
* 议题转项目占比
*/
private String shiftProjectRatio = "0.00%";
/**
* 解决项目
*/
private Integer resolvedProjectTotal = 0;
@JsonIgnore
private Double resolvedProjectRatioA;
/**
* 解决项目占比
*/
private String resolvedProjectRatio = "0.00%";
/**
* 党员发布议题数
*/
private Integer publishIssueTotal = 0;
@JsonIgnore
private Double publishIssueRatioA;
/**
* 党员发布议题数占比
*/
private String publishIssueRatio = "0.00%";
}

42
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/GovernCapacityRankResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 治理能力榜单返参dto
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321627
* @ClassName GovernCapacityRankResultDTO
* @Auth wangc
* @Date 2020-08-20 17:30
*/
@Data
public class GovernCapacityRankResultDTO implements Serializable {
private static final long serialVersionUID = -3891870459284304022L;
/**
* 名称
* */
private String agencyName;
/**
* 响应率
* */
private String responseRatio;
/**
* 解决率
* */
private String resolvedRatio;
/**
* 自治率
* */
private String governRatio;
/**
* 满意率
* */
private String satisfactionRatio;
}

42
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/GovernCapacityResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 治理能力查询结果dto
* @ClassName GovernCapacityResultDTO
* @Auth wangc
* @Date 2020-08-20 17:24
*/
@Data
public class GovernCapacityResultDTO implements Serializable {
private static final long serialVersionUID = -2834039644611050304L;
/**
* 名称
* */
private String agencyName;
/**
* 响应率
* */
private BigDecimal responseRatio;
/**
* 解决率
* */
private BigDecimal resolvedRatio;
/**
* 自治率
* */
private BigDecimal governRatio;
/**
* 满意率
* */
private BigDecimal satisfactionRatio;
}

25
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/MonthBarchartResult.java

@ -0,0 +1,25 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 9:12 上午
*/
@Data
public class MonthBarchartResult implements Serializable {
private static final long serialVersionUID = 3777652772902180088L;
private String monthId;
private Double serviceAbility;
private Double partyDevAbility;
private Double governAbility;
private Double indexTotal;
}

42
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/MonthBarchartResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/19 5:23 下午
*/
@Data
public class MonthBarchartResultDTO implements Serializable {
private static final long serialVersionUID = 561457498288576566L;
/**
* 服务能力
*/
private List<Double> serviceAbilityData;
/**
* 党建能力
*/
private List<Double> partyDevAbilityData;
/**
* 治理能力
*/
private List<Double> governAbilityData;
/**
* 横坐标月份集合
*/
private List<String> xAxis;
/**
* 总指数集合
*/
private List<Double> totalIndexData;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/MonthPieChartResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 3:12 下午
*/
@Data
public class MonthPieChartResultDTO implements Serializable {
private static final long serialVersionUID = 8399158251970739021L;
/**
* 服务能力
*/
private Double serviceAbility = 0.0;
/**
* 党建能力
*/
private Double partyDevAbility = 0.0;
/**
* 治理能力
*/
private Double governAbility = 0.0;
}

54
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/OrgRankDataResultDTO.java

@ -0,0 +1,54 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 党建引领-组织先进排行榜 查询结果dto
* @ClassName OrgRankDataResultDTO
* @Auth wangc
* @Date 2020-08-21 11:16
*/
@Data
public class OrgRankDataResultDTO implements Serializable {
private static final long serialVersionUID = -2980098512184391207L;
/**
* 名称 XXXX社区党委
* */
private String name;
/**
* 满意度 90.64% 返回字符串前端直接显示
* */
private BigDecimal satisfactionRatio;
/**
* 结案率 94.3% 返回字符串前端直接显示
* */
private BigDecimal closedProjectRatio;
/**
* 党员数
* */
private Integer partyMemberNum;
/**
* 支部建设 GROUP_TOTAL
* */
private Integer branchNum;
/**
* 议题数
* */
private Integer issueNum;
/**
* 项目数
* */
private Integer projectNum;
}

31
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartyUserPointResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 党员积分查询结果 dto 作为接口5先进排行榜单-先进党员排行的返参对象 NEI地址 https://nei.netease.com/interface/detail/res/?pid=57068&id=321624
* @ClassName PartyUserPointResultDTO
* @Auth wangc
* @Date 2020-08-21 14:18
*/
@Data
public class PartyUserPointResultDTO implements Serializable {
private static final long serialVersionUID = -288523161283142460L;
/**
* 用户Id
* */
private String userId;
/**
* 用户姓名
* */
private String name;
/**
* 用户积分
* */
private Integer point;
}

44
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartymemberAgeDistributionResultDTO.java

@ -0,0 +1,44 @@
package com.epmet.screen.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @ClassName PartymemberAgeDistributionResultDTO
* @Auth wangc
* @Date 2020-08-18 17:04
*/
@Data
public class PartymemberAgeDistributionResultDTO implements Serializable {
private static final long serialVersionUID = -3477512511475784330L;
/**
* 30岁以下 的党员
* */
private Integer under30Count = NumConstant.ZERO;
/**
* 31-50岁 的党员
* */
private Integer between31And50Count = NumConstant.ZERO;
/**
* 51-60岁 的党员
* */
private Integer between51And60Count = NumConstant.ZERO;
/**
* 61岁以上 的党员
* */
private Integer above61Count = NumConstant.ZERO;
/**
* 党员总数
* */
private Integer partyTotal = NumConstant.ZERO;
}

37
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartymemberAgePercentResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description
* @ClassName PartymemberAgePercentResultDTO
* @Auth wangc
* @Date 2020-08-19 09:13
*/
@Data
public class PartymemberAgePercentResultDTO implements Serializable {
private static final long serialVersionUID = 2228109850328978771L;
/**
* 30岁以下 的党员占 注册党员总数的百分比 返回数字小数点后保留两位
* */
private BigDecimal under30Ratio;
/**
* 31-50岁 的党员占 注册党员总数的百分比返回数字小数点后保留两位
* */
private BigDecimal between31And50Ratio;
/**
* 51-60岁 的党员占 注册党员总数的百分比返回数字小数点后保留两位
* */
private BigDecimal between51And60Ratio;
/**
* 61岁以上 的党员占 注册党员总数的百分比返回数字小数点后保留两位
* */
private BigDecimal above61;
}

34
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PartymemberPercentResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.screen.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 1党员基本情况-饼状图概况
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321324
* @ClassName PartymemberPercentResultDTO
* @Auth wangc
* @Date 2020-08-18 14:54
*/
@Data
public class PartymemberPercentResultDTO implements Serializable {
private static final long serialVersionUID = -2864099044581782674L;
/**
* 注册党员总数
* */
private Integer partyMemberTotal = NumConstant.ZERO;
/**
* 注册党员占比
* */
private String percentInPlatForm;
/**
* 注册用户总数
* */
private Integer platFormTotal = NumConstant.ZERO;
}

46
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ParymemberDistributionResultDTO.java

@ -0,0 +1,46 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 11:06 上午
*/
@Data
public class ParymemberDistributionResultDTO implements Serializable {
private static final long serialVersionUID = 9180892033529262049L;
/**
* 可能是gridId,可能是agencyId
*/
private String subId = "";
/**
* 中心点位
*/
private String centerMark = "";
/**
* 党员总人数
*/
private Integer totalNum = 0;
/**
* 坐标区域
*/
private String areaMarks = "";
/**
* 可以是网格的名称可以是组织的名称
*/
private String subName= "";
/**
* 组织agency, 网格 grid
*/
private String type = "";
}

49
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ParymemberResultDTO.java

@ -0,0 +1,49 @@
package com.epmet.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/18 11:03 上午
*/
@Data
public class ParymemberResultDTO implements Serializable {
private static final long serialVersionUID = -7230556020628357047L;
/**
* 当前所选组织
*/
private String agencyId = "";
/**
* 当前所选组织名称
*/
private String name = "";
/**
* 当前所选组织的坐标区域
*/
private String areaMarks = "";
/**
* 机关级别
* 社区级community
* 街道:street,
* 区县级: district,
* 市级: city
* 省级:province
*/
@JsonIgnore
private String level;
/**
* 子级用户分布
*/
private List<ParymemberDistributionResultDTO> userDistribution = new ArrayList<>();
}

47
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ProjectDetailResultDTO.java

@ -0,0 +1,47 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/19 4:37 下午
*/
@Data
public class ProjectDetailResultDTO implements Serializable {
private static final long serialVersionUID = 2884179183725459493L;
/**
* 项目内容
*/
private String projectContent = "";
/**
* 当前状态
*/
private String status = "";
/**
* 最后一次处理的部门
*/
private String latestHandleDept = "";
/**
* 最后一次处理的时间yyyy-MM-dd HH:mm
*/
private String latestHandleTime = "";
/**
* 操作描述
*/
private String operDesc = "";
/**
* 图片列表
*/
private List<String> imgList = new ArrayList<>();
}

45
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/ProjectResultDTO.java

@ -0,0 +1,45 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 1:27 下午
*/
@Data
public class ProjectResultDTO implements Serializable {
private static final long serialVersionUID = 7130615407473171093L;
/**
* 项目标题
*/
private String projectTitle = "";
/**
* red, green,yellow
*/
private String color = "";
/**
* 项目id
*/
private String projectId = "";
/**
* 网格名称
*/
private String orgName = "";
/**
* 经度
*/
private Double longitude = 0.0;
/**
* 纬度
*/
private Double latitude = 0.0;
}

38
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiChartResultDTO.java

@ -0,0 +1,38 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @ClassName PublicPartiChartResultDTO
* @Auth wangc
* @Date 2020-08-21 09:16
*/
@Data
public class PublicPartiChartResultDTO implements Serializable {
private static final long serialVersionUID = 8366701017042226713L;
/**
* 横坐标近一年不包含当前月
* */
private List<String> xAxis;
/**
* 组织次数
* */
private List<Integer> organizeNumList;
/**
* 参与人数
* */
private List<Integer> joinUserNumList;
/**
* 平均参与人次
* */
private List<Integer> averageJoinNumList;
}

48
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiProfileResultDTO.java

@ -0,0 +1,48 @@
package com.epmet.screen.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 3公众参与概况返参DTO
* @ClassName PublicPartiProfileResultDTO
* @Auth wangc
* @Date 2020-08-20 14:33
*/
@Data
public class PublicPartiProfileResultDTO implements Serializable {
private static final long serialVersionUID = 2520835419152912027L;
private Integer total = NumConstant.ZERO;
private String monthIncr = "";
/**
* incr上升, decr下降
* */
private String monthTrend = "";
private Integer averageIssue = NumConstant.ZERO;
/**
* 较上月百分比
* */
private String issueCompareLatestMonth = "";
/**
* 较上月趋势incr上升decr下降
* */
private String issueCompareLatestTrend = "";
/**
* 平均参与度
* */
private Integer averageJoin = NumConstant.ZERO;
private String joinCompareLatestMonth = "";
private String joinCompareLatestTrend = "";
}

28
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/PublicPartiRankResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 公众参与-排行榜 传参dto
* @ClassName PublicPartiRankResultDTO
* @Auth wangc
* @Date 2020-08-20 15:29
*/
@Data
public class PublicPartiRankResultDTO implements Serializable {
private static final long serialVersionUID = -2958188980327497507L;
private String name;
private Integer regNum;
private Integer joinNum;
private Integer topicNum;
private Integer issueNum;
private Integer projectNum;
}

40
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/SubAgencyIndexRankResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 9:58 上午
*/
@Data
public class SubAgencyIndexRankResultDTO implements Serializable {
private static final long serialVersionUID = -2767000156092731932L;
/**
* 名称组织或者网格名称部门名称
*/
private String name = "";
/**
* 总指数
*/
private Double totalIndex = 0.0;
/**
* 党建能力
*/
private Double governAbility = 0.0;
/**
* 治理能力
*/
private Double partyDevAbility = 0.0;
/**
* 服务能力
*/
private Double serviceAbility = 0.0;
}

45
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/TopProfileResultDTO.java

@ -0,0 +1,45 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 1:46 下午
*/
@Data
public class TopProfileResultDTO implements Serializable {
private static final long serialVersionUID = -5081563117620857359L;
/**
* 用户总数
*/
private Integer userNum = 0;
/**
* 党员总数
*/
private Integer partyMemberNum = 0;
/**
* 党群总数
*/
private Integer groupNum = 0;
/**
* 话题总数
*/
private Integer topicNum = 0;
/**
* 议题总数
*/
private Integer issueNum = 0;
/**
* 项目总数
*/
private Integer projectNum = 0;
}

37
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/TreeResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/18 2:00 下午
*/
@Data
public class TreeResultDTO implements Serializable {
private static final long serialVersionUID = 3860268744336541373L;
/**
* 显示名称
*/
private String label = "";
/**
* agencyId下拉框value
*/
private String value = "";
@JsonIgnore
private String pids;
/**
* 子目录
*/
private List<TreeResultDTO> children = new ArrayList<>();
}

46
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserDistributionResultDTO.java

@ -0,0 +1,46 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/18 11:06 上午
*/
@Data
public class UserDistributionResultDTO implements Serializable {
private static final long serialVersionUID = -7679590088019724244L;
/**
* 可能是gridId,可能是agencyId
*/
private String subId;
/**
* 中心点位
*/
private String centerMark;
/**
* 用户总人数
*/
private Integer totalNum;
/**
* 坐标区域
*/
private String areaMarks;
/**
* 可以是网格的名称可以是组织的名称
*/
private String subName;
/**
* 组织agency, 网格 grid
*/
private String type;
}

47
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserJoinIndicatorGrowthRateResultDTO.java

@ -0,0 +1,47 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description 用户参与各项指标以及增长查询结果dto
* @ClassName UserJoinIndicatorGrowthRateResultDTO
* @Auth wangc
* @Date 2020-08-21 16:07
*/
@Data
public class UserJoinIndicatorGrowthRateResultDTO implements Serializable {
private static final long serialVersionUID = -8830240350298414599L;
private Integer total;
private BigDecimal monthIncr;
/**
* incr上升, decr下降
* */
private String monthTrend;
private Integer averageIssue;
/**
* 较上月百分比
* */
private BigDecimal issueCompareLatestMonth;
/**
* 较上月趋势incr上升decr下降
* */
private String issueCompareLatestTrend;
/**
* 平均参与度
* */
private Integer averageJoin;
private BigDecimal joinCompareLatestMonth;
private String joinCompareLatestTrend;
}

25
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserJoinMonthlyResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 阅读用户参与查询返参dto screen_user_join
* @ClassName UserJoinMonthlyResultDTO
* @Auth wangc
* @Date 2020-08-21 09:20
*/
@Data
public class UserJoinMonthlyResultDTO implements Serializable {
private static final long serialVersionUID = 4078219053108425375L;
private String monthId;
private Integer organizeNum;
private Integer joinUserNum;
private Integer averageJoinNum;
}

28
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserPointRankResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
/**
* @Description
* @ClassName UserPointRankResultDTO
* @Auth wangc
* @Date 2020-08-20 10:46
*/
@Data
public class UserPointRankResultDTO implements Serializable {
private static final long serialVersionUID = 2829557017489626022L;
/**
* 横坐标姓名
* */
private List<String> nameData = new LinkedList<>();
/**
* 纵坐标积分
* */
private List<Integer> pointsData = new LinkedList<>();
}

20
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserPointResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 用户积分DTO - 查询结果
* @ClassName UserPointResultDTO
* @Auth wangc
* @Date 2020-08-20 10:50
*/
@Data
public class UserPointResultDTO implements Serializable {
private static final long serialVersionUID = -5174248184514429116L;
private String name;
private Integer point;
}

49
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/UserResultDTO.java

@ -0,0 +1,49 @@
package com.epmet.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/18 11:03 上午
*/
@Data
public class UserResultDTO implements Serializable {
private static final long serialVersionUID = -6633682494274511121L;
/**
* 当前所选组织
*/
private String agencyId = "";
/**
* 当前所选组织名称
*/
private String name = "";
/**
* 当前所选组织的坐标区域
*/
private String areaMarks = "";
/**
* 机关级别
* 社区级community
* 街道:street,
* 区县级: district,
* 市级: city
* 省级:province
*/
@JsonIgnore
private String level;
/**
* 子级用户分布
*/
private List<UserDistributionResultDTO> userDistribution = new ArrayList<>();
}

35
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/VolunteerServiceResult.java

@ -0,0 +1,35 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/20 3:16 下午
*/
@Data
public class VolunteerServiceResult implements Serializable {
private static final long serialVersionUID = 959536759114517195L;
/**
* 月份ID
*/
private String monthId;
/**
* 组织次数
*/
private Integer organizeData;
/**
* 参与次数
*/
private Integer joinData;
/**
* 平均参与人次
*/
private Integer averageJoinUserData;
}

36
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/VolunteerServiceResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/8/20 3:14 下午
*/
@Data
public class VolunteerServiceResultDTO implements Serializable {
private static final long serialVersionUID = -6227889392267793005L;
/**
* x轴返回近12个月不包含当前月
*/
private List<String> xAxis;
/**
* 组织次数
*/
private List<Integer> organizeData;
/**
* 参与次数
*/
private List<Integer> joinData;
/**
* 平均参与人次
*/
private List<Integer> averageJoinUserData;
}

35
epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/YearAverageIndexResultDTO.java

@ -0,0 +1,35 @@
package com.epmet.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/8/19 2:45 下午
*/
@Data
public class YearAverageIndexResultDTO implements Serializable {
private static final long serialVersionUID = 6453379153616899440L;
/**
* 年度平均指数
*/
private Double yearAverageIndex = 0.0;
/**
* 服务能力
*/
private Double serviceAbility = 0.0;
/**
* 党建能力
*/
private Double partyDevAbility = 0.0;
/**
* 治理能力
*/
private Double governAbility = 0.0;
}

2
epmet-module/data-report/data-report-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
data-report-server:
container_name: data-report-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/data-report-server:0.3.27
image: 192.168.1.130:10080/epmet-cloud-dev/data-report-server:0.3.28
ports:
- "8109:8109"
network_mode: host # 使用现有网络

39
epmet-module/data-report/data-report-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.27</version>
<version>0.3.28</version>
<artifactId>data-report-server</artifactId>
<parent>
@ -67,6 +67,12 @@
<artifactId>epmet-commons-extapp-auth</artifactId>
<version>2.0.0</version>
</dependency>
<!--动态数据源-->
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-dynamic-datasource</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<build>
@ -104,11 +110,18 @@
<spring.profiles.active>dev</spring.profiles.active>
<!-- 数据库配置-->
<datasource.druid.url>
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.url>
<datasource.druid.username>epmet_data_statistical_user</datasource.druid.username>
<datasource.druid.password>EpmEt-db-UsEr</datasource.druid.password>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet_data_statistical_user</datasource.druid.stats.username>
<datasource.druid.stats.password>EpmEt-db-UsEr</datasource.druid.stats.password>
<!-- 展示用的统计数据库-->
<datasource.druid.statsdisplay.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_data_statistical_display?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.statsdisplay.url>
<datasource.druid.statsdisplay.username>epmet_data_stats_display_user</datasource.druid.statsdisplay.username>
<datasource.druid.statsdisplay.password>EpmEt-db-UsEr</datasource.druid.statsdisplay.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
@ -139,11 +152,11 @@
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<datasource.druid.url>
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.url>
<datasource.druid.username>epmet</datasource.druid.username>
<datasource.druid.password>elink@833066</datasource.druid.password>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet</datasource.druid.stats.username>
<datasource.druid.stats.password>elink@833066</datasource.druid.stats.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
@ -174,11 +187,11 @@
<spring.profiles.active>prod</spring.profiles.active>
<!-- 数据库配置-->
<datasource.druid.url>
<datasource.druid.stats.url>
<![CDATA[jdbc:mysql://rm-m5e3vzs2637224wj9.mysql.rds.aliyuncs.com:3306/epmet_data_statistical?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</datasource.druid.url>
<datasource.druid.username>epmet_data_statistical</datasource.druid.username>
<datasource.druid.password>EpmEt-db-UsEr</datasource.druid.password>
</datasource.druid.stats.url>
<datasource.druid.stats.username>epmet_data_statistical</datasource.druid.stats.username>
<datasource.druid.stats.password>EpmEt-db-UsEr</datasource.druid.stats.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/aspect/RequestLogAspect.java → epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/aspect/RequestLogAspect.java

@ -1,4 +1,4 @@
package com.epmet.aspect;
package com.epmet.datareport.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
@ -21,7 +21,7 @@ import javax.servlet.http.HttpServletRequest;
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*.*Controller*.*(..)) ")
@Around(value = "execution(* com.epmet.datareport.controller.*.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}

2
epmet-module/data-report/data-report-server/src/main/java/com/epmet/config/ModuleConfigImpl.java → epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/config/ModuleConfigImpl.java

@ -6,7 +6,7 @@
* 版权所有侵权必究
*/
package com.epmet.config;
package com.epmet.datareport.config;
import com.epmet.commons.tools.config.ModuleConfig;
import org.springframework.stereotype.Service;

0
epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/.gitignore → epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/.gitignore

2
epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/group/GroupController.java → epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/group/GroupController.java

@ -9,7 +9,7 @@ import com.epmet.group.dto.result.GroupIncrTrendResultDTO;
import com.epmet.group.dto.result.GroupSubAgencyResultDTO;
import com.epmet.group.dto.result.GroupSubGridResultDTO;
import com.epmet.group.dto.result.GroupSummaryInfoResultDTO;
import com.epmet.service.group.GroupService;
import com.epmet.datareport.service.group.GroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/issue/IssueController.java → epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/issue/IssueController.java

@ -1,11 +1,11 @@
package com.epmet.controller.issue;
package com.epmet.datareport.controller.issue;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
import com.epmet.issue.dto.result.*;
import com.epmet.service.issue.IssueService;
import com.epmet.datareport.service.issue.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

0
epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/project/ProjectController.java → epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/project/ProjectController.java

4
epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/publicity/PublicityController.java → epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/publicity/PublicityController.java

@ -15,7 +15,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller.publicity;
package com.epmet.datareport.controller.publicity;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.NumConstant;
@ -24,7 +24,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.publicity.dto.form.TagFormDTO;
import com.epmet.publicity.dto.result.*;
import com.epmet.service.publicity.PublicityService;
import com.epmet.datareport.service.publicity.PublicityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

59
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AgencyController.java

@ -0,0 +1,59 @@
package com.epmet.datareport.controller.screen;
import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.screen.dto.form.CompartmentFormDTO;
import com.epmet.screen.dto.result.CompartmentResultDTO;
import com.epmet.screen.dto.result.TreeResultDTO;
import com.epmet.datareport.service.screen.AgencyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 组织相关api
*
* @author yinzuomei@elink-cn.com
* @date 2020/8/18 10:15
*/
@RestController
@RequestMapping("/screen/agency")
public class AgencyController {
@Autowired
private AgencyService agencyService;
/**
* @Description 1组织机构树
* @param
* @author zxc
* @date 2020/8/18 2:04 下午
*/
@ExternalAppRequestAuth
@PostMapping("tree")
public Result<TreeResultDTO> tree(ExternalAppRequestParam externalAppRequestParam){
return new Result<TreeResultDTO>().ok(agencyService.tree(externalAppRequestParam));
}
/**
* @Description 2组织区域查询
* @param compartmentFormDTO
* @author zxc
* @date 2020/8/18 2:33 下午
*/
@ExternalAppRequestAuth
@PostMapping("compartment")
public Result<CompartmentResultDTO> compartment(@RequestBody CompartmentFormDTO compartmentFormDTO){
ValidatorUtils.validateEntity(compartmentFormDTO, CompartmentFormDTO.Compartment.class);
return new Result<CompartmentResultDTO>().ok(agencyService.compartment(compartmentFormDTO));
}
}

95
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/DistributionController.java

@ -0,0 +1,95 @@
package com.epmet.datareport.controller.screen;
import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.screen.dto.form.*;
import com.epmet.screen.dto.result.*;
import com.epmet.datareport.service.screen.DistributionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 中央区相关各指标查询
*
* @author yinzuomei@elink-cn.com
* @date 2020/8/18 10:14
*/
@RestController
@RequestMapping("/screen/distribution")
public class DistributionController {
@Autowired
private DistributionService distributionService;
/**
* @Description 1党支部
* @param formDTO
* @author zxc
* @date 2020/8/18 10:59 上午
*/
@ExternalAppRequestAuth
@PostMapping("branch")
public Result<List<BranchResultDTO>> branch(@RequestBody BranchFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, BranchFormDTO.Branch.class);
return new Result<List<BranchResultDTO>>().ok(distributionService.branch(formDTO));
}
/**
* @Description 2用户分布
* @param userFormDTO
* @author zxc
* @date 2020/8/18 11:10 上午
*/
@ExternalAppRequestAuth
@PostMapping("user")
public Result<UserResultDTO> user(@RequestBody UserFormDTO userFormDTO){
ValidatorUtils.validateEntity(userFormDTO, UserFormDTO.User.class);
return new Result<UserResultDTO>().ok(distributionService.user(userFormDTO));
}
/**
* @Description 3党员分布
* @param parymemberFormDTO
* @author zxc
* @date 2020/8/18 11:20 上午
*/
@ExternalAppRequestAuth
@PostMapping("parymember")
public Result<ParymemberResultDTO> parymember(@RequestBody ParymemberFormDTO parymemberFormDTO){
ValidatorUtils.validateEntity(parymemberFormDTO, ParymemberFormDTO.Parymember.class);
return new Result<ParymemberResultDTO>().ok(distributionService.parymember(parymemberFormDTO));
}
/**
* @Description 4事件
* @param projectFormDTO
* @author zxc
* @date 2020/8/19 1:29 下午
*/
@ExternalAppRequestAuth
@PostMapping("project")
public Result<List<ProjectResultDTO>> project(@RequestBody ProjectFormDTO projectFormDTO){
ValidatorUtils.validateEntity(projectFormDTO, ProjectFormDTO.Project.class);
return new Result<List<ProjectResultDTO>>().ok(distributionService.project(projectFormDTO));
}
/**
* @Description 5top区概况
* @param topProfileFormDTO
* @author zxc
* @date 2020/8/19 1:52 下午
*/
@ExternalAppRequestAuth
@PostMapping("topprofile")
public Result<TopProfileResultDTO> topProfile(@RequestBody TopProfileFormDTO topProfileFormDTO){
ValidatorUtils.validateEntity(topProfileFormDTO, TopProfileFormDTO.TopProfile.class);
return new Result<TopProfileResultDTO>().ok(distributionService.topProfile(topProfileFormDTO));
}
}

109
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/GrassRootsGovernController.java

@ -0,0 +1,109 @@
package com.epmet.datareport.controller.screen;
import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.datareport.service.screen.GrassRootsGovernService;
import com.epmet.screen.dto.form.AgencyAndNumFormDTO;
import com.epmet.screen.dto.form.AgencyFormDTO;
import com.epmet.screen.dto.form.AgencyNumTypeParamFormDTO;
import com.epmet.screen.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 基层治理相关各指标查询
*
* @author yinzuomei@elink-cn.com
* @date 2020/8/18 10:12
*/
@RestController
@RequestMapping("/screen/grassrootsgovern")
public class GrassRootsGovernController {
@Autowired
private GrassRootsGovernService grassRootsGovernService;
/**
* @Description 1热心市民积分排行
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321544
* @param param
* @return
* @author wangc
* @date 2020.08.20 11:16
**/
@ExternalAppRequestAuth
@PostMapping("userpointrank")
public Result<UserPointRankResultDTO> userPointRank(@RequestBody AgencyAndNumFormDTO param){
ValidatorUtils.validateEntity(param,AgencyFormDTO.CommonAgencyIdGroup.class);
return new Result<UserPointRankResultDTO>().ok(grassRootsGovernService.userPointRank(param));
}
/**
* @Description 2难点赌点-耗时最长|涉及部门最多|处理次数
* @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614
* @param param
* @return
* @author wangc
* @date 2020.08.20 13:55
**/
@ExternalAppRequestAuth
@PostMapping("difficultprojects")
public Result<List<DifficultProjectResultDTO>> difficultProject(@RequestBody AgencyNumTypeParamFormDTO param){
ValidatorUtils.validateEntity(param, AgencyNumTypeParamFormDTO.AgencyNumTypeParamGroup.class);
return new Result<List<DifficultProjectResultDTO>>().ok(grassRootsGovernService.difficultProject(param));
}
/**
* @Description 3公众参与概况
* @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321975
* @param param
* @return
* @author wangc
* @date 2020.08.20 14:37
**/
@ExternalAppRequestAuth
@PostMapping("publicpartiprofile")
public Result<PublicPartiProfileResultDTO> publicPartiProfile(@RequestBody AgencyFormDTO param){
ValidatorUtils.validateEntity(param, AgencyFormDTO.CommonAgencyIdGroup.class);
return new Result<PublicPartiProfileResultDTO>().ok(grassRootsGovernService.publicPartiProfile(param));
}
/**
* @Description 4公众参与-排行榜
* @NEI https://nei.netease.com/interface/detail/?pid=57068&id=321978
* @param param
* @return
* @author wangc
* @date 2020.08.20 15:32
**/
@ExternalAppRequestAuth
@PostMapping("publicpartirank")
public Result<List<PublicPartiRankResultDTO>> publicPartiRank(@RequestBody AgencyAndNumFormDTO param){
ValidatorUtils.validateEntity(param,AgencyFormDTO.CommonAgencyIdGroup.class);
return new Result<List<PublicPartiRankResultDTO>>().ok(grassRootsGovernService.publicPartiRank(param));
}
/**
* @Description 5治理能力榜单
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321627
* @param param
* @return
* @author wangc
* @date 2020.08.20 17:46
**/
@ExternalAppRequestAuth
@PostMapping("governcapacityrank")
public Result<List<GovernCapacityRankResultDTO>> governCapacityRank(@RequestBody AgencyAndNumFormDTO param){
ValidatorUtils.validateEntity(param,AgencyFormDTO.CommonAgencyIdGroup.class);
return new Result<List<GovernCapacityRankResultDTO>>().ok(grassRootsGovernService.governCapacityRank(param));
}
}

93
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/GrassrootsPartyDevController.java

@ -0,0 +1,93 @@
package com.epmet.datareport.controller.screen;
import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.datareport.service.screen.GrassrootsPartyDevService;
import com.epmet.screen.dto.form.BranchBuildRankFormDTO;
import com.epmet.screen.dto.form.BranchBuildTrendFormDTO;
import com.epmet.screen.dto.form.ParymemberFormDTO;
import com.epmet.screen.dto.result.BranchBuildRankResultDTO;
import com.epmet.screen.dto.result.BranchBuildTrendResultDTO;
import com.epmet.screen.dto.result.PartymemberAgeDistributionResultDTO;
import com.epmet.screen.dto.result.PartymemberPercentResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 基层党建相关各指标查询
*
* @author yinzuomei@elink-cn.com
* @date 2020/8/18 10:11
*/
@RestController
@RequestMapping("/screen/grassrootspartydev")
public class GrassrootsPartyDevController {
@Autowired
private GrassrootsPartyDevService grassrootsPartyDevService;
/**
* @Description 党员基本情况-饼状图概况
* @NEI https://nei.netease.com/interface/detail/?pid=57068&id=321324
* @param param
* @return
* @author wangc
* @date 2020.08.18 16:59
**/
@ExternalAppRequestAuth
@PostMapping("basicinfo")
public Result<PartymemberPercentResultDTO> baseInfo(@RequestBody ParymemberFormDTO param){
ValidatorUtils.validateEntity(param, ParymemberFormDTO.Parymember.class);
return new Result<PartymemberPercentResultDTO>().ok(grassrootsPartyDevService.partymemberBaseInfo(param));
}
/**
* @Description 2党员基本情况-年龄分布
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321980
* @param param
* @return
* @author wangc
* @date 2020.08.18 17:54
**/
@ExternalAppRequestAuth
@PostMapping("ageinfo")
public Result<PartymemberAgeDistributionResultDTO> ageInfo(@RequestBody ParymemberFormDTO param){
ValidatorUtils.validateEntity(param, ParymemberFormDTO.Parymember.class);
return new Result<PartymemberAgeDistributionResultDTO>().ok(grassrootsPartyDevService.partymemberAgeDistribution(param));
}
/**
* @Description 3支部建设情况|联建共建情况-折线图
* @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321981
* @param param
* @return BranchBuildTrendResultDTO
* @author wangc
* @date 2020.08.19 11:02
**/
@ExternalAppRequestAuth
@PostMapping("branchbuildtrend")
public Result<BranchBuildTrendResultDTO> branchBuildTrend(@RequestBody BranchBuildTrendFormDTO param){
ValidatorUtils.validateEntity(param, BranchBuildTrendFormDTO.branchBuildTrendGroup.class);
return new Result<BranchBuildTrendResultDTO>().ok(grassrootsPartyDevService.branchBuildTrend(param));
}
/**
* @Description 4支部建设情况|联建共建情况-排行
* @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321982
* @param param
* @return
* @author wangc
* @date 2020.08.19 15:25
**/
@ExternalAppRequestAuth
@PostMapping("branchbuildrank")
public Result<BranchBuildRankResultDTO> branchBuildRank(@RequestBody BranchBuildRankFormDTO param){
ValidatorUtils.validateEntity(param, BranchBuildRankFormDTO.BranchBuildRankGroup.class);
return new Result<BranchBuildRankResultDTO>().ok(grassrootsPartyDevService.branchBuildRank(param));
}
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save