Browse Source

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

master
yinzuomei 6 years ago
parent
commit
2a90464e0d
  1. 2
      epmet-admin/epmet-admin-server/docker-compose.yml
  2. 2
      epmet-admin/epmet-admin-server/pom.xml
  3. 2
      epmet-auth/docker-compose.yml
  4. 2
      epmet-auth/pom.xml
  5. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java
  6. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java
  7. 2
      epmet-gateway/docker-compose.yml
  8. 22
      epmet-gateway/pom.xml
  9. 12
      epmet-gateway/src/main/resources/bootstrap.yml
  10. 2
      epmet-module/epmet-message/epmet-message-server/docker-compose.yml
  11. 2
      epmet-module/epmet-message/epmet-message-server/pom.xml
  12. 11
      epmet-module/gov-access/gov-access-server/Dockerfile
  13. 15
      epmet-module/gov-access/gov-access-server/docker-compose.yml
  14. 2
      epmet-module/gov-access/gov-access-server/pom.xml
  15. 25
      epmet-module/gov-grid/gov-grid-client/pom.xml
  16. 0
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/.gitkeep
  17. 0
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/.gitkeep
  18. 34
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/AuditedPartyMemberFormDTO.java
  19. 35
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/AuditingPartyMemberFormDTO.java
  20. 0
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/.gitkeep
  21. 46
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/AuditedPartyMemberResultDTO.java
  22. 47
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/AuditingPartyMemberResultDTO.java
  23. 11
      epmet-module/gov-grid/gov-grid-server/Dockerfile
  24. 15
      epmet-module/gov-grid/gov-grid-server/docker-compose.yml
  25. 169
      epmet-module/gov-grid/gov-grid-server/pom.xml
  26. 23
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/GovGridApplication.java
  27. 26
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/config/ModuleConfigImpl.java
  28. 68
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/config/SwaggerConfig.java
  29. 126
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java
  30. 53
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiPartyMemberController.java
  31. 85
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiTopicController.java
  32. 88
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiWarmheartedController.java
  33. 0
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/dao/.gitkeep
  34. 0
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/entity/.gitkeep
  35. 0
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/excel/.gitkeep
  36. 16
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/exception/ModuleErrorCode.java
  37. 144
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java
  38. 90
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java
  39. 0
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/.gitkeep
  40. 114
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java
  41. 60
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java
  42. 0
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/redis/.gitkeep
  43. 81
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiGroupService.java
  44. 33
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiPartyMemberService.java
  45. 57
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiTopicService.java
  46. 61
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiWarmheartedService.java
  47. 65
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiGroupServiceImpl.java
  48. 70
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiPartyMemberServiceImpl.java
  49. 79
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiTopicServiceImpl.java
  50. 78
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiWarmheartedServiceImpl.java
  51. 10
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/util/ModuleConstant.java
  52. 71
      epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml
  53. 159
      epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml
  54. 0
      epmet-module/gov-grid/gov-grid-server/src/main/resources/mapper/.gitkeep
  55. 20
      epmet-module/gov-grid/pom.xml
  56. 11
      epmet-module/gov-mine/gov-mine-server/Dockerfile
  57. 15
      epmet-module/gov-mine/gov-mine-server/docker-compose.yml
  58. 2
      epmet-module/gov-mine/gov-mine-server/pom.xml
  59. 1
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovAccessFeignClient.java
  60. 2
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerStaffAgencyDTO.java
  61. 81
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridInfoResultDTO.java
  62. 2
      epmet-module/gov-org/gov-org-server/docker-compose.yml
  63. 2
      epmet-module/gov-org/gov-org-server/pom.xml
  64. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java
  65. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java
  66. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerStaffAgencyEntity.java
  67. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerStaffAgencyExcel.java
  68. 16
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  69. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java
  70. 64
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  71. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java
  72. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/util/ModuleConstant.java
  73. 2
      epmet-module/oper-access/oper-access-server/docker-compose.yml
  74. 2
      epmet-module/oper-access/oper-access-server/pom.xml
  75. 2
      epmet-module/oper-crm/oper-crm-server/docker-compose.yml
  76. 6
      epmet-module/oper-crm/oper-crm-server/pom.xml
  77. 2
      epmet-module/oper-customize/oper-customize-server/docker-compose.yml
  78. 2
      epmet-module/oper-customize/oper-customize-server/pom.xml
  79. 1
      epmet-module/pom.xml
  80. 5
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java
  81. 10
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupOperationDTO.java
  82. 47
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplyingGroupsFormDTO.java
  83. 29
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGroupIdFromDTO.java
  84. 19
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java
  85. 36
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupAuditedFromDTO.java
  86. 78
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplyingGroupDetailResultDTO.java
  87. 50
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplyingGroupResultDTO.java
  88. 43
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java
  89. 45
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupAuditedResultDTO.java
  90. 41
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupsInGridResultDTO.java
  91. 2
      epmet-module/resi-group/resi-group-server/docker-compose.yml
  92. 2
      epmet-module/resi-group/resi-group-server/pom.xml
  93. 14
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java
  94. 90
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
  95. 33
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
  96. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupOperationEntity.java
  97. 83
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java
  98. 55
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  99. 217
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  100. 82
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java

2
epmet-admin/epmet-admin-server/docker-compose.yml

@ -2,7 +2,7 @@ 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.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-admin-server:0.3.1
ports:
- "8082:8082"
network_mode: host # 使用现有网络

2
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.0</version>
<version>0.3.1</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin</artifactId>

2
epmet-auth/docker-compose.yml

@ -2,7 +2,7 @@ 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.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-auth:0.3.1
ports:
- "8081:8081"
network_mode: host # 使用现有网络

2
epmet-auth/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.0</version>
<version>0.3.1</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>

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

