Browse Source

Merge branches 'dev' and 'dev_footbar' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_footbar

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

36
epmet-admin/epmet-admin-server/pom.xml

@ -84,12 +84,41 @@
<profiles>
<profile>
<id>dev</id>
<properties>
<server.port>8082</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://192.168.1.130:3306/epmet_admin?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet_admin_user</spring.datasource.druid.username>
<spring.datasource.druid.password>EpmEt-db-UsEr</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.130</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>192.168.1.130:8848</nacos.server-addr>
<nacos.discovery.namespace>6ceab336-d004-4acf-89c6-e121d06f4988</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<spring.flyway.enabled>false</spring.flyway.enabled>
</properties>
</profile>
<profile>
<id>local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>8082</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>local</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
@ -103,7 +132,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>192.168.1.130:8848</nacos.server-addr>
<nacos.discovery.namespace>6ceab336-d004-4acf-89c6-e121d06f4988</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -116,9 +145,6 @@
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8082</server.port>
<spring.profiles.active>test</spring.profiles.active>

2
epmet-auth/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-auth-server:
container_name: epmet-auth-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.68
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.69
ports:
- "8081:8081"
network_mode: host # 使用现有网络

2
epmet-auth/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-auth-server:
container_name: epmet-auth-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-auth:0.3.68
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-auth:0.3.69
ports:
- "8081:8081"
network_mode: host # 使用现有网络

45
epmet-auth/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" 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">
<modelVersion>4.0.0</modelVersion>
<version>0.3.68</version>
<version>0.3.69</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>
@ -156,9 +156,6 @@
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>8081</server.port>
<spring.profiles.active>dev</spring.profiles.active>
@ -192,12 +189,46 @@
<gov.wx.ma.secret>e5e72147737cfeb2b0f3a43624cadb3f</gov.wx.ma.secret>-->
</properties>
</profile>
<profile>
<id>local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>8081</server.port>
<spring.profiles.active>local</spring.profiles.active>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.130</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>192.168.1.130:8848</nacos.server-addr>
<nacos.discovery.namespace>6ceab336-d004-4acf-89c6-e121d06f4988</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--公众号配置-->
<wx.mp.configs.appId>wxcb6ce2ed0c5ae54c</wx.mp.configs.appId>
<wx.mp.configs.secret>c7f74941ee97fa9b2e1065772d34c397</wx.mp.configs.secret>
<wx.mp.configs.token>12345678Yzm</wx.mp.configs.token>
<wx.mp.configs.aesKey>jiKrJoPQsUIP9ayAwmuJQeAVPBjFOh5D1JxFDd7ZSU3</wx.mp.configs.aesKey>
<!--居民端小程序配置-->
<resi.wx.ma.appId>wx07674c23af51b521</resi.wx.ma.appId>
<resi.wx.ma.secret>a2fd0d29b007cbbcf8c8dda8c693d99b</resi.wx.ma.secret>
<!--政府端小程序配置-->
<gov.wx.ma.appId>wx3d1372029eb816a3</gov.wx.ma.appId>
<gov.wx.ma.secret>651f02d71ed3f123dfb584b8bf0f4d8b</gov.wx.ma.secret>
<!--<gov.wx.ma.appId>wx2679392c4cc2af22</gov.wx.ma.appId>
<gov.wx.ma.secret>e5e72147737cfeb2b0f3a43624cadb3f</gov.wx.ma.secret>-->
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8081</server.port>
<spring.profiles.active>test</spring.profiles.active>

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", "evaluationIndex"),
DATA_STATISTICAL_FAKE("data-statistical-server", "fake", "statsDisplay"),
DATA_REPORT_REAL("data-report-server", "real", "evaluationIndex"),
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());
}
}
}

67
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/CustomerApplicationRunner.java

