Browse Source

Merge remote-tracking branch 'remotes/origin/master_bugfix' into dev_screen_data_2.0

dev
jianjun 5 years ago
parent
commit
9fcd7690d2
  1. 2
      epmet-auth/deploy/docker-compose-prod.yml
  2. 2
      epmet-auth/pom.xml
  3. 2
      epmet-gateway/deploy/docker-compose-prod.yml
  4. 2
      epmet-gateway/pom.xml
  5. 30
      epmet-gateway/src/main/java/com/epmet/auth/ExternalAuthProcessor.java
  6. 39
      epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java
  7. 8
      epmet-gateway/src/main/java/com/epmet/constant/AuthTypeConstant.java
  8. 6
      epmet-gateway/src/main/java/com/epmet/constant/TokenHeaderKeyConstant.java
  9. 81
      epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java
  10. 4
      epmet-gateway/src/main/java/com/epmet/filter/CpProperty.java
  11. 3
      epmet-gateway/src/main/resources/bootstrap.yml
  12. 31
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenFormDTO.java
  13. 28
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenRankFormDTO.java
  14. 25
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AnScreenTrendFormDTO.java
  15. 42
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernRankResultDTO.java
  16. 38
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernResultDTO.java
  17. 42
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernTrendDTO.java
  18. 44
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsGovernTrendResultDTO.java
  19. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgRankResultDTO.java
  20. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgResultDTO.java
  21. 33
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgTrendDTO.java
  22. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/GrassRootsOrgTrendResultDTO.java
  23. 50
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmRankResultDTO.java
  24. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalResultDTO.java
  25. 35
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalTrendDTO.java
  26. 39
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PmTotalTrendResultDTO.java
  27. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/ProjectProfileResultDTO.java
  28. 2
      epmet-module/data-report/data-report-server/deploy/docker-compose-prod.yml
  29. 2
      epmet-module/data-report/data-report-server/pom.xml
  30. 175
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AnScreenController.java
  31. 43
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnCommunityProjectProfileDao.java
  32. 69
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsGovernMonthlyDao.java
  33. 70
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsOrgMonthlyDao.java
  34. 45
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmRankDao.java
  35. 59
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.java
  36. 115
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AnScreenService.java
  37. 255
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java
  38. 13
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnCommunityProjectProfileDao.xml
  39. 44
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsGovernMonthlyDao.xml
  40. 38
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsOrgMonthlyDao.xml
  41. 21
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmRankDao.xml
  42. 28
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.xml
  43. 36
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnCommunityProjectProfileFormDTO.java
  44. 62
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsGovernMonthlyFormDTO.java
  45. 51
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsOrgMonthlyFormDTO.java
  46. 71
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsPmRankFormDTO.java
  47. 57
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsPmTotalMonthlyFormDTO.java
  48. 2
      epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml
  49. 2
      epmet-module/data-statistical/data-statistical-server/pom.xml
  50. 99
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/AnScreenCollController.java
  51. 55
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnCommunityProjectProfileDao.java
  52. 60
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyDao.java
  53. 61
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyDao.java
  54. 56
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsPmRankDao.java
  55. 64
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyDao.java
  56. 66
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnCommunityProjectProfileEntity.java
  57. 107
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyEntity.java
  58. 96
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyEntity.java
  59. 101
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsPmRankEntity.java
  60. 101
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyEntity.java
  61. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/FactIndexCollectServiceImpl.java
  62. 59
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/AnScreenCollService.java
  63. 191
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/AnScreenCollServiceImpl.java
  64. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java
  65. 46
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnCommunityProjectProfileDao.xml
  66. 63
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyDao.xml
  67. 60
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyDao.xml
  68. 59
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsPmRankDao.xml
  69. 61
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyDao.xml
  70. 2
      epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml
  71. 2
      epmet-module/epmet-common-service/common-service-server/pom.xml
  72. 2
      epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml
  73. 6
      epmet-module/epmet-ext/epmet-ext-server/pom.xml
  74. 11
      epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java
  75. 3
      epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpUserController.java
  76. 16
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/resi/ResiActDetailResultDTO.java
  77. 2
      epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-prod.yml
  78. 2
      epmet-module/epmet-heart/epmet-heart-server/pom.xml
  79. 15
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java
  80. 2
      epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-prod.yml
  81. 2
      epmet-module/epmet-job/epmet-job-server/pom.xml
  82. 2
      epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-prod.yml
  83. 2
      epmet-module/epmet-point/epmet-point-server/pom.xml
  84. 2
      epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml
  85. 2
      epmet-module/epmet-third/epmet-third-server/pom.xml
  86. 2
      epmet-module/gov-org/gov-org-server/deploy/docker-compose-prod.yml
  87. 2
      epmet-module/gov-org/gov-org-server/pom.xml
  88. 2
      epmet-module/gov-project/gov-project-server/deploy/docker-compose-prod.yml
  89. 2
      epmet-module/gov-project/gov-project-server/pom.xml
  90. 2
      epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-prod.yml
  91. 2
      epmet-module/oper-customize/oper-customize-server/pom.xml
  92. 2
      epmet-module/resi-group/resi-group-server/deploy/docker-compose-prod.yml
  93. 2
      epmet-module/resi-group/resi-group-server/pom.xml
  94. 1
      epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.3__topic.sql
  95. 2
      epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-prod.yml
  96. 2
      epmet-module/resi-mine/resi-mine-server/pom.xml
  97. 2
      epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-prod.yml
  98. 2
      epmet-module/resi-partymember/resi-partymember-server/pom.xml
  99. 18
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GovStaffRoleFormDTO.java
  100. 2
      epmet-user/epmet-user-server/deploy/docker-compose-prod.yml

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.69
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-auth:0.3.70
ports:
- "8081:8081"
network_mode: host # 使用现有网络

2
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.69</version>
<version>0.3.70</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>

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.33
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:0.3.39
ports:
- "8080:8080"
network_mode: host # 使用现有网络

2
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.35</version>
<version>0.3.39</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>

30
epmet-gateway/src/main/java/com/epmet/auth/ExternalAuthProcessor.java