@ -31,6 +31,7 @@ public interface NumConstant {
int FORTY = 40;
int FIFTY = 50;
int ONE_HUNDRED = 100;
int MAX = 99999999;
long ZERO_L = 0L;
long ONE_L = 1L;

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ServiceConstant.java

@ -74,6 +74,11 @@ public interface ServiceConstant {
*/
String EPMET_MESSAGE_SERVER = "epmet-message-server";
/**
* 楼院小组
*/
String RESI_GROUP_SERVER ="resi-group-server";
/**
* 政府端权限服务
*/

2
epmet-gateway/docker-compose.yml

@ -2,7 +2,7 @@ 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.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-gateway:0.3.2
ports:
- "8080:8080"
network_mode: host # 使用现有网络

22
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.0</version>
<version>0.3.2</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>
@ -154,15 +154,17 @@
<!-- <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>lb://resi-partymember-server</gateway.routes.resi-partymember-server.uri>
<!--18.政府端-权限-服务-->
<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>-->
<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>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>-->
</properties>
</profile>
<profile>
@ -219,6 +221,8 @@
<gateway.routes.resi-group-server.uri>lb://resi-group-server</gateway.routes.resi-group-server.uri>
<!-- 17、党员认证、热心居民申请 -->
<gateway.routes.resi-partymember-server.uri>lb://resi-partymember-server</gateway.routes.resi-partymember-server.uri>
<!-- 18、政府端网格管理 -->
<gateway.routes.gov-grid-server.uri>lb://gov-grid-server</gateway.routes.gov-grid-server.uri>
<!--18.政府端-权限-服务-->
<gateway.routes.gov-access-server.uri>lb://gov-access-server</gateway.routes.gov-access-server.uri>
@ -286,6 +290,8 @@
<!--19.政府端-我的-服务-->
<gateway.routes.gov-mine-server.uri>lb://gov-mine-server</gateway.routes.gov-mine-server.uri>
<!-- 18、政府端网格管理 -->
<gateway.routes.gov-grid-server.uri>lb://gov-grid-server</gateway.routes.gov-grid-server.uri>
</properties>
</profile>
</profiles>

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

@ -167,6 +167,15 @@ spring:
filters:
- StripPrefix=1
- CpAuth=true
#政府端网格管理
- id: gov-grid-server
uri: @gateway.routes.gov-grid-server.uri@
order: 18
predicates:
- Path=${server.servlet.context-path}/gov/grid/**
filters:
- StripPrefix=1
- CpAuth=true
#政府端权限服务
@ -227,6 +236,7 @@ renren:
- /resi/mine/**
- /resi/group/**
- /resi/partymember/**
- /gov/grid/**
management:
endpoints:
web:
@ -290,9 +300,11 @@ epmet:
- /resi/guide/stranger/getgridhome
- /resi/guide/user/entergrid
- /auth/login/logout
- /auth/gov/loginwxmp/loginout
- /resi/mine/**
- /resi/group/**
- /resi/partymember/**
- /gov/grid/**
- /gov/mine/**
- /gov/access/**
swaggerUrls:

2
epmet-module/epmet-message/epmet-message-server/docker-compose.yml

@ -2,7 +2,7 @@ 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.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-message-server:0.3.1
ports:
- "8085:8085"
network_mode: host # 使用现有网络

2
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.0</version>
<version>0.3.1</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-message</artifactId>

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

@ -0,0 +1,11 @@
FROM java:8
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone
COPY ./target/*.jar ./app.jar
EXPOSE 8099
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]

15
epmet-module/gov-access/gov-access-server/docker-compose.yml

@ -0,0 +1,15 @@
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.1
ports:
- "8099:8099"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

2
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.0</version>
<version>0.3.1</version>
<parent>
<artifactId>gov-access</artifactId>
<groupId>com.epmet</groupId>

25
epmet-module/gov-grid/gov-grid-client/pom.xml

@ -0,0 +1,25 @@
<?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>gov-grid</artifactId>
<groupId>com.epmet</groupId>
<version>2.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>gov-grid-client</artifactId>
<dependencies>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>

0
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/.gitkeep

0
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/.gitkeep

34
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/AuditedPartyMemberFormDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 党员认证-审核历史列表入参
* @Author yinzuomei
* @Date 2020/4/26 23:28
*/
@Data
public class AuditedPartyMemberFormDTO implements Serializable {
private static final long serialVersionUID = -6698685200715718225L;
/**
* 网格ID
*/
@NotBlank(message = "网格id不能为空")
private String gridId;
/**
* 页码
*/
@Min(1)
private Integer pageNo;
/**
* 每页显示数量默认20
*/
private Integer pageSize=20;
}

35
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/AuditingPartyMemberFormDTO.java

@ -0,0 +1,35 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 党员认证-待审核列表入参
* @Author yinzuomei
* @Date 2020/4/26 15:59
*/
@Data
public class AuditingPartyMemberFormDTO implements Serializable {
private static final long serialVersionUID = 6022180109189321760L;
/**
* 网格ID
*/
@NotBlank(message = "网格id不能为空")
private String gridId;
/**
* 页码
*/
@Min(1)
private Integer pageNo;
/**
* 每页显示数量默认20
*/
private Integer pageSize=20;
}

0
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/.gitkeep

46
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/AuditedPartyMemberResultDTO.java

@ -0,0 +1,46 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 党员认证-审核历史列表f返参
* @Author yinzuomei
* @Date 2020/4/26 23:29
*/
@Data
public class AuditedPartyMemberResultDTO implements Serializable {
private static final long serialVersionUID = 4203582446687799299L;
/**
* 居民id
*/
private String userId;
/**
* 用户真实姓名
*/
private String realName;
/**
* 居民头像
*/
private String userHeadPhoto;
/**
* 申请时间
*/
private Date applyTime;
/**
* auto_confirm_failed:自动认证失败,rejected :拒绝
*/
private String status;
/**
* read已读unread未读
*/
private String gridFullPath;
}

47
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/AuditingPartyMemberResultDTO.java

@ -0,0 +1,47 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 党员认证-待审核列表返参
* @Author yinzuomei
* @Date 2020/4/26 16:08
*/
@Data
public class AuditingPartyMemberResultDTO implements Serializable {
private static final long serialVersionUID = 5408510275912925158L;
/**
* 居民id
*/
private String userId;
/**
* 用户真实姓名
*/
private String realName;
/**
* 居民头像
*/
private String userHeadPhoto;
/**
* 申请时间
*/
private Date applyTime;
/**
* 提交网格XXX街道-XXX社区-XXX网格
*/
private String readFlag;
/**
* read已读unread未读
*/
private String gridFullPath;
}

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

@ -0,0 +1,11 @@
FROM java:8
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone
COPY ./target/*.jar ./app.jar
EXPOSE 8097
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]

15
epmet-module/gov-grid/gov-grid-server/docker-compose.yml

@ -0,0 +1,15 @@
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.1
ports:
- "8097:8097"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

169
epmet-module/gov-grid/gov-grid-server/pom.xml

@ -0,0 +1,169 @@
<?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">
<modelVersion>4.0.0</modelVersion>
<version>0.3.1</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-grid</artifactId>
<version>2.0.0</version>
</parent>
<artifactId>gov-grid-server</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-grid-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</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>
<!-- 替换Feign原生httpclient -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
<version>10.3.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-org-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>resi-partymember-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>resi-group-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>dev-local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<server.port>8097</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.host>127.0.0.1</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.server-addr>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>
<profile>
<id>dev</id>
<!--<activation>
<activeByDefault>true</activeByDefault>
</activation>-->
<properties>
<server.port>8097</server.port>
<spring.profiles.active>dev</spring.profiles.active>
<!-- 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/>
</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>
</project>

23
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/GovGridApplication.java

@ -0,0 +1,23 @@
package com.epmet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
*
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class GovGridApplication {
public static void main(String[] args) {
SpringApplication.run(GovGridApplication.class, args);
}
}

26
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/config/ModuleConfigImpl.java

@ -0,0 +1,26 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.config;
import com.epmet.commons.tools.config.ModuleConfig;
import org.springframework.stereotype.Service;
/**
* 模块配置信息
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Service
public class ModuleConfigImpl implements ModuleConfig {
@Override
public String getName() {
return "govgrid";
}
}

68
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/config/SwaggerConfig.java

@ -0,0 +1,68 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
*
* https://www.renren.io
*
* 版权所有侵权必究
*/
package com.epmet.config;
import com.epmet.commons.tools.constant.Constant;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
/**
* Swagger配置
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//加了ApiOperation注解的类,才生成接口文档
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
//包下的类,才生成接口文档
//.apis(RequestHandlerSelectors.basePackage("io.renren.controller"))
.paths(PathSelectors.any())
.build()
.directModelSubstitute(java.util.Date.class, String.class)
.securitySchemes(security());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("人人开源")
.description("系统模块开发文档")
.termsOfServiceUrl("https://www.renren.io/community")
.version("1.4.0")
.build();
}
private List<ApiKey> security() {
return newArrayList(
new ApiKey(Constant.TOKEN_HEADER, Constant.TOKEN_HEADER, "header")
);
}
}

126
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java

@ -0,0 +1,126 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.ApplyingGroupDetailResultDTO;
import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO;
import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO;
import com.epmet.resi.group.dto.group.result.GovGroupSummarizeResultDTO;
import com.epmet.resi.group.dto.group.result.GroupAuditedResultDTO;
import com.epmet.resi.group.dto.group.result.GroupsInGridResultDTO;
import com.epmet.service.ResiGroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Description 政府端管理楼院小组业务
* @ClassName ResiGroupController
* @Author wangc
* @date 2020.04.16 15:30
*/
@RestController
@RequestMapping("resi/group")
public class ResiGroupController {
@Autowired
ResiGroupService resiGroupService;
/**
* 小组审核历史列表
*
* @param formDTO 参数
* @return
*/
@PostMapping("audited")
public Result<List<GroupAuditedResultDTO>> audited(@RequestBody GroupAuditedFromDTO formDTO) {
return resiGroupService.audited(formDTO);
}
/**
* 本网格小组列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("groupsingrid")
public Result<List<GroupsInGridResultDTO>> getGroupsInGrid(GroupAuditedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiGroupService.getGroupsInGrid(formDTO);
}
/**
* 小组管理界面信息
*
* @param formDTO 参数
* @return Result<GovGroupSummarizeResultDTO>
*/
@PostMapping("getgroupsummarize")
public Result<GovGroupSummarizeResultDTO> getGroupSummarize(GovGroupSummarizeFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiGroupService.getGroupSummarize(formDTO);
}
/**
* @Description 查询小组待审核列表
* @Param ApplyingGroupsFormDTO.class
* @return Result<List<ApplyingGroupResultDTO>>
* @Author wangc
* @Date 2020.04.20 13:59
**/
@PostMapping("auditing")
public Result<List<ApplyingGroupResultDTO>> auditing(@LoginUser TokenDto tokenDto, @RequestBody ApplyingGroupsFormDTO applyingGroupsFormDTO){
applyingGroupsFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(applyingGroupsFormDTO);
return resiGroupService.auditing(applyingGroupsFormDTO);
}
/**
* @Description 得到待审核/未审核小组信息的详情
* @Param CommonGroupIdFromDTO -> String groupId
* @return Result<ApplyingGroupDetailResultDTO>
* @Author wangc
* @Date 2020.04.20 14:08
**/
@PostMapping("applygroupdetail")
public Result<ApplyingGroupDetailResultDTO> applyGroupDetail(@LoginUser TokenDto tokenDto, @RequestBody CommonGroupIdFromDTO groupIdFromDTO){
groupIdFromDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(groupIdFromDTO);
return resiGroupService.applyGroupDetail(groupIdFromDTO);
}
/**
* @Description 建组申请-审核通过
* @Param AgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:25
**/
@PostMapping("approve")
public Result agreeApplying(@LoginUser TokenDto tokenDto, @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO){
agreeApplyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(agreeApplyGroupFormDTO);
return resiGroupService.agreeApplying(agreeApplyGroupFormDTO);
}
/**
* @Description 建组申请-审核驳回
* @Param DisAgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:26
**/
@PostMapping("reject")
public Result disagreeApplying(@LoginUser TokenDto tokenDto, @RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO){
disAgreeApplyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO);
return resiGroupService.disagreeApplying(disAgreeApplyGroupFormDTO);
}
}

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

@ -0,0 +1,53 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.AuditedPartyMemberFormDTO;
import com.epmet.dto.form.AuditingPartyMemberFormDTO;
import com.epmet.dto.result.AuditedPartyMemberResultDTO;
import com.epmet.dto.result.AuditingPartyMemberResultDTO;
import com.epmet.service.ResiPartyMemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Description 基层治理-党员认证
* @Author yinzuomei
* @Date 2020/4/26 14:01
*/
@RestController
@RequestMapping("partymember")
public class ResiPartyMemberController {
@Autowired
private ResiPartyMemberService resiPartyMemberService;
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 待审核列表:自动审核失败且已经录入了补充信息的
* @Date 2020/4/26 16:04
**/
@PostMapping("auditing")
public Result<List<AuditingPartyMemberResultDTO>> auditing(@RequestBody AuditingPartyMemberFormDTO formDTO) {
return resiPartyMemberService.auditing(formDTO);
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.AuditedPartyMemberResultDTO>>
* @param formDTO
* @Author yinzuomei
* @Description 党员认证-审核历史列表审核历史只包括自动审核失败和拒绝的审核失败居民未填写补充信息
* @Date 2020/4/26 23:31
**/
@PostMapping("audited")
public Result<List<AuditedPartyMemberResultDTO>> audited(@RequestBody AuditedPartyMemberFormDTO formDTO) {
return resiPartyMemberService.audited(formDTO);
}
}

85
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiTopicController.java

@ -0,0 +1,85 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicDetailFormDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
import com.epmet.service.ResiTopicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping("resi/topic")
public class ResiTopicController {
@Autowired
private ResiTopicService resiTopicService;
/**
* @Description 政府端群组管理-屏蔽话题列表查询
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return List<ResiTopicInfoResultDTO>
* @Author wangc
* @Date 2020.04.01 16:45
**/
@PostMapping("hiddenlist")
Result<List<ResiTopicInfoResultDTO>> hiddenList(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPageFormDTO topicPageFormDTO){
ValidatorUtils.validateEntity(topicPageFormDTO);
return resiTopicService.hiddenList(topicPageFormDTO);
}
/**
* @Description 政府端群组管理-查看历史话题(分页,允许状态筛选)
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return Result<List<ResiTopicInfoResultDTO>>
* @Author wangc
* @Date 2020.04.01 10:36
**/
@PostMapping("alltopics")
Result<List<ResiTopicInfoResultDTO>> allTopics(@LoginUser TokenDto tokenDto,@RequestBody ResiTopicPageFormDTO topicPageFormDTO){
ValidatorUtils.validateEntity(topicPageFormDTO);
return resiTopicService.allTopics(topicPageFormDTO);
}
/**
* @Description 政府端群组管理-获取话题详情
* @Param tokenDto
* @Param String
* @return Result<ResiTopicDetailResultDTO>
* @Author wangc
* @Date 2020.04.01 23:48
**/
@PostMapping("topicdetail")
Result<ResiTopicDetailResultDTO> getTopicDetailGov(@LoginUser TokenDto tokenDto,@RequestBody ResiTopicDetailFormDTO topicDetailFormDTO){
ValidatorUtils.validateEntity(topicDetailFormDTO);
return resiTopicService.topicDetail(topicDetailFormDTO);
}
/**
* @Description 政府端群组管理-获取某个话题的评论列表
* @Param tokenDto
* @Param ResiQueryCommentFormDTO
* @return Result<List<ResiCommentResultDTO>>
* @Author wangc
* @Date 2020.04.01 23:49
**/
@PostMapping("topiccomments")
Result<List<ResiCommentResultDTO>> topicComments(@LoginUser TokenDto tokenDto,@RequestBody ResiQueryCommentFormDTO queryCommentFormDTO){
ValidatorUtils.validateEntity(queryCommentFormDTO);
return resiTopicService.topicComments(queryCommentFormDTO);
}
}

88
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiWarmheartedController.java

@ -0,0 +1,88 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.resi.partymember.dto.warmhearted.form.*;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO;
import com.epmet.service.ResiWarmheartedService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Description 政府端管理热心居民业务
* @ClassName ResiWarmheartedController
* @Author wangc
* @date 2020.04.16 15:30
*/
@RestController
@RequestMapping("resi/warmhearted")
public class ResiWarmheartedController {
@Autowired
private ResiWarmheartedService resiWarmheartedService;
/**
* 热心居民审核历史列表
*
* @param formDTO 参数
* @return
*/
@PostMapping("audited")
public Result<List<ResiWarmheartedAuditedResultDTO>> audited(@RequestBody ResiWarmheartedAuditedFromDTO formDTO) {
return resiWarmheartedService.audited(formDTO);
}
/**
* @param
* @Author sun
* @Description 政府端-获取待审核的热心居民申请列表
**/
@PostMapping("auditing")
public Result<List<ResiWarmAuditResultDTO>> auditing(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiWarmheartedService.auditing(formDTO);
}
/**
* @param
* @Author sun
* @Description 政府端-热心居民申请-审核通过
**/
@PostMapping("approve")
public Result approve(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditApproveFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiWarmheartedService.approve(formDTO);
}
/**
* @param
* @Author sun
* @Description 政府端-热心居民申请-审核驳回
**/
@PostMapping("reject")
public Result reject(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmAuditRejectFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiWarmheartedService.reject(formDTO);
}
/**
* @param
* @Author sun
* @Description 政府端-热心居民申请详情信息
**/
@PostMapping("getdetail")
public Result<ResiWarmAuditResultDTO> getDetail(@LoginUser TokenDto tokenDTO, @RequestBody ResiWarmGetDetailFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiWarmheartedService.getDetail(formDTO);
}
}

0
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/dao/.gitkeep

0
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/entity/.gitkeep

0
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/excel/.gitkeep

16
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/exception/ModuleErrorCode.java

@ -0,0 +1,16 @@
package com.epmet.exception;
import com.epmet.commons.tools.exception.ErrorCode;
/**
* 模块错误编码由9位数字组成前6位为模块编码后3位为业务编码
* <p>
* 100001001100001代表模块001代表业务代码
* </p>
*
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public interface ModuleErrorCode extends ErrorCode {
}

144
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java

@ -0,0 +1,144 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.fallback.ResiGroupFeignClientFallBack;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO;
import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO;
import com.epmet.resi.group.dto.group.result.GovGroupSummarizeResultDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.ApplyingGroupDetailResultDTO;
import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO;
import com.epmet.resi.group.dto.group.result.GroupAuditedResultDTO;
import com.epmet.resi.group.dto.group.result.GroupsInGridResultDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicDetailFormDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
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/4/17 15:24
*/
@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupFeignClientFallBack.class)
public interface ResiGroupFeignClient {
/**
* 小组审核历史列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("/resi/group/group/audited")
Result<List<GroupAuditedResultDTO>> audited(GroupAuditedFromDTO formDTO);
/**
* 本网格小组列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("/resi/group/group/groupsingrid")
Result<List<GroupsInGridResultDTO>> getGroupsInGrid(GroupAuditedFromDTO formDTO);
/**
* 小组管理界面信息
*
* @param formDTO 参数
* @return Result<GovGroupSummarizeResultDTO>
*/
@PostMapping("/resi/group/group/getgovgroupsummarize")
Result<GovGroupSummarizeResultDTO> getGovGroupSummarize(GovGroupSummarizeFromDTO formDTO);
/**
* @Description 得到小组待审核列表用户信息不注入TokenDTO通过外部服务调用直接传入参数
* @Param ApplyingGroupsFormDTO.class
* @return Result<List<ApplyingGroupResultDTO>>
* @Author wangc
* @Date 2020.04.20 13:59
**/
@PostMapping("/resi/group/group/getapplyinggroups")
Result<List<ApplyingGroupResultDTO>> getApplyingGroups(ApplyingGroupsFormDTO applyingGroupsFormDTO);
/**
* @Description 得到待审核/未审核小组信息的详情
* @Param CommonGroupIdFromDTO -> String groupId
* @return Result<ApplyingGroupDetailResultDTO>
* @Author wangc
* @Date 2020.04.20 14:08
**/
@PostMapping("/resi/group/group/getapplyinggroupdetail")
Result<ApplyingGroupDetailResultDTO> getApplyingGroupDetail(CommonGroupIdFromDTO groupId);
/**
* @Description 建组申请-审核通过
* @Param AgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:25
**/
@PostMapping("/resi/group/group/agreeapplying")
Result agreeApplying(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO);
/**
* @Description 建组申请-审核驳回
* @Param DisAgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:26
**/
@PostMapping("/resi/group/group/disagreeapplying")
Result disagreeApplying(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO);
/**
* @Description 政府端群组管理-屏蔽话题列表查询
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return List<ResiTopicInfoResultDTO>
* @Author wangc
* @Date 2020.04.01 16:45
**/
@PostMapping("/resi/group/topic/gethiddentopicgov")
Result<List<ResiTopicInfoResultDTO>> getHiddenTopicGov(ResiTopicPageFormDTO topicPageFormDTO);
/**
* @Description 政府端群组管理-查看历史话题(分页,允许状态筛选)
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return Result<List<ResiTopicInfoResultDTO>>
* @Author wangc
* @Date 2020.04.01 10:36
**/
@PostMapping("/resi/group/topic/getpasttopiclistgov")
Result<List<ResiTopicInfoResultDTO>> getPastTopicListGov(ResiTopicPageFormDTO topicPageFormDTO);
/**
* @Description 政府端群组管理-获取话题详情
* @Param tokenDto
* @Param String
* @return Result<ResiTopicDetailResultDTO>
* @Author wangc
* @Date 2020.04.01 23:48
**/
@PostMapping("/resi/group/topic/gettopicdetailgov")
Result<ResiTopicDetailResultDTO> getTopicDetailGov(ResiTopicDetailFormDTO topicDetailFormDTO);
/**
* @Description 政府端群组管理-获取某个话题的评论列表
* @Param tokenDto
* @Param ResiQueryCommentFormDTO
* @return Result<List<ResiCommentResultDTO>>
* @Author wangc
* @Date 2020.04.01 23:49
**/
@PostMapping("/resi/group/comment/getcommentlistoftopicgov")
Result<List<ResiCommentResultDTO>> getCommentListOfTopicGov(ResiQueryCommentFormDTO queryCommentFormDTO);
}

90
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java

@ -0,0 +1,90 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.fallback.ResiPartymemberFeignClientFallBack;
import com.epmet.resi.partymember.dto.partymember.form.ReviewedParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.UnderReviewParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.ReviewedParyMemberResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.UnderReviewParyMemberResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.*;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* 调用epmet-user服务
*
* @author 赵奇风
*/
@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = ResiPartymemberFeignClientFallBack.class)
public interface ResiPartymemberFeignClient {
/**
* 居民端-热心居民申请-提交申请数据
*
* @author zhaoqf
**/
@PostMapping(value = "resi/partymember/resiwarmheartedapply/audited", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<ResiWarmheartedAuditedResultDTO>> audited(@RequestBody ResiWarmheartedAuditedFromDTO formDTO);
/**
* 政府端-获取待审核的热心居民申请列表
* @param
* @return void
* @author sun
*/
@PostMapping(value = "resi/partymember/resiwarmheartedapply/auditing", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<ResiWarmAuditResultDTO>> auditing(@RequestBody ResiWarmAuditFormDTO formDTO);
/**
* 政府端-热心居民申请-审核通过
* @param
* @return void
* @author sun
*/
@PostMapping(value = "resi/partymember/resiwarmheartedapply/approve", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result approve(@RequestBody ResiWarmAuditApproveFormDTO formDTO);
/**
* 政府端-热心居民申请-审核驳回
* @param
* @return void
* @author sun
*/
@PostMapping(value = "resi/partymember/resiwarmheartedapply/reject", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result reject(@RequestBody ResiWarmAuditRejectFormDTO formDTO);
/**
* 政府端-获取待审核的热心居民申请列表
* @param
* @return void
* @author sun
*/
@PostMapping(value = "resi/partymember/resiwarmheartedapply/getdetail", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<ResiWarmAuditResultDTO> getDetail(@RequestBody ResiWarmGetDetailFormDTO formDTO);
/**
* @param underReviewParyMemberFormDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.partymember.dto.partymember.result.UnderReviewParyMemberResultDTO>>
* @Author yinzuomei
* @Description 政府端小程序端查询待审核列表
* @Date 2020/4/26 21:53
**/
@PostMapping(value = "resi/partymember/partymemberbaseinfo/auditing", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<UnderReviewParyMemberResultDTO>> auditingPartyMember(@RequestBody UnderReviewParyMemberFormDTO underReviewParyMemberFormDTO);
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.partymember.dto.partymember.result.ReviewedParyMemberResultDTO>>
* @param reviewedParyMemberFormDTO
* @Author yinzuomei
* @Description 党员认证-审核历史列表查询
* @Date 2020/4/26 23:38
**/
@PostMapping(value = "resi/partymember/partymemberbaseinfo/audited", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<ReviewedParyMemberResultDTO>> auditedPartyMember(@RequestBody ReviewedParyMemberFormDTO reviewedParyMemberFormDTO);
}

0
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/.gitkeep

114
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java

@ -0,0 +1,114 @@
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.feign.ResiGroupFeignClient;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO;
import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO;
import com.epmet.resi.group.dto.group.result.GovGroupSummarizeResultDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.ApplyingGroupDetailResultDTO;
import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO;
import com.epmet.resi.group.dto.group.result.GroupAuditedResultDTO;
import com.epmet.resi.group.dto.group.result.GroupsInGridResultDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicDetailFormDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/17 15:27
*/
@Component
public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient {
@Override
public Result<List<GroupAuditedResultDTO>> audited(GroupAuditedFromDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "audited", formDTO);
}
@Override
public Result<List<GroupsInGridResultDTO>> getGroupsInGrid(GroupAuditedFromDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getGroupsInGrid", formDTO);
}
@Override
public Result<GovGroupSummarizeResultDTO> getGovGroupSummarize(GovGroupSummarizeFromDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getGovGroupSummarize", formDTO);
}
/**
* @Description 得到小组待审核列表用户信息不注入TokenDTO通过外部服务调用直接传入参数
* @Param ApplyingGroupsFormDTO.class
* @return Result<List<ApplyingGroupResultDTO>>
* @Author wangc
* @Date 2020.04.20 13:59
**/
@Override
public Result<List<ApplyingGroupResultDTO>> getApplyingGroups(ApplyingGroupsFormDTO applyingGroupsFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getApplyingGroups", applyingGroupsFormDTO);
}
/**
* @Description 得到待审核/未审核小组信息的详情
* @Param CommonGroupIdFromDTO -> String groupId
* @return Result<ApplyingGroupDetailResultDTO>
* @Author wangc
* @Date 2020.04.20 14:08
**/
@Override
public Result<ApplyingGroupDetailResultDTO> getApplyingGroupDetail(CommonGroupIdFromDTO groupId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getApplyingGroupDetail", groupId);
}
/**
* @Description 建组申请-审核通过
* @Param AgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:25
**/
@Override
public Result agreeApplying(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "agreeApplying", agreeApplyGroupFormDTO);
}
/**
* @Description 建组申请-审核驳回
* @Param DisAgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:26
**/
@Override
public Result disagreeApplying(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "disagreeApplying", disAgreeApplyGroupFormDTO);
}
@Override
public Result<List<ResiTopicInfoResultDTO>> getHiddenTopicGov(ResiTopicPageFormDTO topicPageFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getHiddenTopicGov", topicPageFormDTO);
}
@Override
public Result<List<ResiTopicInfoResultDTO>> getPastTopicListGov(ResiTopicPageFormDTO topicPageFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getPastTopicListGov", topicPageFormDTO);
}
@Override
public Result<ResiTopicDetailResultDTO> getTopicDetailGov(ResiTopicDetailFormDTO topicDetailFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getTopicDetailGov", topicDetailFormDTO);
}
@Override
public Result<List<ResiCommentResultDTO>> getCommentListOfTopicGov(ResiQueryCommentFormDTO queryCommentFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getCommentListOfTopicGov", queryCommentFormDTO);
}
}

60
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java

@ -0,0 +1,60 @@
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.feign.ResiPartymemberFeignClient;
import com.epmet.resi.partymember.dto.partymember.form.ReviewedParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.UnderReviewParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.ReviewedParyMemberResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.UnderReviewParyMemberResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.*;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/16 17:01
*/
@Component
public class ResiPartymemberFeignClientFallBack implements ResiPartymemberFeignClient {
@Override
public Result<List<ResiWarmheartedAuditedResultDTO>> audited(ResiWarmheartedAuditedFromDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "audited", formDTO);
}
@Override
public Result<List<ResiWarmAuditResultDTO>> auditing(ResiWarmAuditFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "auditing", formDTO);
}
@Override
public Result approve(ResiWarmAuditApproveFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "approve", formDTO);
}
@Override
public Result reject(ResiWarmAuditRejectFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "reject", formDTO);
}
@Override
public Result<ResiWarmAuditResultDTO> getDetail(ResiWarmGetDetailFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "getDetail", formDTO);
}
@Override
public Result<List<UnderReviewParyMemberResultDTO>> auditingPartyMember(UnderReviewParyMemberFormDTO underReviewParyMemberFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "auditing", underReviewParyMemberFormDTO);
}
@Override
public Result<List<ReviewedParyMemberResultDTO>> auditedPartyMember(ReviewedParyMemberFormDTO reviewedParyMemberFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "audited", reviewedParyMemberFormDTO);
}
}