@ -0,0 +1,67 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.commons.tools.aspect;
import com.epmet.commons.tools.dto.form.DingTalkTextMsg;
import com.epmet.commons.tools.enums.EnvEnum;
import com.epmet.commons.tools.utils.HttpClientManager;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.SpringContextUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.cloud.commons.util.InetUtils;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
/**
* 应用 启动健康检查 通知类
* CustomerApplicationRunner
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Component
@Order(value = 99)
public class CustomerApplicationRunner implements ApplicationRunner {
private static Logger logger = LogManager.getLogger(CustomerApplicationRunner.class);
@Value("${spring.application.name}")
private String appName;
@Override
public void run(ApplicationArguments args) {
//发送启动成功消息
EnvEnum currentEnv = EnvEnum.getCurrentEnv();
logger.info(currentEnv);
if (!EnvEnum.DEV.getCode().equals(currentEnv.getCode())) {
InetUtils inetUtils = SpringContextUtils.getBean(InetUtils.class);
String serverIp = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
//开发小组 群机器人地址
String url = "https://oapi.dingtalk.com/robot/send?access_token=ffd7c972b0525e249283df1a16b65a8b9d0012601f3a458dfc588c2eac497bb5";
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(EnvEnum.getCurrentEnv().getName())
.append("【")
.append(appName)
.append("】")
.append("ip地址: ")
.append(serverIp)
.append("部署完毕!");
DingTalkTextMsg msg = new DingTalkTextMsg();
msg.setWebHook(url);
msg.setAtAll(true);
msg.setContent(stringBuilder.toString());
Result<String> stringResult = HttpClientManager.getInstance().sendPostByJSON(url, msg.getMsgContent());
logger.info(stringResult);
}
}
}

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

@ -1,5 +1,7 @@
package com.epmet.commons.tools.constant;
import java.math.BigDecimal;
/**
* 常用数字常量
*
@ -35,6 +37,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;
@ -52,4 +58,6 @@ public interface NumConstant {
String POSITIVE_EIGHT_STR = "+8";
String EMPTY_STR = "";
String ONE_NEG_STR = "-1";
String FIFTY_STR="50";
}

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

@ -77,4 +77,8 @@ public interface StrConstant {
String NULL_STR="null";
String NOT_FILLED = "无";
String MIN="MIN";
String MAX="MAX";
}

17
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EnvEnum.java

@ -1,5 +1,8 @@
package com.epmet.commons.tools.enums;
import com.epmet.commons.tools.utils.SpringContextUtils;
import org.springframework.core.env.Environment;
/**
* 系统环境变量枚举类
* dev|test|prod
@ -34,6 +37,20 @@ public enum EnvEnum {
return EnvEnum.UN_KNOWN;
}
public static EnvEnum getCurrentEnv(){
try {
Environment environment = SpringContextUtils.getBean(Environment.class);
String[] activeProfiles = environment.getActiveProfiles();
if (activeProfiles != null && activeProfiles.length > 0) {
return getEnum(activeProfiles[0]);
}
} catch (Exception e) {
e.printStackTrace();
}
return EnvEnum.UN_KNOWN;
}
public String getCode() {
return code;
}

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

@ -106,6 +106,7 @@ public enum EpmetErrorCode {
OPER_EXTERNAL_APP_EXISTS(8711, "应用已存在"),
OPER_CUSTOMER_FOOTBAR_EXISTS(8712, "footbar已存在"),
OPER_CUSTOMER_FOOTBAR_NOT_FOUND(8713, "footbar不存在"),
OPER_EXT_APP_SECRET_RESET_FAIL(8713, "秘钥更新失败"),
// 党建声音 前端提示 88段
DRAFT_CONTENT_IS_NULL(8801, "至少需要添加一个段落"),

8
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -297,4 +297,12 @@ public class RedisKeys {
public static String getExternalAppSecretKey(String appId) {
return String.format(rootPrefix+"externalapp:secret:%s",appId);
}
/**
* 计算指标时获取指标code和fields关系缓存Key
* @return
*/
public static String getIndexCodeFieldReKey() {
return rootPrefix.concat("data:index:indexcode:field");
}
}

