Browse Source

Merge remote-tracking branch 'origin/dev_issue_project' into dev_issue_project

# Conflicts:
#	epmet-module/gov-issue/gov-issue-server/pom.xml
#	epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
#	epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java
#	epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
#	epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
#	epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
#	epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
#	epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java
#	epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
#	epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java
#	epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
master
wangchao 5 years ago
parent
commit
a9348c2d75
  1. 13
      doc/epmet-cloud.md
  2. 2
      epmet-admin/epmet-admin-server/Dockerfile
  3. 4
      epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml
  4. 17
      epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml
  5. 40
      epmet-admin/epmet-admin-server/pom.xml
  6. 40
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  7. 2
      epmet-auth/Dockerfile
  8. 4
      epmet-auth/deploy/docker-compose-dev.yml
  9. 17
      epmet-auth/deploy/docker-compose-test.yml
  10. 47
      epmet-auth/pom.xml
  11. 40
      epmet-auth/src/main/java/com/epmet/aspect/RequestLogAspect.java
  12. 15
      epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java
  13. 10
      epmet-auth/src/main/java/com/epmet/service/GovLoginService.java
  14. 37
      epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java
  15. 33
      epmet-commons/epmet-commons-service-call/pom.xml
  16. 94
      epmet-commons/epmet-commons-service-call/src/main/java/com/epmet/loadbalancer/EpmetRequestLoadBalancerRule.java
  17. 150
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java
  18. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ThreadLocalInitAspect.java
  19. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenExceptionHandler.java
  20. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java
  21. 1
      epmet-commons/pom.xml
  22. 2
      epmet-gateway/Dockerfile
  23. 4
      epmet-gateway/deploy/docker-compose-dev.yml
  24. 17
      epmet-gateway/deploy/docker-compose-test.yml
  25. 114
      epmet-gateway/pom.xml
  26. 2
      epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile
  27. 4
      epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml
  28. 17
      epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-test.yml
  29. 36
      epmet-module/epmet-activiti/epmet-activiti-server/pom.xml
  30. 40
      epmet-module/epmet-activiti/epmet-activiti-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  31. 2
      epmet-module/epmet-common-service/common-service-server/Dockerfile
  32. 4
      epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml
  33. 17
      epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml
  34. 10
      epmet-module/epmet-common-service/common-service-server/pom.xml
  35. 40
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  36. 38
      epmet-module/epmet-demo/epmet-demo-server/pom.xml
  37. 2
      epmet-module/epmet-job/epmet-job-server/Dockerfile
  38. 4
      epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml
  39. 17
      epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml
  40. 40
      epmet-module/epmet-job/epmet-job-server/pom.xml
  41. 40
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  42. 2
      epmet-module/epmet-message/epmet-message-server/Dockerfile
  43. 4
      epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml
  44. 17
      epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml
  45. 40
      epmet-module/epmet-message/epmet-message-server/pom.xml
  46. 40
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  47. 2
      epmet-module/epmet-oss/epmet-oss-server/Dockerfile
  48. 5
      epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml
  49. 18
      epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml
  50. 40
      epmet-module/epmet-oss/epmet-oss-server/pom.xml
  51. 40
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  52. 2
      epmet-module/gov-access/gov-access-server/Dockerfile
  53. 4
      epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml
  54. 17
      epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml
  55. 40
      epmet-module/gov-access/gov-access-server/pom.xml
  56. 40
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  57. 2
      epmet-module/gov-grid/gov-grid-server/Dockerfile
  58. 4
      epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml
  59. 17
      epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml
  60. 34
      epmet-module/gov-grid/gov-grid-server/pom.xml
  61. 40
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  62. 8
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiPartyMemberController.java
  63. 4
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiPartyMemberService.java
  64. 25
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiPartyMemberServiceImpl.java
  65. 20
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessorListFormDTO.java
  66. 28
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java
  67. 41
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java
  68. 2
      epmet-module/gov-issue/gov-issue-server/Dockerfile
  69. 4
      epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml
  70. 17
      epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml
  71. 46
      epmet-module/gov-issue/gov-issue-server/pom.xml
  72. 40
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  73. 0
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/.gitkeep
  74. 14
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  75. 29
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java
  76. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  77. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  78. 30
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java
  79. 6
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
  80. 24
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java
  81. 0
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/.gitkeep
  82. 19
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  83. 0
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/.gitkeep
  84. 300
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  85. 11
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  86. 2
      epmet-module/gov-mine/gov-mine-server/Dockerfile
  87. 4
      epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml
  88. 17
      epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml
  89. 47
      epmet-module/gov-mine/gov-mine-server/pom.xml
  90. 40
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/aspect/RequestLogAspect.java
  91. 29
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/config/LoadBalancerConfig.java
  92. 3
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java
  93. 2
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java
  94. 7
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java
  95. 43
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.java
  96. 52
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencySubResultDTO.java
  97. 48
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ProcessorListResultDTO.java
  98. 2
      epmet-module/gov-org/gov-org-server/Dockerfile
  99. 4
      epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml
  100. 17
      epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml

13
doc/epmet-cloud.md

@ -0,0 +1,13 @@
## 开发环境使用
##### 本机调用开发环境
```
开发环境已经搭建好了
在最新的代码中:
默认情况下,所有服务的pom.xml中应该启用dev环境,其他环境的active应该被注释掉(dev-local不再有用,可以删除)
根据dev环境中的配置,微服务会注册到nacos,并且调用其他微服务的时候会从nacos中取目标微服务的ip来发送请求
因此,本地电脑不再需要启动所有服务,只需要启动要开发的服务即可;默认情况下,本机的微服务在调用目标微服务的时候,都是调用的服务器,不再请求本地。
例如:有A、B2个服务,并且A调用B,如果我们只需要开发A服务,那本地只启动A服务即可,A调用B的时候,会调用服务器的B服务。
如果需要开发AB2个服务,那么将A中的FeignClient的url属性指向localhost。
PS:目前正在测试通过负载均衡器和本地环境变量实现动态修改目标服务IP,成功之后就不需要再修改FeignClient的url,配置一下环境变量即可,到时候具体说
```

2
epmet-admin/epmet-admin-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8082
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-admin/epmet-admin-server/docker-compose.yml → epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
epmet-admin-server:
container_name: epmet-admin-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-admin-server:0.3.3
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-admin-server:0.3.6
ports:
- "8082:8082"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
epmet-admin-server:
container_name: epmet-admin-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-admin-server:0.3.6
ports:
- "8082:8082"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

40
epmet-admin/epmet-admin-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.3</version>
<version>0.3.6</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin</artifactId>
@ -83,7 +83,7 @@
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -103,7 +103,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -113,13 +113,13 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8082</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
@ -142,35 +142,5 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8082</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_admin?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

40
epmet-admin/epmet-admin-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

2
epmet-auth/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8081
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-auth/docker-compose.yml → epmet-auth/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
epmet-auth-server:
container_name: epmet-auth-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-auth:0.3.4
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-auth:0.3.7
ports:
- "8081:8081"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-auth/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
epmet-auth-server:
container_name: epmet-auth-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-auth:0.3.7
ports:
- "8081:8081"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

47
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.4</version>
<version>0.3.7</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>
@ -125,7 +125,7 @@
</build>
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -139,7 +139,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -162,13 +162,13 @@
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8081</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
@ -197,42 +197,5 @@
<gov.wx.ma.secret>651f02d71ed3f123dfb584b8bf0f4d8b</gov.wx.ma.secret>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8081</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!--公众号配置-->
<wx.mp.configs.appId>wx67fdf7da3fee1890</wx.mp.configs.appId>
<wx.mp.configs.secret>ae15094f485af9e5c6b5a8a55945332a</wx.mp.configs.secret>
<wx.mp.configs.token>111</wx.mp.configs.token>
<wx.mp.configs.aesKey>111</wx.mp.configs.aesKey>
<!--居民端小程序配置-->
<resi.wx.ma.appId>wx9b6102a8ee5add65</resi.wx.ma.appId>
<resi.wx.ma.secret>16fdb68bc2b3e732324ba5d8b8a9b5e2</resi.wx.ma.secret>
<!--政府端小程序配置-->
<gov.wx.ma.appId>wx3d1372029eb816a3</gov.wx.ma.appId>
<gov.wx.ma.secret>651f02d71ed3f123dfb584b8bf0f4d8b</gov.wx.ma.secret>
</properties>
</profile>
</profiles>
</project>

40
epmet-auth/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

15
epmet-auth/src/main/java/com/epmet/controller/GovLoginController.java