0
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/redis/.gitkeep

81
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiGroupService.java

@ -0,0 +1,81 @@
package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO;
import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO;
import com.epmet.resi.group.dto.group.result.GovGroupSummarizeResultDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.ApplyingGroupDetailResultDTO;
import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO;
import com.epmet.resi.group.dto.group.result.GroupAuditedResultDTO;
import com.epmet.resi.group.dto.group.result.GroupsInGridResultDTO;
import java.util.List;
/**
* @Description
* @IntefaceName ResiGroupService
* @Author wangc
* @date 2020.04.16 15:40
*/
public interface ResiGroupService {
/**
* 小组审核历史列表
* @param formDTO 参数
* @return Result<List<GroupAuditedResultDTO>>
*/
Result<List<GroupAuditedResultDTO>> audited(GroupAuditedFromDTO formDTO);
/**
* 本网格小组列表
*
* @param formDTO 参数
* @return Result<List<GroupsInGridResultDTO>>
*/
Result<List<GroupsInGridResultDTO>> getGroupsInGrid(GroupAuditedFromDTO formDTO);
/**
* 小组管理界面信息
*
* @param formDTO 参数
* @return Result<GovGroupSummarizeResultDTO>
*/
Result<GovGroupSummarizeResultDTO> getGroupSummarize(GovGroupSummarizeFromDTO formDTO);
/**
* @Description 查询小组待审核列表-调用resi-group服务
* @Param ApplyingGroupsFormDTO.class
* @return Result<List<ApplyingGroupResultDTO>>
* @Author wangc
* @Date 2020.04.20 13:59
**/
Result<List<ApplyingGroupResultDTO>> auditing(ApplyingGroupsFormDTO applyingGroupsFormDTO);
/**
* @Description 得到待审核/未审核小组信息的详情-调用resi-group服务
* @Param CommonGroupIdFromDTO -> String groupId
* @return Result<ApplyingGroupDetailResultDTO>
* @Author wangc
* @Date 2020.04.20 14:08
**/
Result<ApplyingGroupDetailResultDTO> applyGroupDetail(CommonGroupIdFromDTO groupIdFromDTO);
/**
* @Description 建组申请-审核通过-调用resi-group服务
* @Param AgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:25
**/
Result agreeApplying(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO);
/**
* @Description 建组申请-审核驳回-调用resi-group服务
* @Param DisAgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:26
**/
Result disagreeApplying(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO);
}

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

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

57
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiTopicService.java