36
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -9,6 +9,7 @@
package com.epmet.commons.tools.utils;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.LocalDate;
@ -33,6 +34,11 @@ public class DateUtils {
public static final List<Integer> Q3Months = Arrays.asList(7, 8, 9);
public static final List<Integer> Q4Months = Arrays.asList(10, 11, 12);
public static final List<String> Q1MonthsStrList = Arrays.asList("1", "2", "3","01","02","03");
public static final List<String> Q2MonthsStrList = Arrays.asList("4", "5", "6","04", "05", "06");
public static final List<String> Q3MonthsStrList = Arrays.asList("7", "8", "9","07", "08", "09");
public static final List<String> Q4MonthsStrList = Arrays.asList("10", "11", "12");
/** 时间格式(yyyy-MM-dd) */
public final static String DATE_PATTERN = "yyyy-MM-dd";
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
@ -298,6 +304,29 @@ public class DateUtils {
return 4;
}
/**
* 获取季度
* @param monthId yyyyMM
* @return yyyyQ1yyyyQ2yyyyQ3yyyyQ4
*/
public static String getQuarterId(String monthId) {
String year = monthId.substring(0, 4);
String month = monthId.substring(4, 6);
if (Q1MonthsStrList.contains(month)) {
return year.concat("Q1");
}
if (Q2MonthsStrList.contains(month)) {
return year.concat("Q2");
}
if (Q3MonthsStrList.contains(month)) {
return year.concat("Q3");
}
if(Q4MonthsStrList.contains(month)){
return year.concat("Q4");
}
return StrConstant.EPMETY_STR;
}
/**
* 根据季度查询季度的月份列表
* @param quarterIndex
@ -557,4 +586,11 @@ public class DateUtils {
System.out.println(comparteDate(yesterDay,today));
System.out.println(comparteDate(tomorrow,today));
}
public static String getYearId(String monthId) {
if (StringUtils.isNotBlank(monthId) && monthId.length() > 4) {
return monthId.substring(NumConstant.ZERO, NumConstant.FOUR);
}
return StrConstant.EPMETY_STR;
}
}

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());
}
}

2
epmet-gateway/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-gateway-server:
container_name: epmet-gateway-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.32
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.35
ports:
- "8080:8080"
network_mode: host # 使用现有网络

2
epmet-gateway/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-gateway-server:
container_name: epmet-gateway-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:0.3.30
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:0.3.33
ports:
- "8080:8080"
network_mode: host # 使用现有网络

121
epmet-gateway/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" 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">
<modelVersion>4.0.0</modelVersion>
<version>0.3.32</version>
<version>0.3.35</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>
@ -87,9 +87,6 @@
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>8080</server.port>
@ -201,6 +198,122 @@
<!-- <gateway.routes.epmet-ext-server.url>http://127.0.0.1:8113</gateway.routes.epmet-ext-server.url>-->
</properties>
</profile>
<profile>
<id>local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>8080</server.port>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>192.168.1.130</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>192.168.1.130:8848</nacos.server-addr>
<nacos.discovery.namespace>6ceab336-d004-4acf-89c6-e121d06f4988</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip></nacos.ip>
<!-- gateway routes -->
<!-- 1、认证服务 -->
<!-- <gateway.routes.epmet-auth-server.uri>http://localhost:8081</gateway.routes.epmet-auth-server.uri>-->
<gateway.routes.epmet-auth-server.uri>lb://epmet-auth-server</gateway.routes.epmet-auth-server.uri>
<!-- 2、Admin服务 -->
<gateway.routes.epmet-admin-server.uri>lb://epmet-admin-server</gateway.routes.epmet-admin-server.uri>
<!-- 4、OSS服务 -->
<gateway.routes.epmet-oss-server.uri>lb://epmet-oss-server</gateway.routes.epmet-oss-server.uri>
<!-- 5、消息服务 -->
<gateway.routes.epmet-message-server.uri>lb://epmet-message-server</gateway.routes.epmet-message-server.uri>
<!-- 6、工作流服务 -->
<gateway.routes.epmet-activiti-server.uri>lb://epmet-activiti-server</gateway.routes.epmet-activiti-server.uri>
<!-- 7、定时任务服务 -->
<gateway.routes.epmet-job-server.uri>lb://epmet-job-server</gateway.routes.epmet-job-server.uri>
<!-- <gateway.routes.epmet-job-server.uri>http://localhost:8084</gateway.routes.epmet-job-server.uri>-->
<!-- 8、用户模块 -->
<!-- <gateway.routes.epmet-user-server.uri>http://localhost:8087</gateway.routes.epmet-user-server.uri>-->
<gateway.routes.epmet-user-server.uri>lb://epmet-user-server</gateway.routes.epmet-user-server.uri>
<!-- 9、新模块结构demo -->
<gateway.routes.epmet-demo-server.uri>lb://epmet-demo-server</gateway.routes.epmet-demo-server.uri>
<!-- 10、运营端客户定制化服务 -->
<gateway.routes.oper-customize-server.uri>lb://oper-customize-server</gateway.routes.oper-customize-server.uri>
<!-- 11、运营端客户定制化服务 -->
<gateway.routes.oper-crm-server.uri>lb://oper-crm-server</gateway.routes.oper-crm-server.uri>
<!--<gateway.routes.oper-crm-server.uri>http://localhost:8090</gateway.routes.oper-crm-server.uri>-->
<!-- 12、居民端陌生人导览 -->
<gateway.routes.resi-guide-server.uri>lb://resi-guide-server</gateway.routes.resi-guide-server.uri>
<!-- 13、政府组织管理 -->
<!-- <gateway.routes.gov-org-server.uri>http://localhost:8092</gateway.routes.gov-org-server.uri>-->
<gateway.routes.gov-org-server.uri>lb://gov-org-server</gateway.routes.gov-org-server.uri>
<!-- 14、#运营端访问权限控制 -->
<!-- <gateway.routes.oper-access-server.uri>http://localhost:8093</gateway.routes.oper-access-server.uri>-->
<gateway.routes.oper-access-server.uri>lb://oper-access-server</gateway.routes.oper-access-server.uri>
<!-- 15、居民端个人信息 -->
<!-- <gateway.routes.resi-mine-server.uri>http://localhost:8094</gateway.routes.resi-mine-server.uri>-->
<gateway.routes.resi-mine-server.uri>lb://resi-mine-server</gateway.routes.resi-mine-server.uri>
<!-- 16、居民端楼院校组 -->
<!-- <gateway.routes.resi-group-server.uri>http://localhost:8095</gateway.routes.resi-group-server.uri>-->
<gateway.routes.resi-group-server.uri>lb://resi-group-server</gateway.routes.resi-group-server.uri>
<!-- 17、党员认证、热心居民申请 -->
<!-- <gateway.routes.resi-partymember-server.uri>http://localhost:8096</gateway.routes.resi-partymember-server.uri>-->
<gateway.routes.resi-partymember-server.uri>lb://resi-partymember-server</gateway.routes.resi-partymember-server.uri>
<!-- 18、政府端网格管理 -->
<!-- <gateway.routes.gov-grid-server.uri>http://localhost:8097</gateway.routes.gov-grid-server.uri>-->
<gateway.routes.gov-grid-server.uri>lb://gov-grid-server</gateway.routes.gov-grid-server.uri>
<!--19.政府端-权限-服务-->
<gateway.routes.gov-access-server.uri>lb://gov-access-server</gateway.routes.gov-access-server.uri>
<!--20.政府端-我的-服务-->
<!-- <gateway.routes.gov-mine-server.uri>http://localhost:8098</gateway.routes.gov-mine-server.uri>-->
<gateway.routes.gov-mine-server.uri>lb://gov-mine-server</gateway.routes.gov-mine-server.uri>
<!-- 21、居民端党群e事 -->
<gateway.routes.resi-hall-server.uri>lb://resi-hall-server</gateway.routes.resi-hall-server.uri>
<!-- 22、政府工作端议题管理 -->
<!-- <gateway.routes.gov-issue-server.uri>http://localhost:8101</gateway.routes.gov-issue-server.uri>-->
<gateway.routes.gov-issue-server.uri>lb://gov-issue-server</gateway.routes.gov-issue-server.uri>
<!-- 23、政府工作端项目管理 -->
<!-- <gateway.routes.gov-project-server.uri>http://localhost:8102</gateway.routes.gov-project-server.uri>-->
<gateway.routes.gov-project-server.uri>lb://gov-project-server</gateway.routes.gov-project-server.uri>
<!-- 24、公共服务 -->
<gateway.routes.common-service-server.uri>lb://common-service-server</gateway.routes.common-service-server.uri>
<!-- 25、党建园地 -->
<gateway.routes.resi-home-server.uri>lb://resi-home-server</gateway.routes.resi-home-server.uri>
<!-- <gateway.routes.resi-home-server.uri>http://localhost:8104</gateway.routes.resi-home-server.uri>-->
<!-- 26、政府端-党建声音 -->
<gateway.routes.gov-voice-server.uri>lb://gov-voice-server</gateway.routes.gov-voice-server.uri>
<!-- <gateway.routes.gov-voice-server.uri>http://localhost:8105</gateway.routes.gov-voice-server.uri>-->
<!-- 27、居民端-党建声音 -->
<gateway.routes.resi-voice-server.uri>lb://resi-voice-server</gateway.routes.resi-voice-server.uri>
<!-- <gateway.routes.resi-voice-server.uri>http://localhost:8106</gateway.routes.resi-voice-server.uri>-->
<!-- 28、政府端-数据首页 -->
<gateway.routes.data-report-server.uri>lb://data-report-server</gateway.routes.data-report-server.uri>
<!-- <gateway.routes.data-report-server.uri>http://localhost:8109</gateway.routes.data-report-server.uri>-->
<!-- 29、统计服务 -->
<gateway.routes.data-statistical-server.uri>lb://data-statistical-server</gateway.routes.data-statistical-server.uri>
<!-- <gateway.routes.data-statistical-server.uri>http://localhost:8108</gateway.routes.data-statistical-server.uri>-->
<!-- 30、内容审核服务 -->
<gateway.routes.epmet-openapi-scan.uri>lb://epmet-openapi-scan</gateway.routes.epmet-openapi-scan.uri>
<!-- <gateway.routes.epmet-openapi-scan.uri>http://localhost:8107</gateway.routes.epmet-openapi-scan.uri>-->
<!-- 31、微信第三方平台 -->
<gateway.routes.epmet-third-server.uri>lb://epmet-third-server</gateway.routes.epmet-third-server.uri>
<!-- <gateway.routes.epmet-third-server.uri>http://localhost:8110</gateway.routes.epmet-third-server.uri>-->
<!-- 32、爱心互助 -->
<gateway.routes.epmet-heart-server.url>lb://epmet-heart-server</gateway.routes.epmet-heart-server.url>
<!-- <gateway.routes.epmet-heart-server.url>http://127.0.0.1:8111</gateway.routes.epmet-heart-server.url>-->
<!-- 33、 积分银行 -->
<gateway.routes.epmet-point-server.url>lb://epmet-point-server</gateway.routes.epmet-point-server.url>
<!-- <gateway.routes.epmet-point-server.url>http://127.0.0.1:8112</gateway.routes.epmet-point-server.url>-->
<!-- 34、 开放接口服务 -->
<gateway.routes.epmet-ext-server.url>lb://epmet-ext-server</gateway.routes.epmet-ext-server.url>
<!-- <gateway.routes.epmet-ext-server.url>http://127.0.0.1:8113</gateway.routes.epmet-ext-server.url>-->
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>

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);
}

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

@ -441,6 +441,8 @@ epmet:
# url认证白名单,先判断白名单,在白名单中的url直接放行,不再判断上述需要认证的名单
urlWhiteList:
- /data/report/test/test
- /data/report/screen/**
- /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 EVALUATION_INDEX = "evaluationIndex";
String STATS_DISPLAY = "statsDisplay";
}

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

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

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

@ -0,0 +1,28 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/AgencyFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/AgencyNumTypeParamFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/BranchBuildRankFormDTO.java

@ -0,0 +1,43 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/BranchBuildTrendFormDTO.java

@ -0,0 +1,39 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/BranchFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/CompartmentFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/ContactMassLineChartFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/FineExampleFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/MonthBarchartFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/MonthPieChartFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/ParymemberFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,30 @@
package com.epmet.evaluationindex.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;
/**
* 机关iD
*/
@NotBlank(message = "机关ID不能为空",groups = {ProjectDetail.class})
private String agencyId;
}

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

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/SubAgencyIndexRankFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/TopProfileFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/UserFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/VolunteerServiceFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/form/YearAverageIndexFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/AdvanceBranchRankResultDTO.java