@ -40,7 +40,8 @@ public class GovLoginController {
@PostMapping(value = "/loginwxmp/loginbywxcode")
public Result<UserTokenResultDTO> loginByWxCode(@RequestBody GovWxmpFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return govLoginService.loginByWxCode(formDTO);
UserTokenResultDTO userTokenResultDTO=govLoginService.loginByWxCode(formDTO);
return new Result<UserTokenResultDTO>().ok(userTokenResultDTO);
}
/**
@ -53,7 +54,8 @@ public class GovLoginController {
@PostMapping(value = "/loginwxmp/sendsmscode")
public Result sendSmsCode(@RequestBody SendSmsCodeFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return govLoginService.sendSmsCode(formDTO);
govLoginService.sendSmsCode(formDTO);
return new Result();
}
/**
@ -66,7 +68,8 @@ public class GovLoginController {
@PostMapping(value = "/loginwxmp/getmyorg")
public Result<List<StaffOrgsResultDTO>> getmyorg(@RequestBody StaffOrgsFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return govLoginService.getMyOrg(formDTO);
List<StaffOrgsResultDTO> staffOrgs=govLoginService.getMyOrg(formDTO);
return new Result<List<StaffOrgsResultDTO>>().ok(staffOrgs);
}
/**
@ -79,7 +82,8 @@ public class GovLoginController {
@PostMapping(value = "/loginwxmp/enterorg")
public Result<UserTokenResultDTO> enterOrg(@RequestBody GovWxmpEnteOrgFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return govLoginService.enterOrg(formDTO);
UserTokenResultDTO userTokenResultDTO=govLoginService.enterOrg(formDTO);
return new Result<UserTokenResultDTO>().ok(userTokenResultDTO);
}
/**
@ -91,7 +95,8 @@ public class GovLoginController {
**/
@PostMapping("/loginwxmp/loginout")
public Result loginOut(@LoginUser TokenDto tokenDto) {
return govLoginService.loginOut(tokenDto);
govLoginService.loginOut(tokenDto);
return new Result();
}
}

10
epmet-auth/src/main/java/com/epmet/service/GovLoginService.java

@ -24,7 +24,7 @@ public interface GovLoginService {
* @Description 政府端微信小程序登录-发送验证码
* @Date 2020/4/18 10:59
**/
Result sendSmsCode(SendSmsCodeFormDTO formDTO);
void sendSmsCode(SendSmsCodeFormDTO formDTO);
/**
* @param formDTO
@ -33,7 +33,7 @@ public interface GovLoginService {
* @Description 3手机验证码获取组织
* @Date 2020/4/18 21:11
**/
Result<List<StaffOrgsResultDTO>> getMyOrg(StaffOrgsFormDTO formDTO);
List<StaffOrgsResultDTO> getMyOrg(StaffOrgsFormDTO formDTO);
/**
* @param formDTO
@ -42,7 +42,7 @@ public interface GovLoginService {
* @Description 政府端小程序根据wxCode获取上一次登录信息返回token
* @Date 2020/4/20 11:23
**/
Result<UserTokenResultDTO> loginByWxCode(GovWxmpFormDTO formDTO);
UserTokenResultDTO loginByWxCode(GovWxmpFormDTO formDTO);
/**
* @param formDTO
@ -51,7 +51,7 @@ public interface GovLoginService {
* @Description 4选择组织进入首页
* @Date 2020/4/20 13:08
**/
Result<UserTokenResultDTO> enterOrg(GovWxmpEnteOrgFormDTO formDTO);
UserTokenResultDTO enterOrg(GovWxmpEnteOrgFormDTO formDTO);
/**
* @return com.epmet.commons.tools.utils.Result
@ -60,5 +60,5 @@ public interface GovLoginService {
* @Description 政府端工作人员退出登录
* @Date 2020/4/21 22:08
**/
Result loginOut(TokenDto tokenDto);
void loginOut(TokenDto tokenDto);
}

37
epmet-auth/src/main/java/com/epmet/service/impl/GovLoginServiceImpl.java