@ -0,0 +1,57 @@
package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicDetailFormDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
import org.springframework.web.bind.annotation.PostMapping;
import java.util.List;
public interface ResiTopicService {
/**
* @Description 政府端群组管理-屏蔽话题列表查询
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return List<ResiTopicInfoResultDTO>
* @Author wangc
* @Date 2020.04.01 16:45
**/
Result<List<ResiTopicInfoResultDTO>> hiddenList(ResiTopicPageFormDTO topicPageFormDTO);
/**
* @Description 政府端群组管理-查看历史话题(分页,允许状态筛选)
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return Result<List<ResiTopicInfoResultDTO>>
* @Author wangc
* @Date 2020.04.01 10:36
**/
Result<List<ResiTopicInfoResultDTO>> allTopics(ResiTopicPageFormDTO topicPageFormDTO);
/**
* @Description 政府端群组管理-获取话题详情
* @Param tokenDto
* @Param String
* @return Result<ResiTopicDetailResultDTO>
* @Author wangc
* @Date 2020.04.01 23:48
**/
Result<ResiTopicDetailResultDTO> topicDetail(ResiTopicDetailFormDTO topicDetailFormDTO);
/**
* @Description 政府端群组管理-获取某个话题的评论列表
* @Param tokenDto
* @Param ResiQueryCommentFormDTO
* @return Result<List<ResiCommentResultDTO>>
* @Author wangc
* @Date 2020.04.01 23:49
**/
Result<List<ResiCommentResultDTO>> topicComments(ResiQueryCommentFormDTO queryCommentFormDTO);
}

61
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/ResiWarmheartedService.java

@ -0,0 +1,61 @@
package com.epmet.service;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.partymember.dto.warmhearted.form.*;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description
* @IntefaceName ResiWarmheartedService
* @Author wangc
* @date 2020.04.16 15:37
*/
@Service
public interface ResiWarmheartedService {
/**
* 热心居民审核历史列表
* @param formDTO 参数
* @return ResiWarmheartedAuditedResultDTO
*/
Result<List<ResiWarmheartedAuditedResultDTO>> audited(ResiWarmheartedAuditedFromDTO formDTO);
/**
* 政府端-获取待审核的热心居民申请列表
*
* @param
* @return void
* @author sun
*/
Result<List<ResiWarmAuditResultDTO>> auditing(ResiWarmAuditFormDTO formDTO);
/**
* 政府端-热心居民申请-审核通过
*
* @param
* @return void
* @author sun
*/
Result approve(ResiWarmAuditApproveFormDTO formDTO);
/**
* 政府端-热心居民申请-审核驳回
*
* @param
* @return void
* @author sun
*/
Result reject(ResiWarmAuditRejectFormDTO formDTO);
/**
* 政府端-热心居民申请详情信息
*
* @param
* @return void
* @author sun
*/
Result<ResiWarmAuditResultDTO> getDetail(ResiWarmGetDetailFormDTO formDTO);
}

65
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiGroupServiceImpl.java

@ -0,0 +1,65 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO;
import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO;
import com.epmet.resi.group.dto.group.result.GovGroupSummarizeResultDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.ApplyingGroupDetailResultDTO;
import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO;
import com.epmet.resi.group.dto.group.result.GroupAuditedResultDTO;
import com.epmet.resi.group.dto.group.result.GroupsInGridResultDTO;
import com.epmet.service.ResiGroupService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description
* @ClassName ResiGroupServiceImpl
* @Author wangc
* @date 2020.04.16 15:38
*/
@Service
public class ResiGroupServiceImpl implements ResiGroupService{
@Autowired
private ResiGroupFeignClient resiGroupFeignClient;
@Override
public Result<List<GroupAuditedResultDTO>> audited(GroupAuditedFromDTO formDTO) {
return resiGroupFeignClient.audited(formDTO);
}
@Override
public Result<List<GroupsInGridResultDTO>> getGroupsInGrid(GroupAuditedFromDTO formDTO) {
return resiGroupFeignClient.getGroupsInGrid(formDTO);
}
@Override
public Result<GovGroupSummarizeResultDTO> getGroupSummarize(GovGroupSummarizeFromDTO formDTO) {
return resiGroupFeignClient.getGovGroupSummarize(formDTO);
}
@Override
public Result<List<ApplyingGroupResultDTO>> auditing(ApplyingGroupsFormDTO applyingGroupsFormDTO) {
return resiGroupFeignClient.getApplyingGroups(applyingGroupsFormDTO);
}
@Override
public Result<ApplyingGroupDetailResultDTO> applyGroupDetail(CommonGroupIdFromDTO groupIdFromDTO) {
return resiGroupFeignClient.getApplyingGroupDetail(groupIdFromDTO);
}
@Override
public Result agreeApplying(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) {
return resiGroupFeignClient.agreeApplying(agreeApplyGroupFormDTO);
}
@Override
public Result disagreeApplying(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) {
return resiGroupFeignClient.disagreeApplying(disAgreeApplyGroupFormDTO);
}
}

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