@ -0,0 +1,53 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/AgencyDistributionResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/BranchBuildOrderByCountResultDTO.java

@ -0,0 +1,23 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/BranchBuildRankResultDTO.java

@ -0,0 +1,32 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,42 @@
package com.epmet.evaluationindex.screen.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
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;
/**
* 总组织次数
* */
private Integer totalOrganizationCount = NumConstant.ZERO;
/**
* 总参与人数
* */
private Integer totalJoinUserCount = NumConstant.ZERO;
}

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

@ -0,0 +1,22 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/BranchResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/BranchTrendSeriesDataResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/CompartmentResultDTO.java

@ -0,0 +1,49 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/ContactMassLineChartResult.java

@ -0,0 +1,30 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,42 @@
package com.epmet.evaluationindex.screen.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
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;
/**
* 党员建群数
**/
private Integer groupTotal = NumConstant.ZERO;
/**
* 党成员数
* */
private Integer groupMemberTotal = NumConstant.ZERO;
}

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

@ -0,0 +1,44 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/FineExampleResultDTO.java

@ -0,0 +1,81 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/GovernCapacityRankResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/GovernCapacityResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/MonthBarchartResult.java

@ -0,0 +1,25 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,41 @@
package com.epmet.evaluationindex.screen.dto.result;
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/evaluationindex/screen/dto/result/MonthPieChartResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/OrgRankDataResultDTO.java