@ -2,6 +2,7 @@ package com.epmet.service.impl;
import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import com.epmet.common.token.constant.LoginConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
@ -67,28 +68,27 @@ public class GovLoginServiceImpl implements GovLoginService {
* @Date 2020/4/18 10:59
**/
@Override
public Result sendSmsCode(SendSmsCodeFormDTO formDTO) {
public void sendSmsCode(SendSmsCodeFormDTO formDTO) {
//1、校验手机号是否符合规范
if (!PhoneValidatorUtils.isMobile(formDTO.getMobile())) {
logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getMobile(), EpmetErrorCode.ERROR_PHONE.getCode(), EpmetErrorCode.ERROR_PHONE.getMsg()));
return new Result().error(EpmetErrorCode.ERROR_PHONE.getCode());
throw new RenException(EpmetErrorCode.ERROR_PHONE.getCode());
}
//2、根据手机号校验用户是否存在
Result<List<CustomerStaffDTO>> customerStaffResult = epmetUserFeignClient.checkCustomerStaff(formDTO.getMobile());
if (!customerStaffResult.success()) {
logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getMobile(), customerStaffResult.getCode(), customerStaffResult.getMsg()));
return new Result().error(customerStaffResult.getCode());
throw new RenException(customerStaffResult.getCode());
}
//3、发送短信验证码
Result<Map<String, String>> smsCodeResult = messageFeignClient.sendSmsCaptcha(formDTO.getMobile());
if (!smsCodeResult.success()) {
logger.error(String.format(SEND_SMS_CODE_ERROR, formDTO.getMobile(), smsCodeResult.getCode(), smsCodeResult.getMsg()));
return new Result().error(smsCodeResult.getCode());
throw new RenException(smsCodeResult.getCode());
}
//4、保存短信验证码(删除现有短信验证码、将新的短信验证码存入Redis)
captchaRedis.saveSmsCode(formDTO, smsCodeResult.getData().get("code"));
logger.info(String.format("发送短信验证码成功,手机号[%s]", formDTO.getMobile()));
return new Result();
}
/**
@ -99,18 +99,18 @@ public class GovLoginServiceImpl implements GovLoginService {
* @Date 2020/4/18 21:11
**/
@Override
public Result<List<StaffOrgsResultDTO>> getMyOrg(StaffOrgsFormDTO formDTO) {
public List<StaffOrgsResultDTO> getMyOrg(StaffOrgsFormDTO formDTO) {
//1、根据手机号查询到用户信息
Result<List<CustomerStaffDTO>> customerStaffResult = epmetUserFeignClient.checkCustomerStaff(formDTO.getMobile());
if (!customerStaffResult.success()) {
logger.error(String.format("手机验证码登录异常,手机号[%s],code[%s],msg[%s]", formDTO.getMobile(), customerStaffResult.getCode(), customerStaffResult.getMsg()));
return new Result().error(customerStaffResult.getCode());
throw new RenException(customerStaffResult.getCode());
}
//2、验证码是否正确
String rightSmsCode = captchaRedis.getSmsCode(formDTO.getMobile());
if (!formDTO.getSmsCode().equals(rightSmsCode)) {
logger.error(String.format("验证码错误code[%s],msg[%s]",EpmetErrorCode.MOBILE_CODE_ERROR.getCode(),EpmetErrorCode.MOBILE_CODE_ERROR.getMsg()));
return new Result<List<StaffOrgsResultDTO>>().error(EpmetErrorCode.MOBILE_CODE_ERROR.getCode());
throw new RenException(EpmetErrorCode.MOBILE_CODE_ERROR.getCode());
}
//3、查询用户所有的组织信息
List<String> customerIdList = new ArrayList<>();
@ -120,11 +120,15 @@ public class GovLoginServiceImpl implements GovLoginService {
StaffOrgFormDTO staffOrgFormDTO = new StaffOrgFormDTO();
staffOrgFormDTO.setCustomerIdList(customerIdList);
Result<List<StaffOrgsResultDTO>> result = govOrgFeignClient.getStaffOrgList(staffOrgFormDTO);
return result;
if(result.success()&&null!=result.getData()){
return result.getData();
}
logger.error(String .format("手机验证码获取组织,调用%s服务失败,入参手机号%s,验证码%s,返回错误码%s,错误提示信息%s", ServiceConstant.GOV_ORG_SERVER,formDTO.getMobile(),formDTO.getSmsCode(),result.getCode(),result.getMsg()));
return new ArrayList<>();
}
@Override
public Result<UserTokenResultDTO> loginByWxCode(GovWxmpFormDTO formDTO) {
public UserTokenResultDTO loginByWxCode(GovWxmpFormDTO formDTO) {
//1、解析微信用户
WxMaJscode2SessionResult wxMaJscode2SessionResult = loginService.getWxMaUser(formDTO.getApp(), formDTO.getWxCode());
if(null!=wxMaJscode2SessionResult){
@ -133,7 +137,7 @@ public class GovLoginServiceImpl implements GovLoginService {
Result<StaffLatestAgencyResultDTO> latestStaffWechat = epmetUserFeignClient.getLatestStaffWechatLoginRecord(wxMaJscode2SessionResult.getOpenid());
if (!latestStaffWechat.success() || null == latestStaffWechat.getData()) {
logger.error(String.format("没有获取到用户最近一次登录账户信息,code[%s],msg[%s]", EpmetErrorCode.PLEASE_LOGIN.getCode(), EpmetErrorCode.PLEASE_LOGIN.getMsg()));
return new Result<UserTokenResultDTO>().error(EpmetErrorCode.PLEASE_LOGIN.getCode());
throw new RenException(EpmetErrorCode.PLEASE_LOGIN.getCode());
}
StaffLatestAgencyResultDTO staffLatestAgencyResultDTO = latestStaffWechat.getData();
//2、记录staff_wechat
@ -146,7 +150,7 @@ public class GovLoginServiceImpl implements GovLoginService {
this.saveLatestGovTokenDto(staffLatestAgencyResultDTO, wxMaJscode2SessionResult, token);
UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO();
userTokenResultDTO.setToken(token);
return new Result<UserTokenResultDTO>().ok(userTokenResultDTO);
return userTokenResultDTO;
}
//保存tokenDto到redis
@ -244,7 +248,7 @@ public class GovLoginServiceImpl implements GovLoginService {
}
@Override
public Result<UserTokenResultDTO> enterOrg(GovWxmpEnteOrgFormDTO formDTO) {
public UserTokenResultDTO enterOrg(GovWxmpEnteOrgFormDTO formDTO) {
//1、需要校验要登录的客户,是否被禁用
CustomerStaffFormDTO customerStaffFormDTO = new CustomerStaffFormDTO();
customerStaffFormDTO.setCustomerId(formDTO.getCustomerId());
@ -252,7 +256,7 @@ public class GovLoginServiceImpl implements GovLoginService {
Result<CustomerStaffDTO> customerStaffDTOResult = epmetUserFeignClient.getCustomerStaffInfo(customerStaffFormDTO);
if (!customerStaffDTOResult.success() || null == customerStaffDTOResult.getData()) {
logger.error(String.format("获取工作人员信息失败,手机号[%s],客户id:[%s],code[%s],msg[%s]", formDTO.getMobile(), formDTO.getCustomerId(), customerStaffDTOResult.getCode(), customerStaffDTOResult.getMsg()));
return new Result().error(customerStaffDTOResult.getCode());
throw new RenException(customerStaffDTOResult.getCode());
}
CustomerStaffDTO customerStaff = customerStaffDTOResult.getData();
//2、解析微信用户
@ -267,17 +271,16 @@ public class GovLoginServiceImpl implements GovLoginService {
this.saveGovTokenDto(formDTO.getRootAgencyId(), formDTO.getCustomerId(), customerStaff.getUserId(), wxMaJscode2SessionResult, token);
UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO();
userTokenResultDTO.setToken(token);
return new Result<UserTokenResultDTO>().ok(userTokenResultDTO);
return userTokenResultDTO;
}
@Override
public Result loginOut(TokenDto tokenDto) {
public void loginOut(TokenDto tokenDto) {
if(null == tokenDto){
logger.error("token解析失败,直接跳转重新登录即可");
throw new RenException("当前用户信息获取失败");
}
cpUserDetailRedis.logout(tokenDto.getApp() , tokenDto.getClient() , tokenDto.getUserId());
return new Result();
}
//保存登录日志

33
epmet-commons/epmet-commons-service-call/pom.xml

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>epmet-commons</artifactId>
<groupId>com.epmet</groupId>
<version>2.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>epmet-commons-service-call</artifactId>
<version>0.3.1</version>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- 替换Feign原生httpclient -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
<version>10.3.0</version>
</dependency>
</dependencies>
</project>

94
epmet-commons/epmet-commons-service-call/src/main/java/com/epmet/loadbalancer/EpmetRequestLoadBalancerRule.java

@ -0,0 +1,94 @@
package com.epmet.loadbalancer;
import com.netflix.client.config.IClientConfig;
import com.netflix.loadbalancer.ILoadBalancer;
import com.netflix.loadbalancer.Server;
import com.netflix.loadbalancer.ZoneAvoidanceRule;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.env.Environment;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
* Epmet负载均衡算法规则类当前支持读取环境变量将请求重定向到指定的HOST:PORT
*
* @RibbonClient(name = "MS-PROXY", configuration = EpmetRequestLoadBalancerRule.class)
*
* @Bean
* @LoadBalanced
* public RestTemplate getRestTemplate() {
* return new RestTemplate();
* }
*
* @Bean
* public IRule getMyLoadBalancerRule(Environment env) {
* EpmetRequestLoadBalancerRule rule = new EpmetRequestLoadBalancerRule();
* rule.setEnv(env);
* return rule;
* }
*
*/
public class EpmetRequestLoadBalancerRule extends ZoneAvoidanceRule {
private static Logger logger = LoggerFactory.getLogger(EpmetRequestLoadBalancerRule.class);
private Environment env;
public EpmetRequestLoadBalancerRule() {
}
public void setEnv(Environment env) {
this.env = env;
}
@Override
public void initWithNiwsConfig(IClientConfig iClientConfig) {
}
/**
* 此处会取环境变量中"测试服务器"的值
* @param key
* @return
*/
@Override
public Server choose(Object key) {
ILoadBalancer loadBalancer = getLoadBalancer();
List<Server> servers = loadBalancer.getReachableServers();
if (CollectionUtils.isEmpty(servers)) {
logger.error("自定义负载均衡器:ReachableServers列表为空");
return super.choose(key);
}
Server server = servers.get(0);
String appName = server.getMetaInfo().getAppName();
String serviceName = appName.split("@@")[1];
String hostEnvKey = getHostEnvKey(serviceName);
String portEnvKey = getPortEnvKey(serviceName);
String epmetGovOrgHost = env.getProperty(hostEnvKey);
String epmetGovOrgPort = env.getProperty(portEnvKey);
if (StringUtils.isAnyBlank(epmetGovOrgHost, epmetGovOrgPort)) {
// 没有配置,走父类均衡器
return super.choose(key);
}
server.setHost(epmetGovOrgHost);
server.setPort(Integer.valueOf(epmetGovOrgPort));
return server;
}
/**
* 获取host环境变量Key
* @param serviceName
* @return
*/
public String getHostEnvKey(String serviceName) {
return serviceName.replace("-", "_").concat("_HOST").toUpperCase();
}
public String getPortEnvKey(String serviceName) {
return serviceName.replace("-", "_").concat("_PORT").toUpperCase();
}
}

150
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java

@ -0,0 +1,150 @@
package com.epmet.commons.tools.aspect;
import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.exception.ValidateException;
import com.epmet.commons.tools.utils.Result;
import org.aspectj.lang.ProceedingJoinPoint;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DuplicateKeyException;
import javax.servlet.http.HttpServletRequest;
/**
* 日志切面
* @Author wxz
* @Description
**/
public abstract class BaseRequestLogAspect {
private static final Logger log = LoggerFactory.getLogger(BaseRequestLogAspect.class);
/**
* 由子类实现该方法并且调用proceed(ProceedingJoinPoint point, HttpServletRequest request)方法
* @param point
* @return
* @throws Throwable
*/
public abstract Object proceed(ProceedingJoinPoint point) throws Throwable;
/**
* 处理日志异常
* @param point
* @param request
* @return
* @throws Throwable
*/
protected Object proceed(ProceedingJoinPoint point, HttpServletRequest request) throws Throwable {
String requestURI = request.getRequestURI();
long id = Thread.currentThread().getId();
Result result;
Exception exception = null;
try {
Object[] args = point.getArgs();
log.info(">>>>>>>>请求信息>>>>>>>>:线程ID:{},url:{},请求参数:{}", id, requestURI, objectsToString(args));
result = (Result)point.proceed();
log.info("<<<<<<<<正常响应<<<<<<<<:线程ID:{},响应数据:{}", id, result.toString());
} catch (RenException e) {
exception = e;
result = handleRenException(e);
} catch (ValidateException e) {
exception = e;
result = handleValidateException(e);
} catch (DuplicateKeyException e) {
exception = e;
result = handlerDuplicateKeyException(e);
} catch (RuntimeException re) {
exception = re;
result = handlerRuntimeException(re);
} catch (Exception e) {
exception = e;
result = handlerException(e);
} finally {
if (exception != null) {
log.info("<<<<<<<<异常响应<<<<<<<<:线程ID:{},异常信息:{}", id, ExceptionUtils.getErrorStackTrace(exception));
}
}
return result;
}
/**
* 处理Exception
* @param e
* @return
*/
private Result handlerException(Exception e) {
Result result=new Result().error();
result.setData(e.getMessage());
return result;
}
/**
* 处理Key重复异常
* @return
*/
private Result handlerDuplicateKeyException(DuplicateKeyException ex) {
return new Result().error(ErrorCode.DB_RECORD_EXISTS);
}
/**
* 处理运行时异常
* @return
*/
private Result handlerRuntimeException(RuntimeException ex) {
Result result=new Result().error();
result.setData(ex.getMessage());
return result;
}
/**
* 处理校验异常
* @param ex
* @return
*/
private Result handleValidateException(ValidateException ex) {
Result result=new Result();
result.setCode(ex.getCode());
result.setMsg(ex.getMsg());
return result;
}
/**
* 处理RenException
* @param e
* @return
*/
private Result handleRenException(RenException e) {
if (e.getCode() > 8000) {
Result result=new Result().error(e.getCode());
result.setData(e.getMsg());
return result;
}
Result result=new Result().error();
result.setData(e.getMsg());
return result;
}
/**
* 将请求对象转换为String
* @param args
* @return
*/
private String objectsToString(Object[] args) {
if (args == null) {
return null;
} else {
StringBuilder builder = new StringBuilder("[");
for (Object object : args) {
if (object != null) {
builder.append(object.toString());
builder.append(",");
}
}
builder.append("]");
return builder.toString();
}
}
}

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ThreadLocalInitAspect.java

@ -27,7 +27,7 @@ import org.springframework.stereotype.Component;
**/
@Aspect
@Component
@Order(0)
@Order(1)
public class ThreadLocalInitAspect {
private static final Logger log = LoggerFactory.getLogger(ThreadLocalInitAspect.class);

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenExceptionHandler.java

@ -37,7 +37,7 @@ import java.util.Map;
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@RestControllerAdvice
//@RestControllerAdvice
public class RenExceptionHandler {
private static final Logger logger = LoggerFactory.getLogger(RenExceptionHandler.class);
@Autowired

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java

@ -8,10 +8,12 @@
package com.epmet.commons.tools.utils;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ErrorCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.ToString;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
@ -123,4 +125,9 @@ public class Result<T> implements Serializable {
public void setData(T data) {
this.data = data;
}
@Override
public String toString() {
return JSON.toJSONString(this);
}
}

1
epmet-commons/pom.xml

@ -21,6 +21,7 @@
<module>epmet-common-clienttoken</module>
<module>epmet-commons-tools-wx-ma</module>
<module>epmet-commons-tools-wx-mp</module>
<module>epmet-commons-service-call</module>
</modules>
</project>

2
epmet-gateway/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-gateway/docker-compose.yml → epmet-gateway/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
epmet-gateway-server:
container_name: epmet-gateway-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-gateway:0.3.5
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.7
ports:
- "8080:8080"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-gateway/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
epmet-gateway-server:
container_name: epmet-gateway-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-gateway:0.3.7
ports:
- "8080:8080"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

114
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.5</version>
<version>0.3.7</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>
@ -86,10 +86,10 @@
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>8080</server.port>
@ -99,7 +99,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -109,100 +109,6 @@
<!-- gateway routes -->
<!-- 1、认证服务 -->
<gateway.routes.epmet-auth-server.uri>lb://epmet-auth-server</gateway.routes.epmet-auth-server.uri>
<!-- <gateway.routes.epmet-auth-server.uri>http://127.0.0.1:8081</gateway.routes.epmet-auth-server.uri>-->
<!-- 2、Admin服务 -->
<gateway.routes.epmet-admin-server.uri>lb://epmet-admin-server</gateway.routes.epmet-admin-server.uri>
<!-- <gateway.routes.epmet-admin-server.uri>http://127.0.0.1:8082</gateway.routes.epmet-admin-server.uri>-->
<!-- 4、OSS服务 -->
<gateway.routes.epmet-oss-server.uri>lb://epmet-oss-server</gateway.routes.epmet-oss-server.uri>
<!-- <gateway.routes.epmet-oss-server.uri>http://127.0.0.1:8083</gateway.routes.epmet-oss-server.uri>-->
<!-- 5、消息服务 -->
<gateway.routes.epmet-message-server.uri>lb://epmet-message-server</gateway.routes.epmet-message-server.uri>
<!-- <gateway.routes.epmet-message-server.uri>http://127.0.0.1:8085</gateway.routes.epmet-message-server.uri>-->
<!-- 6、工作流服务 -->
<gateway.routes.epmet-activiti-server.uri>lb://epmet-activiti-server</gateway.routes.epmet-activiti-server.uri>
<!-- <gateway.routes.epmet-activiti-server.uri>http://127.0.0.1:8086</gateway.routes.epmet-activiti-server.uri>-->
<!-- 7、定时任务服务 -->
<gateway.routes.epmet-job-server.uri>lb://epmet-job-server</gateway.routes.epmet-job-server.uri>
<!-- <gateway.routes.epmet-job-server.uri>http://127.0.0.1:8084</gateway.routes.epmet-job-server.uri>-->
<!-- 8、用户模块 -->
<!-- <gateway.routes.epmet-user-server.uri>lb://epmet-user-server</gateway.routes.epmet-user-server.uri>-->
<gateway.routes.epmet-user-server.uri>http://127.0.0.1:8087</gateway.routes.epmet-user-server.uri>
<!-- 9、新模块结构demo -->
<!-- <gateway.routes.epmet-demo-server.uri>lb://epmet-demo-server</gateway.routes.epmet-demo-server.uri>-->
<gateway.routes.epmet-demo-server.uri>http://127.0.0.1:8088</gateway.routes.epmet-demo-server.uri>
<!-- 10、运营端客户定制化服务 -->
<gateway.routes.oper-customize-server.uri>lb://oper-customize-server</gateway.routes.oper-customize-server.uri>
<!-- <gateway.routes.oper-customize-server.uri>http://127.0.0.1:8089</gateway.routes.oper-customize-server.uri>-->
<!-- 11、运营端客户定制化服务 -->
<gateway.routes.oper-crm-server.uri>lb://oper-crm-server</gateway.routes.oper-crm-server.uri>
<!-- <gateway.routes.oper-crm-server.uri>http://127.0.0.1:8090</gateway.routes.oper-crm-server.uri>-->
<!-- 12、居民端陌生人导览 -->
<gateway.routes.resi-guide-server.uri>lb://resi-guide-server</gateway.routes.resi-guide-server.uri>
<!-- <gateway.routes.resi-guide-server.uri>http://127.0.0.1:8091</gateway.routes.resi-guide-server.uri>-->
<!-- 13、政府组织管理 -->
<!--<gateway.routes.gov-org-server.uri>lb://gov-org-server</gateway.routes.gov-org-server.uri>-->
<gateway.routes.gov-org-server.uri>http://127.0.0.1:8092</gateway.routes.gov-org-server.uri>
<!-- 14、#运营端访问权限控制 -->
<gateway.routes.oper-access-server.uri>lb://oper-access-server</gateway.routes.oper-access-server.uri>
<!-- <gateway.routes.oper-access-server.uri>http://127.0.0.1:8093</gateway.routes.oper-access-server.uri>-->
<!-- 15、居民端个人信息 -->
<gateway.routes.resi-mine-server.uri>lb://resi-mine-server</gateway.routes.resi-mine-server.uri>
<!-- <gateway.routes.resi-mine-server.uri>http://127.0.0.1:8094</gateway.routes.resi-mine-server.uri>-->
<!-- 16、居民端楼院校组 -->
<gateway.routes.resi-group-server.uri>lb://resi-group-server</gateway.routes.resi-group-server.uri>
<!-- <gateway.routes.resi-group-server.uri>http://127.0.0.1:8095</gateway.routes.resi-group-server.uri>-->
<!-- 17、党员认证、热心居民申请 -->
<!-- <gateway.routes.resi-partymember-server.uri>http://127.0.0.1:8096</gateway.routes.resi-partymember-server.uri>-->
<gateway.routes.resi-partymember-server.uri>http://127.0.0.1:8096</gateway.routes.resi-partymember-server.uri>
<!-- <gateway.routes.resi-partymember-server.uri>lb://resi-partymember-server</gateway.routes.resi-partymember-server.uri>-->
<!-- 18、政府端网格管理 -->
<gateway.routes.gov-grid-server.uri>http://127.0.0.1:8097</gateway.routes.gov-grid-server.uri>
<!-- <gateway.routes.gov-grid-server.uri>lb://gov-grid-server</gateway.routes.gov-grid-server.uri>-->
<!--19.政府端-我的-服务-->
<gateway.routes.gov-mine-server.uri>http://127.0.0.1:8098</gateway.routes.gov-mine-server.uri>
<!--<gateway.routes.gov-mine-server.uri>lb://gov-mine-server</gateway.routes.gov-mine-server.uri>-->
<!--20.政府端-权限-服务-->
<gateway.routes.gov-access-server.uri>http://127.0.0.1:8099</gateway.routes.gov-access-server.uri>
<!--<gateway.routes.gov-access-server.uri>lb://gov-access-server</gateway.routes.gov-access-server.uri>-->
<!-- 21、居民端党群e事 -->
<!-- <gateway.routes.resi-hall-server.uri>http://127.0.0.1:8100</gateway.routes.resi-hall-server.uri>-->
<gateway.routes.resi-hall-server.uri>lb://resi-hall-server</gateway.routes.resi-hall-server.uri>
<!-- 22、政府工作端议题管理 -->
<!-- <gateway.routes.gov-issue-server.uri>http://127.0.0.1:8101</gateway.routes.gov-issue-server.uri>-->
<gateway.routes.gov-issue-server.uri>lb://gov-issue-server</gateway.routes.gov-issue-server.uri>
<!-- 23、政府工作端项目管理 -->
<!-- <gateway.routes.gov-project-server.uri>http://127.0.0.1:8102</gateway.routes.gov-project-server.uri>-->
<gateway.routes.gov-project-server.uri>lb://gov-project-server</gateway.routes.gov-project-server.uri>
<!-- 24、公共服务 -->
<gateway.routes.common-service-server.uri>http://127.0.0.1:8103</gateway.routes.common-service-server.uri>
<!-- <gateway.routes.common-service-server.uri>lb://common-service-server</gateway.routes.common-service-server.uri>-->
</properties>
</profile>
<profile>
<id>dev</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8080</server.port>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>EpmEtrEdIs!q@w</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>192.168.10.150:8848</nacos.server-addr>
<nacos.discovery.namespace>67e3c350-533e-4d7c-9f8f-faf1b4aa82ae</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
<!-- gateway routes -->
<!-- 1、认证服务 -->
<gateway.routes.epmet-auth-server.uri>lb://epmet-auth-server</gateway.routes.epmet-auth-server.uri>
<!-- 2、Admin服务 -->
<gateway.routes.epmet-admin-server.uri>lb://epmet-admin-server</gateway.routes.epmet-admin-server.uri>
<!-- 4、OSS服务 -->
@ -261,14 +167,14 @@
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.host>r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<spring.redis.password>EpmEtrEdIs!q@w</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace>f640d73c-9082-4abb-a901-38a060ae13ce</nacos.config.namespace>
<nacos.server-addr>192.168.10.150:8848</nacos.server-addr>
<nacos.discovery.namespace>67e3c350-533e-4d7c-9f8f-faf1b4aa82ae</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>

2
epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8086
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/epmet-activiti/epmet-activiti-server/docker-compose.yml → epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
epmet-activiti-server:
container_name: epmet-activiti-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-activiti-server:0.3.0
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-activiti-server:0.3.0
ports:
- "8086:8086"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/epmet-activiti/epmet-activiti-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
epmet-activiti-server:
container_name: epmet-activiti-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-activiti-server:0.3.0
ports:
- "8086:8086"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

36
epmet-module/epmet-activiti/epmet-activiti-server/pom.xml

@ -157,7 +157,7 @@
</build>
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -187,13 +187,10 @@
</properties>
</profile>
<profile>
<id>dev</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<id>test</id>
<properties>
<server.port>8086</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
@ -216,32 +213,5 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<server.port>8086</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_activiti?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

40
epmet-module/epmet-activiti/epmet-activiti-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

2
epmet-module/epmet-common-service/common-service-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8103
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/epmet-common-service/common-service-server/docker-compose.yml → epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
common-service-server:
container_name: common-service-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/common-service-server:0.3.0
image: 192.168.1.130:10080/epmet-cloud-dev/common-service-server:0.3.1
ports:
- "8103:8103"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
container_name: common-service-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/common-service-server:0.3.1
common-service-server:
ports:
- "8103:8103"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

10
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.0</version>
<version>0.3.1</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-common-service</artifactId>
@ -85,7 +85,7 @@
</build>
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -107,7 +107,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -117,7 +117,7 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
@ -127,7 +127,7 @@
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_resi_group_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_common_service_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>

40
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

38
epmet-module/epmet-demo/epmet-demo-server/pom.xml

@ -100,7 +100,7 @@
</build>
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -120,7 +120,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -130,8 +130,8 @@
</properties>
</profile>
<profile>
<id>dev</id>
<!-- <activation>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
@ -159,35 +159,5 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8088</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_demo?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

2
epmet-module/epmet-job/epmet-job-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8084
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/epmet-job/epmet-job-server/docker-compose.yml → epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
epmet-job-server:
container_name: epmet-job-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-job-server:0.3.0
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.1
ports:
- "8084:8084"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
epmet-job-server:
container_name: epmet-job-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-job-server:0.3.1
ports:
- "8084:8084"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

40
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.0</version>
<version>0.3.1</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-job</artifactId>
@ -96,7 +96,7 @@
</build>
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -116,7 +116,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -126,13 +126,13 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8084</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
@ -155,35 +155,5 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8084</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_job?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

40
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

2
epmet-module/epmet-message/epmet-message-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8085
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/epmet-message/epmet-message-server/docker-compose.yml → epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
epmet-message-server:
container_name: epmet-message-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-message-server:0.3.3
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-message-server:0.3.5
ports:
- "8085:8085"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
epmet-message-server:
container_name: epmet-message-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-message-server:0.3.5
ports:
- "8085:8085"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

40
epmet-module/epmet-message/epmet-message-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.3</version>
<version>0.3.5</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-message</artifactId>
@ -117,7 +117,7 @@
</build>
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -137,7 +137,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -147,13 +147,13 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8085</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
@ -176,35 +176,5 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8085</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_message?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

40
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

2
epmet-module/epmet-oss/epmet-oss-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8083
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

5
epmet-module/epmet-oss/epmet-oss-server/docker-compose.yml → epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml

@ -2,12 +2,15 @@ version: "3.7"
services:
epmet-oss-server:
container_name: epmet-oss-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-oss-server:0.3.0
# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-oss-server:0.3.2
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-oss-server:0.3.7
ports:
- "8083:8083"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

18
epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml

@ -0,0 +1,18 @@
version: "3.7"
services:
epmet-oss-server:
container_name: epmet-oss-server-test
# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-oss-server:0.3.2
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-oss-server:0.3.7
ports:
- "8083:8083"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

40
epmet-module/epmet-oss/epmet-oss-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.0</version>
<version>0.3.7</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-oss</artifactId>
@ -119,7 +119,7 @@
</build>
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -139,7 +139,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -149,13 +149,13 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8083</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
@ -178,35 +178,5 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8083</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_oss?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

40
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

2
epmet-module/gov-access/gov-access-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8099
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/gov-access/gov-access-server/docker-compose.yml → epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
gov-access-server:
container_name: gov-access-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-access-server:0.3.8
image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.10
ports:
- "8099:8099"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
gov-access-server:
container_name: gov-access-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-access-server:0.3.10
ports:
- "8099:8099"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

40
epmet-module/gov-access/gov-access-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.8</version>
<version>0.3.10</version>
<parent>
<artifactId>gov-access</artifactId>
<groupId>com.epmet</groupId>
@ -88,7 +88,7 @@
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -108,7 +108,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -118,13 +118,13 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8099</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
@ -147,36 +147,6 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8099</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_gov_access?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

40
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

2
epmet-module/gov-grid/gov-grid-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8097
ENTRYPOINT ["java","-Xms32m","-Xmx250m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/gov-grid/gov-grid-server/docker-compose.yml → epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
gov-grid-server:
container_name: gov-grid-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-grid-server:0.3.14
image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.16
ports:
- "8097:8097"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
gov-grid-server:
container_name: gov-grid-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.16
ports:
- "8097:8097"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 300M

34
epmet-module/gov-grid/gov-grid-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.3.14</version>
<version>0.3.16</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-grid</artifactId>
@ -92,7 +92,7 @@
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -106,7 +106,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -116,13 +116,13 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8097</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
@ -139,30 +139,6 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8097</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>

40
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

8
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiPartyMemberController.java

@ -51,7 +51,9 @@ public class ResiPartyMemberController {
@PostMapping("auditing")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTYAUTH_AUDITINGLIST)
public Result<List<AuditingPartyMemberResultDTO>> auditing(@RequestBody AuditingPartyMemberFormDTO formDTO) {
return resiPartyMemberService.auditing(formDTO);
ValidatorUtils.validateEntity(formDTO);
List<AuditingPartyMemberResultDTO> list=resiPartyMemberService.auditing(formDTO);
return new Result<List<AuditingPartyMemberResultDTO>>().ok(list);
}
/**
@ -64,7 +66,9 @@ public class ResiPartyMemberController {
@PostMapping("audited")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTYAUTH_AUDITHISTORY)
public Result<List<AuditedPartyMemberResultDTO>> audited(@RequestBody AuditedPartyMemberFormDTO formDTO) {
return resiPartyMemberService.audited(formDTO);
ValidatorUtils.validateEntity(formDTO);
List<AuditedPartyMemberResultDTO> list=resiPartyMemberService.audited(formDTO);
return new Result<List<AuditedPartyMemberResultDTO>>().ok(list);
}
/**

4
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiPartyMemberService.java

@ -37,7 +37,7 @@ public interface ResiPartyMemberService {
* @Description 待审核列表
* @Date 2020/4/26 16:04
**/
Result<List<AuditingPartyMemberResultDTO>> auditing(AuditingPartyMemberFormDTO formDTO);
List<AuditingPartyMemberResultDTO> auditing(AuditingPartyMemberFormDTO formDTO);
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.result.AuditedPartyMemberResultDTO>>
* @param formDTO
@ -45,7 +45,7 @@ public interface ResiPartyMemberService {
* @Description 党员认证-审核历史列表审核历史只包括自动审核失败和拒绝的审核失败居民未填写补充信息
* @Date 2020/4/26 23:32
**/
Result<List<AuditedPartyMemberResultDTO>> audited(AuditedPartyMemberFormDTO formDTO);
List<AuditedPartyMemberResultDTO> audited(AuditedPartyMemberFormDTO formDTO);
/**
*

25
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiPartyMemberServiceImpl.java

@ -1,5 +1,6 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
@ -39,37 +40,37 @@ public class ResiPartyMemberServiceImpl implements ResiPartyMemberService {
private ResiPartymemberFeignClient resiPartymemberFeignClient;
@Override
public Result<List<AuditingPartyMemberResultDTO>> auditing(AuditingPartyMemberFormDTO formDTO) {
UnderReviewParyMemberFormDTO underReviewParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, UnderReviewParyMemberFormDTO.class);
public List<AuditingPartyMemberResultDTO> auditing(AuditingPartyMemberFormDTO formDTO) {
List<AuditingPartyMemberResultDTO> list = new ArrayList<>();
UnderReviewParyMemberFormDTO underReviewParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, UnderReviewParyMemberFormDTO.class);
Result<List<UnderReviewParyMemberResultDTO>> result = resiPartymemberFeignClient.auditingPartyMember(underReviewParyMemberFormDTO);
if (!result.success()) {
logger.error(String.format("调用resi-partymember-server模块失败,错误提示%s", result.getMsg()));
logger.error(String.format("调用%s服务查询单元认证-待审核列表失败,入参网格id[%s],错误码%s,错误提示%s", ServiceConstant.RESI_PARTYMEMBER_SERVER, formDTO.getGridId(), result.getCode(), result.getMsg()));
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
}
if (null == result.getData() || result.getData().isEmpty()) {
logger.info(String.format("网格id[%s],待审核党员列表查询为空", formDTO.getGridId()));
return new Result<List<AuditingPartyMemberResultDTO>>().ok(list);
logger.info(String.format("调用%s服务查询党员认证-待审核列表,入参网格id[%s],待审核党员列表查询为空", ServiceConstant.RESI_PARTYMEMBER_SERVER, formDTO.getGridId()));
return list;
}
list = ConvertUtils.sourceToTarget(result.getData(), AuditingPartyMemberResultDTO.class);
return new Result<List<AuditingPartyMemberResultDTO>>().ok(list);
return list;
}
@Override
public Result<List<AuditedPartyMemberResultDTO>> audited(AuditedPartyMemberFormDTO formDTO) {
ReviewedParyMemberFormDTO reviewedParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, ReviewedParyMemberFormDTO.class);
public List<AuditedPartyMemberResultDTO> audited(AuditedPartyMemberFormDTO formDTO) {
List<AuditedPartyMemberResultDTO> list = new ArrayList<>();
ReviewedParyMemberFormDTO reviewedParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, ReviewedParyMemberFormDTO.class);
Result<List<ReviewedParyMemberResultDTO>> result = resiPartymemberFeignClient.auditedPartyMember(reviewedParyMemberFormDTO);
if (!result.success()) {
logger.error(String.format("调用resi-partymember-server模块失败,错误提示%s", result.getMsg()));
logger.error(String.format("调用%s服务查询党员认证-审核历史列表失败,入参网格id[%s],错误码%s,错误提示%s", ServiceConstant.RESI_PARTYMEMBER_SERVER, formDTO.getGridId(), result.getCode(), result.getMsg()));
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
}
if (null == result.getData() || result.getData().isEmpty()) {
logger.info(String.format("网格id[%s],待审核党员列表查询为空", formDTO.getGridId()));
return new Result<List<AuditedPartyMemberResultDTO>>().ok(list);
logger.info(String.format("调用%s服务查询党员认证-审核历史列表为空,入参网格id[%s],待审核党员列表查询为空", ServiceConstant.RESI_PARTYMEMBER_SERVER, formDTO.getGridId()));
return list;
}
list = ConvertUtils.sourceToTarget(result.getData(), AuditedPartyMemberResultDTO.class);
return new Result<List<AuditedPartyMemberResultDTO>>().ok(list);
return list;
}
/**

20
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessorListFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 议题人员选择(查询当前组织的上两级组织当前组织和所有下级组织)--接口入参
* @Author sun
*/
@Data
public class ProcessorListFormDTO implements Serializable {
private static final long serialVersionUID = 4859779755214502427L;
@NotBlank(message = "议题Id不能为空")
private String issueId;
}

28
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/13 16:14
*/
@Data
public class ShiftProjectListFromDTO implements Serializable {
private static final long serialVersionUID = -1132054225167531812L;
/**
* 网格Id
*/
private String gridId;
/**
* 当前页
*/
private Integer pageNo;
/**
* 每页记录数
*/
private Integer pageSize;
}

41
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/13 16:16
*/
@Data
public class ShiftProjectListResultDTO implements Serializable {
private static final long serialVersionUID = -8616067919204282328L;
/**
* 议题Id
*/
private String issueId;
/**
* 议题标题
*/
private String issueTitle;
/**
* 转成项目时间
*/
private Long shiftedTime;
/**
* 项目状态
*/
private String projectStatus;
/**
* 结案说明
*/
private String publicReply;
/**
* 当前处理部门
*/
private List<String> departmentNameList;
}

2
epmet-module/gov-issue/gov-issue-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8101
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/gov-issue/gov-issue-server/docker-compose.yml → epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
gov-issue-server:
container_name: gov-issue-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-issue-server:0.3.0
image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.2
ports:
- "8101:8101"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
gov-issue-server:
container_name: gov-issue-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.1
ports:
- "8101:8101"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

46
epmet-module/gov-issue/gov-issue-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.0</version>
<version>0.3.2</version>
<parent>
<artifactId>gov-issue</artifactId>
<groupId>com.epmet</groupId>
@ -78,6 +78,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-project-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>
@ -112,7 +118,7 @@
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -132,7 +138,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -142,13 +148,13 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8101</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
@ -171,36 +177,6 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8101</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_gov_issue?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url>
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

40
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

0
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/.gitkeep

14
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java

@ -5,10 +5,12 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.result.ClosedIssueListResultDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.VotingIssueListResultDTO;
import com.epmet.dto.result.ShiftProjectListResultDTO;
import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -53,6 +55,18 @@ public class IssueController {
List<GridVotingIssueCountResultDTO> list = issueService.queryVotingIssueCount(gridIdList);
return new Result<List<GridVotingIssueCountResultDTO>>().ok(list);
}
/**
* 已转项目列表
* @author zhaoqifeng
* @date 2020/5/13 16:22
* @param fromDTO 参数
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
*/
@PostMapping("shiftprojectlist")
public Result<List<ShiftProjectListResultDTO>> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) {
return new Result<List<ShiftProjectListResultDTO>>().ok(issueService.getShiftProjectList(fromDTO));
}
/**
* @Description 话题转议题 供群组话题服务调用
* @param issueShiftedFromTopicFormDTO

29
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java

@ -6,6 +6,9 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.service.IssueService;
@ -59,6 +62,19 @@ public class IssueManageController {
return new Result<DepartmentStaffListResultDTO>().ok(issueService.departmentStaffList(formDTO));
}
/**
* 已转项目列表
* @author zhaoqifeng
* @date 2020/5/13 16:22
* @param fromDTO 参数
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
*/
@PostMapping("shiftprojectlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST)
public Result<List<ShiftProjectListResultDTO>> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) {
return new Result<List<ShiftProjectListResultDTO>>().ok(issueService.getShiftProjectList(fromDTO));
}
/**
* @Description 详情折线图
* @param issueId
@ -81,6 +97,19 @@ public class IssueManageController {
return new Result<List<EvaluationListResultDTO>>().ok(issueVoteStatisticalService.evaluationList(formDTO));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-议题人员选择
**/
@PostMapping("processorlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT)
public Result<ProcessorListResultDTO> processorList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessorListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<ProcessorListResultDTO>().ok(issueService.processorList(formDTO));
}
/**
* @Description 获取表决中议题列表
* @param issueListFormDTO

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.result.ClosedIssueListResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.VotingIssueListResultDTO;
@ -46,6 +47,15 @@ public interface IssueDao extends BaseDao<IssueEntity> {
*/
IssueResultDTO issueDetail(IssueDetailFormDTO formDTO);
/**
* 根据网格ID查找已转项目议题列表
* @author zhaoqifeng
* @date 2020/5/13 16:27
* @param fromDTO 参数
* @return java.util.List<com.epmet.entity.IssueEntity>
*/
List<IssueEntity> selectIssueListByGridId(ShiftProjectListFromDTO fromDTO);
/**
* @Description 新增一条议题
* @param issueDTO

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java

@ -6,6 +6,7 @@ import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
@ -35,4 +36,13 @@ public interface GovOrgFeignClient {
**/
@PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}")
Result<DepartmentStaffListResultDTO> departmentStaffList(@PathVariable("agencyId") String agencyId);
/**
* @param agencyId
* @return
* @Author sun
* @Description 根据当前组织ID查询上两级组织当前组织和所有下级(迭代)组织
**/
@PostMapping(value = "/gov/org/customeragency/getprocessorlist/{agencyId}")
Result<ProcessorListResultDTO> getProcessorList(@PathVariable("agencyId") String agencyId);
}

30
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java

@ -0,0 +1,30 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.feign.fallback.GovProjectFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/14 13:26
*/
@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectFeignClientFallBack.class)
public interface GovProjectFeignClient {
/**
* 根据议题查询项目
* @author zhaoqifeng
* @date 2020/5/13 16:55
* @param fromDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.ProjectDTO>>
*/
@PostMapping("/gov/project/project/shiftprojectlist")
Result<List<ShiftProjectResultDTO>> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO);
}

6
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java

@ -5,6 +5,7 @@ import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
import com.epmet.feign.GovOrgFeignClient;
import org.springframework.stereotype.Component;
@ -24,4 +25,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
public Result<DepartmentStaffListResultDTO> departmentStaffList(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId);
}
@Override
public Result<ProcessorListResultDTO> getProcessorList(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getProcessorList", agencyId);
}
}

24
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java

@ -0,0 +1,24 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.feign.GovProjectFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/14 13:26
*/
@Component
public class GovProjectFeignClientFallBack implements GovProjectFeignClient {
@Override
public Result<List<ShiftProjectResultDTO>> getProjectByIssue(ShiftProjectsFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProjectByIssue", fromDTO);
}
}

0
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/.gitkeep

19
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java

@ -1,6 +1,8 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.CommonIssueListFormDTO;
@ -40,6 +42,15 @@ public interface IssueService extends BaseService<IssueEntity> {
* @Description 议题管理-部门人员选择
**/
DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO);
/**
* 已转项目议题列表
* @author zhaoqifeng
* @date 2020/5/13 16:22
* @param fromDTO 参数
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
*/
List<ShiftProjectListResultDTO> getShiftProjectList(ShiftProjectListFromDTO fromDTO);
/**
* @param gridIdList
* @return java.util.List<com.epmet.dto.result.GridVotingIssueCountResultDTO>
@ -82,4 +93,12 @@ public interface IssueService extends BaseService<IssueEntity> {
* @date 2020.05.14 16:08
**/
GovIssueDetailResultDTO issueDetailGov(IssueDetailFormDTO issueDetail);
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-议题人员选择
**/
ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO);
}

0
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/.gitkeep

300
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -17,6 +17,9 @@ import com.epmet.dto.IssueProcessDTO;
import com.epmet.dto.IssueVoteStatisticalDTO;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dao.IssueProcessDao;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
@ -26,6 +29,7 @@ import com.epmet.dto.form.UserMessageFormDTO;
import com.epmet.entity.IssueEntity;
import com.epmet.entity.IssueProcessEntity;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.GovProjectFeignClient;
import com.epmet.feign.MessageFeignClient;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.redis.GovIssueRedis;
@ -47,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@ -58,20 +63,23 @@ import java.util.List;
@Service
public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> implements IssueService {
@Autowired
private IssueDao issueDao;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private IssueProcessDao issueProcessDao;
@Autowired
private ResiGroupFeignClient resiGroupFeignClient;
@Autowired
private MessageFeignClient messageFeignClient;
@Autowired
private GovIssueRedis govIssueRedis;
@Autowired
private GovProjectFeignClient govProjectFeignClient;
protected static final Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class);
@Autowired
private IssueDao issueDao;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private IssueProcessDao issueProcessDao;
@Autowired
private ResiGroupFeignClient resiGroupFeignClient;
@Autowired
private MessageFeignClient messageFeignClient;
@Autowired
private GovIssueRedis govIssueRedis;
@Autowired
private IssueProcessService issueProcessService;
@Autowired
@ -79,121 +87,167 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
@Autowired
private IssueProjectRelationService issueProjectRelationService;
/**
* @Description 议题详情
* @param issueDetail
* @author zxc
* @date 2020/5/11 10:04
*/
@Override
public IssueResultDTO detail(IssueDetailFormDTO issueDetail) {
//议题信息
IssueResultDTO issueResult = issueDao.issueDetail(issueDetail);
return issueResult;
}
/**
* @param issueDetail
* @Description 议题详情
* @author zxc
* @date 2020/5/11 10:04
*/
@Override
public IssueResultDTO detail(IssueDetailFormDTO issueDetail) {
//议题信息
IssueResultDTO issueResult = issueDao.issueDetail(issueDetail);
return issueResult;
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-关闭议题
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void closeIssue(CloseIssueFormDTO formDTO) {
Date date = new Date();
//1:更新议题详情表数据
IssueEntity entity = baseDao.selectById(formDTO.getIssueId());
if (null == entity) {
throw new RenException(IssueConstant.SELECT_EXCEPTION);
}
entity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
entity.setCloseReason(formDTO.getCloseReason());
entity.setResolveType(formDTO.getResolveType());
entity.setVotingDeadline(date);
entity.setClosedTime(date);
if (baseDao.updateById(entity) < NumConstant.ONE) {
throw new RenException(IssueConstant.UPPDATE_EXCEPTION);
}
//2:调用gov-org服务,查询组织网格名称
AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO();
agencyGridResultDTO.setAgencyId(entity.getOrgId());
agencyGridResultDTO.setGridId(entity.getGridId());
Result<AgencyGridResultDTO> resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO);
agencyGridResultDTO = resultDTO.getData();
//3:议题进展记录表新增数据
IssueProcessEntity processEntity = new IssueProcessEntity();
processEntity.setIssueId(formDTO.getIssueId());
processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
processEntity.setOrgType(IssueConstant.ISSUE_GRID);
processEntity.setOrgId(entity.getOrgId());
processEntity.setOperationExplain(formDTO.getCloseReason());
processEntity.setOrgName(agencyGridResultDTO.getAgencyName()+"-"+agencyGridResultDTO.getGridName());
issueProcessDao.insert(processEntity);
//4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息
if(!saveUserMessageList(formDTO, entity).success()){
throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION);
}
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-关闭议题
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void closeIssue(CloseIssueFormDTO formDTO) {
Date date = new Date();
//1:更新议题详情表数据
IssueEntity entity = baseDao.selectById(formDTO.getIssueId());
if (null == entity) {
throw new RenException(IssueConstant.SELECT_EXCEPTION);
}
entity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
entity.setCloseReason(formDTO.getCloseReason());
entity.setResolveType(formDTO.getResolveType());
entity.setVotingDeadline(date);
entity.setClosedTime(date);
if (baseDao.updateById(entity) < NumConstant.ONE) {
throw new RenException(IssueConstant.UPPDATE_EXCEPTION);
}
//2:调用gov-org服务,查询组织网格名称
AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO();
agencyGridResultDTO.setAgencyId(entity.getOrgId());
agencyGridResultDTO.setGridId(entity.getGridId());
Result<AgencyGridResultDTO> resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO);
agencyGridResultDTO = resultDTO.getData();
//3:议题进展记录表新增数据
IssueProcessEntity processEntity = new IssueProcessEntity();
processEntity.setIssueId(formDTO.getIssueId());
processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED);
processEntity.setOrgType(IssueConstant.ISSUE_GRID);
processEntity.setOrgId(entity.getOrgId());
processEntity.setOperationExplain(formDTO.getCloseReason());
processEntity.setOrgName(agencyGridResultDTO.getAgencyName() + "-" + agencyGridResultDTO.getGridName());
issueProcessDao.insert(processEntity);
//4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息
if (!saveUserMessageList(formDTO, entity).success()) {
throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION);
}
}
@Override
public List<GridVotingIssueCountResultDTO> queryVotingIssueCount(List<String> gridIdList) {
List<GridVotingIssueCountResultDTO> list=new ArrayList<>();
for(String gridId:gridIdList){
GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO=new GridVotingIssueCountResultDTO();
gridVotingIssueCountResultDTO.setGridId(gridId);
Long auditingCount=govIssueRedis.queryVotingIssueCount(gridId);
gridVotingIssueCountResultDTO.setCount(auditingCount);
list.add(gridVotingIssueCountResultDTO);
}
return list;
}
@Override
public List<GridVotingIssueCountResultDTO> queryVotingIssueCount(List<String> gridIdList) {
List<GridVotingIssueCountResultDTO> list = new ArrayList<>();
for (String gridId : gridIdList) {
GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO = new GridVotingIssueCountResultDTO();
gridVotingIssueCountResultDTO.setGridId(gridId);
Long auditingCount = govIssueRedis.queryVotingIssueCount(gridId);
gridVotingIssueCountResultDTO.setCount(auditingCount);
list.add(gridVotingIssueCountResultDTO);
}
return list;
}
/**
* @Description 关闭议题给话题创建人和议题发起人发送消息
* @author sun
*/
private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity){
//1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题)
Result<ResiTopicDTO> resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId());
if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) {
throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION);
}
ResiTopicDTO topicDTO = resultTopicDTO.getData();
//2:分别给话题创建人、议题发起人发送消息
List<UserMessageFormDTO> msgList = new ArrayList<>();
UserMessageFormDTO msgDTO = new UserMessageFormDTO();
msgDTO.setCustomerId(entity.getCustomerId());
msgDTO.setGridId(entity.getGridId());
msgDTO.setApp(AppClientConstant.APP_RESI);
msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE);
String messageContent = "";
if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
} else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
}
msgDTO.setMessageContent(messageContent);
msgDTO.setReadFlag(ReadFlagConstant.UN_READ);
msgDTO.setUserId(topicDTO.getCreatedBy());
msgList.add(msgDTO);
msgDTO.setUserId(entity.getCreatedBy());
msgList.add(msgDTO);
return messageFeignClient.saveUserMessageList(msgList);
}
/**
* @Description 关闭议题给话题创建人和议题发起人发送消息
* @author sun
*/
private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity) {
//1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题)
Result<ResiTopicDTO> resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId());
if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) {
throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION);
}
ResiTopicDTO topicDTO = resultTopicDTO.getData();
//2:分别给话题创建人、议题发起人发送消息
List<UserMessageFormDTO> msgList = new ArrayList<>();
UserMessageFormDTO msgDTO = new UserMessageFormDTO();
msgDTO.setCustomerId(entity.getCustomerId());
msgDTO.setGridId(entity.getGridId());
msgDTO.setApp(AppClientConstant.APP_RESI);
msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE);
String messageContent = "";
if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
} else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) {
messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason());
}
msgDTO.setMessageContent(messageContent);
msgDTO.setReadFlag(ReadFlagConstant.UN_READ);
msgDTO.setUserId(topicDTO.getCreatedBy());
msgList.add(msgDTO);
msgDTO.setUserId(entity.getCreatedBy());
msgList.add(msgDTO);
return messageFeignClient.saveUserMessageList(msgList);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-部门人员选择
**/
@Override
public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) {
//1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息
Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId());
return resultDTOResult.getData();
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-部门人员选择
**/
@Override
public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) {
//1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息
Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId());
return resultDTOResult.getData();
}
@Override
public List<ShiftProjectListResultDTO> getShiftProjectList(ShiftProjectListFromDTO fromDTO) {
List<ShiftProjectListResultDTO> resultList = new ArrayList<>();
//查询条件
int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize();
fromDTO.setPageNo(pageIndex);
List<IssueEntity> issueList = baseDao.selectIssueListByGridId(fromDTO);
if (null == issueList || issueList.size() == 0) {
return resultList;
}
//遍历获取所有的userId
List<String> issueIds = issueList.stream().map(IssueEntity::getId).collect(Collectors.toList());
ShiftProjectsFromDTO shiftProjectsFromDTO = new ShiftProjectsFromDTO();
shiftProjectsFromDTO.setIssueIds(issueIds);
List<ShiftProjectResultDTO> projectList = govProjectFeignClient.getProjectByIssue(shiftProjectsFromDTO).getData();
resultList = issueList.stream().flatMap(issue -> projectList.stream().filter(p -> issue.getId().equals(p.getOriginId())).map(project ->{
ShiftProjectListResultDTO shiftProject = new ShiftProjectListResultDTO();
shiftProject.setIssueId(issue.getId());
shiftProject.setIssueTitle(issue.getIssueTitle());
shiftProject.setDepartmentNameList(project.getDepartmentNameList());
shiftProject.setPublicReply(project.getPublicReply());
shiftProject.setShiftedTime(project.getCreatedTime().getTime());
shiftProject.setProjectStatus(project.getStatus());
return shiftProject;
})).collect(Collectors.toList());
return resultList;
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 议题管理-议题人员选择
**/
@Override
public ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO) {
//1:查询当前议题工作人员所属组织Id
IssueEntity entity = baseDao.selectById(formDTO.getIssueId());
if (null == entity) {
throw new RenException(IssueConstant.SELECT_EXCEPTION);
}
//2:调用gov-org服务,查询组织树
Result<ProcessorListResultDTO> resultDTOResult = govOrgFeignClient.getProcessorList(entity.getOrgId());
return resultDTOResult.getData();
}
/**
* @Description 话题转为议题入口 返回生成的议题Id

11
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

@ -44,6 +44,17 @@
AND del_flag = 0
</select>
<select id="selectIssueListByGridId" parameterType="com.epmet.dto.form.ShiftProjectListFromDTO" resultType="com.epmet.entity.IssueEntity">
SELECT
*
FROM
issue
WHERE
DEL_FLAG = '0'
AND GRID_ID = #{gridId}
AND ISSUE_STATUS = 'shift_project'
</select>
<!-- 新增议题 -->
<insert id="insertOne" useGeneratedKeys="true" keyColumn="id" keyProperty="id" parameterType="com.epmet.dto.IssueDTO">

2
epmet-module/gov-mine/gov-mine-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8098
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/gov-mine/gov-mine-server/docker-compose.yml → epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
gov-mine-server:
container_name: gov-mine-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-mine-server:0.3.8
image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.11
ports:
- "8098:8098"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
gov-mine-server:
container_name: gov-mine-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-mine-server:0.3.11
ports:
- "8098:8098"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

47
epmet-module/gov-mine/gov-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">
<version>0.3.8</version>
<version>0.3.11</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-mine</artifactId>
@ -45,20 +45,27 @@
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring.boot.admin.version}</version>
</dependency>
<!--服务调用相关依赖-->
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-service-call</artifactId>
<version>0.3.1</version>
</dependency>
<!--<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependency>-->
<!-- 替换Feign原生httpclient -->
<dependency>
<!--<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
<version>10.3.0</version>
</dependency>
</dependency>-->
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>
@ -105,7 +112,7 @@
<profiles>
<profile>
<id>dev-local</id>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -119,7 +126,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
@ -129,13 +136,13 @@
</properties>
</profile>
<profile>
<id>dev</id>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8098</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<spring.profiles.active>test</spring.profiles.active>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
@ -152,30 +159,6 @@
<nacos.ip/>
</properties>
</profile>
<profile>
<id>test</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8098</server.port>
<spring.profiles.active>test</spring.profiles.active>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>10.10.10.248</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>
<nacos.config.group></nacos.config.group>
<nacos.config-enabled>false</nacos.config-enabled>
<nacos.ip/>
</properties>
</profile>
</profiles>
</project>

40
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/aspect/RequestLogAspect.java

@ -0,0 +1,40 @@
package com.epmet.aspect;
import com.epmet.commons.tools.aspect.BaseRequestLogAspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* 日志/异常处理切面实现调用父类方法完成日志记录和异常处理
*/
@Aspect
@Component
@Order(0)
public class RequestLogAspect extends BaseRequestLogAspect {
@Override
@Around(value = "execution(* com.epmet.controller.*Controller*.*(..)) ")
public Object proceed(ProceedingJoinPoint point) throws Throwable {
return super.proceed(point, getRequest());
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

29
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/config/LoadBalancerConfig.java

@ -0,0 +1,29 @@
package com.epmet.config;
import com.epmet.loadbalancer.EpmetRequestLoadBalancerRule;
import com.netflix.loadbalancer.IRule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
@Configuration
public class LoadBalancerConfig {
//@Bean
//@LoadBalanced
//public RestTemplate getRestTemplate() {
// return new RestTemplate();
//}
/**
* 自定义负载均衡算法bean
* @return
*/
//@Bean
//public IRule getMyLoadBalancerRule(Environment env) {
// EpmetRequestLoadBalancerRule rule = new EpmetRequestLoadBalancerRule();
// rule.setEnv(env);
// return rule;
//}
}

3
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java

@ -82,7 +82,8 @@ public class StaffAgencyController {
public Result switchGrid(@LoginUser TokenDto tokenDto, @RequestBody SwitchGridFormDTO switchGridFormDTO) {
switchGridFormDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(switchGridFormDTO);
return staffAgencyService.switchGrid(switchGridFormDTO);
staffAgencyService.switchGrid(switchGridFormDTO);
return new Result();
}
/**

2
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java

@ -57,7 +57,7 @@ public interface StaffAgencyService {
* @Description 切换网格
* @Date 2020/4/23 10:49
**/
Result switchGrid(SwitchGridFormDTO switchGridFormDTO);
void switchGrid(SwitchGridFormDTO switchGridFormDTO);
/**
* @Description 得到工作人员最后一次登录的网格

7
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java

@ -215,12 +215,14 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
return staffGridResult;
}
}
return new Result<CustomerGridByUserIdResultDTO>().error(StaffAgencyConstant.QUERY_LATEST_GRID_INFO_FAILED);
logger.error(String.format("客户id%s,staffId%s查询最后一次登录网格为空",latestGridFormDTO.getCustomerId(),latestGridFormDTO.getStaffId()));
//.error(StaffAgencyConstant.QUERY_LATEST_GRID_INFO_FAILED)
return new Result<>();
}
@Override
public Result switchGrid(SwitchGridFormDTO switchGridFormDTO) {
public void switchGrid(SwitchGridFormDTO switchGridFormDTO) {
//记录网格访问记录
StaffGridVisitedFormDTO staffGridVisitedFormDTO = ConvertUtils.sourceToTarget(switchGridFormDTO, StaffGridVisitedFormDTO.class);
Result saveStaffGridVisitedRecord = epmetUserFeignClient.saveStaffGridVisitedRecord(staffGridVisitedFormDTO);
@ -230,7 +232,6 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
/* //查询网格的权限
Set<String> opeKeys = accessService.listOpeKeysByStaffId(switchGridFormDTO.getStaffId(), null, switchGridFormDTO.getGridId());
return new Result<Set<String>>().ok(opeKeys);*/
return new Result();
}

43
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyResultDTO.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.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 组织信息
*
* @author sun
*/
@Data
public class AgencyResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关组织Id
*/
private String agencyId = "";
/**
* 机关组织名称
*/
private String agencyName = "";
}

52
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencySubResultDTO.java

@ -0,0 +1,52 @@
/**
* 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.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 下级组织信息(迭代对象)
*
* @author sun
*/
@Data
public class AgencySubResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 机关组织Id
*/
private String agencyId = "";
/**
* 机关组织名称
*/
private String agencyName = "";
/**
* 下级组织信息
*/
private List<AgencySubResultDTO> subAgencyList;
/**
* 当前组织的所有上级组织Id
*/
private String pids = "";
}