@ -0,0 +1,70 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.AuditedPartyMemberFormDTO;
import com.epmet.dto.form.AuditingPartyMemberFormDTO;
import com.epmet.dto.result.AuditedPartyMemberResultDTO;
import com.epmet.dto.result.AuditingPartyMemberResultDTO;
import com.epmet.feign.ResiPartymemberFeignClient;
import com.epmet.resi.partymember.dto.partymember.form.ReviewedParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.UnderReviewParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.ReviewedParyMemberResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.UnderReviewParyMemberResultDTO;
import com.epmet.service.ResiPartyMemberService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @Description 基层治理-党员认证
* @Author yinzuomei
* @Date 2020/4/26 16:02
*/
@Service
public class ResiPartyMemberServiceImpl implements ResiPartyMemberService {
protected final Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ResiPartymemberFeignClient resiPartymemberFeignClient;
@Override
public Result<List<AuditingPartyMemberResultDTO>> auditing(AuditingPartyMemberFormDTO formDTO) {
UnderReviewParyMemberFormDTO underReviewParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, UnderReviewParyMemberFormDTO.class);
List<AuditingPartyMemberResultDTO> list = new ArrayList<>();
Result<List<UnderReviewParyMemberResultDTO>> result = resiPartymemberFeignClient.auditingPartyMember(underReviewParyMemberFormDTO);
if (!result.success()) {
logger.error(String.format("调用resi-partymember-server模块失败,错误提示%s", 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);
}
list = ConvertUtils.sourceToTarget(result.getData(), AuditingPartyMemberResultDTO.class);
return new Result<List<AuditingPartyMemberResultDTO>>().ok(list);
}
@Override
public Result<List<AuditedPartyMemberResultDTO>> audited(AuditedPartyMemberFormDTO formDTO) {
ReviewedParyMemberFormDTO reviewedParyMemberFormDTO = ConvertUtils.sourceToTarget(formDTO, ReviewedParyMemberFormDTO.class);
List<AuditedPartyMemberResultDTO> list = new ArrayList<>();
Result<List<ReviewedParyMemberResultDTO>> result = resiPartymemberFeignClient.auditedPartyMember(reviewedParyMemberFormDTO);
if (!result.success()) {
logger.error(String.format("调用resi-partymember-server模块失败,错误提示%s", 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);
}
list = ConvertUtils.sourceToTarget(result.getData(), AuditedPartyMemberResultDTO.class);
return new Result<List<AuditedPartyMemberResultDTO>>().ok(list);
}
}

79
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiTopicServiceImpl.java

@ -0,0 +1,79 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicDetailFormDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
import com.epmet.service.ResiTopicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ResiTopicServiceImpl implements ResiTopicService {
@Autowired
private ResiGroupFeignClient resiGroupFeignClient;
/**
* @Description 政府端群组管理-屏蔽话题列表查询
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return List<ResiTopicInfoResultDTO>
* @Author wangc
* @Date 2020.04.01 16:45
**/
@Override
public Result<List<ResiTopicInfoResultDTO>> hiddenList(ResiTopicPageFormDTO topicPageFormDTO) {
topicPageFormDTO.setPageNo(NumConstant.ONE);
topicPageFormDTO.setPageSize(NumConstant.MAX);
return resiGroupFeignClient.getHiddenTopicGov(topicPageFormDTO);
}
/**
* @Description 政府端群组管理-查看历史话题(分页,允许状态筛选)
* @Param tokenDto
* @Param ResiTopicPageFormDTO.class
* @return Result<List<ResiTopicInfoResultDTO>>
* @Author wangc
* @Date 2020.04.01 10:36
**/
@Override
public Result<List<ResiTopicInfoResultDTO>> allTopics(ResiTopicPageFormDTO topicPageFormDTO) {
topicPageFormDTO.setPageNo(NumConstant.ONE);
topicPageFormDTO.setPageSize(NumConstant.MAX);
return resiGroupFeignClient.getPastTopicListGov(topicPageFormDTO);
}
/**
* @Description 政府端群组管理-获取话题详情
* @Param tokenDto
* @Param String
* @return Result<ResiTopicDetailResultDTO>
* @Author wangc
* @Date 2020.04.01 23:48
**/
@Override
public Result<ResiTopicDetailResultDTO> topicDetail(ResiTopicDetailFormDTO topicDetailFormDTO) {
return resiGroupFeignClient.getTopicDetailGov(topicDetailFormDTO);
}
/**
* @Description 政府端群组管理-获取某个话题的评论列表
* @Param tokenDto
* @Param ResiQueryCommentFormDTO
* @return Result<List<ResiCommentResultDTO>>
* @Author wangc
* @Date 2020.04.01 23:49
**/
@Override
public Result<List<ResiCommentResultDTO>> topicComments(ResiQueryCommentFormDTO queryCommentFormDTO) {
return resiGroupFeignClient.getCommentListOfTopicGov(queryCommentFormDTO);
}
}

78
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiWarmheartedServiceImpl.java

@ -0,0 +1,78 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.ResiPartymemberFeignClient;
import com.epmet.resi.partymember.dto.warmhearted.form.*;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO;
import com.epmet.service.ResiWarmheartedService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description
* @ClassName ResiWarmheartedServiceImpl
* @Author wangc
* @date 2020.04.16 15:41
*/
@Service
public class ResiWarmheartedServiceImpl implements ResiWarmheartedService {
@Autowired
private ResiPartymemberFeignClient resiPartymemberFeignClient;
@Override
public Result<List<ResiWarmheartedAuditedResultDTO>> audited(ResiWarmheartedAuditedFromDTO formDTO) {
return resiPartymemberFeignClient.audited(formDTO);
}
/**
* 政府端-获取待审核的热心居民申请列表
*
* @param
* @return void
* @author sun
*/
@Override
public Result<List<ResiWarmAuditResultDTO>> auditing(ResiWarmAuditFormDTO formDTO) {
return resiPartymemberFeignClient.auditing(formDTO);
}
/**
* 政府端-热心居民申请-审核通过
*
* @param
* @return void
* @author sun
*/
@Override
public Result approve(ResiWarmAuditApproveFormDTO formDTO) {
return resiPartymemberFeignClient.approve(formDTO);
}
/**
* 政府端-热心居民申请-审核驳回
*
* @param
* @return void
* @author sun
*/
@Override
public Result reject(ResiWarmAuditRejectFormDTO formDTO) {
return resiPartymemberFeignClient.reject(formDTO);
}
/**
* 政府端-热心居民申请详情信息
*
* @param
* @return void
* @author sun
*/
@Override
public Result<ResiWarmAuditResultDTO> getDetail(ResiWarmGetDetailFormDTO formDTO) {
return resiPartymemberFeignClient.getDetail(formDTO);
}
}

10
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/util/ModuleConstant.java

@ -0,0 +1,10 @@
package com.epmet.util;
/**
* @Description 网格管理模块常量类
* @IntefaceName ModuleConstant
* @Author wangc
* @date 2020.04.16 15:42
*/
public interface ModuleConstant {
}

71
epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml

@ -0,0 +1,71 @@
server:
port: @server.port@
servlet:
context-path: /gov/grid
spring:
main:
allow-bean-definition-overriding: true
application:
name: gov-grid-server
#环境 dev|test|prod
profiles:
active: dev
messages:
encoding: UTF-8
basename: i18n/messages_common
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
redis:
database: @spring.redis.index@
host: @spring.redis.host@
port: @spring.redis.port@
password: @spring.redis.password@
timeout: 30s
cloud:
nacos:
discovery:
server-addr: @nacos.server-addr@
#nacos的命名空间ID,默认是public
namespace: @nacos.discovery.namespace@
#不把自己注册到注册中心的地址
register-enabled: @nacos.register-enabled@
ip: @nacos.ip@
config:
enabled: @nacos.config-enabled@
server-addr: @nacos.server-addr@
namespace: @nacos.config.namespace@
group: @nacos.config.group@
file-extension: yaml
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: ALWAYS
feign:
hystrix:
enabled: true
client:
config:
default:
loggerLevel: BASIC
httpclient:
enabled: true
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 60000 #缺省为1000
ribbon:
ReadTimeout: 300000
ConnectTimeout: 300000

159
epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<property name="log.path" value="logs/gov-grid"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!--1. 输出到控制台-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!--此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>debug</level>
</filter>
<encoder>
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
<!-- 设置字符集 -->
<charset>UTF-8</charset>
</encoder>
</appender>
<!--2. 输出到文档-->
<!-- 2.1 level为 DEBUG 日志,时间滚动输出 -->
<appender name="DEBUG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/debug.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志归档 -->
<fileNamePattern>${log.path}/debug-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录debug级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>debug</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.2 level为 INFO 日志,时间滚动输出 -->
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/info.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 每天日志归档路径以及格式 -->
<fileNamePattern>${log.path}/info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录info级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>info</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.3 level为 WARN 日志,时间滚动输出 -->
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/warn.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录warn级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>warn</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 2.4 level为 ERROR 日志,时间滚动输出 -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<file>${log.path}/error.log</file>
<!--日志文档输出格式-->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文档保留天数-->
<maxHistory>15</maxHistory>
</rollingPolicy>
<!-- 此日志文档只记录ERROR级别的 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 开发、测试环境 -->
<springProfile name="dev,test">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>
<logger name="com.epmet.dao" level="DEBUG"/>
<root level="INFO">
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="WARN_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</springProfile>
<!-- 生产环境 -->
<springProfile name="prod">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="DEBUG_FILE"/>
<appender-ref ref="INFO_FILE"/>
<appender-ref ref="WARN_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
</springProfile>
</configuration>

0
epmet-module/gov-grid/gov-grid-server/src/main/resources/mapper/.gitkeep

20
epmet-module/gov-grid/pom.xml

@ -0,0 +1,20 @@
<?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-module</artifactId>
<groupId>com.epmet</groupId>
<version>2.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>gov-grid</artifactId>
<packaging>pom</packaging>
<modules>
<module>gov-grid-client</module>
<module>gov-grid-server</module>
</modules>
</project>

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

@ -0,0 +1,11 @@
FROM java:8
RUN export LANG="zh_CN.UTF-8"
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone
COPY ./target/*.jar ./app.jar
EXPOSE 8098
ENTRYPOINT ["java","-Xms32m","-Xmx200m","-jar","./app.jar"]

15
epmet-module/gov-mine/gov-mine-server/docker-compose.yml

@ -0,0 +1,15 @@
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.2
ports:
- "8098:8098"
network_mode: host # 使用现有网络
volumes:
- "/opt/epmet-cloud-logs/dev:/logs"
deploy:
resources:
limits:
cpus: '0.1'
memory: 250M

2
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.0</version>
<version>0.3.2</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-mine</artifactId>

1
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovAccessFeignClient.java

@ -16,7 +16,6 @@ import java.util.List;
* @Description
* @Author sun
*/
//, url = "localhost:8099"
@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallback.class)
public interface GovAccessFeignClient {

2
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerStaffAgencyDTO.java

@ -49,7 +49,7 @@ public class CustomerStaffAgencyDTO implements Serializable {
private String userId;
/**
* 组织机构ID customer_organization.id
* 组织机构ID customer_agency.id
*/
private String agencyId;

81
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridInfoResultDTO.java

@ -0,0 +1,81 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 网格所属组织基本信息
* @Author yinzuomei
* @Date 2020/4/26 22:35
*/
@Data
public class GridInfoResultDTO implements Serializable {
private static final long serialVersionUID = 4360690752084258055L;
/**
* 网格ID
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 客户ID
*/
private String customerId;
/**
* 社区组织ID
*/
private String commnuityName;
/**
* 社区名称
*/
private String commuityId;
/**
* 街道级组织名称
*/
private String streetName;
/**
* 街道级id
*/
private String streetId;
/**
* 区县级组织id
*/
private String districtId;
/**
* 区县级组织名称
*/
private String districtName;
/**
* 市级组织id
*/
private String cityId;
/**
* 市级组织名称
*/
private String cityName;
/**
* 省级组织id
*/
private String provinceId;
/**
* 省级组织名称
*/
private String proviceName;
}

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

@ -2,7 +2,7 @@ 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.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/gov-org-server:0.3.6
ports:
- "8092:8092"
network_mode: host # 使用现有网络

2
epmet-module/gov-org/gov-org-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.0</version>
<version>0.3.6</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-org</artifactId>

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java

@ -30,6 +30,7 @@ import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.excel.CustomerGridExcel;
import com.epmet.service.CustomerGridService;
import org.springframework.beans.factory.annotation.Autowired;
@ -126,6 +127,18 @@ public class CustomerGridController {
return new Result<CustomerGridDTO>().ok(data);
}
/**
* @param gridId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.GridInfoResultDTO>
* @Author yinzuomei
* @Description 根据网格id查询所属组织信息
* @Date 2020/4/26 22:41
**/
@GetMapping("getGridInfo/{gridId}")
public Result<GridInfoResultDTO> getGridInfo(@PathVariable("gridId") String gridId) {
return customerGridService.getGridInfo(gridId);
}
/**
* @param userId
* @return

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java

@ -23,8 +23,8 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerStaffAgencyEntity.java

@ -49,7 +49,7 @@ public class CustomerStaffAgencyEntity extends BaseEpmetEntity {
private String userId;
/**
* 组织机构ID customer_organization.id
* 组织机构ID customer_agency.id
*/
private String agencyId;

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerStaffAgencyExcel.java

@ -40,8 +40,8 @@ public class CustomerStaffAgencyExcel {
@Excel(name = "用户ID")
private String userId;
@Excel(name = "组织机构ID customer_organization.id")
private String orgId;
@Excel(name = "组织机构ID customer_agency.id")
private String agencyId;
@Excel(name = "删除标识")
private Integer delFlag;

16
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java

@ -18,7 +18,6 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
@ -28,9 +27,11 @@ import com.epmet.dto.result.AddGridResultDTO;
import com.epmet.dto.form.CommonAgencyIdFormDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerGridEntity;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -120,6 +121,15 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
*/
Result<CustomerGridDTO> getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO);
/**
* @param gridId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.GridInfoResultDTO>
* @Author yinzuomei
* @Description 根据网格id查询所属组织信息
* @Date 2020/4/26 22:42
**/
Result<GridInfoResultDTO> getGridInfo(String gridId);
/**
* @param userId
* @return
@ -163,7 +173,7 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @Date 2020.04.23 14:45
**/
Result<GridListInfoResultDTO> getGridListByAgency(CommonAgencyIdFormDTO agencyFormDTO);
/**
* @Description 查找指定机构下的全部网格列表 对应接口:/gov/org/grid/allgrids
* @Param CommonAgencyIdFormDTO -> agencyId

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java

@ -31,7 +31,7 @@ import java.util.List;
import java.util.Map;
/**
* 网格人员关系表
* 网格人员关系表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-20
@ -97,7 +97,8 @@ public interface CustomerStaffGridService extends BaseService<CustomerStaffGridE
* @date 2020-04-20
*/
void delete(String[] ids);
/**
* @Description 查询指定客户下一个用户所在的网格按照网格名称升序排序取第一个
* @Param LatestGridFormDTO -> customerId ; staffId

64
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -21,26 +21,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.dto.result.CustomerGridForStrangerResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dao.CustomerStaffGridDao;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.CommonAgencyIdFormDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.ListCustomerGridFormDTO;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.redis.CustomerGridRedis;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerGridService;
import com.epmet.service.CustomerStaffGridService;
import com.epmet.util.ModuleConstant;
@ -52,7 +52,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
@ -68,7 +67,7 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
private static final Logger logger = LoggerFactory.getLogger(CustomerGridServiceImpl.class);
@Autowired
private CustomerGridRedis customerGridRedis;
private CustomerAgencyService customerAgencyService;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
@ -416,4 +415,49 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
}
@Override
public Result<GridInfoResultDTO> getGridInfo(String gridId) {
GridInfoResultDTO gridInfoResultDTO=new GridInfoResultDTO();
CustomerGridDTO customerGridDTO = this.get(gridId);
if(null==customerGridDTO){
return new Result<>();
}
gridInfoResultDTO.setCustomerId(customerGridDTO.getCustomerId());
String pids=customerGridDTO.getPids();
String[] pidArray = pids.split(":");
for(String agencyId:pidArray){
CustomerAgencyDTO customerAgencyDTO=customerAgencyService.get(agencyId);
if(null!=customerAgencyDTO){
switch(customerAgencyDTO.getLevel()){
case "community" :
//社区级
gridInfoResultDTO.setCommuityId(customerAgencyDTO.getId());
gridInfoResultDTO.setCommnuityName(customerAgencyDTO.getOrganizationName());
break;
case "street" :
//乡(镇、街道)级
gridInfoResultDTO.setStreetId(customerAgencyDTO.getId());
gridInfoResultDTO.setStreetName(customerAgencyDTO.getOrganizationName());
break;
case "district":
//区县级
gridInfoResultDTO.setDistrictId(customerAgencyDTO.getId());
gridInfoResultDTO.setDistrictName(customerAgencyDTO.getOrganizationName());
break;
case "city":
//市级
gridInfoResultDTO.setCityId(customerAgencyDTO.getId());
gridInfoResultDTO.setCityName(customerAgencyDTO.getOrganizationName());
break;
case "province":
//省级
gridInfoResultDTO.setProvinceId(customerAgencyDTO.getId());
gridInfoResultDTO.setProviceName(customerAgencyDTO.getOrganizationName());
break;
}
}
}
return new Result<GridInfoResultDTO>().ok(gridInfoResultDTO);
}
}

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java

@ -20,6 +20,7 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
@ -45,7 +46,7 @@ import java.util.List;
import java.util.Map;
/**
* 网格人员关系表
* 网格人员关系表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-04-20
@ -75,8 +76,8 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
return ConvertUtils.sourceToTarget(entityList, CustomerStaffGridDTO.class);
}
private QueryWrapper<CustomerStaffGridEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
private QueryWrapper<CustomerStaffGridEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerStaffGridEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/util/ModuleConstant.java

@ -1,6 +1,4 @@
package com.epmet.util;/**
* Created by 11 on 2020/3/23.
*/
package com.epmet.util;
/**
* @Description

2
epmet-module/oper-access/oper-access-server/docker-compose.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
oper-access-server:
container_name: oper-access-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/oper-access-server:0.3.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/oper-access-server:0.3.1
ports:
- "8093:8093"
network_mode: host # 使用现有网络

2
epmet-module/oper-access/oper-access-server/pom.xml

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

2
epmet-module/oper-crm/oper-crm-server/docker-compose.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
oper-crm-server:
container_name: oper-crm-server-dev
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/oper-crm-server:0.3.0
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/oper-crm-server:0.3.2
ports:
- "8090:8090"
network_mode: host # 使用现有网络

6
epmet-module/oper-crm/oper-crm-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.2</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>oper-crm</artifactId>
@ -91,7 +91,7 @@
</build>
<profiles>
<profile>
<id>dev-dev</id>
<id>dev-local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
@ -131,7 +131,7 @@
<!-- 数据库配置-->
<spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/epmet_oper_crm_dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
<![CDATA[jdbc:mysql://rm-m5ef9t617j6o5eup7.mysql.rds.aliyuncs.com:3306/epmet_oper_crm_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>

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

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

2
epmet-module/oper-customize/oper-customize-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.0</version>
<version>0.3.1</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>oper-customize</artifactId>

1
epmet-module/pom.xml

@ -27,6 +27,7 @@
<module>resi-mine</module>
<module>resi-group</module>
<module>resi-partymember</module>
<module>gov-grid</module>
<module>gov-access</module>
<module>gov-mine</module>
</modules>

5
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java

@ -67,4 +67,9 @@ public interface TopicConstant {
* 构造queryWrapper 附件排序
* */
String SORT = "SORT";
/**
* 构造queryWrapper 用户Id
* */
String CUSTOMER_USER_ID = "CUSTOMER_USER_ID";
}

10
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupOperationDTO.java

@ -87,4 +87,14 @@ public class ResiGroupOperationDTO implements Serializable {
* OPERATE_USER_ID操作人id
*/
private String operateUserId;
/**
* 审核人员已读未读标识 (未读:unread; 已读:read)
* */
private String readFlag;
/**
* 消息通知内容
* */
private String messageText;
}

47
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplyingGroupsFormDTO.java

@ -0,0 +1,47 @@
package com.epmet.resi.group.dto.group.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 政府端查询待审核的小组
* @ClassName ApplyingGroupsFormDTO
* @Author wangc
* @date 2020.04.17 14:59
*/
@Data
public class ApplyingGroupsFormDTO implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 客户Id
* */
@NotBlank(message = "客户Id不能为空")
private String customerId;
/**
* 网格Id
* */
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* 请求页码 最小是1
* */
@Min(value = 1)
private Integer pageNo;
/**
* 每页数据 默认20
* */
private Integer pageSize = 20;
/**
* 用户Id
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
}

29
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGroupIdFromDTO.java

@ -0,0 +1,29 @@
package com.epmet.resi.group.dto.group.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 通用的传参DTO 只传groupId和userId
* @ClassName CommonGroupIdFromDTO
* @Author wangc
* @date 2020.04.20 14:04
*/
@Data
public class CommonGroupIdFromDTO implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 组Id
* */
@NotBlank(message = "组Id不能为空")
private String groupId;
/**
* 用户Id
* */
@NotBlank(message = "用户Id不能为空")
private String userId;
}