@ -0,0 +1,54 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/PartyUserPointResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/PartymemberAgeDistributionResultDTO.java

@ -0,0 +1,44 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/PartymemberAgePercentResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/PartymemberPercentResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,48 @@
package com.epmet.evaluationindex.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
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;
/**
* 坐标区域
*/
@JsonIgnore
private String areaMarks = "";
/**
* 可以是网格的名称可以是组织的名称
*/
private String subName= "";
/**
* 组织agency, 网格 grid
*/
private String type = "";
}

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

@ -0,0 +1,50 @@
package com.epmet.evaluationindex.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 = "";
/**
* 当前所选组织的坐标区域
*/
@JsonIgnore
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/evaluationindex/screen/dto/result/ProjectDetailResultDTO.java

@ -0,0 +1,47 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/ProjectResultDTO.java

@ -0,0 +1,45 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/PublicPartiChartResultDTO.java

@ -0,0 +1,38 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/PublicPartiProfileResultDTO.java

@ -0,0 +1,48 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/PublicPartiRankResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/SubAgencyIndexRankResultDTO.java

@ -0,0 +1,40 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/TopProfileResultDTO.java

@ -0,0 +1,45 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,51 @@
package com.epmet.evaluationindex.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<Double> centerMark;
/**
* 机关级别
*/
@JsonIgnore
private String level;
@JsonIgnore
private String centerMarkA;
/**
* 子目录
*/
private List<TreeResultDTO> children = new ArrayList<>();
}

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

