Browse Source

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

dev_shibei_match
wangchao 5 years ago
parent
commit
1cc221bdab
  1. 2
      epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml
  2. 2
      epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml
  3. 2
      epmet-admin/epmet-admin-server/pom.xml
  4. 2
      epmet-auth/deploy/docker-compose-dev.yml
  5. 2
      epmet-auth/deploy/docker-compose-test.yml
  6. 2
      epmet-auth/pom.xml
  7. 79
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java
  8. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java
  9. 14
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java
  10. 2
      epmet-gateway/deploy/docker-compose-dev.yml
  11. 2
      epmet-gateway/deploy/docker-compose-test.yml
  12. 2
      epmet-gateway/pom.xml
  13. 2
      epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml
  14. 2
      epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml
  15. 2
      epmet-module/epmet-common-service/common-service-server/pom.xml
  16. 2
      epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml
  17. 2
      epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml
  18. 2
      epmet-module/epmet-job/epmet-job-server/pom.xml
  19. 2
      epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml
  20. 2
      epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml
  21. 2
      epmet-module/epmet-message/epmet-message-server/pom.xml
  22. 2
      epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml
  23. 2
      epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml
  24. 2
      epmet-module/epmet-oss/epmet-oss-server/pom.xml
  25. 23
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/feign/GovAccessFeignClient.java
  26. 22
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/feign/fallback/GovAccessFeignClientFallBack.java
  27. 20
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/InitDefaultOperationsFormDTO.java
  28. 2
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java
  29. 2
      epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml
  30. 2
      epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml
  31. 2
      epmet-module/gov-access/gov-access-server/pom.xml
  32. 19
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/RoleController.java
  33. 19
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java
  34. 3
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/RoleOperationService.java
  35. 39
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java
  36. 18
      epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml
  37. 2
      epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml
  38. 2
      epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml
  39. 2
      epmet-module/gov-grid/gov-grid-server/pom.xml
  40. 5
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShouldVoteCountFormDTO.java
  41. 2
      epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml
  42. 2
      epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml
  43. 2
      epmet-module/gov-issue/gov-issue-server/pom.xml
  44. 3
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  45. 1
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java
  46. 4
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java
  47. 2
      epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml
  48. 2
      epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-test.yml
  49. 2
      epmet-module/gov-mine/gov-mine-server/pom.xml
  50. 35
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/MineController.java
  51. 10
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  52. 7
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
  53. 20
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/MineService.java
  54. 35
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/MineServiceImpl.java
  55. 6
      epmet-module/gov-org/gov-org-client/pom.xml
  56. 19
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CanTickStaffListFormDTO.java
  57. 27
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/TransferOptionalStaffListFormDTO.java
  58. 43
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java
  59. 2
      epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml
  60. 2
      epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml
  61. 2
      epmet-module/gov-org/gov-org-server/pom.xml
  62. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  63. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java
  64. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  65. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java
  66. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  67. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java
  68. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java
  69. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
  70. 282
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  71. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java
  72. 17
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
  73. 12
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  74. 3
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
  75. 2
      epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml
  76. 2
      epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml
  77. 2
      epmet-module/gov-project/gov-project-server/pom.xml
  78. 7
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java
  79. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  80. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
  81. 25
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java
  82. 9
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml
  83. 2
      epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml
  84. 2
      epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml
  85. 2
      epmet-module/oper-access/oper-access-server/pom.xml
  86. 2
      epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml
  87. 2
      epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml
  88. 8
      epmet-module/oper-crm/oper-crm-server/pom.xml
  89. 3
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java
  90. 36
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java
  91. 17
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/fallback/OperCustomizeFeignClientFallBack.java
  92. 13
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java
  93. 2
      epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-dev.yml
  94. 2
      epmet-module/oper-customize/oper-customize-server/deploy/docker-compose-test.yml
  95. 2
      epmet-module/oper-customize/oper-customize-server/pom.xml
  96. 11
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java
  97. 14
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerHomeController.java
  98. 9
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeService.java
  99. 9
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeTemplateService.java
  100. 183
      epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeServiceImpl.java

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-admin-server:
container_name: epmet-admin-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-admin-server:0.3.8
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-admin-server:0.3.9
ports:
- "8082:8082"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-admin-server:
container_name: epmet-admin-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-admin-server:0.3.8
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-admin-server:0.3.9
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.8</version>
<version>0.3.9</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin</artifactId>

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

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

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-auth-server:
container_name: epmet-auth-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-auth:0.3.9
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-auth:0.3.10
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.9</version>
<version>0.3.10</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-cloud</artifactId>

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