19
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java

@ -0,0 +1,19 @@
package com.epmet.resi.group.dto.group.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/20 9:30
*/
@Data
public class GovGroupSummarizeFromDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 小组id
*/
private String groupId;
}

36
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupAuditedFromDTO.java

@ -0,0 +1,36 @@
package com.epmet.resi.group.dto.group.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/17 13:39
*/
@Data
public class GroupAuditedFromDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
@NotBlank(message = "客户id不能为空")
private String customerId;
/**
* 网格id
*/
@NotBlank(message = "网格id不能为空")
private String gridId;
/**
* 页码
*/
@NotBlank(message = "页码不能为空")
private Integer pageNo;
/**
* 每页显示数量
*/
@NotBlank(message = "每页显示数量不能为空")
private Integer pageSize;
}

78
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplyingGroupDetailResultDTO.java

@ -0,0 +1,78 @@
package com.epmet.resi.group.dto.group.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 建组申请详情
* @ClassName ApplyingGroupDetailResultDTO
* @Author wangc
* @date 2020.04.17 16:13
*/
@Data
public class ApplyingGroupDetailResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 组Id
* */
private String groupId;
/**
* 组名称
* */
private String groupName;
/**
* 组头像
* */
private String groupHeadPhoto;
/**
* 组介绍
* */
private String groupIntroduction;
/**
* 申请时间
* */
private Date createdTime;
/**
* 组长名称
* */
private String groupLeaderName;
/**
* 已同意该申请approved 已驳回rejected
* */
private String status;
/**
* 驳回理由
* */
private String rejectReason;
/**
* 从数据库中获取组长的用户Id,方便获取组长用户信息,返回时将此值置为NULL
* */
private String leaderId;
/**
* 街道
* */
private String street;
/**
* 未读已读标识 unread read
* */
private String readFlag;
/**
* 从数据库中获取组操作记录Id,返回时将此值置为NULL
* */
private String operationId;
}

50
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplyingGroupResultDTO.java

@ -0,0 +1,50 @@
package com.epmet.resi.group.dto.group.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 政府端查询待审核的小组
* @ClassName ApplyingGroupResultDTO
* @Author wangc
* @date 2020.04.17 15:20
*/
@Data
public class ApplyingGroupResultDTO implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 组Id
* */
private String groupId;
/**
* 组名称
* */
private String groupName;
/**
* 组头像
* */
private String groupHeadPhoto;
/**
* 申请时间
* */
private String createdTime;
/**
* 审核人员已读未读标识(未读:unread ; 已读:read )
* */
private String readFlag;
/**
* 消息通知内容
* */
private String messageText;
}

43
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GovGroupSummarizeResultDTO.java

@ -0,0 +1,43 @@
package com.epmet.resi.group.dto.group.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/20 9:24
*/
@Data
public class GovGroupSummarizeResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 组id
*/
private String groupId;
/**
* 组头像
*/
private String groupHeadPhoto;
/**
* 组名
*/
private String groupName;
/**
* 成员总数
*/
private Integer totalMember;
/**
* 组长名称
*/
private String leaderName;
/**
* 组介绍
*/
private String groupIntroduction;
/**
* 话题总数
*/
private Integer totalTopics;
}

45
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupAuditedResultDTO.java

@ -0,0 +1,45 @@
package com.epmet.resi.group.dto.group.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/17 13:40
*/
@Data
public class GroupAuditedResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 小组ID
*/
private String groupId;
/**
* 小组名称
*/
private String groupName;
/**
* 小组头像
*/
private String groupHeadPhoto;
/**
* 小组介绍
*/
private String groupIntroduction;
/**
* 小组状态已驳回rejected 已通过approved
*/
private String status;
/**
* 审核时间HH:mm
*/
private Date auditedTime;
/**
* 消息通知内容
*/
private String messageText;
}

41
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupsInGridResultDTO.java

@ -0,0 +1,41 @@
package com.epmet.resi.group.dto.group.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/17 15:53
*/
@NoArgsConstructor
@Data
public class GroupsInGridResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 小组id
*/
private String groupId;
/**
* 小组名称
*/
private String groupName;
/**
* 小组头像
*/
private String groupHeadPhoto;
/**
* 成员总数
*/
private Integer totalMember;
/**
* 党员总数
*/
private Integer totalPartyMember;
/**
* 当前状态审核通过 - approved 审核中 - under_auditting 审核未通过 - rejected 已屏蔽 - hidden 已关闭 - closed
*/
private String status;
}

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

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

2
epmet-module/resi-group/resi-group-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.0</version>
<version>0.3.1</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>resi-group</artifactId>

14
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/comment/controller/ResiCommentController.java

@ -56,4 +56,18 @@ public class ResiCommentController {
ValidatorUtils.validateEntity(queryCommentFormDTO);
return commentService.getCommentList(tokenDto,queryCommentFormDTO);
}
/**
* @Description 政府端群组管理-获取某个话题的评论列表
* @Param tokenDto
* @Param ResiQueryCommentFormDTO
* @return Result<List<ResiCommentResultDTO>>
* @Author wangc
* @Date 2020.04.01 23:49
**/
@PostMapping("getcommentlistoftopicgov")
public Result<List<ResiCommentResultDTO>> getCommentListOfTopicGov(@RequestBody ResiQueryCommentFormDTO queryCommentFormDTO){
ValidatorUtils.validateEntity(queryCommentFormDTO);
return commentService.getCommentList(null,queryCommentFormDTO);
}
}

90
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java

@ -25,10 +25,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.CreatedResultDTO;
import com.epmet.resi.group.dto.group.result.GroupSummarizeResultDTO;
import com.epmet.resi.group.dto.group.result.MyGroupResultDTO;
import com.epmet.resi.group.dto.group.result.RecommendGroupResultDTO;
import com.epmet.resi.group.dto.group.result.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -51,10 +48,11 @@ public class ResiGroupController {
private ResiGroupService resiGroupService;
@GetMapping("test/{test}")
public Result test(@PathVariable("test")String test){
int result=1/0;
public Result test(@PathVariable("test") String test) {
int result = 1 / 0;
return new Result().ok("请求成功啦❤");
}
/**
* @param tokenDto
* @param myGroupFormDTO
@ -219,4 +217,84 @@ public class ResiGroupController {
ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO);
return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO);
}
/**
* 小组审核历史列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("audited")
public Result<List<GroupAuditedResultDTO>> audited(GroupAuditedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiGroupService.audited(formDTO);
}
/**
* 本网格小组列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("groupsingrid")
public Result<List<GroupsInGridResultDTO>> getGroupsInGrid(GroupAuditedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiGroupService.getGroupsInGrid(formDTO);
}
/**
* 小组管理界面信息
*
* @param formDTO 参数
* @return Result<GovGroupSummarizeResultDTO>
*/
@PostMapping("getgovgroupsummarize")
public Result<GovGroupSummarizeResultDTO> getGovGroupSummarize(GovGroupSummarizeFromDTO formDTO) {
return resiGroupService.getGovGroupSummarize(formDTO);
}
/**
* @Description 得到小组待审核列表用户信息不注入TokenDTO通过外部服务调用直接传入参数
* @Param ApplyingGroupsFormDTO.class
* @return Result<List<ApplyingGroupResultDTO>>
* @Author wangc
* @Date 2020.04.20 13:59
**/
@PostMapping("getapplyinggroups")
public Result<List<ApplyingGroupResultDTO>> getApplyingGroups(@RequestBody ApplyingGroupsFormDTO applyingGroupsFormDTO){
ValidatorUtils.validateEntity(applyingGroupsFormDTO);
return resiGroupService.getApplyingGroups(applyingGroupsFormDTO);
}
/**
* @Description 得到待审核/未审核小组信息的详情
* @Param CommonGroupIdFromDTO -> String groupId; String userId
* @return Result<ApplyingGroupDetailResultDTO>
* @Author wangc
* @Date 2020.04.20 14:08
**/
@PostMapping("getapplyinggroupdetail")
public Result<ApplyingGroupDetailResultDTO> getApplyingGroupDetail(@RequestBody CommonGroupIdFromDTO groupIdFromDTO){
ValidatorUtils.validateEntity(groupIdFromDTO);
return resiGroupService.getApplyingGroupDetail(groupIdFromDTO);
}
@PostMapping("agreeapplying")
public Result agreeApplying( @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) {
ValidatorUtils.validateEntity(agreeApplyGroupFormDTO);
return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO);
}
/**
* @Description 建组申请-审核驳回-供外部服务调用当前用户Id需要调用时一并传入
* @Param DisAgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:26
**/
@PostMapping("disagreeapplying")
public Result disagreeApplying(@RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) {
ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO);
return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO);
}
}

33
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java

@ -23,6 +23,7 @@ import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -106,4 +107,36 @@ public interface ResiGroupDao extends BaseDao<ResiGroupEntity> {
* @Date 2020/3/30 16:03
**/
List<ResiGroupEntity> checkResiGroupName(ApplyCreateGroupFormDTO applyCreateGroupFormDTO);
/**
* 查询小组审核历史列表
* @param formDTO
* @return
*/
List<GroupAuditedResultDTO> selectAuditedGroupList(GroupAuditedFromDTO formDTO);
/**
* 查询网格小组列表
* @param formDTO
* @return
*/
List<ResiGroupEntity> selectGroupsByGridId(GroupAuditedFromDTO formDTO);
/**
* @Description 查询申请中的的小组
* @Param ApplyingGroupsFormDTO
* @return List<ApplyingGroupResultDTO>
* @Author wangc
* @Date 2020.04.20 00:11
**/
List<ApplyingGroupResultDTO> getApplyingGroupsByCustIdAndGridId(ApplyingGroupsFormDTO applyingGroupsFormDTO);
/**
* @Description 获取组审核信息详情:已审核/未审核通用
* @Param groupId
* @return ApplyingGroupDetailResultDTO
* @Author wangc
* @Date 2020.04.20 11:17
**/
ApplyingGroupDetailResultDTO getApplyingGroupDetailByGroupId(@Param("groupId") String groupId);
}

10
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupOperationEntity.java

@ -57,4 +57,14 @@ public class ResiGroupOperationEntity extends BaseEpmetEntity {
* OPERATE_USER_ID操作人id
*/
private String operateUserId;
/**
* 审核人员已读未读标识 (未读:unread; 已读:read)
* */
private String readFlag;
/**
* 消息通知内容
* */
private String messageText;
}

83
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java