48
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ProcessorListResultDTO.java

@ -0,0 +1,48 @@
/**
* 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.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 项目人员选择(查询当前组织的上两级组织和所有下级组织)--接口返参
*
* @author sun
*/
@Data
public class ProcessorListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 当前组织的上两级组织信息
*/
private List<AgencyResultDTO> parentAgencyList;
/**
* 当前组织信息
*/
private AgencyResultDTO agencyList;
/**
* 下级组织信息(迭代)
*/
private List<AgencySubResultDTO> subAgencyList;
}

2
epmet-module/gov-org/gov-org-server/Dockerfile

@ -8,4 +8,4 @@ COPY ./target/*.jar ./app.jar
EXPOSE 8092
ENTRYPOINT ["java","-Xms32m","-Xmx250m","-jar","./app.jar"]
ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"]

4
epmet-module/gov-org/gov-org-server/docker-compose.yml → epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml

@ -2,12 +2,14 @@ version: "3.7"
services:
gov-org-server:
container_name: gov-org-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-org-server:0.3.31
image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.34
ports:
- "8092:8092"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:

17
epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml

@ -0,0 +1,17 @@
version: "3.7"
services:
gov-org-server:
container_name: gov-org-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.33
ports:
- "8092:8092"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/test:/logs"
environment:
RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./app.jar"
deploy:
resources:
limits:
cpus: '0.1'
memory: 300M

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

Loading…
Cancel
Save