@ -0,0 +1,48 @@
package com.epmet.evaluationindex.screen.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
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;
/**
* 坐标区域
*/
@JsonIgnore
private String areaMarks;
/**
* 可以是网格的名称可以是组织的名称
*/
private String subName;
/**
* 组织agency, 网格 grid
*/
private String type;
}

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

@ -0,0 +1,47 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,26 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/UserPointRankResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.evaluationindex.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/evaluationindex/screen/dto/result/UserPointResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,50 @@
package com.epmet.evaluationindex.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 = "";
/**
* 当前所选组织的坐标区域
*/
@JsonIgnore
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/evaluationindex/screen/dto/result/VolunteerServiceResult.java

@ -0,0 +1,35 @@
package com.epmet.evaluationindex.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;
}

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

@ -0,0 +1,47 @@
package com.epmet.evaluationindex.screen.dto.result;
import com.epmet.commons.tools.constant.NumConstant;
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;
/**
* 总组织次数
* */
private Integer totalOrganizationCount = NumConstant.ZERO;
/**
* 总参与人数
* */
private Integer totalJoinUserCount = NumConstant.ZERO;
}

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

@ -0,0 +1,35 @@
package com.epmet.evaluationindex.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.36
ports:
- "8109:8109"
network_mode: host # 使用现有网络

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

Loading…
Cancel
Save