@ -17,13 +17,24 @@
package com.epmet.modules.group.redis;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.group.service.ResiGroupStatisticalService;
import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalInfoRedisDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.*;
/**
* 群组信息表
*
@ -35,6 +46,13 @@ public class ResiGroupRedis {
@Autowired
private RedisUtils redisUtils;
@Autowired
private ResiGroupService groupService;
@Autowired
private ResiGroupStatisticalService statisticalService;
public void delete(Object[] ids) {
}
@ -51,10 +69,75 @@ public class ResiGroupRedis {
}
}
/**
* @Description 查询组的缓存信息如果有直接返回如果没有则从数据库中查询将数据放入缓存并返回
* @Param
* @return
* @Author wangc
* @Date 2020.04.18 12:00
**/
public ResiGroupInfoRedisDTO get(String groupId){
if(StringUtils.isNotBlank(groupId)){
ResiGroupInfoRedisDTO groupCache = (ResiGroupInfoRedisDTO)
redisUtils.get(RedisKeys.getResiGroupInfoKey(groupId));
if(null == groupCache || StringUtils.isBlank(groupCache.getGroupId())){
//如果缓存中没有该组信息,从数据库中查询并放入缓存
ResiGroupDTO groupMySql = groupService.get(groupId);
if(null != groupMySql && StringUtils.isNotBlank(groupMySql.getId())){
ResiGroupInfoRedisDTO groupRedis = ConvertUtils.sourceToTarget(groupMySql,ResiGroupInfoRedisDTO.class);
groupRedis.setGroupId(groupMySql.getId());
groupRedis.setGroupState(groupMySql.getState());
Map<String,Object> param = new HashMap<>();
param.put(TopicConstant.RESI_GROUP_ID,groupId);
param.put(FieldConstant.DEL_FLAG, NumConstant.ZERO_STR);
List<ResiGroupStatisticalDTO> statisticalMySql = statisticalService.list(param);
if(null != statisticalMySql && statisticalMySql.size() >= 1){
if(statisticalMySql.size() > 1){
/*
Collections.sort(statisticalMySql, new Comparator<ResiGroupStatisticalDTO>() {
@Override
public int compare(ResiGroupStatisticalDTO o1, ResiGroupStatisticalDTO o2) {
if(null != o1.getCreatedTime() && null != o2.getCreatedTime()){
return
o1.getCreatedTime().getTime() > o2.getCreatedTime().getTime() ?
-1 : (o1.getCreatedTime().getTime() == o2.getCreatedTime().getTime() ?
0: 1);
}else{
return 0;
}
}
});
statisticalMySql.sort((ResiGroupStatisticalDTO o1, ResiGroupStatisticalDTO o2) ->
o1.getCreatedTime().compareTo(o2.getCreatedTime())
);
//升序
statisticalMySql.sort(Comparator.comparing(e -> e.getCreatedTime()));
statisticalMySql.sort(Comparator.comparing(ResiGroupStatisticalDTO :: getCreatedTime,
(o1 , o2) -> {
return o2.compareTo(o 1);
}));
*/
//按照createdTime降序排序
statisticalMySql.sort(Comparator.comparing(ResiGroupStatisticalDTO :: getCreatedTime,
Collections.reverseOrder()));
}
ResiGroupStatisticalDTO statistical = statisticalMySql.get(0);
ResiGroupStatisticalInfoRedisDTO statisticalRedis =
ConvertUtils.sourceToTarget(statistical,ResiGroupStatisticalInfoRedisDTO.class);
statisticalRedis.setTotalEarnestMembers(statistical.getTotalEarnestMemebers());
statisticalRedis.setTotalNormalMembers(statistical.getTotalNormalMemebers());
groupRedis.setGroupStatisticalInfo(statisticalRedis);
}
//将从数据库中查询出的数据放入缓存
set(groupRedis);
//返回数据
return groupRedis;
}
}
return groupCache;
}
return null;

55
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java

@ -20,17 +20,12 @@ package com.epmet.modules.group.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.resi.group.dto.UserRoleDTO;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.CreatedResultDTO;
import com.epmet.resi.group.dto.group.result.GroupSummarizeResultDTO;
import com.epmet.resi.group.dto.group.result.MyGroupResultDTO;
import com.epmet.resi.group.dto.group.result.RecommendGroupResultDTO;
import com.epmet.resi.group.dto.group.result.*;
import java.util.List;
import java.util.Map;
@ -176,8 +171,8 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
Result initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO);
/**
* @return com.epmet.commons.tools.utils.Result
* @param agreeApplyGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 审核(同意)群申请-测试用后面会放到政府端
* @Date 2020/3/31 12:44
@ -185,8 +180,8 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
Result agreeApplyGroup(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO);
/**
* @return com.epmet.commons.tools.utils.Result
* @param disAgreeApplyGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 审核拒绝群申请-测试用后面会放到政府端
* @Date 2020/3/31 13:22
@ -194,14 +189,56 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
Result disagreeApplyGroup(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO);
/**
* @return com.epmet.resi.group.dto.UserRoleDTO
* @param app
* @param userId
* @param customerId
* @param gridId
* @return com.epmet.resi.group.dto.UserRoleDTO
* @Author yinzuomei
* @Description 判断用户当前角色
* @Date 2020/4/1 0:00
**/
UserRoleDTO checkPartyMemberOrWarmHeated(String app, String userId, String customerId, String gridId);
/**
* 小组审核历史列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
Result<List<GroupAuditedResultDTO>> audited(GroupAuditedFromDTO formDTO);
/**
* 本网格小组列表
*
* @param formDTO 参数
* @return Result<List<GroupsInGridResultDTO>>
*/
Result<List<GroupsInGridResultDTO>> getGroupsInGrid(GroupAuditedFromDTO formDTO);
/**
* 小组管理界面信息
*
* @param formDTO 参数
* @return Result<GovGroupSummarizeResultDTO>
*/
Result<GovGroupSummarizeResultDTO> getGovGroupSummarize(GovGroupSummarizeFromDTO formDTO);
/**
* @Description 查询待审核的小组
* @Param ApplyingGroupsFormDTO
* @return Result<List<ApplyingGroupResultDTO>>
* @Author wangc
* @Date 2020.04.18 10:17
**/
Result<List<ApplyingGroupResultDTO>> getApplyingGroups(ApplyingGroupsFormDTO applyingGroupsFormDTO);
/**
* @Description 建组申请详情
* @Param AgreeApplyGroupFormDTO
* @return Result<ApplyingGroupResultDTO>
* @Author wangc
* @Date 2020.04.19 23:32
**/
Result<ApplyingGroupDetailResultDTO> getApplyingGroupDetail(CommonGroupIdFromDTO groupId);
}

