diff --git a/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml b/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml index a076e424e3..2bc1713d7e 100644 --- a/epmet-admin/epmet-admin-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml b/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml index a5ec7392ac..9e04bc6cb5 100644 --- a/epmet-admin/epmet-admin-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-admin/epmet-admin-server/pom.xml b/epmet-admin/epmet-admin-server/pom.xml index 31a9c51ddf..7fc6ba29e5 100644 --- a/epmet-admin/epmet-admin-server/pom.xml +++ b/epmet-admin/epmet-admin-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.8 + 0.3.9 com.epmet epmet-admin diff --git a/epmet-auth/deploy/docker-compose-dev.yml b/epmet-auth/deploy/docker-compose-dev.yml index faf9669e93..e67ce09a21 100644 --- a/epmet-auth/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-auth/deploy/docker-compose-test.yml b/epmet-auth/deploy/docker-compose-test.yml index 61823c54df..adba64024d 100644 --- a/epmet-auth/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-auth/pom.xml b/epmet-auth/pom.xml index 56d8bacb2c..f5e68e575a 100644 --- a/epmet-auth/pom.xml +++ b/epmet-auth/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.9 + 0.3.10 com.epmet epmet-cloud diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java index bce71012a1..7f9399c5e1 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java @@ -16,6 +16,12 @@ import java.time.LocalDateTime; /** * 日志切面 + * + * 异常拦截: + * 会将错误信息都放到internalMsg中 + * 如果是要提示给用户的异常,则原样转化为result,return + * 如果是内部异常,则转化为服务器开小差,然后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; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java index b775eb8f9a..36d9a85418 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java +++ b/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); diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java index 22cf316326..b3de990d05 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/Result.java @@ -37,6 +37,12 @@ public class Result implements Serializable { */ @ApiModelProperty(value = "消息内容") private String msg = "success"; + + /** + * 内部信息 + */ + private String internalMsg; + /** * 响应数据 */ @@ -126,6 +132,14 @@ public class Result 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); diff --git a/epmet-gateway/deploy/docker-compose-dev.yml b/epmet-gateway/deploy/docker-compose-dev.yml index dd7d696286..1be4d1a532 100644 --- a/epmet-gateway/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-gateway/deploy/docker-compose-test.yml b/epmet-gateway/deploy/docker-compose-test.yml index f19d07a3a7..41d60c444a 100644 --- a/epmet-gateway/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index f5962ac3ee..ccc3fa526d 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.8 + 0.3.9 com.epmet epmet-cloud diff --git a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml index b84c43234b..545181ac79 100644 --- a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml index 46e81b92e2..db561878a8 100644 --- a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/epmet-common-service/common-service-server/pom.xml b/epmet-module/epmet-common-service/common-service-server/pom.xml index 490eb74bd7..d5aebb9d41 100644 --- a/epmet-module/epmet-common-service/common-service-server/pom.xml +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.1 + 0.3.2 com.epmet epmet-common-service diff --git a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml index 25916804ec..97c609d056 100644 --- a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml b/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml index 19c0084d34..8f4c3af631 100644 --- a/epmet-module/epmet-job/epmet-job-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/epmet-job/epmet-job-server/pom.xml b/epmet-module/epmet-job/epmet-job-server/pom.xml index 8c4b687253..9af9e3e1b5 100644 --- a/epmet-module/epmet-job/epmet-job-server/pom.xml +++ b/epmet-module/epmet-job/epmet-job-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.1 + 0.3.2 com.epmet epmet-job diff --git a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml index 1b19b0b280..163af4d94d 100644 --- a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml b/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml index 0bf9953c31..fdc8169232 100644 --- a/epmet-module/epmet-message/epmet-message-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index 081f28e868..4b7e5d3c96 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.7 + 0.3.8 com.epmet epmet-message diff --git a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml index 82b4e95e18..56bd1c5eab 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml b/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml index dbcdf72816..1bf0b03385 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml index 0c97a63f96..8a68457832 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.8 + 0.3.9 com.epmet epmet-oss diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/feign/GovAccessFeignClient.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/feign/GovAccessFeignClient.java new file mode 100644 index 0000000000..3492e75587 --- /dev/null +++ b/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); + +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/feign/fallback/GovAccessFeignClientFallBack.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/feign/fallback/GovAccessFeignClientFallBack.java new file mode 100644 index 0000000000..d75b4c8946 --- /dev/null +++ b/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); + } +} \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/InitDefaultOperationsFormDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/InitDefaultOperationsFormDTO.java new file mode 100644 index 0000000000..d7b487ad67 --- /dev/null +++ b/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 roles; + + @Data + public static class InitDefaultOpesRoleDTO { + public InitDefaultOpesRoleDTO() { + } + + private String roleId; + private String roleKey; + } +} diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java similarity index 94% rename from epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultDTO.java rename to epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java index d39f405e29..a757844fe3 100755 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultDTO.java +++ b/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; diff --git a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml index 4a2e1485b1..ba0658398f 100644 --- a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml b/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml index be5a8d8b85..3c42ac538e 100644 --- a/epmet-module/gov-access/gov-access-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-access/gov-access-server/pom.xml b/epmet-module/gov-access/gov-access-server/pom.xml index b24b00099d..8bdca567b0 100644 --- a/epmet-module/gov-access/gov-access-server/pom.xml +++ b/epmet-module/gov-access/gov-access-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.12 + 0.3.13 gov-access com.epmet diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/RoleController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/RoleController.java index 0cf13fdfb8..5b7c01e23e 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/RoleController.java +++ b/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 roleOperationResultDTOS = roleOperationService.listOperationsByRoleId(roleId); return new Result>().ok(roleOperationResultDTOS); } + + /** + * 批量为角色ID初始化操作权限列表 + * @param formDTO + * @return + */ + @PostMapping("initdefaultoperationsforroles") + public Result initDefaultOperationsForRoles(@RequestBody InitDefaultOperationsFormDTO formDTO) { + List roles = formDTO.getRoles(); + roleOperationService.initDefaultOperationsForRoles(roles); + return new Result(); + } } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java index 0417991bb5..820c23bba6 100755 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java +++ b/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 { - + + /** + * 查询可用 + * @return + */ + List listAllValid(); + + /** + * 查询某个roleKey的所有默认操作权限 + * @param roleKey + * @return + */ + List listByRoleKey(@Param("roleKey") String roleKey); } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/RoleOperationService.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/RoleOperationService.java index ebc000a36b..109cdf7a51 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/RoleOperationService.java +++ b/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 { * @return */ List listOperationsByRoleId(String roleId); + + void initDefaultOperationsForRoles(List roles); } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java index a690363b33..a1320faf7b 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java +++ b/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 implements RoleOperationService { + @Autowired + private RoleOperationDefaultDao roleOperationDefaultDao; + + @Autowired + private RoleOperationDao roleOperationDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -103,4 +113,33 @@ public class RoleOperationServiceImpl extends BaseServiceImpl roles) { + //roleOperationDefaultDao.listAllValid(); + for (InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO role : roles) { + String roleId = role.getRoleId(); + String roleKey = role.getRoleKey(); + List defaultOperations = roleOperationDefaultDao.listByRoleKey(roleKey); + if (!CollectionUtils.isEmpty(defaultOperations)) { + // 有的角色并没有配置默认的操作权限,应该忽略 + initDefaultOperationsForRole(roleId, defaultOperations); + } + } + } + + /** + * 为某一个角色初始化默认操作权限 + * @param roleId + * @param operations + */ + public void initDefaultOperationsForRole(String roleId, List operations) { + for (RoleOperationDefaultResultDTO operation : operations) { + RoleOperationEntity entity = new RoleOperationEntity(); + entity.setOperationKey(operation.getOperationKey()); + entity.setRoleId(roleId); + roleOperationDao.insert(entity); + } + } + } \ No newline at end of file diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml index d7d7532ca6..dfd74bfea0 100755 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml @@ -15,5 +15,23 @@ + + + + \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml index e7e173ca1d..038e0b700c 100644 --- a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml index 343700934f..d7acafa8de 100644 --- a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-grid/gov-grid-server/pom.xml b/epmet-module/gov-grid/gov-grid-server/pom.xml index 130b0ce146..fb1a970dc9 100644 --- a/epmet-module/gov-grid/gov-grid-server/pom.xml +++ b/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"> 4.0.0 - 0.3.21 + 0.3.22 com.epmet gov-grid diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShouldVoteCountFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShouldVoteCountFormDTO.java index 3a4befde58..9102da0695 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShouldVoteCountFormDTO.java +++ b/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; } diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml index f8b9fa3ca6..7a5d09f029 100644 --- a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml index 0cc23a95ca..c9bbd79323 100644 --- a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index e958d045f1..aa58b0fe14 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.19 + 0.3.22 gov-issue com.epmet diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 3455d2d67c..632017e990 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/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 imp //2.2查询话题相关信息 Result 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 imp //1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 CanTickStaffListFormDTO canTick = new CanTickStaffListFormDTO(); canTick.setAgencyId(formDTO.getAgencyId()); - canTick.setType("issue"); Result resultDTOResult = govOrgFeignClient.departmentStaffList(canTick); return resultDTOResult.getData(); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java index 9eb5984cc9..56d3e30f3a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java +++ b/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 - 0.3.18 + 0.3.20 com.epmet gov-mine diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/MineController.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/MineController.java new file mode 100644 index 0000000000..39130b6857 --- /dev/null +++ b/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 + */ + @PostMapping("profile") + public Result profile(@LoginUser TokenDto tokenDto) { + return new Result().ok(mineService.profile(tokenDto)); + } +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index f5ba8752e5..f848ccf9b9 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/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 getAgencyByStaff(@PathVariable("staffId") String staffId); + + /** + * 我的个人信息 + * @param fromDTO + * @return + */ + @PostMapping("/gov/org/staff/mine") + Result mine(@RequestBody StaffInfoFromDTO fromDTO); } diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index c81a8c0451..9c6a1d472e 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/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 mine(StaffInfoFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "mine", fromDTO); + } + @Override public Result getLatestCustomer(String userId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getLatestCustomer", userId); diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/MineService.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/MineService.java new file mode 100644 index 0000000000..8ec08f7905 --- /dev/null +++ b/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); +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/MineServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/MineServiceImpl.java new file mode 100644 index 0000000000..66b152df9f --- /dev/null +++ b/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 result = govOrgFeignClient.mine(fromDTO); + if(!result.success() || null == result.getData()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } + return result.getData(); + } +} diff --git a/epmet-module/gov-org/gov-org-client/pom.xml b/epmet-module/gov-org/gov-org-client/pom.xml index 59518f86e2..f97bdc99ad 100644 --- a/epmet-module/gov-org/gov-org-client/pom.xml +++ b/epmet-module/gov-org/gov-org-client/pom.xml @@ -26,6 +26,12 @@ io.springfox springfox-swagger-ui + + com.epmet + gov-project-client + 2.0.0 + compile + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CanTickStaffListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CanTickStaffListFormDTO.java index 44288c2aca..0606ef9c7e 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/CanTickStaffListFormDTO.java +++ b/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; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/TransferOptionalStaffListFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/TransferOptionalStaffListFormDTO.java new file mode 100644 index 0000000000..b895f042ac --- /dev/null +++ b/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 projectStaffList; + +} + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java new file mode 100644 index 0000000000..f19eb67cea --- /dev/null +++ b/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 roleList; +} diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml index dec83bdd46..4a993c36f7 100644 --- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml index f49ca867b9..a8cbd8bc33 100644 --- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index f5612b9751..7d18642312 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.48 + 0.3.51 com.epmet gov-org diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 1ccdc9738b..2bc9b1e136 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/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 departmentStaffList(@RequestBody CanTickStaffListFormDTO canTick) { return new Result().ok(customerAgencyService.departmentStaffList(canTick)); } + /** + * @param canTick + * @return + * @Author sun + * @Description 项目流转-查询组织下,组织下部门,组织下网格对应的可选人员列表 + **/ + @PostMapping("transferoptionalstafflist") + public Result transferOptionalStaffList(@RequestBody TransferOptionalStaffListFormDTO canTick) { + return new Result().ok(customerAgencyService.transferOptionalStaffList(canTick)); + } + /** * @param formDTO * @return diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java index fa441eb40b..664f425aee 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/StaffController.java +++ b/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 mine(@RequestBody StaffInfoFromDTO fromDTO){ + return new Result().ok(staffService.mine(fromDTO)); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index 6857d9c045..ec559ccaa6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -107,4 +107,13 @@ public interface CustomerAgencyDao extends BaseDao { * @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); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java index 4334657bb9..767b073359 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java +++ b/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 selectAgencyStaffList(@Param("agencyId") String agencyId, @Param("staffId") String staffId); + List selectAgencyStaffList(@Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 6cc44ea483..e29bff8bf1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/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 * @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 * @Description 根据当前组织ID查询上两级组织、本级组织和所有下级(迭代)组织 **/ ProcessorListResultDTO getProcessorList(String agencyId); + + /** + * 获取所属机关单位名称(上级-所属) + * @author zhaoqifeng + * @date 2020/5/22 17:10 + * @param agencyId + * @return java.lang.String + */ + String getAgencyName(String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java index b6b5bd86b0..6691351505 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffAgencyService.java @@ -133,4 +133,13 @@ public interface CustomerStaffAgencyService extends BaseService> getSelectableDeptStaffs(CommonDepartmentFormDTO departmentFormDTO); + + /** + * 根据工作人员ID查询相关信息 + * @author zhaoqifeng + * @date 2020/5/22 17:01 + * @param userId + * @return com.epmet.dto.CustomerStaffAgencyDTO + */ + CustomerStaffAgencyDTO getInfoByUserId(String userId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java index d30549e58f..22f423738a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/StaffService.java +++ b/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); + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 46b5bc90d1..1393804624 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/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); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 454a1aee4f..bf01b2e618 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/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 agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId(),staffId); + //1:根据组织Id查询该组织下工作人员列表 + List agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId()); //2:根据组织Id查询该组织下部门、人员列表 //2.1:查询组织下部门列表 List listDept = customerDepartmentDao.selectDepartmentList(canTick.getAgencyId()); @@ -208,7 +203,190 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl 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 gridList = customerGridDao.selectGridList(canTick.getAgencyId()); + List gridStaffs = new ArrayList<>(); + if (null != gridList && gridList.size() > NumConstant.ZERO) { + //3.2:查询每一个网格下人员列表 + List gridIdList = gridList.stream().map(GridListResultDTO::getGridId).collect(Collectors.toList()); + gridStaffs = customerStaffGridDao.selectGridStaffs(gridIdList); + List finalGridStaffs = gridStaffs; + gridList.forEach(grid->{ + List 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 staffIdList1 = agencyStaffList.stream().map(StaffListResultDTO::getStaffId).collect(Collectors.toList()); + List staffIdList2 = deptStaffs.stream().map(CustomerStaffDepartmentDTO::getUserId).collect(Collectors.toList()); + List staffIdList3 = gridStaffs.stream().map(CustomerStaffGridDTO::getUserId).collect(Collectors.toList()); + List staffIdList = new ArrayList<>(); + staffIdList.addAll(staffIdList1); staffIdList.addAll(staffIdList2); staffIdList.addAll(staffIdList3); + staffIdList = new ArrayList(new LinkedHashSet<>(staffIdList));staffIdList.removeAll(Collections.singleton("")); + CustomerStaffListResultDTO dto = new CustomerStaffListResultDTO(); + if (null != staffIdList || staffIdList.size() > NumConstant.ZERO) { + Result userList = epmetUserFeignClient.getCustomerStaffList(staffIdList); + if (!userList.success() || null == userList.getData()) { + throw new RenException(CustomerAgencyConstant.SELECT_USER_EXCEPTION); + } + dto = userList.getData(); + } + //5:循环数据,将人员数据放到对应数据结构下 + List staffList = dto.getStaffList(); + List roleList = dto.getRoleList(); + //有时间再优化成jdk8的遍历方式 + //5.0:先把在部门或网格下存在的人员在组织中去掉,组织中只展示在部门、网格下不存在的人员 + //部门 + Iterator itDept = agencyStaffList.iterator(); + while (itDept.hasNext()) { + StaffListResultDTO stf = itDept.next(); + for (CustomerStaffDepartmentDTO dept : deptStaffs) { + if (dept.getUserId().equals(stf.getStaffId())) { + itDept.remove(); + break; + } + } + } + //网格 + Iterator 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 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 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 projectStaffList = canTick.getProjectStaffList(); + //1:根据组织Id查询该组织下工作人员列表(去除组织下已经在项目节点上的人员) + List agencyAllStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId()); + List 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 listDept = customerDepartmentDao.selectDepartmentList(canTick.getAgencyId()); + List departmentList = ConvertUtils.sourceToTarget(listDept, DeptListResultDTO.class); + List deptStaffs = new ArrayList<>(); + if (null != departmentList && departmentList.size() > NumConstant.ZERO) { + //2.2:查询所有部门下所有人员列表并将人员分配到所属的部门下 + List deptIdList = departmentList.stream().map(DeptListResultDTO::getDepartmentId).collect(Collectors.toList()); + deptStaffs = customerStaffDepartmentDao.selectDeptStaffs(deptIdList); + List finalDeptStaffs = deptStaffs; + departmentList.forEach(dept->{ + List 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 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 staffIdList1 = agencyStaffList.stream().map(StaffListResultDTO::getStaffId).collect(Collectors.toList()); List staffIdList2 = deptStaffs.stream().map(CustomerStaffDepartmentDTO::getUserId).collect(Collectors.toList()); List staffIdList3 = gridStaffs.stream().map(CustomerStaffGridDTO::getUserId).collect(Collectors.toList()); List staffIdList = new ArrayList<>(); staffIdList.addAll(staffIdList1); staffIdList.addAll(staffIdList2); staffIdList.addAll(staffIdList3); staffIdList = new ArrayList(new LinkedHashSet<>(staffIdList));staffIdList.removeAll(Collections.singleton("")); - Result 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 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 staffList = dto.getStaffList(); List roleList = dto.getRoleList(); //有时间再优化成jdk8的遍历方式 @@ -281,71 +469,62 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl{ //人员信息 - 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 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 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>().ok(new ArrayList<>()); } + @Override + public CustomerStaffAgencyDTO getInfoByUserId(String userId) { + QueryWrapper 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); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index aa3d328a57..32ec8df9ab 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/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; + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 940b3063ac..6b7afa1455 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/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 + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml index 41f5add36f..cd4f40f9fb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml +++ b/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} - - AND user_id != #{staffId} - \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml index 06d7d39e0f..02571f7d28 100644 --- a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml index 09bc8bff6b..f18a6283c8 100644 --- a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 414ffa77cd..2a5fe0743d 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.14 + 0.3.16 gov-project com.epmet diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java index e65e670f12..78a7927b43 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectStaffDao.java @@ -63,4 +63,11 @@ public interface ProjectStaffDao extends BaseDao { */ List selectStaffsByProjectId(@Param("projectId") String projectId); + /** + * @param dto + * @return + * @Author sun + * @Description 查询当前处于项目节点中的切工作未处理的工作人员 + **/ + List selectProjectTransferStaffList(ProjectStaffDTO dto); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index ccd4421b7b..a8d19dbb5b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/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 departmentStaffList(CanTickStaffListFormDTO canTick); + @PostMapping(value = "/gov/org/customeragency/transferoptionalstafflist") + Result transferOptionalStaffList(TransferOptionalStaffListFormDTO canTick); /** * @param formDTO diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index e5dec301d0..2db7b9cce7 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/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 departmentStaffList(CanTickStaffListFormDTO canTick) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", canTick); + public Result transferOptionalStaffList(TransferOptionalStaffListFormDTO canTick) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "transferOptionalStaffList", canTick); } @Override diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index 425179c4e6..9dfa87eed5 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/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 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 resultDTOResult = govOrgFeignClient.departmentStaffList(canTick); + canTick.setProjectStaffList(projectStaffList); + //3:调用gov-org服务,分别查询组织下,组织下部门,组织下网格对应的可选人员列表 + Result resultDTOResult = govOrgFeignClient.transferOptionalStaffList(canTick); if(null==resultDTOResult.getData()){ throw new RenException(ProjectConstant.SELECT_GOV_ORG_EXCEPTION); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index 1325b8cff3..8fe0e2d5f4 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/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} + \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml index e72743d9a6..9b1da67f4f 100644 --- a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml b/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml index 504c8bc260..2dadf926ba 100644 --- a/epmet-module/oper-access/oper-access-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/oper-access/oper-access-server/pom.xml b/epmet-module/oper-access/oper-access-server/pom.xml index e38e014a32..d32f3229cd 100644 --- a/epmet-module/oper-access/oper-access-server/pom.xml +++ b/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"> - 0.3.9 + 0.3.10 oper-access com.epmet diff --git a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml index d94ecdc631..11e49caf66 100644 --- a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-dev.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml b/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml index db6d89ed1c..286721694b 100644 --- a/epmet-module/oper-crm/oper-crm-server/deploy/docker-compose-test.yml +++ b/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 # 使用现有网络 diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index a5135feb65..be5793a860 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.11 + 0.3.13 com.epmet oper-crm @@ -75,6 +75,12 @@ 2.0.0 compile + + com.epmet + oper-customize-client + 2.0.0 + compile + diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java index be507662b6..1caf84c054 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/controller/CustomerController.java @@ -192,8 +192,7 @@ public class CustomerController { public Result> addRootAgency(@RequestBody AddRootAgencyFormDTO form) { Result> 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; } diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java new file mode 100644 index 0000000000..a7f67f48cb --- /dev/null +++ b/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); + + +} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/fallback/OperCustomizeFeignClientFallBack.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/fallback/OperCustomizeFeignClientFallBack.java new file mode 100644 index 0000000000..21754baed7 --- /dev/null +++ b/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); + } +} diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java index 14f5ff4bcb..0d2371163a 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerServiceImpl.java +++ b/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 page(Map params) { IPage page = baseDao.selectPage( @@ -229,6 +234,14 @@ public class CustomerServiceImpl extends BaseServiceImpl 4.0.0 - 0.3.11 + 0.3.13 com.epmet oper-customize diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java index 20ffd9c3cd..ea9565c269 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/constant/OperCustomizeConstant.java +++ b/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; + + } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerHomeController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerHomeController.java index 06dccbabcd..b8bd95073c 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerHomeController.java +++ b/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(); + } + } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeService.java index a7e8c52393..4b5f763d8e 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeService.java @@ -92,4 +92,13 @@ public interface CustomerHomeService extends BaseService { * @date 2020-03-10 */ void delete(String[] ids); + + /** + * 创建客户初始化数据 + * @author zhaoqifeng + * @date 2020/5/22 11:04 + * @param dto + * @return void + */ + void init(CustomerHomeDTO dto); } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeTemplateService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeTemplateService.java index 4ac30188a7..4482538067 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeTemplateService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/CustomerHomeTemplateService.java @@ -92,4 +92,13 @@ public interface CustomerHomeTemplateService extends BaseService + */ + List getTemplateByClient(Integer client); } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeServiceImpl.java index bfbf7ea130..8ba5ba26bd 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeServiceImpl.java +++ b/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 implements CustomerHomeService { - @Autowired - private CustomerHomeRedis customerHomeRedis; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, CustomerHomeDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, CustomerHomeDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper 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 page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, CustomerHomeDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, CustomerHomeDTO.class); + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + + QueryWrapper 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 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 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 functionList = functionService.queryFunctionList().getData(); + List 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 tempList) { + CustomerHomeEntity entity = new CustomerHomeEntity(); + entity.setCustomerId(customerId); + entity.setClientType(client); + entity.setStatus(status); + baseDao.insert(entity); + + List 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); + } } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeTemplateServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeTemplateServiceImpl.java index feab37ffd1..220b1efc31 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeTemplateServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/CustomerHomeTemplateServiceImpl.java @@ -101,4 +101,11 @@ public class CustomerHomeTemplateServiceImpl extends BaseServiceImpl getTemplateByClient(Integer client) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("CLIENT_TYPE", client); + return ConvertUtils.sourceToTarget(baseDao.selectList(wrapper), CustomerHomeTemplateDTO.class); + } + } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db.migration/customer_foot_bar.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db.migration/customer_foot_bar.sql index dc9eebc971..a1b2b35252 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db.migration/customer_foot_bar.sql +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db.migration/customer_foot_bar.sql @@ -35,3 +35,23 @@ INSERT INTO `customer_foot_bar` VALUES ('3', '数据', 'data', '数据', NULL, N INSERT INTO `customer_foot_bar` VALUES ('4', '发现', 'find', '发现', NULL, NULL, 0, 0, 'wxz', '2020-04-22 11:21:48', 'wxz', '2020-04-22 11:21:53'); -- SET FOREIGN_KEY_CHECKS = 1; + +DROP TABLE IF EXISTS `customer_home_template`; +CREATE TABLE `customer_home_template` ( + `ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '唯一标识', + `COMPONENT_ID` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组件ID home_component.ID', + `CLIENT_TYPE` int(11) NOT NULL COMMENT '所属端类型:0.居民端,1.政府端', + `REGION` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组件的“适用区域”titleList.标题区、topList.置顶区、functionList.功能区、floatingList.悬浮区', + `CONFIGURATION` varchar(3072) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '高级配置 JSON串', + `DEMO_DATA` varchar(3072) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '演示数据 JSON串', + `DISPLAY_ORDER` int(11) NOT NULL COMMENT '显示顺序', + `DEL_FLAG` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标识', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime(0) NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime(0) NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '客户首页模板表 ' ROW_FORMAT = Compact; + +alter table customer_home_template add column DEL_FLAG char(1) NOT NULL DEFAULT '0' COMMENT '删除标识' after DISPLAY_ORDER; \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ShouldVoteCountFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ShouldVoteCountFormDTO.java index 512b4b3beb..df560832cb 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ShouldVoteCountFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ShouldVoteCountFormDTO.java @@ -16,4 +16,9 @@ public class ShouldVoteCountFormDTO implements Serializable { * 网格id */ private String gridId; + + /** + * 议题创建时间 + */ + private Long issueCreatedTime; } diff --git a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml index c87c90da52..eb784a6299 100644 --- a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-group-server: container_name: resi-group-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.27 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.31 ports: - "8095:8095" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml index 5c83e4e061..eab1f00bc3 100644 --- a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml +++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-test.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-group-server: container_name: resi-group-server-test - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-group-server:0.3.27 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-group-server:0.3.31 ports: - "8095:8095" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index a181907b63..36e443bebf 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.27 + 0.3.31 com.epmet resi-group diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index f61092f93a..867a3d11ba 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -164,6 +164,13 @@ public interface ResiGroupDao extends BaseDao { */ ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO); + /** + * @Description 获取议题创建之前,被踢出小组的人数 + * @param formDTO + * @author zxc + */ + Integer getOutGroupCount(ShouldVoteCountFormDTO formDTO); + /** * 党建园地-推荐小组 * @author zhaoqifeng diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index c7cecbc6be..11351e6ce2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -867,7 +867,12 @@ public class ResiGroupServiceImpl extends BaseServiceImpl issueInitiatorResult = epmetUserFeignClient.selectIssueInitiator(issueInitiator); - topicInfo.setPublishedUser(issueInitiatorResult.getData().getIssueInitiator()); + IssueInitiatorResultDTO issueInitiatorResult = epmetUserFeignClient.selectIssueInitiator(issueInitiator).getData(); + if (!StringUtils.isBlank(issueInitiatorResult.getIssueInitiator())) { + topicInfo.setPublishedUser(issueInitiatorResult.getIssueInitiator()); + } return topicInfo; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 94ab61b439..dc13d94254 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -322,6 +322,22 @@ AND rg.del_flag = 0 AND rg.grid_id = #{gridId} + + + +