@ -4,13 +4,16 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.filter.CpProperty;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.http.HttpHeaders;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.util.AntPathMatcher;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
@ -41,9 +44,30 @@ public class ExternalAuthProcessor extends AuthProcessor {
@Autowired
private ExtAppMD5AuthProcessor md5AuthProcessor;
private final AntPathMatcher antPathMatcher = new AntPathMatcher();
@Autowired
private CpProperty cpProperty;
@Override
public Mono<Void> auth(ServerWebExchange exchange, GatewayFilterChain chain) {
HttpHeaders headers = exchange.getRequest().getHeaders();
ServerHttpRequest request = exchange.getRequest();
// 只有在外部应用urls中的url才会允许外部应用访问,否则不允许访问
String requestUri = request.getPath().pathWithinApplication().value();
boolean inPaths = false;
for (String url : cpProperty.getExternalOpenUrls()) {
if (antPathMatcher.match(url, requestUri)) {
inPaths = true;
}
}
if (!inPaths) {
throw new RenException(EpmetErrorCode.ERR401.getCode(), "所请求的url并未对外部应用开放");
}
HttpHeaders headers = request.getHeaders();
String token = headers.getFirst(ACCESS_TOKEN_HEADER_KEY);
String appId = headers.getFirst(APP_ID_HEADER_KEY);
@ -52,7 +76,7 @@ public class ExternalAuthProcessor extends AuthProcessor {
String authType = headers.getFirst(APP_ID_AUTY_TYPE_KEY);
if (StringUtils.isAnyBlank(token, appId)) {
throw new RenException("请求头中的AccessToken和AppId不能为空");
throw new RenException(EpmetErrorCode.ERR401.getCode(), "请求头中的AccessToken和AppId不能为空");
}
logger.info("外部应用请求认证拦截Aspect执行,appId:{}, token:{}, ts:{}, customerId:{}, authType:{}",
@ -65,7 +89,7 @@ public class ExternalAuthProcessor extends AuthProcessor {
} else if (APP_AUTH_TYPE_MD5.equals(authType)) {
md5AuthProcessor.auth(appId, token, StringUtils.isNotBlank(ts) ? new Long(ts) : null, exchange);
} else {
throw new RenException(EpmetErrorCode.OPER_EXTERNAL_APP_AUTH_ERROR.getCode(), "未知的认证类型");
throw new RenException(EpmetErrorCode.OPER_EXTERNAL_APP_AUTH_ERROR.getCode(), "未知的外部认证类型");
}
} catch (RenException e) {
return response(exchange, new Result<>().error(e.getCode(), e.getMsg()));

39
epmet-gateway/src/main/java/com/epmet/auth/InternalAuthProcessor.java

@ -9,6 +9,7 @@ import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.CpUserDetailRedis;
import com.epmet.commons.tools.utils.Result;
import com.epmet.filter.CpProperty;
import com.epmet.jwt.JwtTokenUtils;
import io.jsonwebtoken.Claims;
import org.apache.commons.lang3.StringUtils;
@ -19,6 +20,7 @@ import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.http.HttpHeaders;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Component;
import org.springframework.util.AntPathMatcher;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
@ -36,6 +38,11 @@ public class InternalAuthProcessor extends AuthProcessor {
@Autowired
private CpUserDetailRedis cpUserDetailRedis;
private final AntPathMatcher antPathMatcher = new AntPathMatcher();
@Autowired
private CpProperty cpProperty;
@Override
public Mono<Void> auth(ServerWebExchange exchange, GatewayFilterChain chain) {
ServerHttpRequest request = exchange.getRequest();
@ -82,14 +89,16 @@ public class InternalAuthProcessor extends AuthProcessor {
}
}
// 校验token
if (StringUtils.isBlank(token)) {
return response(exchange,new Result<>().error(EpmetErrorCode.ERR10005.getCode(),EpmetErrorCode.ERR10005.getMsg()));
}
try {
validateTokenDto(baseTokenDto, token);
} catch (RenException e) {
return response(exchange,new Result<>().error(e.getCode(),e.getMsg()));
if (needAuth(requestUri)) {
// 校验token
if (StringUtils.isBlank(token)) {
return response(exchange, new Result<>().error(EpmetErrorCode.ERR10005.getCode(), EpmetErrorCode.ERR10005.getMsg()));
}
try {
validateTokenDto(baseTokenDto, token);
} catch (RenException e) {
return response(exchange, new Result<>().error(e.getCode(), e.getMsg()));
}
}
// 添加header
@ -116,6 +125,20 @@ public class InternalAuthProcessor extends AuthProcessor {
return chain.filter(exchange);
}
/**
* 是否需要认证
* @param requestUri
* @return
*/
private boolean needAuth(String requestUri) {
for (String url : cpProperty.getInternalAuthUrls()) {
if (antPathMatcher.match(url, requestUri)) {
return true;
}
}
return false;
}
/**
* 从请求中获取token
* @param request

8
epmet-gateway/src/main/java/com/epmet/constant/AuthTypeConstant.java

@ -0,0 +1,8 @@
package com.epmet.constant;
public class AuthTypeConstant {
public static final String AUTH_TYPE_INTERNAL = "internal";
public static final String AUTH_TYPE_EXTERNAL = "external";
public static final String AUTH_TYPE_NO_NEED = "no_need";
public static final String AUTH_TYPE_UNKNOW = "unknow";
}

6
epmet-gateway/src/main/java/com/epmet/constant/TokenHeaderKeyConstant.java

@ -0,0 +1,6 @@
package com.epmet.constant;
public class TokenHeaderKeyConstant {
public static final String ACCESS_TOKEN_HEADER_KEY = "AccessToken";
public static final String AUTHORIZATION_TOKEN_HEADER_KEY = "Authorization";
}

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

@ -7,7 +7,10 @@ import com.epmet.auth.InternalAuthProcessor;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.AuthTypeConstant;
import com.epmet.constant.TokenHeaderKeyConstant;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -40,16 +43,6 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
private Logger logger = LoggerFactory.getLogger(getClass());
private final AntPathMatcher antPathMatcher = new AntPathMatcher();
public static final String AUTH_TYPE_INTERNAL = "internal";
public static final String AUTH_TYPE_EXTERNAL = "external";
public static final String AUTH_TYPE_NO_NEED = "no_need";
public static final String AUTH_TYPE_UNKNOW = "unknow";
@Autowired
private CpProperty cpProperty;
@Autowired
private InternalAuthProcessor internalAuthProcessor;
@ -79,16 +72,17 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
String authType = getAuthType(request);
switch (authType) {
case AUTH_TYPE_EXTERNAL:
return externalAuthProcessor.auth(exchange, chain);
case AUTH_TYPE_INTERNAL:
return internalAuthProcessor.auth(exchange, chain);
case AUTH_TYPE_NO_NEED:
break;
default:
return response(exchange, new Result<>().error(EpmetErrorCode.ERR401.getCode(),
EpmetErrorCode.ERR401.getMsg()));
try {
switch (authType) {
case AuthTypeConstant.AUTH_TYPE_EXTERNAL:
return externalAuthProcessor.auth(exchange, chain);
case AuthTypeConstant.AUTH_TYPE_INTERNAL:
return internalAuthProcessor.auth(exchange, chain);
}
} catch (RenException e) {
return response(exchange, new Result<>().error(e.getCode(), e.getMessage()));
} catch (Exception e) {
return response(exchange, new Result<>().error(e.getMessage()));
}
return chain.filter(exchange);
@ -100,40 +94,23 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
* @return
*/
private String getAuthType(ServerHttpRequest request) {
String requestUri = request.getPath().pathWithinApplication().value();
boolean existsInInternal = false;
boolean existsInExternal = false;
for (String url : cpProperty.getInternalAuthUrls()) {
if (antPathMatcher.match(url, requestUri)) {
existsInInternal = true;
}
}
for (String url : cpProperty.getExternalAuthUrls()) {
if (antPathMatcher.match(url, requestUri)) {
existsInExternal = true;
}
}
if (!existsInInternal && !existsInExternal) {
// 既不再内部认证url,也不在外部认证url,那么不需要认证
return AUTH_TYPE_NO_NEED;
}
// 内部认证
if (StringUtils.isNotBlank(getHeader(request, Constant.AUTHORIZATION_HEADER))
&& existsInInternal) {
return AUTH_TYPE_INTERNAL;
}
if (StringUtils.isNotBlank(getHeader(request, Constant.ACCESS_TOKEN_HEADER))
&& existsInExternal) {
return AUTH_TYPE_EXTERNAL;
//String requestUri = request.getPath().pathWithinApplication().value();
// 是否在外部认证列表中(外部认证列表中的url,是对外部应用开放的,只有在这个列表中的url才对外部应用开放)
//boolean inExtAuthPaths = false;
//
//for (String url : cpProperty.getExternalAuthUrls()) {
// if (antPathMatcher.match(url, requestUri)) {
// inExtAuthPaths = true;
// }
//}
if (StringUtils.isNotBlank(request.getHeaders().getFirst(TokenHeaderKeyConstant.ACCESS_TOKEN_HEADER_KEY))) {
// url对外部应用开放,并且头里面有AccessToken,那么走外部应用认证
return AuthTypeConstant.AUTH_TYPE_EXTERNAL;
}
return AUTH_TYPE_UNKNOW;
return AuthTypeConstant.AUTH_TYPE_INTERNAL;
}
/**

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

@ -23,9 +23,9 @@ public class CpProperty {
private List<String> internalAuthUrls;
/**
* 需要外部认证的url
* 对外部应用开放的url列表
*/
private List<String> externalAuthUrls;
private List<String> externalOpenUrls;
/**
* 不处理token直接通过

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

@ -439,9 +439,10 @@ epmet:
- /data/report/**
# 外部应用认证,使用AccessToken等头进行认证
externalAuthUrls:
externalOpenUrls:
- /data/report/**
- /data/stats/**
- /epmet/ext/**
- /epmetuser/customerstaff/customerlist
swaggerUrls:

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

@ -0,0 +1,31 @@
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;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:47
*/
@Data
public class AnScreenFormDTO implements Serializable {
private static final long serialVersionUID = 5402826635847080766L;
public interface AnScreenGroup extends CustomerClientShowGroup {}
/**
* 组织ID
*/
@NotBlank(message = "机关Id不能为空", groups = AnScreenGroup.class)
private String agencyId;
/**
* 月份ID
*/
@NotBlank(message = "月份Id不能为空", groups = AnScreenGroup.class)
private String monthId;
}

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

@ -0,0 +1,28 @@
package com.epmet.evaluationindex.screen.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:47
*/
@Data
public class AnScreenRankFormDTO implements Serializable {
private static final long serialVersionUID = -766779327034367216L;
public interface AnScreenRankGroup extends CustomerClientShowGroup {}
/**
* 组织ID
*/
@NotBlank(message = "机关Id不能为空", groups = AnScreenRankFormDTO.AnScreenRankGroup.class)
private String agencyId;
@NotNull(message = "top值不能为空", groups = AnScreenRankFormDTO.AnScreenRankGroup.class)
private Integer topNum;
}

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

@ -0,0 +1,25 @@
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;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:48
*/
@Data
public class AnScreenTrendFormDTO implements Serializable {
private static final long serialVersionUID = -766779327034367216L;
public interface AnScreenTrendGroup extends CustomerClientShowGroup {}
/**
* 组织ID
*/
@NotBlank(message = "机关Id不能为空", groups = AnScreenTrendFormDTO.AnScreenTrendGroup.class)
private String agencyId;
}

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

@ -0,0 +1,42 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 09基层治理-治理排行
* @date 2020/10/9 10:54
*/
@NoArgsConstructor
@Data
public class GrassRootsGovernRankResultDTO implements Serializable {
private static final long serialVersionUID = 5175488557393182160L;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 响应度
*/
private String projectResponseRatio;
/**
* 满意度
*/
private String projectSatisRatio;
/**
* 办结率 当前界面在社区时才显示
*/
private String closedProjectRatio;
/**
* 组织名称
*/
private String orgName;
}

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

@ -0,0 +1,38 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 07基层治理-总数
* @date 2020/10/9 10:36
*/
@NoArgsConstructor
@Data
public class GrassRootsGovernResultDTO implements Serializable {
private static final long serialVersionUID = 3455494963816549169L;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 项目响应度
*/
private String projectResponseRatio;
/**
* 项目满意率
*/
private String projectSatisRatio;
/**
* 办结率当前界面是社区时显示
*/
private String closedProjectRatio;
}

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

@ -0,0 +1,42 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 15:08
*/
@NoArgsConstructor
@Data
public class GrassRootsGovernTrendDTO implements Serializable {
private static final long serialVersionUID = 4977117178308139861L;
/**
* 月份
*/
private String monthId;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 项目响应度
*/
private BigDecimal projectResponseRatio;
/**
* 项目满意率
*/
private BigDecimal projectSatisRatio;
/**
* 办结率当前界面是社区时显示
*/
private BigDecimal closedProjectRatio;
}

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

@ -0,0 +1,44 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription 08基层治理-指标月度趋势
* @date 2020/10/9 10:48
*/
@NoArgsConstructor
@Data
public class GrassRootsGovernTrendResultDTO implements Serializable {
private static final long serialVersionUID = 5640652259031475809L;
/**
* 横坐标集合
*/
private List<String> xAxis;
/**
* 参与项目数
*/
private List<Integer> partiProjectTotalList;
/**
* 办结项目数
*/
private List<Integer> closedProjectTotalList;
/**
* 项目响应度
*/
private List<BigDecimal> projectResponseRatioList;
/**
* 项目满意率
*/
private List<BigDecimal> projectSatisRatioList;
/**
* 办结率当前界面是社区时显示
*/
private List<BigDecimal> closedProjectRatioList;
}

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

@ -0,0 +1,34 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 06基层组织-组织排行榜单
* @date 2020/10/9 10:32
*/
@NoArgsConstructor
@Data
public class GrassRootsOrgRankResultDTO implements Serializable {
private static final long serialVersionUID = 3573854743057339033L;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
/**
* 组织名称
*/
private String orgName;
}

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

@ -0,0 +1,30 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 04基层组织-党群数议题数项目数
* @date 2020/10/9 10:22
*/
@NoArgsConstructor
@Data
public class GrassRootsOrgResultDTO implements Serializable {
private static final long serialVersionUID = 6623022965863266247L;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
}

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

@ -0,0 +1,33 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 15:10
*/
@NoArgsConstructor
@Data
public class GrassRootsOrgTrendDTO implements Serializable {
private static final long serialVersionUID = 6172847581584903056L;
/**
* 月份
*/
private String monthId;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
}

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

@ -0,0 +1,34 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription 05基层组织-指标月度趋势
* @date 2020/10/9 10:25
*/
@NoArgsConstructor
@Data
public class GrassRootsOrgTrendResultDTO implements Serializable {
private static final long serialVersionUID = -6911028881641915610L;
/**
* 横坐标集合
*/
private List<String> xAxis;
/**
* 党群数
*/
private List<Integer> groupTotalList;
/**
* 议题数
*/
private List<Integer> issueTotalList;
/**
* 项目数
*/
private List<Integer> projectTotal;
}

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

@ -0,0 +1,50 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 03基层党员-党员排行榜单
* @date 2020/10/9 10:12
*/
@NoArgsConstructor
@Data
public class PmRankResultDTO implements Serializable {
private static final long serialVersionUID = 2939125411579816231L;
/**
* 用户ID
*/
private String userId;
/**
* 姓名
*/
private String userName;
/**
* 所属支部名称
*/
private String branchName;
/**
* 所属社区名称
*/
private String communityName;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 参与人次
*/
private Integer partiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

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

@ -0,0 +1,34 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 01基层党员-各类总数
* @date 2020/10/9 10:04
*/
@NoArgsConstructor
@Data
public class PmTotalResultDTO implements Serializable {
private static final long serialVersionUID = 4317234373580733128L;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 话题参与人次
*/
private Integer topicPartiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

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

@ -0,0 +1,35 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 15:05
*/
@Data
public class PmTotalTrendDTO implements Serializable {
private static final long serialVersionUID = -6773118646805355171L;
/**
* 月份
*/
private String monthId;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 话题参与人次
*/
private Integer topicPartiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

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

@ -0,0 +1,39 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription 02基层党员-指标月度趋势
* @date 2020/10/9 10:06
*/
@NoArgsConstructor
@Data
public class PmTotalTrendResultDTO implements Serializable {
private static final long serialVersionUID = -5705077703115309896L;
/**
* 横坐标集合
*/
private List<String> xAxis;
/**
* 群成员数
*/
private List<Integer> groupMemberTotalList;
/**
* 话题数
*/
private List<Integer> topicTotalList;
/**
* 话题参与人次
*/
private List<Integer> topicPartiUserTotalList;
/**
* 议题数
*/
private List<Integer> issueTotalList;
}

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

@ -0,0 +1,30 @@
package com.epmet.evaluationindex.screen.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription 10项目
* @date 2020/10/9 10:57
*/
@NoArgsConstructor
@Data
public class ProjectProfileResultDTO implements Serializable {
private static final long serialVersionUID = -6525050844558886157L;
/**
* 组织id
*/
private String orgId;
/**
* 项目数量
*/
private Integer projectTotal;
/**
* 级别
*/
private String level;
}

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

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

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

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.37</version>
<version>0.3.44</version>
<artifactId>data-report-server</artifactId>
<parent>

175
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/AnScreenController.java

@ -0,0 +1,175 @@
package com.epmet.datareport.controller.screen;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.datareport.service.evaluationindex.screen.AnScreenService;
import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenTrendFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 安宁大屏
*
* @author zhaoqifeng
* @date 2020/10/9 9:32
*/
@RestController
@RequestMapping("anscreen")
public class AnScreenController {
@Autowired
private AnScreenService anScreenService;
/**
* 基层党员-各类总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:55
*/
@PostMapping("pmtotal")
public Result<PmTotalResultDTO> pmTotal(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
PmTotalResultDTO result = anScreenService.pmTotal(formDTO);
return new Result<PmTotalResultDTO>().ok(result);
}
/**
* 基层党员-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:57
*/
@PostMapping("pmtotaltrend")
public Result<PmTotalTrendResultDTO> pmTotalTrend(@RequestBody AnScreenTrendFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenTrendFormDTO.AnScreenTrendGroup.class);
PmTotalTrendResultDTO result = anScreenService.pmTotalTrend(formDTO);
return new Result<PmTotalTrendResultDTO>().ok(result);
}
/**
* 基层党员-党员排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 13:59
*/
@PostMapping("pmrank")
public Result<List<PmRankResultDTO>> pmRank(@RequestBody AnScreenRankFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenRankFormDTO.AnScreenRankGroup.class);
List<PmRankResultDTO> result = anScreenService.pmRank(formDTO);
return new Result<List<PmRankResultDTO>>().ok(result);
}
/**
* 基层组织-党群数议题数项目数
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:01
*/
@PostMapping("grassrootsorg")
public Result<GrassRootsOrgResultDTO> grassRootsOrg(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
GrassRootsOrgResultDTO result = anScreenService.grassRootsOrg(formDTO);
return new Result<GrassRootsOrgResultDTO>().ok(result);
}
/**
* 基层组织-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:03
*/
@PostMapping("grassrootsorgtrend")
public Result<GrassRootsOrgTrendResultDTO> grassRootsOrgTrend(@RequestBody AnScreenTrendFormDTO formDTO) {
GrassRootsOrgTrendResultDTO result = anScreenService.grassRootsOrgTrend(formDTO);
return new Result<GrassRootsOrgTrendResultDTO>().ok(result);
}
/**
* 基层组织-组织排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:06
*/
@PostMapping("grassrootsorgrank")
public Result<List<GrassRootsOrgRankResultDTO>> grassRootsOrgRank(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
List<GrassRootsOrgRankResultDTO> result = anScreenService.grassRootsOrgRank(formDTO);
return new Result<List<GrassRootsOrgRankResultDTO>>().ok(result);
}
/**
* 基层治理-总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:10
*/
@PostMapping("grassrootsgovern")
public Result<GrassRootsGovernResultDTO> grassRootsGovern(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
GrassRootsGovernResultDTO result = anScreenService.grassRootsGovern(formDTO);
return new Result<GrassRootsGovernResultDTO>().ok(result);
}
/**
* 基层治理-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:11
*/
@PostMapping("grassrootsgoverntrend")
public Result<GrassRootsGovernTrendResultDTO> grassRootsGovernTrend(@RequestBody AnScreenTrendFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenTrendFormDTO.AnScreenTrendGroup.class);
GrassRootsGovernTrendResultDTO result = anScreenService.grassRootsGovernTrend(formDTO);
return new Result<GrassRootsGovernTrendResultDTO>().ok(result);
}
/**
* 基层治理-治理排行
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:13
*/
@PostMapping("grassrootsgovernrank")
public Result<List<GrassRootsGovernRankResultDTO>> grassRootsGovernRank(@RequestBody AnScreenFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AnScreenFormDTO.AnScreenGroup.class);
List<GrassRootsGovernRankResultDTO> result = anScreenService.grassRootsGovernRank(formDTO);
return new Result<List<GrassRootsGovernRankResultDTO>>().ok(result);
}
/**
* 项目
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:16
*/
@PostMapping("projectprofile")
public Result<List<ProjectProfileResultDTO>> projectProfile(@RequestHeader("CustomerId") String customerId) {
List<ProjectProfileResultDTO> result = anScreenService.projectProfile(customerId);
return new Result<List<ProjectProfileResultDTO>>().ok(result);
}
}

43
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnCommunityProjectProfileDao.java

@ -0,0 +1,43 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-社区-项目概况数量颜色
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnCommunityProjectProfileDao {
/**
* 项目
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 17:17
*/
List<ProjectProfileResultDTO> selectProjectProfile(@Param("customerId") String customerId);
}

69
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsGovernMonthlyDao.java

@ -0,0 +1,69 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层治理-各类数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsGovernMonthlyDao {
/**
* 基层治理-总数
*
* @param agencyId
* @param monthId
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO
* @author zhaoqifeng
* @date 2020/10/9 16:48
*/
GrassRootsGovernResultDTO selectGrassRootsGovern(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
/**
* 基层治理-指标月度趋势
*
* @param agencyId
* @param yearId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendDTO>
* @author zhaoqifeng
* @date 2020/10/9 16:49
*/
List<GrassRootsGovernTrendDTO> selectGrassRootsGovernTrend(@Param("agencyId") String agencyId, @Param("yearId") String yearId);
/**
* 基层治理-治理排行
*
* @param agencyId
* @param monthId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 16:49
*/
List<GrassRootsGovernRankResultDTO> selectGrassRootsGovernRank(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
}

70
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsOrgMonthlyDao.java

@ -0,0 +1,70 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO;
import com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层组织(党群数|议题数|项目数)-按月
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsOrgMonthlyDao {
/**
* 基层组织-党群数议题数项目数
*
* @param agencyId
* @param monthId
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO
* @author zhaoqifeng
* @date 2020/10/9 16:25
*/
GrassRootsOrgResultDTO selectGrassRootsOrg(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
/**
* 基层组织-指标月度趋势
*
* @param agencyId
* @param yearId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendDTO>
* @author zhaoqifeng
* @date 2020/10/9 16:32
*/
List<GrassRootsOrgTrendDTO> selectGrassRootsOrgTrend(@Param("agencyId") String agencyId, @Param("yearId") String yearId);
/**
* 基层组织-组织排行榜单
*
* @param agencyId
* @param monthId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 16:36
*/
List<GrassRootsOrgRankResultDTO> selectGrassRootsOrgRank(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
}

45
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmRankDao.java

@ -0,0 +1,45 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层党员-排行榜单
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsPmRankDao {
/**
* 基层党员-党员排行榜单
*
* @param agencyId
* @param topNum
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 15:43
*/
List<PmRankResultDTO> selectPmRank(@Param("agencyId") String agencyId, @Param("topNum") Integer topNum);
}

59
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.java

@ -0,0 +1,59 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.datareport.dao.evaluationindex.screenan;
import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO;
import com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO;
import com.epmet.evaluationindex.screen.dto.result.PmTotalTrendDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层党员-各类总数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsPmTotalMonthlyDao {
/**
* 基层党员-各类总数
*
* @param agencyId
* @param monthId
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO
* @author zhaoqifeng
* @date 2020/10/9 15:14
*/
PmTotalResultDTO selectPmTotal(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
/**
* 基层党员-指标月度趋势
*
* @param agencyId
* @param yearId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmTotalTrendDTO>
* @author zhaoqifeng
* @date 2020/10/9 15:12
*/
List<PmTotalTrendDTO> selectPmTotalTrend(@Param("agencyId") String agencyId, @Param("yearId") String yearId);
}

115
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AnScreenService.java

@ -0,0 +1,115 @@
package com.epmet.datareport.service.evaluationindex.screen;
import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenTrendFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:34
*/
public interface AnScreenService {
/**
* 基层党员-各类总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:55
*/
PmTotalResultDTO pmTotal(AnScreenFormDTO formDTO);
/**
* 基层党员-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:57
*/
PmTotalTrendResultDTO pmTotalTrend(AnScreenTrendFormDTO formDTO);
/**
* 基层党员-党员排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 13:59
*/
List<PmRankResultDTO> pmRank(AnScreenRankFormDTO formDTO);
/**
* 基层组织-党群数议题数项目数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:01
*/
GrassRootsOrgResultDTO grassRootsOrg(AnScreenFormDTO formDTO);
/**
* 基层组织-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:03
*/
GrassRootsOrgTrendResultDTO grassRootsOrgTrend(AnScreenTrendFormDTO formDTO);
/**
* 基层组织-组织排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:06
*/
List<GrassRootsOrgRankResultDTO> grassRootsOrgRank(AnScreenFormDTO formDTO);
/**
* 基层治理-总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:10
*/
GrassRootsGovernResultDTO grassRootsGovern(AnScreenFormDTO formDTO);
/**
* 基层治理-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:11
*/
GrassRootsGovernTrendResultDTO grassRootsGovernTrend(AnScreenTrendFormDTO formDTO);
/**
* 基层治理-治理排行
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:13
*/
List<GrassRootsGovernRankResultDTO> grassRootsGovernRank(AnScreenFormDTO formDTO);
/**
* 项目
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:16
*/
List<ProjectProfileResultDTO> projectProfile(String customerId);
}

255
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java

@ -0,0 +1,255 @@
package com.epmet.datareport.service.evaluationindex.screen.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.datareport.dao.evaluationindex.screenan.*;
import com.epmet.datareport.service.evaluationindex.screen.AnScreenService;
import com.epmet.evaluationindex.screen.dto.form.AnScreenFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenRankFormDTO;
import com.epmet.evaluationindex.screen.dto.form.AnScreenTrendFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/10/9 9:35
*/
@Service
@DataSource(DataSourceConstant.EVALUATION_INDEX)
public class AnScreenServiceImpl implements AnScreenService {
@Autowired
private ScreenAnGrassRootsPmTotalMonthlyDao screenAnGrassRootsPmTotalMonthlyDao;
@Autowired
private ScreenAnGrassRootsPmRankDao screenAnGrassRootsPmRankDao;
@Autowired
private ScreenAnGrassRootsOrgMonthlyDao screenAnGrassRootsOrgMonthlyDao;
@Autowired
private ScreenAnGrassRootsGovernMonthlyDao screenAnGrassRootsGovernMonthlyDao;
@Autowired
private ScreenAnCommunityProjectProfileDao screenAnCommunityProjectProfileDao;
/**
* 基层党员-各类总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:55
*/
@Override
public PmTotalResultDTO pmTotal(AnScreenFormDTO formDTO) {
return screenAnGrassRootsPmTotalMonthlyDao.selectPmTotal(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 基层党员-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.PmTotalTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 13:57
*/
@Override
public PmTotalTrendResultDTO pmTotalTrend(AnScreenTrendFormDTO formDTO) {
PmTotalTrendResultDTO resultDTO = new PmTotalTrendResultDTO();
String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY);
List<PmTotalTrendDTO> list = screenAnGrassRootsPmTotalMonthlyDao.selectPmTotalTrend(formDTO.getAgencyId(), yearId);
List<String> xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList());
List<Integer> groupMemberTotalList = list.stream().map(PmTotalTrendDTO::getGroupMemberTotal).collect(Collectors.toList());
List<Integer> topicTotalList = list.stream().map(PmTotalTrendDTO::getTopicTotal).collect(Collectors.toList());
List<Integer> topicPartiUserTotalList = list.stream().map(PmTotalTrendDTO::getTopicPartiUserTotal).collect(Collectors.toList());
List<Integer> issueTotalList = list.stream().map(PmTotalTrendDTO::getIssueTotal).collect(Collectors.toList());
resultDTO.setXAxis(xAxis);
resultDTO.setGroupMemberTotalList(groupMemberTotalList);
resultDTO.setTopicTotalList(topicTotalList);
resultDTO.setTopicPartiUserTotalList(topicPartiUserTotalList);
resultDTO.setIssueTotalList(issueTotalList);
return resultDTO;
}
/**
* 基层党员-党员排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 13:59
*/
@Override
public List<PmRankResultDTO> pmRank(AnScreenRankFormDTO formDTO) {
return screenAnGrassRootsPmRankDao.selectPmRank(formDTO.getAgencyId(), formDTO.getTopNum());
}
/**
* 基层组织-党群数议题数项目数
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:01
*/
@Override
public GrassRootsOrgResultDTO grassRootsOrg(AnScreenFormDTO formDTO) {
return screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrg(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 基层组织-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:03
*/
@Override
public GrassRootsOrgTrendResultDTO grassRootsOrgTrend(AnScreenTrendFormDTO formDTO) {
GrassRootsOrgTrendResultDTO resultDTO = new GrassRootsOrgTrendResultDTO();
String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY);
List<GrassRootsOrgTrendDTO> list = screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrgTrend(formDTO.getAgencyId(), yearId);
List<String> xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList());
List<Integer> groupTotalList = list.stream().map(GrassRootsOrgTrendDTO::getGroupTotal).collect(Collectors.toList());
List<Integer> issueTotalList = list.stream().map(GrassRootsOrgTrendDTO::getIssueTotal).collect(Collectors.toList());
List<Integer> projectTotal = list.stream().map(GrassRootsOrgTrendDTO::getProjectTotal).collect(Collectors.toList());
resultDTO.setXAxis(xAxis);
resultDTO.setGroupTotalList(groupTotalList);
resultDTO.setIssueTotalList(issueTotalList);
resultDTO.setProjectTotal(projectTotal);
return resultDTO;
}
/**
* 基层组织-组织排行榜单
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:06
*/
@Override
public List<GrassRootsOrgRankResultDTO> grassRootsOrgRank(AnScreenFormDTO formDTO) {
return screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrgRank(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 基层治理-总数
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:10
*/
@Override
public GrassRootsGovernResultDTO grassRootsGovern(AnScreenFormDTO formDTO) {
return screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovern(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 基层治理-指标月度趋势
*
* @param formDTO
* @return com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendResultDTO
* @author zhaoqifeng
* @date 2020/10/9 14:11
*/
@Override
public GrassRootsGovernTrendResultDTO grassRootsGovernTrend(AnScreenTrendFormDTO formDTO) {
GrassRootsGovernTrendResultDTO resultDTO = new GrassRootsGovernTrendResultDTO();
String yearId = DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYY);
List<GrassRootsGovernTrendDTO> list = screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovernTrend(formDTO.getAgencyId(), yearId);
List<String> xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList());
List<Integer> partiProjectTotalList = list.stream().map(GrassRootsGovernTrendDTO::getPartiProjectTotal).collect(Collectors.toList());
List<Integer> closedProjectTotalList = list.stream().map(GrassRootsGovernTrendDTO::getClosedProjectTotal).collect(Collectors.toList());
List<BigDecimal> projectResponseRatioList = list.stream().map(GrassRootsGovernTrendDTO::getProjectResponseRatio).collect(Collectors.toList());
List<BigDecimal> projectSatisRatioList = list.stream().map(GrassRootsGovernTrendDTO::getProjectSatisRatio).collect(Collectors.toList());
List<BigDecimal> closedProjectRatioList = list.stream().map(GrassRootsGovernTrendDTO::getClosedProjectRatio).collect(Collectors.toList());
resultDTO.setXAxis(xAxis);
resultDTO.setPartiProjectTotalList(partiProjectTotalList);
resultDTO.setClosedProjectTotalList(closedProjectTotalList);
resultDTO.setProjectResponseRatioList(projectResponseRatioList);
resultDTO.setProjectSatisRatioList(projectSatisRatioList);
resultDTO.setClosedProjectRatioList(closedProjectRatioList);
return resultDTO;
}
/**
* 基层治理-治理排行
*
* @param formDTO
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:13
*/
@Override
public List<GrassRootsGovernRankResultDTO> grassRootsGovernRank(AnScreenFormDTO formDTO) {
return screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovernRank(formDTO.getAgencyId(), formDTO.getMonthId());
}
/**
* 项目
*
* @param customerId
* @return java.util.List<com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO>
* @author zhaoqifeng
* @date 2020/10/9 14:16
*/
@Override
public List<ProjectProfileResultDTO> projectProfile(String customerId) {
return screenAnCommunityProjectProfileDao.selectProjectProfile(customerId);
}
private String getMonth(String monthId) {
String month = monthId.substring(NumConstant.FOUR, NumConstant.SIX);
String name = "";
switch (month) {
case "01":
name = "1月";
break;
case "02":
name = "2月";
break;
case "03":
name = "3月";
break;
case "04":
name = "4月";
break;
case "05":
name = "5月";
break;
case "06":
name = "6月";
break;
case "07":
name = "7月";
break;
case "08":
name = "8月";
break;
case "09":
name = "9月";
break;
case "10":
name = "10月";
break;
case "11":
name = "11月";
break;
case "12":
name = "12月";
break;
default:
break;
}
return name;
}
}

13
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnCommunityProjectProfileDao.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnCommunityProjectProfileDao">
<select id="selectProjectProfile" resultType="com.epmet.evaluationindex.screen.dto.result.ProjectProfileResultDTO">
SELECT ORG_ID,
PROJECT_TOTAL,
LEVEL
FROM screen_an_community_project_profile
WHERE DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
</select>
</mapper>

44
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsGovernMonthlyDao.xml

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnGrassRootsGovernMonthlyDao">
<select id="selectGrassRootsGovern" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernResultDTO">
SELECT PARTI_PROJECT_TOTAL,
CLOSED_PROJECT_TOTAL,
CONCAT( 0 + cast( TRUNCATE ( PROJECT_RESPONSE_RATIO, 1 ) AS CHAR ), '%' ) AS "projectResponseRatio",
CONCAT( 0 + cast( TRUNCATE ( PROJECT_SATIS_RATIO, 1 ) AS CHAR ), '%' ) AS "projectSatisRatio",
CONCAT( 0 + cast( TRUNCATE ( CLOSED_PROJECT_RATIO, 1 ) AS CHAR ), '%' ) AS "closedProjectRatio"
FROM screen_an_grass_roots_govern_monthly
WHERE DEL_FLAG = 0
AND ORG_ID = #{agencyId}
AND MONTH_ID = #{monthId}
</select>
<select id="selectGrassRootsGovernTrend" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernTrendDTO">
SELECT MONTH_ID,
PARTI_PROJECT_TOTAL,
CLOSED_PROJECT_TOTAL,
0 + cast( TRUNCATE ( PROJECT_RESPONSE_RATIO, 1 ) AS CHAR ) AS "projectResponseRatio",
0 + cast( TRUNCATE ( PROJECT_SATIS_RATIO, 1 ) AS CHAR ) AS "projectSatisRatio",
0 + cast( TRUNCATE ( CLOSED_PROJECT_RATIO, 1 ) AS CHAR ) AS "closedProjectRatio"
FROM screen_an_grass_roots_govern_monthly
WHERE DEL_FLAG = 0
AND ORG_ID = #{agencyId}
AND YEAR_ID = #{yearId}
ORDER BY MONTH_ID
</select>
<select id="selectGrassRootsGovernRank" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsGovernRankResultDTO">
SELECT ORG_NAME,
PARTI_PROJECT_TOTAL,
CLOSED_PROJECT_TOTAL,
CONCAT( 0 + cast( TRUNCATE ( PROJECT_RESPONSE_RATIO, 1 ) AS CHAR ), '%' ) AS "projectResponseRatio",
CONCAT( 0 + cast( TRUNCATE ( PROJECT_SATIS_RATIO, 1 ) AS CHAR ), '%' ) AS "projectSatisRatio",
CONCAT( 0 + cast( TRUNCATE ( CLOSED_PROJECT_RATIO, 1 ) AS CHAR ), '%' ) AS "closedProjectRatio"
FROM screen_an_grass_roots_govern_monthly
WHERE DEL_FLAG = 0
AND PID = #{agencyId}
AND MONTH_ID = #{monthId}
ORDER BY PARTI_PROJECT_TOTAL DESC
</select>
</mapper>

38
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsOrgMonthlyDao.xml

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnGrassRootsOrgMonthlyDao">
<!--基层组织-党群数、议题数、项目数-->
<select id="selectGrassRootsOrg" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgResultDTO">
SELECT GROUP_TOTAL,
ISSUE_TOTAL,
PROJECT_TOTAL
FROM screen_an_grass_roots_org_monthly
WHERE DEL_FLAG = 0
AND ORG_ID = #{agencyId}
AND MONTH_ID = #{monthId}
</select>
<select id="selectGrassRootsOrgTrend" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgTrendDTO">
SELECT MONTH_ID,
GROUP_TOTAL,
ISSUE_TOTAL,
PROJECT_TOTAL
FROM screen_an_grass_roots_org_monthly
WHERE DEL_FLAG = 0
AND ORG_ID = #{agencyId}
AND YEAR_ID = #{yearId}
ORDER BY MONTH_ID
</select>
<select id="selectGrassRootsOrgRank" resultType="com.epmet.evaluationindex.screen.dto.result.GrassRootsOrgRankResultDTO">
SELECT ORG_NAME,
GROUP_TOTAL,
ISSUE_TOTAL,
PROJECT_TOTAL
FROM screen_an_grass_roots_org_monthly
WHERE DEL_FLAG = 0
AND PID = #{agencyId}
AND MONTH_ID = #{monthId}
ORDER BY GROUP_TOTAL DESC
</select>
</mapper>

21
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmRankDao.xml

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnGrassRootsPmRankDao">
<!--基层党员-党员排行榜单-->
<select id="selectPmRank" resultType="com.epmet.evaluationindex.screen.dto.result.PmRankResultDTO">
SELECT USER_ID,
USER_NAME,
BRANCH_NAME,
COMMUNITY_NAME,
GROUP_MEMBER_TOTAL,
TOPIC_TOTAL,
PARTI_USER_TOTAL,
ISSUE_TOTAL
FROM screen_an_grass_roots_pm_rank
WHERE DEL_FLAG = 0
AND ALL_PARENT_IDS LIKE concat('%', trim(#{agencyId}), '%')
ORDER BY GROUP_MEMBER_TOTAL DESC
LIMIT #{topNum}
</select>
</mapper>

28
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.xml

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.datareport.dao.evaluationindex.screenan.ScreenAnGrassRootsPmTotalMonthlyDao">
<!--基层党员-各类总数-->
<select id="selectPmTotal" resultType="com.epmet.evaluationindex.screen.dto.result.PmTotalResultDTO">
SELECT GROUP_MEMBER_TOTAL,
TOPIC_TOTAL,
TOPIC_PARTI_USER_TOTAL,
ISSUE_TOTAL
FROM screen_an_grass_roots_pm_total_monthly
WHERE DEL_FLAG = '0'
AND ORG_ID = #{agencyId}
AND MONTH_ID = #{monthId}
</select>
<select id="selectPmTotalTrend" resultType="com.epmet.evaluationindex.screen.dto.result.PmTotalTrendDTO">
SELECT MONTH_ID,
GROUP_MEMBER_TOTAL,
TOPIC_TOTAL,
TOPIC_PARTI_USER_TOTAL,
ISSUE_TOTAL
FROM screen_an_grass_roots_pm_total_monthly
WHERE DEL_FLAG = '0'
AND ORG_ID = #{agencyId}
AND YEAR_ID = #{yearId}
ORDER BY MONTH_ID
</select>
</mapper>

36
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnCommunityProjectProfileFormDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
/**
* 安宁-社区-项目概况数量颜色
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnCommunityProjectProfileFormDTO implements Serializable {
private static final long serialVersionUID = 1466172677051250092L;
/**
* 数据更新至: yyyy|yyyyMM|yyyyMMdd项目根据实际情况赋值
*/
private String dataEndTime;
/**
* 社区id
*/
private String orgId;
/**
* 项目数
*/
private Integer projectTotal;
/**
* 等级
*/
private String level;
}

62
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsGovernMonthlyFormDTO.java

@ -0,0 +1,62 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 安宁-基层治理-各类数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnGrassRootsGovernMonthlyFormDTO implements Serializable {
private static final long serialVersionUID = -6947401956711903753L;
/**
* 网格街道或社区id
*/
private String orgId;
/**
* 网格街道名称或者社区名称
*/
private String orgName;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 项目响应度 存储的是%前面的数
*/
private BigDecimal projectResponseRatio;
/**
* 项目满意率存储的是%前面的数
*/
private BigDecimal projectSatisRatio;
/**
* 办结率 for 社区
*/
private BigDecimal closedProjectRatio;
}

51
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsOrgMonthlyFormDTO.java

@ -0,0 +1,51 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
/**
* 安宁-基层组织(党群数|议题数|项目数)-按月
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnGrassRootsOrgMonthlyFormDTO implements Serializable {
private static final long serialVersionUID = -7389300512268641307L;
/**
* 网格id或者组织(街道或社区)id
*/
private String orgId;
/**
* 组织名称OR网格名称
*/
private String orgName;
/**
* 网格grid; 组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
}

71
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsPmRankFormDTO.java

@ -0,0 +1,71 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
/**
* 安宁-基层党员-排行榜单
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnGrassRootsPmRankFormDTO implements Serializable {
private static final long serialVersionUID = 3642729389245262928L;
/**
* 用户id
*/
private String userId;
/**
* 姓名
*/
private String userName;
/**
* 所属支部id
*/
private String branchId;
/**
* 所属支部名称
*/
private String branchName;
/**
* 所属社区id
*/
private String communityId;
/**
* 所属社区名称
*/
private String communityName;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 参与人次
*/
private Integer partiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
}

57
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/AnGrassRootsPmTotalMonthlyFormDTO.java

@ -0,0 +1,57 @@
package com.epmet.dto.screencoll.form;
import lombok.Data;
import java.io.Serializable;
/**
* 安宁-基层党员-各类总数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
public class AnGrassRootsPmTotalMonthlyFormDTO implements Serializable {
private static final long serialVersionUID = 8675347783888892404L;
/**
* 网格id或者组织(街道或社区)id
*/
private String orgId;
/**
* 组织名称OR网格名称
*/
private String orgName;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 话题参与人次
*/
private Integer topicPartiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

2
epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml

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

2
epmet-module/data-statistical/data-statistical-server/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">
<version>0.3.49</version>
<version>0.3.62</version>
<parent>
<artifactId>data-statistical</artifactId>
<groupId>com.epmet</groupId>

99
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/AnScreenCollController.java

@ -0,0 +1,99 @@
package com.epmet.controller;
import com.epmet.commons.tools.exception.ValidateException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.screencoll.ScreenCollFormDTO;
import com.epmet.dto.screencoll.form.*;
import com.epmet.service.evaluationindex.screen.AnScreenCollService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Description 安宁数据采集接口
* @ClassName AnScreenCollController
* @Auth wangc
* @Date 2020-10-09 13:30
*/
@RestController
@RequestMapping("anscreencoll")
public class AnScreenCollController {
@Autowired
private AnScreenCollService screenCollService;
/**
* @Description 安宁大屏数据采集 - 基层党员-各类总数
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:20
*/
@PostMapping("pmtotal")
public Result pmTotal(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnGrassRootsPmTotalMonthlyFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.pmTotal(formDTO,customerId);
return new Result();
}
/**
* @Description 安宁大屏数据采集 - 基层党员-党员排行榜单
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:19
*/
@PostMapping("pmrank")
public Result pmRank(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnGrassRootsPmRankFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.pmRank(formDTO,customerId);
return new Result();
}
/**
* @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329498
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:22
*/
@PostMapping("grassrootsorg")
public Result grassrootsOrg(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnGrassRootsOrgMonthlyFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.grassrootsOrg(formDTO,customerId);
return new Result();
}
/**
* @Description 安宁大屏数据采集 - 基层治理-各类数
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329499
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:23
*/
@PostMapping("grassrootsgovern")
public Result grassrootsGovern(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnGrassRootsGovernMonthlyFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.grassrootsGovern(formDTO,customerId);
return new Result();
}
/**
* @Description 安宁大屏数据采集 - 中央区-项目概要
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 16:41
*/
@PostMapping("projectfile")
public Result projectFile(@RequestHeader("CustomerId") String customerId, @RequestBody ScreenCollFormDTO<AnCommunityProjectProfileFormDTO> formDTO){
if(StringUtils.isBlank(customerId)) throw new ValidateException("客户Id不能为空");
screenCollService.communityProjectProfile(formDTO,customerId);
return new Result();
}
}

55
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnCommunityProjectProfileDao.java

@ -0,0 +1,55 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnCommunityProjectProfileFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnCommunityProjectProfileEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-社区-项目概况数量颜色
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnCommunityProjectProfileDao extends BaseDao<ScreenAnCommunityProjectProfileEntity> {
/**
* @Description 批量删除
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 15:30
*/
int deleteBatch(@Param("customerId") String customerId);
/**
* @Description 批量写入
* @param list
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 15:30
*/
int insertBatch(@Param("list") List<AnCommunityProjectProfileFormDTO> list,@Param("customerId") String customerId);
}

60
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyDao.java

@ -0,0 +1,60 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnGrassRootsGovernMonthlyFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnGrassRootsGovernMonthlyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层治理-各类数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsGovernMonthlyDao extends BaseDao<ScreenAnGrassRootsGovernMonthlyEntity> {
/**
* @Description 批量删除
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 15:30
*/
int deleteBatch(@Param("customerId") String customerId, @Param("monthId") String monthId);
/**
* @Description 批量新增
* @param list
* @param customerId
* @param monthId
* @param quarterId
* @param yearId
* @return int
* @author wangc
* @date 2020.10.09 16:08
*/
int insertBatch(@Param("list") List<AnGrassRootsGovernMonthlyFormDTO> list,
@Param("customerId") String customerId, @Param("monthId") String monthId,
@Param("quarterId")String quarterId,@Param("yearId")String yearId);
}

61
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyDao.java

@ -0,0 +1,61 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnGrassRootsOrgMonthlyFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnGrassRootsOrgMonthlyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层组织(党群数|议题数|项目数)-按月
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsOrgMonthlyDao extends BaseDao<ScreenAnGrassRootsOrgMonthlyEntity> {
/**
* @Description 批量删除
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 15:30
*/
int deleteBatch(@Param("customerId") String customerId, @Param("monthId") String monthId);
/**
* @Description 批量新增
* @param list
* @param customerId
* @param monthId
* @param quarterId
* @param yearId
* @return int
* @author wangc
* @date 2020.10.09 16:07
*/
int insertBatch(@Param("list") List<AnGrassRootsOrgMonthlyFormDTO> list,
@Param("customerId") String customerId, @Param("monthId") String monthId,
@Param("quarterId")String quarterId,@Param("yearId")String yearId);
}

56
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsPmRankDao.java

@ -0,0 +1,56 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnGrassRootsPmRankFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnGrassRootsPmRankEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层党员-排行榜单
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsPmRankDao extends BaseDao<ScreenAnGrassRootsPmRankEntity> {
/***
* @Description 批量删除
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 16:07
*/
int deleteBatch(@Param("customerId") String customerId);
/**
* @Description 批量新增
* @param list
* @param customerId
* @return int
* @author wangc
* @date 2020.10.09 16:10
*/
int insertBatch(@Param("list") List<AnGrassRootsPmRankFormDTO> list,@Param("customerId") String customerId);
}

64
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyDao.java

@ -0,0 +1,64 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.AnGrassRootsPmTotalMonthlyFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenAnGrassRootsPmTotalMonthlyEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 安宁-基层党员-各类总数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Mapper
public interface ScreenAnGrassRootsPmTotalMonthlyDao extends BaseDao<ScreenAnGrassRootsPmTotalMonthlyEntity> {
/**
* @Description 批量删除
* @param customerId
* @param monthId
* @return int
* @author wangc
* @date 2020.10.09 16:25
*/
int deleteBatch(@Param("customerId")String customerId,@Param("monthId")String monthId);
/**
* @Description 批量新增
* @param list
* @param customerId
* @param monthId
* @param quarterId
* @param yearId
* @return int
* @author wangc
* @date 2020.10.09 16:35
*/
int insertBatch(@Param("list") List<AnGrassRootsPmTotalMonthlyFormDTO> list,
@Param("customerId")String customerId,
@Param("monthId")String monthId,
@Param("quarterId")String quarterId,
@Param("yearId")String yearId);
}

66
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnCommunityProjectProfileEntity.java

@ -0,0 +1,66 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 安宁-社区-项目概况数量颜色
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_community_project_profile")
public class ScreenAnCommunityProjectProfileEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 数据更新至: yyyy|yyyyMM|yyyyMMdd项目根据实际情况赋值
*/
private String dataEndTime;
/**
* 社区id
*/
private String orgId;
/**
* 项目数
*/
private Integer projectTotal;
/**
* 等级
*/
private String level;
}

107
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyEntity.java

@ -0,0 +1,107 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
/**
* 安宁-基层治理-各类数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_grass_roots_govern_monthly")
public class ScreenAnGrassRootsGovernMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 月维度IdyyyyMM
*/
private String monthId;
/**
* 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
*/
private String quarterId;
/**
* 年Id:yyyy
*/
private String yearId;
/**
* 网格街道或社区id
*/
private String orgId;
/**
* 网格街道名称或者社区名称
*/
private String orgName;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 参与项目数
*/
private Integer partiProjectTotal;
/**
* 办结项目数
*/
private Integer closedProjectTotal;
/**
* 项目响应度 存储的是%前面的数
*/
private BigDecimal projectResponseRatio;
/**
* 项目满意率存储的是%前面的数
*/
private BigDecimal projectSatisRatio;
/**
* 办结率 for 社区
*/
private BigDecimal closedProjectRatio;
}

96
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyEntity.java

@ -0,0 +1,96 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 安宁-基层组织(党群数|议题数|项目数)-按月
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_grass_roots_org_monthly")
public class ScreenAnGrassRootsOrgMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 月维度IdyyyyMM
*/
private String monthId;
/**
* 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
*/
private String quarterId;
/**
* 年Id:yyyy
*/
private String yearId;
/**
* 网格id或者组织(街道或社区)id
*/
private String orgId;
/**
* 组织名称OR网格名称
*/
private String orgName;
/**
* 网格grid; 组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 党群数
*/
private Integer groupTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 项目数
*/
private Integer projectTotal;
}

101
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsPmRankEntity.java

@ -0,0 +1,101 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 安宁-基层党员-排行榜单
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_grass_roots_pm_rank")
public class ScreenAnGrassRootsPmRankEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 用户id
*/
private String userId;
/**
* 姓名
*/
private String userName;
/**
* 所属支部id
*/
private String branchId;
/**
* 所属支部名称
*/
private String branchName;
/**
* 所属社区id
*/
private String communityId;
/**
* 所属社区名称
*/
private String communityName;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 参与人次
*/
private Integer partiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
/**
* 所有上级ID用英文逗号分开
*/
private String allParentIds;
}

101
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyEntity.java

@ -0,0 +1,101 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 安宁-基层党员-各类总数
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-10-09
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_an_grass_roots_pm_total_monthly")
public class ScreenAnGrassRootsPmTotalMonthlyEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户Id
*/
private String customerId;
/**
* 月维度IdyyyyMM
*/
private String monthId;
/**
* 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
*/
private String quarterId;
/**
* 年Id:yyyy
*/
private String yearId;
/**
* 网格id或者组织(街道或社区)id
*/
private String orgId;
/**
* 组织名称OR网格名称
*/
private String orgName;
/**
* 网格grid;组织agency
*/
private String orgType;
/**
* org_id的上一级id
*/
private String pid;
/**
* 群成员数
*/
private Integer groupMemberTotal;
/**
* 话题数
*/
private Integer topicTotal;
/**
* 话题参与人次
*/
private Integer topicPartiUserTotal;
/**
* 议题数
*/
private Integer issueTotal;
}

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/indexcoll/impl/FactIndexCollectServiceImpl.java

@ -712,7 +712,8 @@ public class FactIndexCollectServiceImpl implements FactIndexCollectService {
}
}
if ("".equals(agencyName)) {
throw new RuntimeException("在screen_customer_agency表中未查询到该客户下的组织名称:customerId =" + customerId + ", agencyId = " + agencyScore.getKey());
log.error("在screen_customer_agency表中未查询到该客户下的组织名称:customerId =" + customerId + ", agencyId = " + agencyScore.getKey());
continue;
}
// 补充表中其他字段
monthlyFormDTO = this.supplementIndexDataMonthlyTable(monthId, OrgTypeConstant.AGENCY, agencyScore.getKey(),

59
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/AnScreenCollService.java

@ -0,0 +1,59 @@
package com.epmet.service.evaluationindex.screen;
import com.epmet.dto.screencoll.ScreenCollFormDTO;
import com.epmet.dto.screencoll.form.*;
/**
* 大屏数据采集api - 安宁
*/
public interface AnScreenCollService {
/**
* @Description 安宁大屏数据采集 - 中央区-项目概要
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 16:41
*/
void communityProjectProfile(ScreenCollFormDTO<AnCommunityProjectProfileFormDTO> formDTO,String customerId);
/**
* @Description 安宁大屏数据采集 - 基层党员-党员排行榜单
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:19
*/
void pmRank(ScreenCollFormDTO<AnGrassRootsPmRankFormDTO> formDTO,String customerId);
/**
* @Description 安宁大屏数据采集 - 基层党员-各类总数
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:20
*/
void pmTotal(ScreenCollFormDTO<AnGrassRootsPmTotalMonthlyFormDTO> formDTO,String customerId);
/**
* @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:22
*/
void grassrootsOrg(ScreenCollFormDTO<AnGrassRootsOrgMonthlyFormDTO> formDTO,String customerId);
/**
* @Description 安宁大屏数据采集 - 基层治理-各类数
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:23
*/
void grassrootsGovern(ScreenCollFormDTO<AnGrassRootsGovernMonthlyFormDTO> formDTO,String customerId);
}

191
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/AnScreenCollServiceImpl.java

@ -0,0 +1,191 @@
package com.epmet.service.evaluationindex.screen.impl;
import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.evaluationindex.screen.ScreenAnCommunityProjectProfileDao;
import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsGovernMonthlyDao;
import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsOrgMonthlyDao;
import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmRankDao;
import com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmTotalMonthlyDao;
import com.epmet.dto.screencoll.ScreenCollFormDTO;
import com.epmet.dto.screencoll.form.*;
import com.epmet.service.evaluationindex.screen.AnScreenCollService;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
* @Description 安宁数据采集
* @ClassName AnScreenCollServiceImpl
* @Auth wangc
* @Date 2020-10-09 13:32
*/
@Service
@DataSource(DataSourceConstant.EVALUATION_INDEX)
@Slf4j
public class AnScreenCollServiceImpl implements AnScreenCollService {
@Autowired
private ScreenAnCommunityProjectProfileDao communityProjectProfileDao;
@Autowired
private ScreenAnGrassRootsGovernMonthlyDao governMonthlyDao;
@Autowired
private ScreenAnGrassRootsOrgMonthlyDao orgMonthlyDao;
@Autowired
private ScreenAnGrassRootsPmRankDao pmRankDao;
@Autowired
private ScreenAnGrassRootsPmTotalMonthlyDao pmTotalMonthlyDao;
/**
* @Description 安宁大屏数据采集 - 中央区-项目概要
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329502
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 16:41
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void communityProjectProfile(ScreenCollFormDTO<AnCommunityProjectProfileFormDTO> formDTO,String customerId) {
List<AnCommunityProjectProfileFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = communityProjectProfileDao.deleteBatch(customerId);
while(affectRows >= NumConstant.ONE){
affectRows = communityProjectProfileDao.deleteBatch(customerId);
}
}
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
communityProjectProfileDao.insertBatch(list,customerId);
});
}
/**
* @Description 安宁大屏数据采集 - 基层党员-党员排行榜单
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329483
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:19
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void pmRank(ScreenCollFormDTO<AnGrassRootsPmRankFormDTO> formDTO,String customerId) {
List<AnGrassRootsPmRankFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = pmRankDao.deleteBatch(customerId);
while(affectRows >= NumConstant.ONE){
affectRows = pmRankDao.deleteBatch(customerId);
}
}
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
pmRankDao.insertBatch(list,customerId);
});
}
/**
* @Description 安宁大屏数据采集 - 基层党员-各类总数
* @NEI https://nei.netease.com/interface/detail/?pid=57069&id=329494
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:20
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void pmTotal(ScreenCollFormDTO<AnGrassRootsPmTotalMonthlyFormDTO> formDTO,String customerId) {
List<AnGrassRootsPmTotalMonthlyFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = pmTotalMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
while(affectRows >= NumConstant.ONE){
affectRows = pmTotalMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
}
}
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId());
String yearId = DateUtils.getYearId(formDTO.getMonthId());
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
pmTotalMonthlyDao.insertBatch(list,
customerId,
formDTO.getMonthId(),
quarterId,
yearId);
});
}
/**
* @Description 安宁大屏数据采集 - 基层组织(党群数|议题数|项目数)-按月
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:22
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void grassrootsOrg(ScreenCollFormDTO<AnGrassRootsOrgMonthlyFormDTO> formDTO,String customerId) {
List<AnGrassRootsOrgMonthlyFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = orgMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
while(affectRows >= NumConstant.ONE){
affectRows = orgMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
}
}
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId());
String yearId = DateUtils.getYearId(formDTO.getMonthId());
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
orgMonthlyDao.insertBatch(list,
customerId,
formDTO.getMonthId(),
quarterId,
yearId);
});
}
/**
* @Description 安宁大屏数据采集 - 基层治理-各类数
* @param formDTO
* @return void
* @author wangc
* @date 2020.10.09 17:23
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void grassrootsGovern(ScreenCollFormDTO<AnGrassRootsGovernMonthlyFormDTO> formDTO,String customerId) {
List<AnGrassRootsGovernMonthlyFormDTO> dataList = formDTO.getDataList();
if(CollectionUtils.isEmpty(dataList)) return ;
if(formDTO.getIsFirst()){
int affectRows = governMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
while(affectRows >= NumConstant.ONE){
affectRows = governMonthlyDao.deleteBatch(customerId,formDTO.getMonthId());
}
}
String quarterId = DateUtils.getQuarterId(formDTO.getMonthId());
String yearId = DateUtils.getYearId(formDTO.getMonthId());
Lists.partition(formDTO.getDataList(),NumConstant.ONE_HUNDRED).forEach(list -> {
governMonthlyDao.insertBatch(list,
customerId,
formDTO.getMonthId(),
quarterId,
yearId);
});
}
}

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/support/normalizing/batch/BatchScoreCalculator.java

@ -68,12 +68,14 @@ public class BatchScoreCalculator {
//反正切函数 [-pi/2,pi/2]
BigDecimal maxValue = idx.getScoreCalculator().getMaxValue();
BigDecimal minValue = idx.getScoreCalculator().getMinValue();
BigDecimal minScoreValue = idx.getScoreCalculator().getMinScore();
if (maxValue.compareTo(minValue) == 0) {
//*((max-min)/ (Math.PI/2))+min
//Math.atan(new Double(vo.getSampleValue().toString()))*
normalizeValue = new BigDecimal(Math.atan(new Double(getFinalSampleValue(vo.getSampleValue(), threshold).toString())))
.multiply(
(maxValue.subtract(minValue).divide(new BigDecimal(Math.PI / 2), 10, RoundingMode.UNNECESSARY))).add(minValue).setScale(6, RoundingMode.HALF_UP);
(maxValue.subtract(minValue).divide(new BigDecimal(Math.PI / 2), 10, RoundingMode.UNNECESSARY)))
.add(minScoreValue).setScale(6, RoundingMode.HALF_UP);
//
if (scoreCalculator.getCorrelation().getCode().equals(Correlation.NEGATIVE)) {
normalizeValue = maxValue.subtract(normalizeValue);

46
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnCommunityProjectProfileDao.xml

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnCommunityProjectProfileDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_community_project_profile
WHERE
CUSTOMER_ID = #{customerId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_community_project_profile
( id,
customer_id,
data_end_time,
org_id,
project_total,
level,
created_by,
created_time,
updated_by,
updated_time
)
values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{item.dataEndTime},
#{item.orgId},
#{item.projectTotal},
#{item.level},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

63
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsGovernMonthlyDao.xml

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsGovernMonthlyDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_grass_roots_govern_monthly
WHERE
CUSTOMER_ID = #{customerId}
AND
MONTH_ID = #{monthId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_grass_roots_govern_monthly
(
id,
customer_id,
month_id,
quarter_id,
year_id,
org_id,
org_name,
org_type,
pid,
parti_project_total,
closed_project_total,
project_response_ratio,
project_satis_ratio,
closed_project_ratio,
created_by,
created_time,
updated_by,
updated_time
)values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{monthId},
#{quarterId},
#{yearId},
#{item.orgId},
#{item.orgName},
#{item.orgType},
#{item.pid},
#{item.partiProjectTotal},
#{item.closedProjectTotal},
#{item.projectResponseRatio},
#{item.projectSatisRatio},
#{item.closedProjectRatio},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

60
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsOrgMonthlyDao.xml

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsOrgMonthlyDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_grass_roots_org_monthly
WHERE
CUSTOMER_ID = #{customerId}
AND
MONTH_ID = #{monthId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_grass_roots_org_monthly
(
id,
customer_id,
month_id,
quarter_id,
year_id,
org_id,
org_name,
org_type,
pid,
group_total,
issue_total,
project_total,
created_by,
created_time,
updated_by,
updated_time
)values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{monthId},
#{quarterId},
#{yearId},
#{item.orgId},
#{item.orgName},
#{item.orgType},
#{item.pid},
#{item.groupTotal},
#{item.issueTotal},
#{item.projectTotal},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

59
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsPmRankDao.xml

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmRankDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_grass_roots_pm_rank
WHERE
CUSTOMER_ID = #{customerId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_grass_roots_pm_rank
(
id,
customer_id,
user_id,
user_name,
branch_id,
branch_name,
community_id,
community_name,
group_member_total,
topic_total,
parti_user_total,
issue_total,
all_parent_ids,
created_by,
created_time,
updated_by,
updated_time
)values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{item.userId},
#{item.userName},
#{item.branchId},
#{item.branchName},
#{item.communityId},
#{item.communityName},
#{item.groupMemberTotal},
#{item.topicTotal},
#{item.partiUserTotal},
#{item.issueTotal},
#{item.allParentIds},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

61
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenAnGrassRootsPmTotalMonthlyDao.xml

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.evaluationindex.screen.ScreenAnGrassRootsPmTotalMonthlyDao">
<delete id="deleteBatch">
DELETE
FROM
screen_an_grass_roots_pm_total_monthly
WHERE
CUSTOMER_ID = #{customerId}
AND
MONTH_ID = #{monthId}
LIMIT 1000
</delete>
<insert id="insertBatch">
INSERT INTO screen_an_grass_roots_pm_total_monthly
(
id,
customer_id,
month_id,
quarter_id,
year_id,
org_id,
org_name,
org_type,
pid,
group_member_total,
topic_total,
topic_parti_user_total,
issue_total,
created_by,
created_time,
updated_by,
updated_time
)values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{customerId},
#{monthId},
#{quarterId},
#{yearId},
#{item.orgId},
#{item.orgName},
#{item.orgType},
#{item.pid},
#{item.groupMemberTotal},
#{item.topicTotal},
#{item.topicPartiUserTotal},
#{item.issueTotal},
'APP_USER',
NOW(),
'APP_USER',
NOW()
)
</foreach>
</insert>
</mapper>

2
epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml

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

2
epmet-module/epmet-common-service/common-service-server/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.17</version>
<version>0.3.24</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-common-service</artifactId>

2
epmet-module/epmet-ext/epmet-ext-server/deploy/docker-compose-prod.yml

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

6
epmet-module/epmet-ext/epmet-ext-server/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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.7</version>
<version>0.0.8</version>
<parent>
<groupId>com.epmet</groupId>
@ -26,11 +26,11 @@
<artifactId>epmet-ext-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<!--<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-extapp-auth</artifactId>
<version>2.0.0</version>
</dependency>
</dependency>-->
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-tools</artifactId>

11
epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpController.java

@ -1,7 +1,6 @@
package com.epmet.controller;
import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
@ -38,7 +37,7 @@ public class OpenUpController {
* @author zxc
* @date 2020/8/13 9:42 上午
*/
@ExternalAppRequestAuth
//@ExternalAppRequestAuth
@PostMapping("staffsingrid")
public Result<List<StaffSinGridResultDTO>> staffSinGrid(@RequestBody StaffSinGridFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, StaffSinGridFormDTO.StaffSinGrid.class);
@ -51,7 +50,7 @@ public class OpenUpController {
* @author zxc
* @date 2020/8/13 9:51 上午
*/
@ExternalAppRequestAuth
//@ExternalAppRequestAuth
@PostMapping("staffsindept")
public Result<List<StaffSinDeptResultDTO>> staffSinDept(@RequestBody StaffSinDeptFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, StaffSinDeptFormDTO.StaffSinDept.class);
@ -64,7 +63,7 @@ public class OpenUpController {
* @author zxc
* @date 2020/8/17 9:59 上午
*/
@ExternalAppRequestAuth
//@ExternalAppRequestAuth
@PostMapping("staffsinagency")
public Result<List<StaffSinAgencyResultDTO>> staffSinAgency(@RequestBody StaffSinAgencyFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, StaffSinAgencyFormDTO.StaffSinAgency.class);
@ -78,7 +77,7 @@ public class OpenUpController {
* @author wangc
* @date 2020.08.17 10:30
**/
@ExternalAppRequestAuth
//@ExternalAppRequestAuth
@PostMapping("staffinfo")
public Result<ExtStaffInfoResultDTO> staffInfo(@LoginUser TokenDto token){
CommonStaffIdFormDTO commonStaffIdFormDTO = new CommonStaffIdFormDTO();
@ -94,7 +93,7 @@ public class OpenUpController {
* @author wangc
* @date 2020.08.17 17:30
**/
@ExternalAppRequestAuth
//@ExternalAppRequestAuth
@PostMapping("permission")
Result<ExtStaffPermissionResultDTO> staffPermissionExt(@RequestBody CommonStaffIdFormDTO commonStaffIdFormDTO){
ValidatorUtils.validateEntity(commonStaffIdFormDTO, CommonStaffIdFormDTO.StaffIdGroup.class);

3
epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenUpUserController.java

@ -1,6 +1,5 @@
package com.epmet.controller;
import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
@ -33,7 +32,7 @@ public class OpenUpUserController {
* @author wangc
* @date 2020.08.17 10:30
**/
@ExternalAppRequestAuth
//@ExternalAppRequestAuth
@PostMapping("userinfo")
Result<ExtUserInfoResultDTO> userInfo(@LoginUser TokenDto token){
CommonUserIdFormDTO userParam = new CommonUserIdFormDTO();

16
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/resi/ResiActDetailResultDTO.java

@ -139,13 +139,17 @@ public class ResiActDetailResultDTO implements Serializable {
private Boolean isSignUp;
/**
* 用户报名活动后当前状态
* --已报名/待审核auditing
* -- 审核通过passed
* -- 未报名(审核不通过 取消报名)canceled
* --
* 按钮控制字段(兼容旧版) - true已报名false未报名
*/
private String isRegistration;
private Boolean isRegistration;
/**
* 按钮控制字段(新版) -
* 已报名/待审核auditing
* 审核通过passed
* 未报名(审核不通过 取消报名)canceled
*/
private String userAuditStatus;
/**
* 打卡开始时间yyyy-MM-dd HH:mm

2
epmet-module/epmet-heart/epmet-heart-server/deploy/docker-compose-prod.yml

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

2
epmet-module/epmet-heart/epmet-heart-server/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.0.53</version>
<version>0.0.54</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-heart</artifactId>

15
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/ActInfoServiceImpl.java

@ -221,15 +221,24 @@ public class ActInfoServiceImpl extends BaseServiceImpl<ActInfoDao, ActInfoEntit
// 查询用户是否已报名活动
String status = actUserRelationDao.selectUserStatusByActIdAndUserId(formDto.getActId(), formDto.getUserId());
// 按钮控制字段 - 兼容旧版本
detailResultDTO.setIsRegistration(false);
if (null != status){
if (ActConstant.ACT_USER_STATUS_PASSED.equals(status) || ActConstant.ACT_USER_STATUS_AUDITING.equals(status)){
detailResultDTO.setIsRegistration(true);
}
}
// 按钮控制字段 - 新版本(为了解决,因为用户未审核通过,却可以打卡的问题)
// 默认用户 未报名活动
detailResultDTO.setIsRegistration(ActConstant.ACT_USER_LOG_OPER_CANCELD);
detailResultDTO.setUserAuditStatus(ActConstant.ACT_USER_LOG_OPER_CANCELD);
if (null != status){
if (ActConstant.ACT_USER_STATUS_PASSED.equals(status)){
// 用户报名活动审核通过,赋值 审核通过
detailResultDTO.setIsRegistration(status);
detailResultDTO.setUserAuditStatus(status);
} else if ( ActConstant.ACT_USER_STATUS_AUDITING.equals(status)){
// 用户报名活动未审核,赋值 已报名/待审核
detailResultDTO.setIsRegistration(status);
detailResultDTO.setUserAuditStatus(status);
}
}

2
epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-prod.yml

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

2
epmet-module/epmet-job/epmet-job-server/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.25</version>
<version>0.3.27</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-job</artifactId>

2
epmet-module/epmet-point/epmet-point-server/deploy/docker-compose-prod.yml

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

2
epmet-module/epmet-point/epmet-point-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.40</version>
<version>0.0.42</version>
<parent>
<artifactId>epmet-point</artifactId>
<groupId>com.epmet</groupId>

2
epmet-module/epmet-third/epmet-third-server/deploy/docker-compose-prod.yml

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

2
epmet-module/epmet-third/epmet-third-server/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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.0.141</version>
<version>0.0.147</version>
<parent>
<groupId>com.epmet</groupId>

2
epmet-module/gov-org/gov-org-server/deploy/docker-compose-prod.yml

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

2
epmet-module/gov-org/gov-org-server/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.88</version>
<version>0.3.91</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-org</artifactId>

2
epmet-module/gov-project/gov-project-server/deploy/docker-compose-prod.yml

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

2
epmet-module/gov-project/gov-project-server/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">
<version>0.3.43</version>
<version>0.3.45</version>
<parent>
<artifactId>gov-project</artifactId>
<groupId>com.epmet</groupId>

2
epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-prod.yml

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

2
epmet-module/oper-customize/oper-customize-server/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.47</version>
<version>0.3.49</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>oper-customize</artifactId>

2
epmet-module/resi-group/resi-group-server/deploy/docker-compose-prod.yml

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

2
epmet-module/resi-group/resi-group-server/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.66</version>
<version>0.3.67</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>resi-group</artifactId>

1
epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.3__topic.sql

@ -0,0 +1 @@
UPDATE resi_topic SET CLOSED_STATUS = 'resolved' WHERE CLOSED_STATUS IS NULL

2
epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-prod.yml

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

2
epmet-module/resi-mine/resi-mine-server/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.40</version>
<version>0.3.42</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>resi-mine</artifactId>

2
epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-prod.yml

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

2
epmet-module/resi-partymember/resi-partymember-server/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.57</version>
<version>0.3.58</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>resi-partymember</artifactId>

18
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/GovStaffRoleFormDTO.java

@ -1,12 +1,30 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class GovStaffRoleFormDTO {
public interface SaveRoleOrderGroup extends CustomerClientShowGroup {}
public interface UpdateRoleGroup extends CustomerClientShowGroup {}
/**
* 角色id列表
*/
@NotEmpty(message = "角色ID列表为空", groups = { SaveRoleOrderGroup.class })
private List<String> roleIdList;
/**
* 角色id
*/
@NotNull(message = "缺少角色ID", groups = { UpdateRoleGroup.class })
private String roleId;
@NotNull(message = "缺少角色名称", groups = { UpdateRoleGroup.class })
private String roleName;
}

2
epmet-user/epmet-user-server/deploy/docker-compose-prod.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-user-server:
container_name: epmet-user-server-prod
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-user-server:0.3.124
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-user-server:0.3.129
ports:
- "8087:8087"
network_mode: host # 不会创建新的网络

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

Loading…
Cancel
Save