217
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -30,20 +30,22 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.form.UserRoleFormDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.modules.exception.ModuleErrorCode;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.dao.ResiGroupOperationDao;
import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.modules.group.entity.ResiGroupOperationEntity;
import com.epmet.modules.group.redis.ResiGroupRedis;
import com.epmet.modules.group.service.ResiGroupOperationService;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.group.service.ResiGroupStatisticalService;
import com.epmet.modules.member.dao.GroupMemeberOperationDao;
import com.epmet.modules.member.dao.ResiGroupMemberDao;
import com.epmet.modules.member.redis.ResiGroupMemberRedis;
import com.epmet.modules.member.service.GroupMemeberOperationService;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.utils.ModuleConstant;
@ -54,12 +56,10 @@ import com.epmet.resi.group.constant.MemberStateConstant;
import com.epmet.resi.group.dto.UserRoleDTO;
import com.epmet.resi.group.dto.group.*;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.CreatedResultDTO;
import com.epmet.resi.group.dto.group.result.GroupSummarizeResultDTO;
import com.epmet.resi.group.dto.group.result.MyGroupResultDTO;
import com.epmet.resi.group.dto.group.result.RecommendGroupResultDTO;
import com.epmet.resi.group.dto.group.result.*;
import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -107,6 +107,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
@Autowired
private ResiGroupRedis resiGroupRedis;
@Autowired
private ResiGroupMemberRedis resiGroupMemberRedis;
@Override
public PageData<ResiGroupDTO> page(Map<String, Object> params) {
@ -314,7 +317,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
resiGroupOperation.setOperateUserId(applyCreateGroupFormDTO.getUserId());
resiGroupOperationService.save(resiGroupOperation);
//4、插入一群成员信息(群主)
ResiGroupMemberDTO resiGroupMemberDTO=new ResiGroupMemberDTO();
ResiGroupMemberDTO resiGroupMemberDTO = new ResiGroupMemberDTO();
resiGroupMemberDTO.setCustomerUserId(applyCreateGroupFormDTO.getUserId());
resiGroupMemberDTO.setResiGroupId(resiGroupEntity.getId());
resiGroupMemberDTO.setGroupLeaderFlag(LeaderFlagConstant.GROUP_LEADER);
@ -322,7 +325,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
resiGroupMemberDTO.setEnterGroupType(EnterGroupTypeConstant.CREATED);
resiGroupMemberService.save(resiGroupMemberDTO);
//5、插入一条入群记录(群主的)
GroupMemeberOperationDTO groupMemeberOperationDTO=new GroupMemeberOperationDTO();
GroupMemeberOperationDTO groupMemeberOperationDTO = new GroupMemeberOperationDTO();
groupMemeberOperationDTO.setCustomerUserId(applyCreateGroupFormDTO.getUserId());
groupMemeberOperationDTO.setGroupId(resiGroupEntity.getId());
groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.UNDER_AUDITTING);
@ -331,23 +334,23 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
groupMemeberOperationService.save(groupMemeberOperationDTO);
//6、群初始统计记录
UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyCreateGroupFormDTO.getApp(),
applyCreateGroupFormDTO.getUserId(),
applyCreateGroupFormDTO.getCustomerId(),
applyCreateGroupFormDTO.getGridId());
ResiGroupStatisticalDTO resiGroupStatisticalDTO=new ResiGroupStatisticalDTO();
applyCreateGroupFormDTO.getUserId(),
applyCreateGroupFormDTO.getCustomerId(),
applyCreateGroupFormDTO.getGridId());
ResiGroupStatisticalDTO resiGroupStatisticalDTO = new ResiGroupStatisticalDTO();
resiGroupStatisticalDTO.setResiGroupId(resiGroupEntity.getId());
resiGroupStatisticalDTO.setTotalMembers(NumConstant.ONE);
resiGroupStatisticalDTO.setTotalNormalMemebers(NumConstant.ONE);
resiGroupStatisticalDTO.setTotalTopics(NumConstant.ZERO);
resiGroupStatisticalDTO.setTotalIssues(NumConstant.ZERO);
if(NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())){
if (NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())) {
resiGroupStatisticalDTO.setTotalPartyMembers(NumConstant.ONE);
}else{
} else {
resiGroupStatisticalDTO.setTotalPartyMembers(NumConstant.ZERO);
}
if(NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())){
if (NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) {
resiGroupStatisticalDTO.setTotalEarnestMemebers(NumConstant.ONE);
}else{
} else {
resiGroupStatisticalDTO.setTotalEarnestMemebers(NumConstant.ZERO);
}
resiGroupStatisticalService.save(resiGroupStatisticalDTO);
@ -452,30 +455,54 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
resiGroupOperation.setOperateUserId(agreeApplyGroupFormDTO.getUserId());
resiGroupOperationService.update(resiGroupOperation);
//3、将群主在群成员的状态改为已通过
ResiGroupMemberDTO resiGroupMemberDTO=resiGroupMemberDao.selectLeaderMember(agreeApplyGroupFormDTO.getGroupId());
ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectLeaderMember(agreeApplyGroupFormDTO.getGroupId());
resiGroupMemberDTO.setStatus(MemberStateConstant.APPROVED);
resiGroupMemberService.update(resiGroupMemberDTO);
//4、更新群主的出入群记录改为已通过
GroupMemeberOperationDTO groupMemeberOperationDTO=groupMemeberOperationDao.selectLeaderRecord(agreeApplyGroupFormDTO.getGroupId());
GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationDao.selectLeaderRecord(agreeApplyGroupFormDTO.getGroupId());
groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.APPROVED);
groupMemeberOperationDTO.setOperateUserId(agreeApplyGroupFormDTO.getUserId());
groupMemeberOperationService.update(groupMemeberOperationDTO);
//5、给用户发送消息???待定
//6、新增小组缓存信息
Map<String,Object> param = new HashMap<>();
param.put("resiGroupId",resiGroupDTO.getId());
//6、新增小组缓存信息、组员缓存信息
Map<String, Object> param = new HashMap<>();
param.put(ModuleConstant.RESI_GROUP_ID_CAMEL, resiGroupDTO.getId());
param.put(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR);
List<ResiGroupStatisticalDTO> statisticalList = resiGroupStatisticalService.list(param);
if(null != statisticalList && statisticalList.size() > 0){
ResiGroupInfoRedisDTO groupRedis = transferToGroupInfoRedis(resiGroupDTO,statisticalList.get(0));
if (null != statisticalList && statisticalList.size() > 0) {
ResiGroupInfoRedisDTO groupRedis = transferToGroupInfoRedis(resiGroupDTO, statisticalList.get(0));
resiGroupRedis.set(groupRedis);
}else{
//当没有查询到组统计信息时
UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO();
userRoleFormDTO.setApp("resi");
userRoleFormDTO.setCustomerId(resiGroupDTO.getCustomerId());
userRoleFormDTO.setUserId(agreeApplyGroupFormDTO.getUserId());
//userRoleFormDTO.setGridId
//epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO);
ResiGroupMemberInfoRedisDTO memberRedis = new ResiGroupMemberInfoRedisDTO();
memberRedis.setUserId(resiGroupMemberDTO.getCustomerUserId());
memberRedis.setGroupLeaderFlag("leader");
memberRedis.setEnterGroupType(resiGroupMemberDTO.getEnterGroupType());
memberRedis.setMemberStatus(resiGroupMemberDTO.getStatus());
memberRedis.setGroupId(resiGroupMemberDTO.getResiGroupId());
UserResiInfoFormDTO userParam = new UserResiInfoFormDTO();
userParam.setUserId(resiGroupMemberDTO.getCustomerUserId());
userParam.setCustomerId(resiGroupDTO.getCustomerId());
Result<UserResiInfoResultDTO> userInfo =
epmetUserFeignClient.getUserResiInfoDTO(userParam);
if(userInfo.success() && null != userInfo.getData()){
memberRedis.setUserShowName(userInfo.getData().getShowName());
memberRedis.setUserHeadPhoto(userInfo.getData().getHeadPhoto());
}else{
logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND);
}
resiGroupMemberRedis.set(memberRedis);
} else {
/*
当没有查询到组统计信息时,需要自己封装统计信息
@param UserRoleFormDTO::getApp
@param UserRoleFormDTO::getCustomerId
@param UserRoleFormDTO::getUserId
@param UserRoleFormDTO::getGridId
查询用户身份信息[热心居民/党员]
epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO);
*/
logger.warn(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO);
}
@ -502,11 +529,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
resiGroupOperation.setOperateReason(disAgreeApplyGroupFormDTO.getRejectReason());
resiGroupOperationService.update(resiGroupOperation);
//3、将群主在群成员的状态改为已通过
ResiGroupMemberDTO resiGroupMemberDTO=resiGroupMemberDao.selectLeaderMember(disAgreeApplyGroupFormDTO.getGroupId());
ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectLeaderMember(disAgreeApplyGroupFormDTO.getGroupId());
resiGroupMemberDTO.setStatus(MemberStateConstant.REJECTED);
resiGroupMemberService.update(resiGroupMemberDTO);
//4、更新群主的出入群记录改为已通过
GroupMemeberOperationDTO groupMemeberOperationDTO=groupMemeberOperationDao.selectLeaderRecord(disAgreeApplyGroupFormDTO.getGroupId());
GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationDao.selectLeaderRecord(disAgreeApplyGroupFormDTO.getGroupId());
groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.REJECTED);
groupMemeberOperationDTO.setOperateUserId(disAgreeApplyGroupFormDTO.getUserId());
groupMemeberOperationService.update(groupMemeberOperationDTO);
@ -555,30 +582,146 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
return userRoleDTO;
}
@Override
public Result<List<GroupAuditedResultDTO>> audited(GroupAuditedFromDTO formDTO) {
Result<List<GroupAuditedResultDTO>> result = new Result<>();
//查询条件
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
formDTO.setPageNo(pageIndex);
//获取审核列表
List<GroupAuditedResultDTO> resultList = baseDao.selectAuditedGroupList(formDTO);
return result.ok(resultList);
}
@Override
public Result<List<GroupsInGridResultDTO>> getGroupsInGrid(GroupAuditedFromDTO formDTO) {
List<GroupsInGridResultDTO> resultList = new ArrayList<>();
//查询条件
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
formDTO.setPageNo(pageIndex);
List<ResiGroupEntity> list = baseDao.selectGroupsByGridId(formDTO);
list.forEach(i -> {
//缓存中获取组信息
ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(i.getId());
GroupsInGridResultDTO groupsInGridResultDTO = new GroupsInGridResultDTO();
groupsInGridResultDTO.setGroupId(resiGroupInfoRedisDTO.getGroupId());
groupsInGridResultDTO.setGroupName(resiGroupInfoRedisDTO.getGroupName());
groupsInGridResultDTO.setGroupHeadPhoto(resiGroupInfoRedisDTO.getGroupHeadPhoto());
groupsInGridResultDTO.setStatus(resiGroupInfoRedisDTO.getGroupState());
groupsInGridResultDTO.setTotalMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalMembers());
groupsInGridResultDTO.setTotalPartyMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalPartyMembers());
resultList.add(groupsInGridResultDTO);
});
return new Result<List<GroupsInGridResultDTO>>().ok(resultList);
}
@Override
public Result<GovGroupSummarizeResultDTO> getGovGroupSummarize(GovGroupSummarizeFromDTO formDTO) {
GovGroupSummarizeResultDTO resultDTO = new GovGroupSummarizeResultDTO();
//从缓存中获取组相关信息
ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(formDTO.getGroupId());
resultDTO.setGroupId(resiGroupInfoRedisDTO.getGroupId());
resultDTO.setGroupHeadPhoto(resiGroupInfoRedisDTO.getGroupHeadPhoto());
resultDTO.setGroupIntroduction(resiGroupInfoRedisDTO.getGroupIntroduction());
resultDTO.setGroupName(resiGroupInfoRedisDTO.getGroupName());
resultDTO.setTotalMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalMembers());
resultDTO.setTotalTopics(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalTopics());
//获取组长信息
Result<UserResiInfoResultDTO> groupLeaderUserInfo = this.getGroupLeaderUserInfo(formDTO.getGroupId());
if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) {
resultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName());
} else {
logger.info("组长注册信息查询失败" + groupLeaderUserInfo.getMsg());
}
return new Result<GovGroupSummarizeResultDTO>().ok(resultDTO);
}
/**
* @return ResiGroupInfoRedisDTO
* @Description 将ResiGroupDTO与ResiGroupStatisticalDTO转换成ResiGroupInfoRedisDTO
* @Param ResiGroupDTO
* @Param ResiGroupStatisticalDTO
* @return ResiGroupInfoRedisDTO
* @Author wangc
* @Date 2020.04.13 16:36
**/
private ResiGroupInfoRedisDTO transferToGroupInfoRedis(ResiGroupDTO groupDTO,ResiGroupStatisticalDTO statisticalDTO){
private ResiGroupInfoRedisDTO transferToGroupInfoRedis(ResiGroupDTO groupDTO, ResiGroupStatisticalDTO statisticalDTO) {
ResiGroupStatisticalInfoRedisDTO statisticalObjct =
ConvertUtils.sourceToTarget(statisticalDTO,ResiGroupStatisticalInfoRedisDTO.class);
ConvertUtils.sourceToTarget(statisticalDTO, ResiGroupStatisticalInfoRedisDTO.class);
statisticalObjct.setTotalEarnestMembers(statisticalDTO.getTotalEarnestMemebers());
statisticalObjct.setTotalNormalMembers(statisticalDTO.getTotalNormalMemebers());
ResiGroupInfoRedisDTO targetObject =
ConvertUtils.sourceToTarget(groupDTO,ResiGroupInfoRedisDTO.class);
ConvertUtils.sourceToTarget(groupDTO, ResiGroupInfoRedisDTO.class);
targetObject.setGroupId(groupDTO.getId());
targetObject.setGroupState(groupDTO.getState());
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN);
if(null != groupDTO.getLatestTopicPublishDate()){
if (null != groupDTO.getLatestTopicPublishDate()) {
targetObject.setLatestTopicPublishDate(format.format(groupDTO.getLatestTopicPublishDate()));
}
targetObject.setGroupStatisticalInfo(statisticalObjct);
return targetObject;
}
/**
* @Description 查询待审核的小组 (不从缓存中取这时还没有成功建组缓存中没有组数据)
* @Param ApplyingGroupsFormDTO
* @return Result<List<ApplyingGroupResultDTO>>
* @Author wangc
* @Date 2020.04.18 10:18
**/
@Override
public Result<List<ApplyingGroupResultDTO>> getApplyingGroups(ApplyingGroupsFormDTO params){
if(null == params.getPageNo()){
throw new RenException(ModuleConstant.PAGE_INDEX_NOT_NULL);
}
params.setPageNo((params.getPageNo() - NumConstant.ONE) * params.getPageSize());
return new Result<List<ApplyingGroupResultDTO>>().ok(baseDao.getApplyingGroupsByCustIdAndGridId(params));
}
/**
* @Description 建组申请详情 已审核(更新已读未读标识)/未审核
* @Param AgreeApplyGroupFormDTO
* @return Result<ApplyingGroupResultDTO>
* @Author wangc
* @Date 2020.04.19 23:32
**/
@Override
public Result<ApplyingGroupDetailResultDTO> getApplyingGroupDetail(CommonGroupIdFromDTO groupId){
//1.查询小组信息
//注意,这里查询出的组申请详情中,无论是已审核还是未审核,都是将该组信息关联到初始化组时状态为[待审核、审核通过、拒绝]其中之一的组操作记录上,并读取审核的已读未读信息,上述三种状态在一个组的所有操作记录当中只可能存在一种,与之后的屏蔽、取消屏蔽、关闭无关,如果查出多条说明建组的逻辑有问题
ApplyingGroupDetailResultDTO detail = baseDao.getApplyingGroupDetailByGroupId(groupId.getGroupId());
//2.查询用户信息(TODO 先走数据库,之后改成走缓存)
List<String> userId = new ArrayList<>();
userId.add(detail.getLeaderId());
Result<List<UserResiInfoResultDTO>> userInfoResult =
epmetUserFeignClient.getUserResiInfoList(new UserResiInfoListFormDTO(userId));
if(userInfoResult.success() && null != userInfoResult.getData() && userInfoResult.getData().size() >= 1){
detail.setGroupHeadPhoto(userInfoResult.getData().get(0).getHeadPhoto());
//姓氏+先生/女士 注:在数据库中拼接成[街道+显示名称]默认格式,故要进行截取
//detail.setGroupLeaderName(userInfoResult.getData().get(0).getShowName().split("-")[NumConstant.ONE]);
//姓氏+名称
detail.setGroupLeaderName(userInfoResult.getData().get(0).getSurname() + userInfoResult.getData().get(0).getName());
detail.setStreet(userInfoResult.getData().get(0).getStreet());
}else{
logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND);
}
//3.未读改成已读
if(StringUtils.equals(detail.getReadFlag(),ModuleConstant.UNREAD)){
ResiGroupOperationEntity operationEntity = new ResiGroupOperationEntity();
operationEntity.setId(detail.getOperationId());
operationEntity.setReadFlag(ModuleConstant.READ);
operationEntity.setUpdatedBy(groupId.getUserId());
resiGroupOperationDao.updateById(operationEntity);
}
//4.将组长用户Id隐藏
detail.setLeaderId(null);
detail.setOperationId(null);
return new Result<ApplyingGroupDetailResultDTO>().ok(detail);
}
}

82
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java

@ -17,15 +17,26 @@
package com.epmet.modules.member.redis;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.constant.TopicConstant;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO;
import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -42,6 +53,17 @@ public class ResiGroupMemberRedis {
@Autowired
private RedisUtils redisUtils;
@Autowired
private ResiGroupMemberService memberService;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
private ResiGroupService groupService;
private Logger logger = LoggerFactory.getLogger(getClass());
public void delete(Object[] ids) {
}
@ -70,14 +92,54 @@ public class ResiGroupMemberRedis {
* @Date 2020.04.13 23:36
**/
public ResiGroupMemberInfoRedisDTO get(String groupId ,String userId){
/*
Map<String, Object> map = redisUtils.hGetAll();
if (MapUtil.isEmpty(map)) {
return null;
ResiGroupMemberInfoRedisDTO memberCache =
(ResiGroupMemberInfoRedisDTO) redisUtils.get(RedisKeys.getResiGroupMemberInfoKey(groupId,userId));
//如果缓存中没有该成员数据
if(null == memberCache && StringUtils.isNotBlank(memberCache.getUserId())){
Map<String,Object> param = new HashMap<>();
param.put(TopicConstant.CUSTOMER_USER_ID,userId);
param.put(TopicConstant.RESI_GROUP_ID,groupId);
param.put(FieldConstant.DEL_FLAG, NumConstant.ZERO_STR);
List<ResiGroupMemberDTO> memberList = memberService.list(param);
if(null != memberList && memberList.size() >= 1){
if(memberList.size() > 1) {
memberList.sort(Comparator.comparing(ResiGroupMemberDTO::getCreatedTime, Collections.reverseOrder()));
}
ResiGroupMemberDTO memberMySql = memberList.get(0);
ResiGroupMemberInfoRedisDTO memberRedis = ConvertUtils.sourceToTarget(memberMySql,ResiGroupMemberInfoRedisDTO.class);
memberRedis.setUserId(memberMySql.getCustomerUserId());
memberRedis.setGroupId(memberMySql.getResiGroupId());
memberRedis.setMemberStatus(memberMySql.getStatus());
UserResiInfoFormDTO userParam = new UserResiInfoFormDTO();
userParam.setUserId(memberMySql.getCustomerUserId());
userParam.setCustomerId(groupService.get(groupId).getCustomerId());
Result<UserResiInfoResultDTO> userInfo = epmetUserFeignClient.getUserResiInfoDTO(userParam);
if(userInfo.success()){
if(null != userInfo.getData()){
memberRedis.setUserShowName(userInfo.getData().getShowName());
memberRedis.setUserHeadPhoto(userInfo.getData().getHeadPhoto());
}
}else{
logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND);
}
set(memberRedis);
return memberRedis;
}else{
//日志打印效果:找不到组员信息,组Id: ********,用户Id:********
logger.warn(ModuleConstant.GROUO_MEMBER_INFO_NOT_FOUND
.concat(ModuleConstant.GROUP_ID)
.concat(groupId)
.concat(ModuleConstant.USER_ID)
.concat(userId));
}
}
//map to bean
ResiGroupMemberInfoRedisDTO member = BeanUtil.mapToBean(map, ResiGroupMemberInfoRedisDTO.class, true);*/
return (ResiGroupMemberInfoRedisDTO) redisUtils.get(RedisKeys.getResiGroupMemberInfoKey(groupId,userId));
return memberCache;
}

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

Loading…
Cancel
Save