@ -16,6 +16,12 @@ import java.time.LocalDateTime;
/**
* 日志切面
*
* 异常拦截
* 会将错误信息都放到internalMsg中
* 如果是要提示给用户的异常则原样转化为resultreturn
* 如果是内部异常则转化为服务器开小差然后return
*
* @Author wxz
* @Description
**/
@ -41,45 +47,68 @@ public abstract class BaseRequestLogAspect {
protected Object proceed(ProceedingJoinPoint point, HttpServletRequest request) throws Throwable {
String requestURI = request.getRequestURI();
long id = Thread.currentThread().getId();
Object result = null;
Exception exception = null;
long threadId = Thread.currentThread().getId();
Object result;
LocalDateTime startTime = LocalDateTime.now();
try {
Object[] args = point.getArgs();
log.info(">>>>>>>>请求信息>>>>>>>>:线程ID:{},url:{},请求参数:{}", id, requestURI, objectsToString(args));
log.info(">>>>>>>>请求信息>>>>>>>>:线程ID:{},url:{},请求参数:{}", threadId, requestURI, objectsToString(args));
result = point.proceed();
resultInfoLog(threadId, getExecPeriod(startTime), result);
} catch (RenException e) {
exception = e;
result = handleRenException(e);
resultErrorLog(threadId, getExecPeriod(startTime), result, e.getMsg(), ExceptionUtils.getErrorStackTrace(e));
} catch (ValidateException e) {
exception = e;
result = handleValidateException(e);
resultErrorLog(threadId, getExecPeriod(startTime), result, e.getMsg(), ExceptionUtils.getErrorStackTrace(e));
} catch (DuplicateKeyException e) {
exception = e;
result = handlerDuplicateKeyException(e);
resultErrorLog(threadId, getExecPeriod(startTime), result, e.getMessage(), ExceptionUtils.getErrorStackTrace(e));
} catch (RuntimeException re) {
exception = re;
result = handlerRuntimeException(re);
resultErrorLog(threadId, getExecPeriod(startTime), result, re.getMessage(), ExceptionUtils.getErrorStackTrace(re));
} catch (Exception e) {
exception = e;
result = handlerException(e);
} finally {
LocalDateTime endTime = LocalDateTime.now();
long execTimeMillis = Duration.between(startTime, endTime).toMillis();
if (exception != null) {
log.error("<<<<<<<<异常响应<<<<<<<<:线程ID:{},执行时长:{}ms, 响应数据:{}, 异常信息:{}",
id, execTimeMillis, result == null ? result : result.toString(), ExceptionUtils.getErrorStackTrace(exception));
} else {
log.info("<<<<<<<<正常响应<<<<<<<<:线程ID:{},执行时长:{}ms, 响应数据:{}",
id, execTimeMillis, result == null ? result : result.toString());
}
resultErrorLog(threadId, getExecPeriod(startTime), result, e.getMessage(), ExceptionUtils.getErrorStackTrace(e));
}
return result;
}
/**
* info日志
* @param threadId
* @param execTimeMillis
* @param result
*/
private void resultInfoLog(Long threadId, Long execTimeMillis, Object result) {
log.info("<<<<<<<<正常响应<<<<<<<<:线程ID:{},执行时长:{}ms, 响应数据:{}",
threadId, execTimeMillis, result == null ? result : result.toString());
}
/**
* 异常信息
* @param threadId
* @param execTimeMillis
* @param result
* @param exceptionMsg
* @param exceptionDetail
*/
private void resultErrorLog(Long threadId, Long execTimeMillis, Object result, String exceptionMsg, String exceptionDetail) {
log.error("<<<<<<<<异常响应<<<<<<<<:线程ID:{},执行时长:{}ms, 响应数据:{}, 异常信息:{}, 堆栈信息:{}",
threadId, execTimeMillis, result == null ? result : result.toString(), exceptionMsg, exceptionDetail);
}
/**
* 计算执行周期
* @param startTime
* @return
*/
private Long getExecPeriod(LocalDateTime startTime) {
LocalDateTime endTime = LocalDateTime.now();
return Duration.between(startTime, endTime).toMillis();
}
/**
* 处理Exception
* @param e
@ -87,7 +116,7 @@ public abstract class BaseRequestLogAspect {
*/
private Result handlerException(Exception e) {
Result result=new Result().error();
result.setData(e.getMessage());
result.setInternalMsg(e.getMessage());
return result;
}
@ -105,7 +134,7 @@ public abstract class BaseRequestLogAspect {
*/
private Result handlerRuntimeException(RuntimeException ex) {
Result result=new Result().error();
result.setData(ex.getMessage());
result.setInternalMsg(ex.getMessage());
return result;
}
@ -128,12 +157,14 @@ public abstract class BaseRequestLogAspect {
*/
private Result handleRenException(RenException e) {
if (e.getCode() > 8000) {
// 原样返回
Result result=new Result().error(e.getCode());
result.setData(e.getMsg());
result.setInternalMsg(e.getMsg());
return result;
}
// 转化成服务器开小差...
Result result=new Result().error();
result.setData(e.getMsg());
result.setInternalMsg(e.getMsg());
//result.setMsg(e.getMsg());
return result;
}

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java

@ -24,11 +24,7 @@ public class RenException extends RuntimeException {
private String msg;
public RenException(int code) {
this.code = code;
this.msg = EpmetErrorCode.getMsg(code);
if (StringUtils.isBlank(this.msg)) {
this.msg = MessageUtils.getMessage(code);
}
this(code, "");
}
public RenException(int code, String... params) {
@ -55,6 +51,7 @@ public class RenException extends RuntimeException {
}
public RenException(int code, String msg) {
super(msg);
this.code = code;
if (StringUtils.isBlank(msg)) {
this.msg = EpmetErrorCode.getMsg(code);

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

@ -37,6 +37,12 @@ public class Result<T> implements Serializable {
*/
@ApiModelProperty(value = "消息内容")
private String msg = "success";
/**
* 内部信息
*/
private String internalMsg;
/**
* 响应数据
*/
@ -126,6 +132,14 @@ public class Result<T> implements Serializable {
this.data = data;
}
public String getInternalMsg() {
return internalMsg;
}
public void setInternalMsg(String internalMsg) {
this.internalMsg = internalMsg;
}
@Override
public String toString() {
return JSON.toJSONString(this);

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

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

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

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

2
epmet-gateway/pom.xml

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

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

@ -2,7 +2,7 @@ version: "3.7"
services:
common-service-server:
container_name: common-service-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/common-service-server:0.3.1
image: 192.168.1.130:10080/epmet-cloud-dev/common-service-server:0.3.2
ports:
- "8103:8103"
network_mode: host # 使用现有网络

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

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

2
epmet-module/epmet-common-service/common-service-server/pom.xml

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

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-job-server:
container_name: epmet-job-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.1
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-job-server:0.3.2
ports:
- "8084:8084"
network_mode: host # 使用现有网络

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

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

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

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

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-message-server:
container_name: epmet-message-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-message-server:0.3.7
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-message-server:0.3.8
ports:
- "8085:8085"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
epmet-message-server:
container_name: epmet-message-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-message-server:0.3.7
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-message-server:0.3.8
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.7</version>
<version>0.3.8</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>epmet-message</artifactId>

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

@ -3,7 +3,7 @@ services:
epmet-oss-server:
container_name: epmet-oss-server-dev
# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-oss-server:0.3.2
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-oss-server:0.3.8
image: 192.168.1.130:10080/epmet-cloud-dev/epmet-oss-server:0.3.9
ports:
- "8083:8083"
network_mode: host # 使用现有网络

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

@ -3,7 +3,7 @@ services:
epmet-oss-server:
container_name: epmet-oss-server-test
# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-oss-server:0.3.2
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-oss-server:0.3.8
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-oss-server:0.3.9
ports:
- "8083:8083"
network_mode: host # 使用现有网络

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

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

23
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/feign/GovAccessFeignClient.java

@ -0,0 +1,23 @@
package com.epmet.dto.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.feign.fallback.GovAccessFeignClientFallBack;
import com.epmet.dto.form.InitDefaultOperationsFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
//@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovAccessFeignClientFallBack.class)
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovAccessFeignClientFallBack.class, url = "localhost:8099")
public interface GovAccessFeignClient {
/**
* 批量为角色ID初始化操作权限列表
* @param formDTO
* @return
*/
@PostMapping("/gov/access/role/initdefaultoperationsforroles")
Result initDefaultOperationsForRoles(@RequestBody InitDefaultOperationsFormDTO formDTO);
}

22
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/feign/fallback/GovAccessFeignClientFallBack.java

@ -0,0 +1,22 @@
package com.epmet.dto.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.feign.GovAccessFeignClient;
import com.epmet.dto.form.InitDefaultOperationsFormDTO;
import org.springframework.stereotype.Component;
/**
* @Description
* @Author sun
*/
@Component
public class GovAccessFeignClientFallBack implements GovAccessFeignClient {
@Override
public Result initDefaultOperationsForRoles(InitDefaultOperationsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "initDefaultOperationsForRoles", formDTO);
}
}

20
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/InitDefaultOperationsFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.Data;
import java.util.List;
@Data
public class InitDefaultOperationsFormDTO {
private List<InitDefaultOpesRoleDTO> roles;
@Data
public static class InitDefaultOpesRoleDTO {
public InitDefaultOpesRoleDTO() {
}
private String roleId;
private String roleKey;
}
}

2
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultDTO.java → epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java

@ -29,7 +29,7 @@ import lombok.Data;
* @since v1.0.0 2020-05-21
*/
@Data
public class RoleOperationDefaultDTO implements Serializable {
public class RoleOperationDefaultResultDTO implements Serializable {
private static final long serialVersionUID = 1L;

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-access-server:
container_name: gov-access-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.12
image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.13
ports:
- "8099:8099"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-access-server:
container_name: gov-access-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-access-server:0.3.11
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-access-server:0.3.13
ports:
- "8099:8099"
network_mode: host # 使用现有网络

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.12</version>
<version>0.3.13</version>
<parent>
<artifactId>gov-access</artifactId>
<groupId>com.epmet</groupId>

19
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/RoleController.java

@ -1,14 +1,11 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.InitDefaultOperationsFormDTO;
import com.epmet.dto.result.RoleOperationResultDTO;
import com.epmet.service.RoleOperationService;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -29,4 +26,16 @@ public class RoleController {
List<RoleOperationResultDTO> roleOperationResultDTOS = roleOperationService.listOperationsByRoleId(roleId);
return new Result<List<RoleOperationResultDTO>>().ok(roleOperationResultDTOS);
}
/**
* 批量为角色ID初始化操作权限列表
* @param formDTO
* @return
*/
@PostMapping("initdefaultoperationsforroles")
public Result initDefaultOperationsForRoles(@RequestBody InitDefaultOperationsFormDTO formDTO) {
List<InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO> roles = formDTO.getRoles();
roleOperationService.initDefaultOperationsForRoles(roles);
return new Result();
}
}

19
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java

@ -18,8 +18,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.RoleOperationDefaultResultDTO;
import com.epmet.entity.RoleOperationDefaultEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
import java.util.List;
/**
* 角色默认的可操作功能列表
@ -29,5 +34,17 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface RoleOperationDefaultDao extends BaseDao<RoleOperationDefaultEntity> {
/**
* 查询可用
* @return
*/
List<RoleOperationDefaultResultDTO> listAllValid();
/**
* 查询某个roleKey的所有默认操作权限
* @param roleKey
* @return
*/
List<RoleOperationDefaultResultDTO> listByRoleKey(@Param("roleKey") String roleKey);
}

3
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/RoleOperationService.java

@ -20,6 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.RoleOperationDTO;
import com.epmet.dto.form.InitDefaultOperationsFormDTO;
import com.epmet.dto.result.RoleOperationResultDTO;
import com.epmet.entity.RoleOperationEntity;
@ -100,4 +101,6 @@ public interface RoleOperationService extends BaseService<RoleOperationEntity> {
* @return
*/
List<RoleOperationResultDTO> listOperationsByRoleId(String roleId);
void initDefaultOperationsForRoles(List<InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO> roles);
}

39
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java

@ -24,7 +24,10 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.RoleOperationDao;
import com.epmet.dao.RoleOperationDefaultDao;
import com.epmet.dto.RoleOperationDTO;
import com.epmet.dto.form.InitDefaultOperationsFormDTO;
import com.epmet.dto.result.RoleOperationDefaultResultDTO;
import com.epmet.dto.result.RoleOperationResultDTO;
import com.epmet.entity.RoleOperationEntity;
import com.epmet.service.RoleOperationService;
@ -32,6 +35,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.List;
@ -46,6 +50,12 @@ import java.util.Map;
@Service
public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao, RoleOperationEntity> implements RoleOperationService {
@Autowired
private RoleOperationDefaultDao roleOperationDefaultDao;
@Autowired
private RoleOperationDao roleOperationDao;
@Override
public PageData<RoleOperationDTO> page(Map<String, Object> params) {
IPage<RoleOperationEntity> page = baseDao.selectPage(
@ -103,4 +113,33 @@ public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao,
return baseDao.listOperationsByRoleId(roleId);
}
@Override
@Transactional
public void initDefaultOperationsForRoles(List<InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO> roles) {
//roleOperationDefaultDao.listAllValid();
for (InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO role : roles) {
String roleId = role.getRoleId();
String roleKey = role.getRoleKey();
List<RoleOperationDefaultResultDTO> defaultOperations = roleOperationDefaultDao.listByRoleKey(roleKey);
if (!CollectionUtils.isEmpty(defaultOperations)) {
// 有的角色并没有配置默认的操作权限,应该忽略
initDefaultOperationsForRole(roleId, defaultOperations);
}
}
}
/**
* 为某一个角色初始化默认操作权限
* @param roleId
* @param operations
*/
public void initDefaultOperationsForRole(String roleId, List<RoleOperationDefaultResultDTO> operations) {
for (RoleOperationDefaultResultDTO operation : operations) {
RoleOperationEntity entity = new RoleOperationEntity();
entity.setOperationKey(operation.getOperationKey());
entity.setRoleId(roleId);
roleOperationDao.insert(entity);
}
}
}

18
epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml

@ -15,5 +15,23 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="listAllValid" resultType="com.epmet.dto.result.RoleOperationDefaultResultDTO">
SELECT o.ID, d.ROLE_KEY, o.OPERATION_KEY
FROM role_operation_default d
INNER JOIN operation o ON (d.OPERATION_KEY = o.OPERATION_KEY OR d.OPERATION_KEY = '*')
WHERE
d.DEL_FLAG = 0
AND o.DEL_FLAG = 0
</select>
<select id="listByRoleKey" resultType="com.epmet.dto.result.RoleOperationDefaultResultDTO">
SELECT o.ID, d.ROLE_KEY, o.OPERATION_KEY
FROM role_operation_default d
INNER JOIN operation o ON (d.OPERATION_KEY = o.OPERATION_KEY OR d.OPERATION_KEY = '*')
WHERE d.ROLE_KEY = #{roleKey}
AND d.DEL_FLAG = 0
AND o.DEL_FLAG = 0
</select>
</mapper>

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-grid-server:
container_name: gov-grid-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.21
image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.22
ports:
- "8097:8097"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-grid-server:
container_name: gov-grid-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.21
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.22
ports:
- "8097:8097"
network_mode: host # 使用现有网络

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

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

5
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShouldVoteCountFormDTO.java

@ -16,4 +16,9 @@ public class ShouldVoteCountFormDTO implements Serializable {
* 网格id
*/
private String gridId;
/**
* 议题创建时间
*/
private Long issueCreatedTime;
}

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-issue-server:
container_name: gov-issue-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.19
image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.22
ports:
- "8101:8101"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-issue-server:
container_name: gov-issue-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.19
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.22
ports:
- "8101:8101"
network_mode: host # 使用现有网络

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

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

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

@ -312,7 +312,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
//2.2查询话题相关信息
Result<GovTopicIssueInfoResultDTO> topicResult =
resiGroupFeignClient.topicInfoForIssueDetailGov(topicParam);
if(topicResult.success() || null != topicResult.getData()){
if(topicResult.success() && null != topicResult.getData()){
GovTopicOfIssueInfoResultDTO topicInfo = ConvertUtils.sourceToTarget(topicResult.getData(),GovTopicOfIssueInfoResultDTO.class);
GovIssueDetailResultDTO issueInfo = ConvertUtils.sourceToTarget(topicResult.getData(),GovIssueDetailResultDTO.class);
issueInfo.setIssueStatus(issueDetail.getIssueStatus());
@ -440,7 +440,6 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
//1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息
CanTickStaffListFormDTO canTick = new CanTickStaffListFormDTO();
canTick.setAgencyId(formDTO.getAgencyId());
canTick.setType("issue");
Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.departmentStaffList(canTick);
return resultDTOResult.getData();
}

1
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java

@ -147,6 +147,7 @@ public class IssueVoteDetailServiceImpl extends BaseServiceImpl<IssueVoteDetailD
IssueDTO issueDTO = issueService.get(formDTO.getIssueId());
ShouldVoteCountFormDTO shouldVoteCount = new ShouldVoteCountFormDTO();
shouldVoteCount.setGridId(issueDTO.getGridId());
shouldVoteCount.setIssueCreatedTime(issueDTO.getCreatedTime().getTime()/1000);
ShouldVoteCountResultDTO data = resiGroupFeignClient.shouldVoteCount(shouldVoteCount).getData();
redisData.setShouldVoteCount(data.getShouldVoteCount());
issueVoteDetailRedis.set(redisData);

4
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java

@ -190,8 +190,8 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
yesterdaySupport += lineDTO.getSupportIncrement();
yesterdayOppose += lineDTO.getOppositionIncrement();
}
polyLineDTO.setSupportIncrement(voteRedisFormDTO.getSupportAmount() - yesterdaySupport);
polyLineDTO.setOppositionIncrement(voteRedisFormDTO.getOppositionAmount() - yesterdayOppose);
polyLineDTO.setSupportIncrement(voteRedisFormDTO.getSupportAmount() == NumConstant.ZERO ? NumConstant.ZERO : voteRedisFormDTO.getSupportAmount() - yesterdaySupport);
polyLineDTO.setOppositionIncrement(voteRedisFormDTO.getOppositionAmount() == NumConstant.ZERO ? NumConstant.ZERO : voteRedisFormDTO.getOppositionAmount() - yesterdayOppose);
polyLineDTOS.add(polyLineDTO);
}
}

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-mine-server:
container_name: gov-mine-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.18
image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.20
ports:
- "8098:8098"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-mine-server:
container_name: gov-mine-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-mine-server:0.3.18
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-mine-server:0.3.20
ports:
- "8098:8098"
network_mode: host # 使用现有网络

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.18</version>
<version>0.3.20</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-mine</artifactId>

35
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/MineController.java

@ -0,0 +1,35 @@
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.dto.result.MineResultDTO;
import com.epmet.service.MineService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/22 17:59
*/
@RestController
@RequestMapping("mine")
public class MineController {
@Autowired
private MineService mineService;
/**
* 我的个人信息
* @author zhaoqifeng
* @date 2020/5/22 18:01
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.MineResultDTO>
*/
@PostMapping("profile")
public Result<MineResultDTO> profile(@LoginUser TokenDto tokenDto) {
return new Result<MineResultDTO>().ok(mineService.profile(tokenDto));
}
}

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

@ -4,8 +4,10 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.dto.result.MineResultDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@ -66,4 +68,12 @@ public interface GovOrgFeignClient {
*/
@PostMapping("/gov/org/agency/agencybystaff/{staffId}")
Result<CustomerAgencyDTO> getAgencyByStaff(@PathVariable("staffId") String staffId);
/**
* 我的个人信息
* @param fromDTO
* @return
*/
@PostMapping("/gov/org/staff/mine")
Result<MineResultDTO> mine(@RequestBody StaffInfoFromDTO fromDTO);
}

7
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java

@ -5,8 +5,10 @@ import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.dto.result.MineResultDTO;
import com.epmet.feign.GovOrgFeignClient;
import org.springframework.stereotype.Component;
@ -39,6 +41,11 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyByStaff", staffId);
}
@Override
public Result<MineResultDTO> mine(StaffInfoFromDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "mine", fromDTO);
}
@Override
public Result<LatestCustomerResultDTO> getLatestCustomer(String userId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getLatestCustomer", userId);

20
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/MineService.java

@ -0,0 +1,20 @@
package com.epmet.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.result.MineResultDTO;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/22 18:02
*/
public interface MineService {
/**
* 我的个人信息
* @author zhaoqifeng
* @date 2020/5/22 18:04
* @param tokenDto
* @return com.epmet.dto.result.MineResultDTO
*/
MineResultDTO profile(TokenDto tokenDto);
}

35
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/MineServiceImpl.java

@ -0,0 +1,35 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.result.MineResultDTO;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.service.MineService;
import org.apache.poi.ss.formula.constant.ErrorConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/22 18:03
*/
@Service
public class MineServiceImpl implements MineService {
@Autowired
GovOrgFeignClient govOrgFeignClient;
@Override
public MineResultDTO profile(TokenDto tokenDto) {
StaffInfoFromDTO fromDTO = new StaffInfoFromDTO();
fromDTO.setStaffId(tokenDto.getUserId());
Result<MineResultDTO> result = govOrgFeignClient.mine(fromDTO);
if(!result.success() || null == result.getData()) {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
}
return result.getData();
}
}

6
epmet-module/gov-org/gov-org-client/pom.xml

@ -26,6 +26,12 @@
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-project-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

19
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CanTickStaffListFormDTO.java

@ -6,7 +6,7 @@ import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 项目跟踪-部门人员选择-接口入参
* @Description 议题转项目-部门人员选择-接口入参
* @Author sun
*/
@Data
@ -17,23 +17,6 @@ public class CanTickStaffListFormDTO implements Serializable {
* 当前工作人员代表的组织Id
*/
private String agencyId="";
/**
* 代表是哪个模块调用的接口
* issue:议题管理
* project:项目跟踪
*/
private String type="";
/**
* 当前工作人员可能所属的部门
* 1组织下的人则此字段值为空
* 2部门下的人此字段为部门Id
* 3网格下的人此字段为网格Id
*/
private String deptOrGridId="";
/**
* 工作人员Id
*/
private String staffId;
}

27
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/TransferOptionalStaffListFormDTO.java

@ -0,0 +1,27 @@
package com.epmet.dto.form;
import com.epmet.dto.ProjectStaffDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 项目跟踪-部门人员选择-接口入参
* @Author sun
*/
@Data
public class TransferOptionalStaffListFormDTO implements Serializable {
private static final long serialVersionUID = 4859779755214502427L;
/**
* 当前工作人员代表的组织Id
*/
private String agencyId = "";
/**
* 项目当前在节点上的自己工作未处理的工作人员
*/
private List<ProjectStaffDTO> projectStaffList;
}

43
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java

@ -0,0 +1,43 @@
package com.epmet.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/5/22 16:52
*/
@NoArgsConstructor
@Data
public class MineResultDTO implements Serializable {
private static final long serialVersionUID = 8987281818368677411L;
/**
* 工作人员id,后台userId
*/
private String staffId;
/**
* 头像
*/
private String staffHeadPhoto;
/**
* 真实姓名
*/
private String realName;
/**
* 性别0未知1男2女
*/
private Integer gender;
/**
* 所属机关单位名称上级-所属
*/
private String agencyName;
/**
* 角色
*/
private List<String> roleList;
}

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-org-server:
container_name: gov-org-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.48
image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.51
ports:
- "8092:8092"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-org-server:
container_name: gov-org-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.47
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.51
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.48</version>
<version>0.3.51</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-org</artifactId>

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -29,6 +29,7 @@ import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
import com.epmet.dto.form.TransferOptionalStaffListFormDTO;
import com.epmet.dto.result.*;
import com.epmet.excel.CustomerAgencyExcel;
import com.epmet.service.CustomerAgencyService;
@ -122,13 +123,24 @@ public class CustomerAgencyController {
* @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
* @Description 议题转项目-查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
@PostMapping("departmentstafflist")
public Result<DepartmentStaffListResultDTO> departmentStaffList(@RequestBody CanTickStaffListFormDTO canTick) {
return new Result<DepartmentStaffListResultDTO>().ok(customerAgencyService.departmentStaffList(canTick));
}
/**
* @param canTick
* @return
* @Author sun
* @Description 项目流转-查询组织下组织下部门组织下网格对应的可选人员列表
**/
@PostMapping("transferoptionalstafflist")
public Result<DepartmentStaffListResultDTO> transferOptionalStaffList(@RequestBody TransferOptionalStaffListFormDTO canTick) {
return new Result<DepartmentStaffListResultDTO>().ok(customerAgencyService.transferOptionalStaffList(canTick));
}
/**
* @param formDTO
* @return

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java

@ -130,4 +130,9 @@ public class StaffController {
public Result disabledStaff(@LoginUser TokenDto tokenDto, @RequestBody StaffInfoFromDTO fromDTO){
return staffService.disabledStaff(tokenDto, fromDTO);
}
@PostMapping("mine")
public Result<MineResultDTO> mine(@RequestBody StaffInfoFromDTO fromDTO){
return new Result<MineResultDTO>().ok(staffService.mine(fromDTO));
}
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -107,4 +107,13 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
* @return
*/
CustomerAgencyDTO getCustomerRootAgency(@Param("customerId") String customerId);
/**
* 获取所属机关单位名称上级-所属
* @author zhaoqifeng
* @date 2020/5/22 17:53
* @param agencyId
* @return java.lang.String
*/
String selectAgencyName(@Param("agencyId") String agencyId);
}

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java

@ -19,7 +19,6 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerStaffAgencyDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.result.StaffListResultDTO;
import com.epmet.entity.CustomerStaffAgencyEntity;
import org.apache.ibatis.annotations.Mapper;
@ -27,8 +26,6 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.List;
/**
* 人员-机关单位关系表
*
@ -74,5 +71,5 @@ public interface CustomerStaffAgencyDao extends BaseDao<CustomerStaffAgencyEntit
* 查询组织下人员列表
* @Author sun
*/
List<StaffListResultDTO> selectAgencyStaffList(@Param("agencyId") String agencyId, @Param("staffId") String staffId);
List<StaffListResultDTO> selectAgencyStaffList(@Param("agencyId") String agencyId);
}

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java

@ -24,6 +24,7 @@ import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
import com.epmet.dto.form.TransferOptionalStaffListFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
@ -119,10 +120,18 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
* @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
* @Description 议题转项目-查询组织下人员,组织下部门人员,组织下网格人员列表信息
**/
DepartmentStaffListResultDTO departmentStaffList(CanTickStaffListFormDTO canTick);
/**
* @param canTick
* @return
* @Author sun
* @Description 项目流转-查询组织下组织下部门组织下网格对应的可选人员列表
**/
DepartmentStaffListResultDTO transferOptionalStaffList(TransferOptionalStaffListFormDTO canTick);
/**
* @param formDTO
* @return
@ -138,4 +147,13 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
* @Description 根据当前组织ID查询上两级组织本级组织和所有下级(迭代)组织
**/
ProcessorListResultDTO getProcessorList(String agencyId);
/**
* 获取所属机关单位名称上级-所属
* @author zhaoqifeng
* @date 2020/5/22 17:10
* @param agencyId
* @return java.lang.String
*/
String getAgencyName(String agencyId);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java

@ -133,4 +133,13 @@ public interface CustomerStaffAgencyService extends BaseService<CustomerStaffAge
* @Date 2020.04.26 16:37
**/
Result<List<CommonStaffInfoResultDTO>> getSelectableDeptStaffs(CommonDepartmentFormDTO departmentFormDTO);
/**
* 根据工作人员ID查询相关信息
* @author zhaoqifeng
* @date 2020/5/22 17:01
* @param userId
* @return com.epmet.dto.CustomerStaffAgencyDTO
*/
CustomerStaffAgencyDTO getInfoByUserId(String userId);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java

@ -82,4 +82,13 @@ public interface StaffService {
*/
Result disabledStaff(TokenDto tokenDto, StaffInfoFromDTO fromDTO);
/**
* 我的基本信息
* @author zhaoqifeng
* @date 2020/5/22 16:57
* @param fromDTO
* @return com.epmet.dto.result.MineResultDTO
*/
MineResultDTO mine(StaffInfoFromDTO fromDTO);
}

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java

@ -260,7 +260,8 @@ public class AgencyServiceImpl implements AgencyService {
CustomerAgencyDTO rootAgencyExists = customerAgencyDao.getCustomerRootAgency(form.getCustomerId());
if (rootAgencyExists != null) {
throw new RenException(EpmetErrorCode.OPER_ADD_CUSTOMER_ROOT_AGENCY_EXISTS.getCode());
throw new RenException(EpmetErrorCode.OPER_ADD_CUSTOMER_ROOT_AGENCY_EXISTS.getCode(),
EpmetErrorCode.OPER_ADD_CUSTOMER_ROOT_AGENCY_EXISTS.getMsg());
}
CustomerAgencyEntity entity = ConvertUtils.sourceToTarget(form, CustomerAgencyEntity.class);

282
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -30,10 +30,7 @@ import com.epmet.constant.CustomerAgencyConstant;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.*;
import com.epmet.dto.*;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.CustomerFormDTO;
import com.epmet.dto.form.StaffOrgFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerAgencyEntity;
import com.epmet.entity.CustomerGridEntity;
@ -49,6 +46,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
/**
@ -183,17 +181,14 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
* 查询该组织下所有人员在部门或网格下存在的人员不在组织下展示
**/
@Override
public DepartmentStaffListResultDTO departmentStaffList(CanTickStaffListFormDTO canTick) {
//根据组织Id查询该组织的工作人员列表;该组织的部门列表、部门下人员(带部门领导角色)列表;该组织的网格列表、网格下人员(带网格长角色)列表。人员都不做去重处理。
//根据组织Id查询该组织的工作人员(带单位领导角色)列表;该组织的部门列表、部门下人员(带部门领导角色)列表;该组织的网格列表、网格下人员(带网格长角色)列表。人员都不做去重处理。
DepartmentStaffListResultDTO resultDTO = new DepartmentStaffListResultDTO();
//1:根据组织Id查询该组织下工作人员列表(如果当前操作人是组织下的则不查询)
String staffId = "";
if ("project".equals(canTick.getType()) && "".equals(canTick.getDeptOrGridId())) {
staffId = canTick.getStaffId();
}
List<StaffListResultDTO> agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId(),staffId);
//1:根据组织Id查询该组织下工作人员列表
List<StaffListResultDTO> agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId());
//2:根据组织Id查询该组织下部门、人员列表
//2.1:查询组织下部门列表
List<DepartmentListResultDTO> listDept = customerDepartmentDao.selectDepartmentList(canTick.getAgencyId());
@ -208,7 +203,190 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
List<StaffListResultDTO> departmentStaffList = new ArrayList<>();
finalDeptStaffs.forEach(ds->{
if (dept.getDepartmentId().equals(ds.getDepartmentId())) {
if (!"project".equals(canTick.getType()) || "".equals(canTick.getDeptOrGridId()) || !dept.getDepartmentId().equals(canTick.getDeptOrGridId())) {
StaffListResultDTO sf = new StaffListResultDTO();
sf.setStaffId(ds.getUserId());
departmentStaffList.add(sf);
}
});
dept.setDepartmentStaffList(departmentStaffList);
});
}
//3:根据组织Id查询该组织下网格、人员列表
//3.1:查询组织下网格列表
List<GridListResultDTO> gridList = customerGridDao.selectGridList(canTick.getAgencyId());
List<CustomerStaffGridDTO> gridStaffs = new ArrayList<>();
if (null != gridList && gridList.size() > NumConstant.ZERO) {
//3.2:查询每一个网格下人员列表
List<String> gridIdList = gridList.stream().map(GridListResultDTO::getGridId).collect(Collectors.toList());
gridStaffs = customerStaffGridDao.selectGridStaffs(gridIdList);
List<CustomerStaffGridDTO> finalGridStaffs = gridStaffs;
gridList.forEach(grid->{
List<StaffListResultDTO> gridStaffList = new ArrayList<>();
finalGridStaffs.forEach(gs->{
if(grid.getGridId().equals(gs.getGridId())){
StaffListResultDTO sf = new StaffListResultDTO();
sf.setStaffId(gs.getUserId());
gridStaffList.add(sf);
}
});
grid.setGridStaffList(gridStaffList);
});
}
//4:汇总组织下人员、组织下部门下人员、组织下网格下人员Id集合,调用epmet-user服务查询工作人员基本信息
List<String> staffIdList1 = agencyStaffList.stream().map(StaffListResultDTO::getStaffId).collect(Collectors.toList());
List<String> staffIdList2 = deptStaffs.stream().map(CustomerStaffDepartmentDTO::getUserId).collect(Collectors.toList());
List<String> staffIdList3 = gridStaffs.stream().map(CustomerStaffGridDTO::getUserId).collect(Collectors.toList());
List<String> staffIdList = new ArrayList<>();
staffIdList.addAll(staffIdList1); staffIdList.addAll(staffIdList2); staffIdList.addAll(staffIdList3);
staffIdList = new ArrayList<String>(new LinkedHashSet<>(staffIdList));staffIdList.removeAll(Collections.singleton(""));
CustomerStaffListResultDTO dto = new CustomerStaffListResultDTO();
if (null != staffIdList || staffIdList.size() > NumConstant.ZERO) {
Result<CustomerStaffListResultDTO> userList = epmetUserFeignClient.getCustomerStaffList(staffIdList);
if (!userList.success() || null == userList.getData()) {
throw new RenException(CustomerAgencyConstant.SELECT_USER_EXCEPTION);
}
dto = userList.getData();
}
//5:循环数据,将人员数据放到对应数据结构下
List<StaffListResultDTO> staffList = dto.getStaffList();
List<CustomerStaffRoleResultDTO> roleList = dto.getRoleList();
//有时间再优化成jdk8的遍历方式
//5.0:先把在部门或网格下存在的人员在组织中去掉,组织中只展示在部门、网格下不存在的人员
//部门
Iterator<StaffListResultDTO> itDept = agencyStaffList.iterator();
while (itDept.hasNext()) {
StaffListResultDTO stf = itDept.next();
for (CustomerStaffDepartmentDTO dept : deptStaffs) {
if (dept.getUserId().equals(stf.getStaffId())) {
itDept.remove();
break;
}
}
}
//网格
Iterator<StaffListResultDTO> itGrid = agencyStaffList.iterator();
while (itGrid.hasNext()) {
StaffListResultDTO stf = itGrid.next();
for (CustomerStaffGridDTO grid : gridStaffs) {
if (grid.getUserId().equals(stf.getStaffId())) {
itGrid.remove();
break;
}
}
}
//5.1装载组织下人员数据
agencyStaffList.forEach(sf->{
//人员信息
staffList.forEach(stf->{
if(sf.getStaffId().equals(stf.getStaffId())){
sf.setStaffName(stf.getStaffName());
sf.setStaffHeadPhoto(stf.getStaffHeadPhoto());
sf.setGender(stf.getGender());
}
});
//人员角色信息
roleList.forEach(role->{
if(sf.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.AGENCY_LEADER.equals(role.getRoleKey())){
sf.setRoleName(role.getRoleName());
}
});
});
//5.2装载组织下部门下人员数据
departmentList.forEach(dept->{
List<StaffListResultDTO> departmentStaffList = dept.getDepartmentStaffList();
departmentStaffList.forEach(ds->{
//人员信息
staffList.forEach(stf->{
if(ds.getStaffId().equals(stf.getStaffId())){
ds.setStaffName(stf.getStaffName());
ds.setStaffHeadPhoto(stf.getStaffHeadPhoto());
ds.setGender(stf.getGender());
}
});
//人员角色信息
roleList.forEach(role->{
if(ds.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.DEPT_LEADER.equals(role.getRoleKey())){
ds.setRoleName(role.getRoleName());
}
});
});
});
//5.3装载组织下网格下人员数据
gridList.forEach(grid->{
List<StaffListResultDTO> gridStaffList = grid.getGridStaffList();
gridStaffList.forEach(gs->{
//人员信息
staffList.forEach(stf->{
if(gs.getStaffId().equals(stf.getStaffId())){
gs.setStaffName(stf.getStaffName());
gs.setStaffHeadPhoto(stf.getStaffHeadPhoto());
gs.setGender(stf.getGender());
}
});
//人员角色信息
roleList.forEach(role->{
if(gs.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.GRID_MANAGER.equals(role.getRoleKey())){
gs.setRoleName(role.getRoleName());
}
});
});
});
resultDTO.setAgencyStaffList(agencyStaffList);
resultDTO.setDepartmentList(departmentList);
resultDTO.setGridList(gridList);
return resultDTO;
}
/**
* @param canTick
* @return
* @Author sun
* @Description 项目流转-查询组织下组织下部门组织下网格对应的可选人员列表
* 查询该组织下所有人员已经在项目节点中且工作是未处理的人员不查询在部门或网格下的人员不在组织下展示
**/
@Override
public DepartmentStaffListResultDTO transferOptionalStaffList(TransferOptionalStaffListFormDTO canTick) {
//根据组织Id查询该组织的工作人员(带单位领导角色)列表;该组织的部门列表、部门下人员(带部门领导角色)列表;该组织的网格列表、网格下人员(带网格长角色)列表。去除已经在节点上的工作人员。
DepartmentStaffListResultDTO resultDTO = new DepartmentStaffListResultDTO();
List<ProjectStaffDTO> projectStaffList = canTick.getProjectStaffList();
//1:根据组织Id查询该组织下工作人员列表(去除组织下已经在项目节点上的人员)
List<StaffListResultDTO> agencyAllStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId());
List<StaffListResultDTO> agencyStaffList = new ArrayList<>();
//1.1:去除组织下已在项目节点上的人员
if (null != agencyAllStaffList && agencyAllStaffList.size() > NumConstant.ZERO) {
for(StaffListResultDTO ag : agencyAllStaffList){
boolean bl = true;
for(ProjectStaffDTO dto : projectStaffList){
if(ag.getStaffId().equals(dto.getStaffId())&&!StringUtils.isNotBlank(dto.getDepartmentId())&&!StringUtils.isNotBlank(dto.getGridId())){
bl = false;
break;
}
}
if(bl){ agencyStaffList.add(ag);}
}
}
//2:根据组织Id查询该组织下部门、人员列表
//2.1:查询组织下部门列表
List<DepartmentListResultDTO> listDept = customerDepartmentDao.selectDepartmentList(canTick.getAgencyId());
List<DeptListResultDTO> departmentList = ConvertUtils.sourceToTarget(listDept, DeptListResultDTO.class);
List<CustomerStaffDepartmentDTO> deptStaffs = new ArrayList<>();
if (null != departmentList && departmentList.size() > NumConstant.ZERO) {
//2.2:查询所有部门下所有人员列表并将人员分配到所属的部门下
List<String> deptIdList = departmentList.stream().map(DeptListResultDTO::getDepartmentId).collect(Collectors.toList());
deptStaffs = customerStaffDepartmentDao.selectDeptStaffs(deptIdList);
List<CustomerStaffDepartmentDTO> finalDeptStaffs = deptStaffs;
departmentList.forEach(dept->{
List<StaffListResultDTO> departmentStaffList = new ArrayList<>();
finalDeptStaffs.forEach(ds->{
if (dept.getDepartmentId().equals(ds.getDepartmentId())) {
//去除每个部门下已经在项目流程中的人员
AtomicBoolean bl = new AtomicBoolean(true);
projectStaffList.forEach(node->{
if(dept.getDepartmentId().equals(node.getDepartmentId())&&ds.getUserId().equals(node.getStaffId())&&StringUtils.isNotBlank(node.getDepartmentId())&&!StringUtils.isNotBlank(node.getGridId())){
bl.set(false);
}
});
if (bl.get()) {
StaffListResultDTO sf = new StaffListResultDTO();
sf.setStaffId(ds.getUserId());
departmentStaffList.add(sf);
@ -231,7 +409,14 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
List<StaffListResultDTO> gridStaffList = new ArrayList<>();
finalGridStaffs.forEach(gs->{
if(grid.getGridId().equals(gs.getGridId())){
if (!"project".equals(canTick.getType()) || "".equals(canTick.getDeptOrGridId()) || !grid.getGridId().equals(canTick.getDeptOrGridId())) {
//去除每个网格下已经在项目流程中的人员
AtomicBoolean bl = new AtomicBoolean(true);
projectStaffList.forEach(node->{
if(grid.getGridId().equals(node.getGridId())&&gs.getUserId().equals(node.getStaffId())&&!StringUtils.isNotBlank(node.getDepartmentId())&&StringUtils.isNotBlank(node.getGridId())){
bl.set(false);
}
});
if (bl.get()) {
StaffListResultDTO sf = new StaffListResultDTO();
sf.setStaffId(gs.getUserId());
gridStaffList.add(sf);
@ -241,19 +426,22 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
grid.setGridStaffList(gridStaffList);
});
}
//4:汇总组织下人员、组织下部门下人员、组织下网格下人员Id集合,调用epmet-user服务查询工作人员基本信息
//4:汇总组织下、组织下部门下、组织下网格下人员Id集合,调用epmet-user服务查询工作人员基本信息
List<String> staffIdList1 = agencyStaffList.stream().map(StaffListResultDTO::getStaffId).collect(Collectors.toList());
List<String> staffIdList2 = deptStaffs.stream().map(CustomerStaffDepartmentDTO::getUserId).collect(Collectors.toList());
List<String> staffIdList3 = gridStaffs.stream().map(CustomerStaffGridDTO::getUserId).collect(Collectors.toList());
List<String> staffIdList = new ArrayList<>();
staffIdList.addAll(staffIdList1); staffIdList.addAll(staffIdList2); staffIdList.addAll(staffIdList3);
staffIdList = new ArrayList<String>(new LinkedHashSet<>(staffIdList));staffIdList.removeAll(Collections.singleton(""));
Result<CustomerStaffListResultDTO> userList = epmetUserFeignClient.getCustomerStaffList(staffIdList);
if(!userList.success()||null==userList.getData()){
throw new RenException(CustomerAgencyConstant.SELECT_USER_EXCEPTION);
CustomerStaffListResultDTO dto = new CustomerStaffListResultDTO();
if (null != staffIdList || staffIdList.size() > NumConstant.ZERO) {
Result<CustomerStaffListResultDTO> userList = epmetUserFeignClient.getCustomerStaffList(staffIdList);
if (!userList.success() || null == userList.getData()) {
throw new RenException(CustomerAgencyConstant.SELECT_USER_EXCEPTION);
}
dto = userList.getData();
}
//5:循环数据,将人员数据放到对应数据结构下
CustomerStaffListResultDTO dto = userList.getData();
List<StaffListResultDTO> staffList = dto.getStaffList();
List<CustomerStaffRoleResultDTO> roleList = dto.getRoleList();
//有时间再优化成jdk8的遍历方式
@ -281,71 +469,62 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
}
}
//5.1装载组织下人员数据
for(StaffListResultDTO sf : agencyStaffList){
agencyStaffList.forEach(sf->{
//人员信息
for(StaffListResultDTO stf : staffList){
staffList.forEach(stf->{
if(sf.getStaffId().equals(stf.getStaffId())){
//sf = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
sf.setStaffName(stf.getStaffName());
sf.setStaffHeadPhoto(stf.getStaffHeadPhoto());
sf.setGender(stf.getGender());
break;
}
}
});
//人员角色信息
for(CustomerStaffRoleResultDTO role : roleList){
roleList.forEach(role->{
if(sf.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.AGENCY_LEADER.equals(role.getRoleKey())){
sf.setRoleName(role.getRoleName());
break;
}
}
}
});
});
//5.2装载组织下部门下人员数据
for(DeptListResultDTO dept : departmentList){
departmentList.forEach(dept->{
List<StaffListResultDTO> departmentStaffList = dept.getDepartmentStaffList();
for(StaffListResultDTO ds : departmentStaffList){
departmentStaffList.forEach(ds->{
//人员信息
for(StaffListResultDTO stf : staffList){
staffList.forEach(stf->{
if(ds.getStaffId().equals(stf.getStaffId())){
//ds = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
ds.setStaffName(stf.getStaffName());
ds.setStaffHeadPhoto(stf.getStaffHeadPhoto());
ds.setGender(stf.getGender());
break;
}
}
});
//人员角色信息
for(CustomerStaffRoleResultDTO role : roleList){
roleList.forEach(role->{
if(ds.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.DEPT_LEADER.equals(role.getRoleKey())){
ds.setRoleName(role.getRoleName());
break;
}
}
}
}
});
});
});
//5.3装载组织下网格下人员数据
for(GridListResultDTO grid : gridList){
gridList.forEach(grid->{
List<StaffListResultDTO> gridStaffList = grid.getGridStaffList();
for(StaffListResultDTO gs : gridStaffList){
gridStaffList.forEach(gs->{
//人员信息
for(StaffListResultDTO stf : staffList){
staffList.forEach(stf->{
if(gs.getStaffId().equals(stf.getStaffId())){
//gs = ConvertUtils.sourceToTarget(stf, StaffListResultDTO.class);
gs.setStaffName(stf.getStaffName());
gs.setStaffHeadPhoto(stf.getStaffHeadPhoto());
gs.setGender(stf.getGender());
break;
}
}
});
//人员角色信息
for(CustomerStaffRoleResultDTO role : roleList){
roleList.forEach(role->{
if(gs.getStaffId().equals(role.getStaffId())&&CustomerAgencyConstant.GRID_MANAGER.equals(role.getRoleKey())){
gs.setRoleName(role.getRoleName());
break;
}
}
}
}
});
});
});
resultDTO.setAgencyStaffList(agencyStaffList);
resultDTO.setDepartmentList(departmentList);
resultDTO.setGridList(gridList);
@ -427,6 +606,11 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
return processorList;
}
@Override
public String getAgencyName(String agencyId) {
return baseDao.selectAgencyName(agencyId);
}
/**
* @param subAgencyPids 当前组织的下一级组织的pids字段值(当前组织的pids+":"+当前组织Id)
* @return

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java

@ -200,4 +200,12 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl<CustomerStaf
return new Result<List<CommonStaffInfoResultDTO>>().ok(new ArrayList<>());
}
@Override
public CustomerStaffAgencyDTO getInfoByUserId(String userId) {
QueryWrapper<CustomerStaffAgencyEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(userId), "USER_ID", userId);
CustomerStaffAgencyEntity entity = baseDao.selectList(wrapper).get(NumConstant.ZERO);
return ConvertUtils.sourceToTarget(entity, CustomerStaffAgencyDTO.class);
}
}

17
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java

@ -157,4 +157,21 @@ public class StaffServiceImpl implements StaffService {
}
return epmetUserFeignClient.disabledStaff(fromDTO);
}
@Override
public MineResultDTO mine(StaffInfoFromDTO fromDTO) {
MineResultDTO result = new MineResultDTO();
CustomerStaffAgencyDTO customerStaffAgency = customerStaffAgencyService.getInfoByUserId(fromDTO.getStaffId());
fromDTO.setCustomerId(customerStaffAgency.getCustomerId());
fromDTO.setAgencyId(customerStaffAgency.getAgencyId());
StaffDetailResultDTO staffDetail = epmetUserFeignClient.getStaffDetail(fromDTO).getData();
String agencyName = customerAgencyService.getAgencyName(customerStaffAgency.getAgencyId());
result.setStaffId(staffDetail.getStaffId());
result.setRealName(staffDetail.getName());
result.setStaffHeadPhoto(staffDetail.getHeadPhoto());
result.setGender(staffDetail.getGender());
result.setRoleList(staffDetail.getRoles());
result.setAgencyName(agencyName);
return result;
}
}

12
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -143,5 +143,17 @@
AND ca.CUSTOMER_ID = #{customerId}
AND ca.DEL_FLAG = 0
</select>
<select id="selectAgencyName" resultType="java.lang.String">
SELECT
IF
(
IFNULL( b.ORGANIZATION_NAME, TRUE ),
a.ORGANIZATION_NAME,
CONCAT( b.ORGANIZATION_NAME, '-', a.ORGANIZATION_NAME )) AS agencyName
FROM
customer_agency a
LEFT JOIN customer_agency b ON a.PID = b.ID
WHERE a.ID = #{agencyId}
</select>
</mapper>

3
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml

@ -103,9 +103,6 @@
WHERE
del_flag = '0'
AND agency_id =#{agencyId}
<if test="staffId != null and staffId.trim() != ''">
AND user_id != #{staffId}
</if>
</select>
</mapper>

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

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-project-server:
container_name: gov-project-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.14
image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.16
ports:
- "8102:8102"
network_mode: host # 使用现有网络

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

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

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

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

7
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java

@ -63,4 +63,11 @@ public interface ProjectStaffDao extends BaseDao<ProjectStaffEntity> {
*/
List<String> selectStaffsByProjectId(@Param("projectId") String projectId);
/**
* @param dto
* @return
* @Author sun
* @Description 查询当前处于项目节点中的切工作未处理的工作人员
**/
List<ProjectStaffDTO> selectProjectTransferStaffList(ProjectStaffDTO dto);
}

9
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java

@ -4,9 +4,8 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.TransferOptionalStaffListFormDTO;
import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
@ -34,10 +33,10 @@ public interface GovOrgFeignClient {
* @param canTick
* @return
* @Author sun
* @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息
* @Description 项目流转时查询组织下组织下部门组织下网格对应的可选人员列表
**/
@PostMapping(value = "/gov/org/customeragency/departmentstafflist")
Result<DepartmentStaffListResultDTO> departmentStaffList(CanTickStaffListFormDTO canTick);
@PostMapping(value = "/gov/org/customeragency/transferoptionalstafflist")
Result<DepartmentStaffListResultDTO> transferOptionalStaffList(TransferOptionalStaffListFormDTO canTick);
/**
* @param formDTO

9
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java

@ -4,11 +4,8 @@ import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.AgencyDeptGridFormDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.TransferOptionalStaffListFormDTO;
import com.epmet.dto.result.AgencyDeptGridResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.ProcessorListResultDTO;
@ -27,8 +24,8 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyById", agencyId);
}
@Override
public Result<DepartmentStaffListResultDTO> departmentStaffList(CanTickStaffListFormDTO canTick) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", canTick);
public Result<DepartmentStaffListResultDTO> transferOptionalStaffList(TransferOptionalStaffListFormDTO canTick) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "transferOptionalStaffList", canTick);
}
@Override

25
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java

@ -28,8 +28,8 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.ProjectConstant;
import com.epmet.dao.ProjectStaffDao;
import com.epmet.dto.ProjectStaffDTO;
import com.epmet.dto.form.CanTickStaffListFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.TransferOptionalStaffListFormDTO;
import com.epmet.dto.result.DepartmentResultDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.entity.ProjectStaffEntity;
@ -123,23 +123,22 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl<ProjectStaffDao, Pr
@Override
public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) {
//1:查询当前工作人员代表的是哪个部门(组织下的、组织部门下的、组织网格下的),用于在人员选择时去掉自己选自己的情况(自己选自己只的是当前工作的部门下的自己)
//1:查询项目人员关联表数据
ProjectStaffEntity entity = baseDao.selectById(formDTO.getProjectStaffId());
if (null == entity) {
throw new RenException(ProjectConstant.SELECT_PROJECTSTAFF_EXCEPTION);
}
//2:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息
CanTickStaffListFormDTO canTick = new CanTickStaffListFormDTO();
//2:查询当前处于项目节点中的切工作未处理的工作人员
ProjectStaffDTO dto = new ProjectStaffDTO();
dto.setProjectId(entity.getProjectId());
dto.setIsHandle(ProjectConstant.UNHANDLED);
List<ProjectStaffDTO> projectStaffList = baseDao.selectProjectTransferStaffList(dto);
TransferOptionalStaffListFormDTO canTick = new TransferOptionalStaffListFormDTO();
canTick.setAgencyId(formDTO.getAgencyId());
canTick.setType("project");
if(null!=entity.getDepartmentId()||!"".equals(entity.getDepartmentId())){
canTick.setDeptOrGridId(entity.getDepartmentId());
}
if(null!=entity.getGridId()||!"".equals(entity.getGridId())){
canTick.setDeptOrGridId(entity.getGridId());
}
canTick.setStaffId(formDTO.getStaffId());
Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.departmentStaffList(canTick);
canTick.setProjectStaffList(projectStaffList);
//3:调用gov-org服务,分别查询组织下,组织下部门,组织下网格对应的可选人员列表
Result<DepartmentStaffListResultDTO> resultDTOResult = govOrgFeignClient.transferOptionalStaffList(canTick);
if(null==resultDTOResult.getData()){
throw new RenException(ProjectConstant.SELECT_GOV_ORG_EXCEPTION);
}

9
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml

@ -44,5 +44,14 @@
SELECT DISTINCT STAFF_ID FROM project_staff WHERE PROJECT_ID = #{projectId}
</select>
<select id="selectProjectTransferStaffList" resultType="com.epmet.dto.ProjectStaffDTO">
SELECT
*
FROM
project_staff
WHERE del_flag = '0'
AND project_id = #{projectId}
AND is_handle = #{isHandle}
</select>
</mapper>

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

@ -2,7 +2,7 @@ version: "3.7"
services:
oper-access-server:
container_name: oper-access-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/oper-access-server:0.3.9
image: 192.168.1.130:10080/epmet-cloud-dev/oper-access-server:0.3.10
ports:
- "8093:8093"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
oper-access-server:
container_name: oper-access-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-access-server:0.3.8
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-access-server:0.3.10
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.9</version>
<version>0.3.10</version>
<parent>
<artifactId>oper-access</artifactId>
<groupId>com.epmet</groupId>

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

@ -2,7 +2,7 @@ version: "3.7"
services:
oper-crm-server:
container_name: oper-crm-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/oper-crm-server:0.3.11
image: 192.168.1.130:10080/epmet-cloud-dev/oper-crm-server:0.3.13
ports:
- "8090:8090"
network_mode: host # 使用现有网络

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

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

8
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.11</version>
<version>0.3.13</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>oper-crm</artifactId>
@ -75,6 +75,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>oper-customize-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

3
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java

@ -192,8 +192,7 @@ public class CustomerController {
public Result<Map<String, String>> addRootAgency(@RequestBody AddRootAgencyFormDTO form) {
Result<Map<String, String>> result = govOrgFeignClient.addRootAgency(form);
if (!result.success()) {
throw new RenException(EpmetErrorCode.OPER_ADD_CUSTOMER_ROOT_AGENCY_ERROR.getCode(),
EpmetErrorCode.OPER_ADD_CUSTOMER_ROOT_AGENCY_ERROR.getMsg().concat(",错误信息:").concat(result.getMsg()));
throw new RenException(EpmetErrorCode.OPER_ADD_CUSTOMER_ROOT_AGENCY_ERROR.getCode(), result.getInternalMsg());
}
return result;
}

36
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java

@ -0,0 +1,36 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerHomeDTO;
import com.epmet.dto.form.AddAgencyFormDTO;
import com.epmet.dto.form.AddRootAgencyFormDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.result.AddAgencyResultDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import com.epmet.feign.fallback.OperCustomizeFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallback = OperCustomizeFeignClientFallBack.class, url = "localhost:8089")
//@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallback = OperCustomizeFeignClientFallBack.class)
public interface OperCustomizeFeignClient {
/**
* 创建客户初始化数据
* @author zhaoqifeng
* @date 2020/5/22 11:04
* @param dto
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("/oper/customize/customerhome/init")
Result init(@RequestBody CustomerHomeDTO dto);
}

17
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/fallback/OperCustomizeFeignClientFallBack.java

@ -0,0 +1,17 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerHomeDTO;
import com.epmet.feign.OperCustomizeFeignClient;
import org.springframework.stereotype.Component;
@Component
public class OperCustomizeFeignClientFallBack implements OperCustomizeFeignClient {
@Override
public Result init(CustomerHomeDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "init", dto);
}
}

13
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java

@ -31,12 +31,14 @@ import com.epmet.constant.UserWorkType;
import com.epmet.dao.CustomerDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerDTO;
import com.epmet.dto.CustomerHomeDTO;
import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.OperCustomizeFeignClient;
import com.epmet.redis.CustomerRedis;
import com.epmet.service.CustomerService;
import org.apache.commons.lang3.StringUtils;
@ -70,6 +72,9 @@ public class CustomerServiceImpl extends BaseServiceImpl<CustomerDao, CustomerEn
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private OperCustomizeFeignClient operCustomizeFeignClient;
@Override
public PageData<CustomerDTO> page(Map<String, Object> params) {
IPage<CustomerEntity> page = baseDao.selectPage(
@ -229,6 +234,14 @@ public class CustomerServiceImpl extends BaseServiceImpl<CustomerDao, CustomerEn
throw new RenException("客户新增:为客户初始化角色调用user服务失败:".concat(initResult.toString()));
}
//3. 给客户初始化 定制化首页
CustomerHomeDTO initHomeForm = new CustomerHomeDTO();
initHomeForm.setCustomerId(customerEntity.getId());
Result initHomeResult = operCustomizeFeignClient.init(initHomeForm);
if (!initHomeResult.success()) {
throw new RenException("初始化首页失败:".concat(initHomeResult.getInternalMsg()));
}
return customerEntity.getId();
}

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

@ -2,7 +2,7 @@ version: "3.7"
services:
oper-customize-server:
container_name: oper-customize-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/oper-customize-server:0.3.11
image: 192.168.1.130:10080/epmet-cloud-dev/oper-customize-server:0.3.13
ports:
- "8089:8089"
network_mode: host # 使用现有网络

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

@ -2,7 +2,7 @@ version: "3.7"
services:
oper-customize-server:
container_name: oper-customize-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-customize-server:0.3.11
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/oper-customize-server:0.3.13
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.11</version>
<version>0.3.13</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>oper-customize</artifactId>

11
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java

@ -31,4 +31,15 @@ public interface OperCustomizeConstant {
* 数据状态-草稿
*/
Integer STATUS_IS_DRAFT = 1;
/**
* 政府端
*/
Integer GOV = 1;
/**
* 居民端
*/
Integer RESIDENT = 0;
}

14
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerHomeController.java

@ -91,4 +91,18 @@ public class CustomerHomeController {
ExcelUtils.exportExcelToTarget(response, null, list, CustomerHomeExcel.class);
}
/**
* 创建客户初始化数据
* @author zhaoqifeng
* @date 2020/5/22 11:04
* @param dto
* @return com.epmet.commons.tools.utils.Result
*/
@PostMapping("init")
public Result init(@RequestBody CustomerHomeDTO dto){
//效验数据
customerHomeService.init(dto);
return new Result();
}
}

9
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeService.java

@ -92,4 +92,13 @@ public interface CustomerHomeService extends BaseService<CustomerHomeEntity> {
* @date 2020-03-10
*/
void delete(String[] ids);
/**
* 创建客户初始化数据
* @author zhaoqifeng
* @date 2020/5/22 11:04
* @param dto
* @return void
*/
void init(CustomerHomeDTO dto);
}

9
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeTemplateService.java

@ -92,4 +92,13 @@ public interface CustomerHomeTemplateService extends BaseService<CustomerHomeTem
* @date 2020-03-10
*/
void delete(String[] ids);
/**
* 根据所属端查找模板
* @author zhaoqifeng
* @date 2020/5/22 11:14
* @param client
* @return java.util.List<com.epmet.dto.CustomerHomeTemplateDTO>
*/
List<CustomerHomeTemplateDTO> getTemplateByClient(Integer client);
}

183
epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeServiceImpl.java

@ -23,11 +23,16 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.constant.OperCustomizeConstant;
import com.epmet.dao.CustomerHomeDao;
import com.epmet.dto.CustomerHomeDTO;
import com.epmet.dto.CustomerHomeTemplateDTO;
import com.epmet.dto.FunctionDTO;
import com.epmet.entity.CustomerFunctionEntity;
import com.epmet.entity.CustomerHomeDetailEntity;
import com.epmet.entity.CustomerHomeEntity;
import com.epmet.redis.CustomerHomeRedis;
import com.epmet.service.CustomerHomeService;
import com.epmet.service.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -36,9 +41,10 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 客户首页表
* 客户首页表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-10
@ -46,59 +52,124 @@ import java.util.Map;
@Service
public class CustomerHomeServiceImpl extends BaseServiceImpl<CustomerHomeDao, CustomerHomeEntity> implements CustomerHomeService {
@Autowired
private CustomerHomeRedis customerHomeRedis;
@Override
public PageData<CustomerHomeDTO> page(Map<String, Object> params) {
IPage<CustomerHomeEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, CustomerHomeDTO.class);
}
@Override
public List<CustomerHomeDTO> list(Map<String, Object> params) {
List<CustomerHomeEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, CustomerHomeDTO.class);
}
private QueryWrapper<CustomerHomeEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerHomeEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public CustomerHomeDTO get(String id) {
CustomerHomeEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, CustomerHomeDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(CustomerHomeDTO dto) {
CustomerHomeEntity entity = ConvertUtils.sourceToTarget(dto, CustomerHomeEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CustomerHomeDTO dto) {
CustomerHomeEntity entity = ConvertUtils.sourceToTarget(dto, CustomerHomeEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Autowired
private CustomerHomeRedis customerHomeRedis;
@Autowired
private CustomerHomeDetailService customerHomeDetailService;
@Autowired
private CustomerHomeTemplateService customerHomeTemplateService;
@Autowired
private FunctionService functionService;
@Autowired
private CustomerFunctionService customerFunctionService;
@Override
public PageData<CustomerHomeDTO> page(Map<String, Object> params) {
IPage<CustomerHomeEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, CustomerHomeDTO.class);
}
@Override
public List<CustomerHomeDTO> list(Map<String, Object> params) {
List<CustomerHomeEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, CustomerHomeDTO.class);
}
private QueryWrapper<CustomerHomeEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerHomeEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public CustomerHomeDTO get(String id) {
CustomerHomeEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, CustomerHomeDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(CustomerHomeDTO dto) {
CustomerHomeEntity entity = ConvertUtils.sourceToTarget(dto, CustomerHomeEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CustomerHomeDTO dto) {
CustomerHomeEntity entity = ConvertUtils.sourceToTarget(dto, CustomerHomeEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
@Transactional(rollbackFor = Exception.class)
public void init(CustomerHomeDTO dto) {
//居民端模板
List<CustomerHomeTemplateDTO> resiTempList = customerHomeTemplateService.getTemplateByClient(OperCustomizeConstant.RESIDENT);
//居民端草稿
saveHome(dto.getCustomerId(), OperCustomizeConstant.RESIDENT, OperCustomizeConstant.STATUS_IS_DRAFT, resiTempList);
//居民端已发布
saveHome(dto.getCustomerId(), OperCustomizeConstant.RESIDENT, OperCustomizeConstant.STATUS_IS_RELEASED, resiTempList);
//政府端模板
List<CustomerHomeTemplateDTO> govTempList = customerHomeTemplateService.getTemplateByClient(OperCustomizeConstant.GOV);
//政府端草稿
saveHome(dto.getCustomerId(), OperCustomizeConstant.GOV, OperCustomizeConstant.STATUS_IS_DRAFT, govTempList);
//政府端已发布
saveHome(dto.getCustomerId(), OperCustomizeConstant.GOV, OperCustomizeConstant.STATUS_IS_RELEASED, govTempList);
//customer_function数据
List<FunctionDTO> functionList = functionService.queryFunctionList().getData();
List<CustomerFunctionEntity> customerFunctionList = functionList.stream().map(function -> {
CustomerFunctionEntity entity = new CustomerFunctionEntity();
entity.setCustomerId(dto.getCustomerId());
entity.setFunctionId(function.getId());
return entity;
}).collect(Collectors.toList());
customerFunctionService.insertBatch(customerFunctionList);
}
/**
* 往customer_home和customer_home_detail存入数据
*
* @param customerId 客户ID
* @param client 状态 0已发布 1草稿
* @return void
* @author zhaoqifeng
* @date 2020/5/22 13:36
*/
private void saveHome(String customerId, Integer client, Integer status, List<CustomerHomeTemplateDTO> tempList) {
CustomerHomeEntity entity = new CustomerHomeEntity();
entity.setCustomerId(customerId);
entity.setClientType(client);
entity.setStatus(status);
baseDao.insert(entity);
List<CustomerHomeDetailEntity> list = tempList.stream().map(temp -> {
CustomerHomeDetailEntity detailEntity = new CustomerHomeDetailEntity();
detailEntity.setHomeId(entity.getId());
detailEntity.setComponentId(temp.getComponentId());
detailEntity.setConfiguration(temp.getConfiguration());
detailEntity.setDemoData(temp.getDemoData());
detailEntity.setDisplayOrder(temp.getDisplayOrder());
detailEntity.setRegion(temp.getRegion());
return detailEntity;
}).collect(Collectors.toList());
customerHomeDetailService.insertBatch(list);
}
}

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

Loading…
Cancel
Save