From 4b142408e0185ce4721fff0d4cc08a2790006220 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 19 Mar 2021 17:36:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=88=B0=E7=AC=AC=E4=B8=89=E6=96=B9=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/NumConstant.java | 4 + .../dto/form/ProjectApplyAssistFormDTO.java | 94 ++++++- .../com/epmet/dto/form/ProjectDetailDTO.java | 78 ++++++ .../dto}/result/ProjectAssistResult.java | 2 +- .../feign/EpmetThirdOpenFeignClient.java | 41 +++ .../EpmetThirdOpenFeignClientFallback.java | 38 +++ .../java/com/epmet/apiservice/ApiService.java | 2 +- .../epmet/apiservice/impl/DemoApiService.java | 2 +- .../impl/LuzhouGridPlatformApiService.java | 3 +- .../epmet/controller/ProjectController.java | 2 +- .../com/epmet/service/ProjectService.java | 2 +- .../service/impl/ProjectServiceImpl.java | 2 +- .../epmet/feign/GovIssueOpenFeignClient.java | 3 + .../GovIssueOpenFeignClientFallBack.java | 5 + .../com/epmet/dto/ProjectSubProcessDTO.java | 2 +- .../dto/form/PlatformCallBackFormDTO.java | 39 +++ .../com/epmet/dto/form/SendToFormDTO.java | 6 + .../gov-project/gov-project-server/pom.xml | 6 + .../dao/CustomerProjectParameterDao.java | 10 + .../com/epmet/dao/ProjectSubProcessDao.java | 9 + .../epmet/entity/ProjectSubProcessEntity.java | 2 +- .../com/epmet/service/ProjectService.java | 19 ++ .../service/ProjectSubProcessService.java | 10 + .../service/impl/ProjectServiceImpl.java | 241 +++++++++++++++++- .../impl/ProjectSubProcessServiceImpl.java | 14 + .../service/impl/ProjectTraceServiceImpl.java | 3 +- .../resources/mapper/ProjectSubProcessDao.xml | 23 ++ 27 files changed, 642 insertions(+), 20 deletions(-) create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ProjectDetailDTO.java rename epmet-module/epmet-third/{epmet-third-server/src/main/java/com/epmet/apiservice => epmet-third-client/src/main/java/com/epmet/dto}/result/ProjectAssistResult.java (77%) create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PlatformCallBackFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java index a9cc07d7a4..8f416ef8e9 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java @@ -63,6 +63,10 @@ public interface NumConstant { String THREE_STR = "3"; String FOUR_STR = "4"; String FIVE_STR = "5"; + String SIX_STR = "6"; + String SEVEN_STR = "7"; + String EIGHT_STR = "8"; + String NINE_STR = "9"; String POSITIVE_EIGHT_STR = "+8"; String EMPTY_STR = ""; String ONE_NEG_STR = "-1"; diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ProjectApplyAssistFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ProjectApplyAssistFormDTO.java index bbbe9d17c5..ca273d70db 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ProjectApplyAssistFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ProjectApplyAssistFormDTO.java @@ -3,13 +3,105 @@ package com.epmet.dto.form; import lombok.Data; import javax.validation.constraints.NotBlank; +import java.io.Serializable; +/** + * @author kamui + */ @Data -public class ProjectApplyAssistFormDTO { +public class ProjectApplyAssistFormDTO implements Serializable { + private static final long serialVersionUID = 2052722763454170462L; private String customerId; @NotBlank(message = "平台ID不能为空") private String platformId; + /** + * 标题 + */ + private String title; + /** + * 详细内容 + */ + @NotBlank(message = "详细内容不能为空") + private String detail; + /** + * 期望结束时间 + */ + private String expectEndTime; + /** + * 图片链接,英文逗号分割的字符串 + */ + private String imageLink; + /** + * 音频链接,英文逗号分割的字符串 + */ + private String voiceLink; + /** + * 视频链接,英文逗号分割的字符串 + */ + private String videoLink; + /** + * 当事人姓名 + */ + private String personName; + /** + * 当事人手机 + */ + private String mobile; + /** + * 详细地址 + */ + @NotBlank(message = "详细地址不能为空") + private String detailAddress; + /** + * 来源,需根据调用方,传对应的值, + * 封面新闻需传:“群众爆料”, + * 党建引领传:“党建引领 + */ + @NotBlank(message = "来源不能为空") + private String source; + /** + * 经度 + */ + @NotBlank(message = "经度不能为空") + private String longitude; + /** + * 纬度 + */ + @NotBlank(message = "纬度不能为空") + private String latitude; + /** + * 省 + */ + private String province; + /** + * 市 + */ + private String city; + /** + * 区县 + */ + private String area; + /** + * 街道 + */ + private String street; + /** + * 社区 + */ + private String houseEstate; + /** + * 外部事件id + */ + private String outEventId; + /** + * 外部用户id + */ + private String outUserId; + /** + * 通知接口的地址 + */ + private String notifyUrl; } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ProjectDetailDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ProjectDetailDTO.java new file mode 100644 index 0000000000..a3fa6c0ae7 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/ProjectDetailDTO.java @@ -0,0 +1,78 @@ +package com.epmet.dto.form; + +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/3/18 17:12 + */ +@Data +public class ProjectDetailDTO implements Serializable { + private static final long serialVersionUID = -2172640364021337846L; + /** + * 议题标题 + */ + private String issueTitle; + + /** + * 议题状态(voting 已转项目:shift_project 已关闭:closed) + */ + private String issueStatus; + + /** + * 议题发起人电话 + * */ + private String issuePublisherMobile; + + /** + * 议题建议处理方式 + */ + private String issueSuggestion; + + /** + * 所属网格(网格所属机关单位名称-网格名称) + */ + private String belongsGridName; + + /** + * 议题发起人(山东路168-尹女士) + */ + private String issueInitiator; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 图片列表 + */ + private List photoList; + + /** + * 话题发表人(山东路168-尹女士) + */ + private String topicPublisher; + + /** + * 话题发表时间 (时间戳 毫秒级) + */ + private Long topicPublishTime; + + /** + * 话题发表人电话 + * */ + private String topicPublisherMobile; + + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.SIMPLE_STYLE); + } + +} diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/result/ProjectAssistResult.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/ProjectAssistResult.java similarity index 77% rename from epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/result/ProjectAssistResult.java rename to epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/ProjectAssistResult.java index de992bdd0f..f306ccd4da 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/result/ProjectAssistResult.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/ProjectAssistResult.java @@ -1,4 +1,4 @@ -package com.epmet.apiservice.result; +package com.epmet.dto.result; import lombok.Data; diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java new file mode 100644 index 0000000000..0e2b93e4d3 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java @@ -0,0 +1,41 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.ProjectDTO; +import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ProjectApplyAssistFormDTO; +import com.epmet.dto.form.ProjectByCreateTopicUserFormDTO; +import com.epmet.dto.form.ProjectListFromDTO; +import com.epmet.dto.result.*; +import com.epmet.feign.fallback.EpmetThirdOpenFeignClientFallback; +import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +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; + +/** + * 本服务对外开放的API,其他服务通过引用此client调用该服务 + * + * @author zhaoqifeng + * @date 2021/3/18 14:18 + */ +// @FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = GovProjectOpenFeignClientFallback.class,url = "localhost:8110") +@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = EpmetThirdOpenFeignClientFallback.class) +public interface EpmetThirdOpenFeignClient { + /** + * 请求项目协助 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/3/18 11:08 + */ + @PostMapping("third/project/apply-assist") + Result applyAssist(@RequestBody ProjectApplyAssistFormDTO formDTO); + +} diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java new file mode 100644 index 0000000000..10abcf6992 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java @@ -0,0 +1,38 @@ +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.ProjectDTO; +import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ProjectApplyAssistFormDTO; +import com.epmet.dto.form.ProjectByCreateTopicUserFormDTO; +import com.epmet.dto.form.ProjectListFromDTO; +import com.epmet.dto.result.*; +import com.epmet.feign.EpmetThirdOpenFeignClient; +import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * + * @author zhaoqifeng + * @date 2021/3/18 14:17 + */ +@Component +public class EpmetThirdOpenFeignClientFallback implements EpmetThirdOpenFeignClient { + + /** + * 请求项目协助 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/3/18 11:08 + */ + @Override + public Result applyAssist(ProjectApplyAssistFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "applyAssist", formDTO); + } +} diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/ApiService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/ApiService.java index 0a6ac8de63..6debb8dac2 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/ApiService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/ApiService.java @@ -1,6 +1,6 @@ package com.epmet.apiservice; -import com.epmet.apiservice.result.ProjectAssistResult; +import com.epmet.dto.result.ProjectAssistResult; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.utils.HttpClientManager; diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/DemoApiService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/DemoApiService.java index 9dcc3854c5..94c3127d00 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/DemoApiService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/DemoApiService.java @@ -1,7 +1,7 @@ package com.epmet.apiservice.impl; import com.epmet.apiservice.ApiService; -import com.epmet.apiservice.result.ProjectAssistResult; +import com.epmet.dto.result.ProjectAssistResult; import com.epmet.dto.form.ProjectApplyAssistFormDTO; import com.epmet.feign.OperCrmOpenFeignClient; import org.slf4j.Logger; diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/LuzhouGridPlatformApiService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/LuzhouGridPlatformApiService.java index b38a3e6758..d4c062bb09 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/LuzhouGridPlatformApiService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/apiservice/impl/LuzhouGridPlatformApiService.java @@ -3,8 +3,7 @@ package com.epmet.apiservice.impl; import com.alibaba.fastjson.JSON; import com.epmet.apiservice.ApiService; import com.epmet.apiservice.result.LZGridPlatformProjectAssistResult; -import com.epmet.apiservice.result.ProjectAssistResult; -import com.epmet.constant.ThirdPlatformActions; +import com.epmet.dto.result.ProjectAssistResult; import com.epmet.dto.form.ProjectApplyAssistFormDTO; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/ProjectController.java index 3899ed9fda..0b32b9c2dd 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/ProjectController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/ProjectController.java @@ -1,6 +1,6 @@ package com.epmet.controller; -import com.epmet.apiservice.result.ProjectAssistResult; +import com.epmet.dto.result.ProjectAssistResult; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.ProjectApplyAssistFormDTO; diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/ProjectService.java index 1e9d75fdc1..2b6e8601a5 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/ProjectService.java @@ -1,6 +1,6 @@ package com.epmet.service; -import com.epmet.apiservice.result.ProjectAssistResult; +import com.epmet.dto.result.ProjectAssistResult; import com.epmet.dto.form.ProjectApplyAssistFormDTO; import com.epmet.dto.form.TPFDemoFormDTO; diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index f652f6b995..b9f539a7a7 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -1,7 +1,7 @@ package com.epmet.service.impl; import com.epmet.apiservice.ApiService; -import com.epmet.apiservice.result.ProjectAssistResult; +import com.epmet.dto.result.ProjectAssistResult; import com.epmet.dto.form.ProjectApplyAssistFormDTO; import com.epmet.dto.form.TPFDemoFormDTO; import com.epmet.service.ApiServiceSelector; diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index f5d2786c93..f30bd40420 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -244,4 +244,7 @@ public interface GovIssueOpenFeignClient { @PostMapping("/gov/issue/issue/detail") Result queryIssueDetail(@RequestBody IssueDetailFormDTO formDTO); + + @PostMapping(value = "/gov/issue/manage/votingissuedetail") + Result votingissuedetail(@RequestBody IssueDetailFormDTO issueDetail); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 84b1220993..e0e9e935c5 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -211,4 +211,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result queryIssueDetail(IssueDetailFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "detail", formDTO); } + + @Override + public Result votingissuedetail(IssueDetailFormDTO issueDetail) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "votingissuedetail", issueDetail); + } } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectSubProcessDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectSubProcessDTO.java index 5edffc797a..866594f1ab 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectSubProcessDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectSubProcessDTO.java @@ -56,7 +56,7 @@ public class ProjectSubProcessDTO implements Serializable { /** * 项目人员关联表ID */ - private String staffId; + private String projectStaffId; /** * 系统ID diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PlatformCallBackFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PlatformCallBackFormDTO.java new file mode 100644 index 0000000000..545206dfdc --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/PlatformCallBackFormDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/3/19 15:08 + */ +@Data +public class PlatformCallBackFormDTO implements Serializable { + private static final long serialVersionUID = 6350776148129116395L; + /** + * 事件id + */ + private String eventId; + /** + * 事件新的状态 + */ + private String status; + /** + * 事件处理详细内容 + */ + private String note; + /** + * 事件处理日期, 时区GMT+8, 格式:YYYY-MM-dd HH:mm:ss + */ + private String handleDate; + /** + * 事件处理人姓名 + */ + private String handleUserName; + /** + * 参数签名,签名算法 + */ + private String sign; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/SendToFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/SendToFormDTO.java index 4060fc2c43..479cf64b30 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/SendToFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/SendToFormDTO.java @@ -34,6 +34,12 @@ public class SendToFormDTO implements Serializable { @NotBlank(message = "外部系统名不能为空") private String platformName; + /** + * 部门名 + */ + private String departmentName; + + private String userId; @Valid private List staffList; diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 5acbc26ffb..fd8153b479 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -107,6 +107,12 @@ 2.0.0 compile + + com.epmet + epmet-third-client + 2.0.0 + compile + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java index f7ae09d16e..2610167069 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java @@ -79,4 +79,14 @@ public interface CustomerProjectParameterDao extends BaseDao { */ List selectSubProcessAndAttachment(@Param("processIds")List processIds); + /** + * 根据platformId查找最新的记录 + * @author zhaoqifeng + * @date 2021/3/19 15:26 + * @param platformId + * @return com.epmet.dto.ProjectSubProcessDTO + */ + ProjectSubProcessDTO selectSubProcessByPlatformId(@Param("platformId") String platformId); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSubProcessEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSubProcessEntity.java index ee451e6416..bee3af437b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSubProcessEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectSubProcessEntity.java @@ -56,7 +56,7 @@ public class ProjectSubProcessEntity extends BaseEpmetEntity { /** * 项目人员关联表ID */ - private String staffId; + private String projectStaffId; /** * 系统ID diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index 3216f2d576..67112ab5d4 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -19,6 +19,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -276,4 +277,22 @@ public interface ProjectService extends BaseService { * @Date 2021/2/24 17:07 **/ ProjectInfoDTO queryProjectInfoByProjectId(String projectId); + + /** + * 发送到外部平台 + * @author zhaoqifeng + * @date 2021/3/17 14:33 + * @param formDTO + * @return void + */ + void sendTo(SendToFormDTO formDTO); + + /** + * 第三方平台回调 + * @author zhaoqifeng + * @date 2021/3/19 15:12 + * @param formDTO + * @return void + */ + void platformCallBack(PlatformCallBackFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSubProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSubProcessService.java index d822ed2c39..702192d210 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSubProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectSubProcessService.java @@ -109,4 +109,14 @@ public interface ProjectSubProcessService extends BaseService selectSubProcessAndAttachment(List processIds); + + /** + * 根据platformId查找最新的记录 + * + * @author zhaoqifeng + * @date 2021/3/19 15:24 + * @param platformId + * @return com.epmet.dto.ProjectSubProcessDTO + */ + ProjectSubProcessDTO getSubProcessByPlatformId(String platformId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 6b53b1ef2a..3429a814b6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -29,6 +29,7 @@ import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ParameterKeyConstant; @@ -43,6 +44,7 @@ import com.epmet.dto.result.*; import com.epmet.entity.*; import com.epmet.feign.*; import com.epmet.redis.ProjectRedis; +import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; import com.epmet.service.*; import com.github.pagehelper.PageHelper; @@ -109,6 +111,11 @@ public class ProjectServiceImpl extends BaseServiceImpl customers = baseDao.selectAllCustomerIds(); - if(CollectionUtils.isEmpty(customers))return; + if(CollectionUtils.isEmpty(customers)) { + return; + } List totalContainer = new LinkedList<>(); customers.forEach(customerId -> { List projectNodePeriodPerOrgList = projectStaffService.selectProjectOrgPeriod(customerId); @@ -1364,8 +1373,11 @@ public class ProjectServiceImpl extends BaseServiceImpl { if(null != v){ v.setTotalPeriod(batchDelta_T.get(k)); - if(v.getHandledDate() == v.getFirstDealtDate())v.setFirstReplyPeriod(batchDelta_T.get(k)); - else v.setFirstReplyPeriod(batchDelta_TResponse.get(k)); + if(v.getHandledDate() == v.getFirstDealtDate()) { + v.setFirstReplyPeriod(batchDelta_T.get(k)); + } else { + v.setFirstReplyPeriod(batchDelta_TResponse.get(k)); + } } }); List> partition = ListUtils.partition(totalContainer, NumConstant.ONE_HUNDRED); @@ -1557,17 +1569,25 @@ public class ProjectServiceImpl extends BaseServiceImplstaff ProjectOrgPeriodResultDTO target = dest.get(seq); - if(null != target) target.setPeriodTillReplyFirstly(staffResponseTraceUnit.getCreatedTime()); + if(null != target) { + target.setPeriodTillReplyFirstly(staffResponseTraceUnit.getCreatedTime()); + } } /** @@ -1968,4 +1990,207 @@ public class ProjectServiceImpl extends BaseServiceImpl textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); + } + } + } + + //获取项目相关信息 + ProjectEntity projectEntity = baseDao.selectById(formDTO.getProjectId()); + if (ProjectConstant.CLOSED.equals(projectEntity.getStatus())) { + throw new RenException(EpmetErrorCode.PROJECT_IS_CLOSED.getCode()); + } + + if(StringUtils.isBlank(formDTO.getProjectStaffId())){ + ProjectStaffDTO projectStaff = projectStaffService.getLatestIdByProjectIdAndStaffId(formDTO.getProjectId(),formDTO.getUserId()); + if(null == projectStaff){ + log.error("com.epmet.service.impl.ProjectServiceImpl.response,project_staff表中没有与之对应的数据,传参:{}", JSON.toJSONString(formDTO)); + throw new RenException("未找到项目相关人员记录"); + } + formDTO.setProjectStaffId(projectStaff.getId()); + } + ProjectStaffDTO projectStaff = projectStaffService.get(formDTO.getProjectStaffId()); + //处理响应记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(formDTO.getProjectId()); + projectProcessEntity.setCustomerId(projectStaff.getCustomerId()); + projectProcessEntity.setDepartmentName(formDTO.getDepartmentName()); + projectProcessEntity.setOrgIdPath(projectStaff.getOrgIdPath()); + projectProcessEntity.setGridId(projectStaff.getGridId()); + projectProcessEntity.setDepartmentId(projectStaff.getDepartmentId()); + projectProcessEntity.setAgencyId(projectStaff.getOrgId()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_RESPONSES); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_RESPONSES_NAME); + projectProcessEntity.setPublicReply(formDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(formDTO.getInternalRemark()); + projectProcessEntity.setStaffId(formDTO.getUserId()); + projectProcessEntity.setIsSend(NumConstant.ONE); + projectProcessService.insert(projectProcessEntity); + + //项目附件表新增数据 sun 2020.12.22 + if (CollectionUtils.isNotEmpty(formDTO.getPublicFile()) || CollectionUtils.isNotEmpty(formDTO.getInternalFile())) { + saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), projectStaff.getCustomerId(), formDTO.getProjectId(), projectProcessEntity.getId()); + }//end + + //TODO 发送到外部系统 start + ProjectApplyAssistFormDTO applyAssistFormDTO = new ProjectApplyAssistFormDTO(); + applyAssistFormDTO.setCustomerId(projectStaff.getCustomerId()); + applyAssistFormDTO.setPlatformId(formDTO.getPlatformId()); + if (CollectionUtils.isNotEmpty(formDTO.getInternalFile())) { + List imageList = + formDTO.getInternalFile().stream().filter(fileDTO -> TopicConstant.IMAGE.equals(fileDTO.getType())).map(FileDTO::getUrl).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(imageList)) { + applyAssistFormDTO.setImageLink(String.join(StrConstant.COMMA, imageList)); + } + List voiceList = + formDTO.getInternalFile().stream().filter(fileDTO -> TopicConstant.VOICE.equals(fileDTO.getType())).map(FileDTO::getUrl).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(imageList)) { + applyAssistFormDTO.setVoiceLink(String.join(StrConstant.COMMA, voiceList)); + } + List videoList = + formDTO.getInternalFile().stream().filter(fileDTO -> TopicConstant.VIDEO.equals(fileDTO.getType())).map(FileDTO::getUrl).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(imageList)) { + applyAssistFormDTO.setVideoLink(String.join(StrConstant.COMMA, videoList)); + } + + } + + //获取网格信息 + List relatedPersonnel = projectRelatedPersonnelService.getPersonnelListByProjectId(formDTO.getProjectId()); + CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO(); + customerGridFormDTO.setGridId(relatedPersonnel.get(0).getGridId()); + Result gridResult = govOrgOpenFeignClient.getCustomerGridByGridId(customerGridFormDTO); + if (!gridResult.success()) { + throw new RenException(gridResult.getCode(), gridResult.getMsg()); + } + applyAssistFormDTO.setLatitude(gridResult.getData().getLatitude()); + applyAssistFormDTO.setLongitude(gridResult.getData().getLongitude()); + + //获取议题详情 + IssueDetailFormDTO issueDetailFormDTO = new IssueDetailFormDTO(); + issueDetailFormDTO.setIssueId(projectEntity.getOriginId()); + Result issueDetail = govIssueOpenFeignClient.votingissuedetail(issueDetailFormDTO); + if (!issueDetail.success()) { + throw new RenException(issueDetail.getCode(), issueDetail.getMsg()); + } + ProjectDetailDTO projectDetailDTO = ConvertUtils.sourceToTarget(issueDetail.getData(), ProjectDetailDTO.class); + projectDetailDTO = ConvertUtils.sourceToTarget(issueDetail.getData().getTopicInfo(), ProjectDetailDTO.class); + applyAssistFormDTO.setDetail(projectDetailDTO.toString()); + applyAssistFormDTO.setDetailAddress(projectDetailDTO.getBelongsGridName()); + Result result = epmetThirdOpenFeignClient.applyAssist(applyAssistFormDTO); + if (!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + applyAssistFormDTO.setSource("党建引领"); + ProjectAssistResult assistResult = (ProjectAssistResult)result.getData(); + //发送到外部系统 end + + //结果存入project_sub_process表 + ProjectSubProcessDTO projectSubProcess = new ProjectSubProcessDTO(); + projectSubProcess.setCustomerId(projectStaff.getCustomerId()); + projectSubProcess.setProjectId(formDTO.getProjectId()); + projectSubProcess.setProcessId(projectProcessEntity.getId()); + projectSubProcess.setProjectStaffId(formDTO.getProjectStaffId()); + projectSubProcess.setPlatformId(formDTO.getPlatformId()); + projectSubProcess.setPlatformName(formDTO.getPlatformName()); + projectSubProcess.setTaskId(assistResult.getTaskId()); + projectSubProcess.setExternalStatus(NumConstant.ONE_STR); + projectSubProcess.setExternalStatusDesc("待处理"); + projectSubProcess.setInternalStatus(ProjectConstant.PENDING); + projectSubProcessService.save(projectSubProcess); + + //项目节点历时 + ProjectOrgRelationEntity relationEntity = relationDao.selectByProjectStaffId(formDTO.getProjectStaffId()); + if(null != relationEntity){ + ProjectOrgRelationEntity relationDto = new ProjectOrgRelationEntity(); + relationDto.setProjectStaffId(relationEntity.getProjectStaffId()); + if(null == relationEntity.getFirstDealtDate()){ + Date current = new Date(); + relationDto.setFirstDealtDate(current); + relationDto.setFirstReplyPeriod(calculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION, + ProjectConstant.CALCULATION_TYPE_DEFAULT,projectStaff.getId(), + relationEntity.getInformedDate(),current)); + relationDto.setOperation(ProjectConstant.OPERATION_RESPONSES); + relationDao.maintainTimePropertyConsistency(relationDto); + } + }else{ + log.error("com.epmet.service.impl.ProjectServiceImpl#response,没有找到相关的节点耗时记录,参数:{}",JSON.toJSONString(formDTO)); + throw new RenException("没有找到相关的节点耗时记录"); + } + } + + /** + * 第三方平台回调 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2021/3/19 15:12 + */ + @Override + public void platformCallBack(PlatformCallBackFormDTO formDTO) { + ProjectSubProcessDTO projectSubProcessDTO = projectSubProcessService.getSubProcessByPlatformId(formDTO.getEventId()); + projectSubProcessDTO.setExternalStatus(formDTO.getStatus()); + projectSubProcessDTO.setResult(formDTO.getNote()); + projectSubProcessDTO.setHandleDate(DateUtils.stringToDate(formDTO.getHandleDate(), DateUtils.DATE_TIME_PATTERN)); + projectSubProcessDTO.setHandleUserName(formDTO.getHandleUserName()); + switch (formDTO.getStatus()) { + case NumConstant.ONE_STR: + projectSubProcessDTO.setExternalStatusDesc("待处理"); + break; + case NumConstant.TWO_STR: + projectSubProcessDTO.setExternalStatusDesc("待核实"); + break; + case NumConstant.THREE_STR: + projectSubProcessDTO.setExternalStatusDesc("已上报"); + break; + case NumConstant.FOUR_STR: + projectSubProcessDTO.setExternalStatusDesc("已完结"); + projectSubProcessDTO.setInternalStatus(NumConstant.ONE_STR); + break; + case NumConstant.FIVE_STR: + projectSubProcessDTO.setExternalStatusDesc("处理中"); + break; + case NumConstant.SIX_STR: + projectSubProcessDTO.setExternalStatusDesc("待分发"); + break; + case NumConstant.SEVEN_STR: + projectSubProcessDTO.setExternalStatusDesc("归档"); + break; + case NumConstant.EIGHT_STR: + projectSubProcessDTO.setExternalStatusDesc("催办"); + break; + case NumConstant.NINE_STR: + projectSubProcessDTO.setExternalStatusDesc("超时"); + break; + default: + break; + } + projectSubProcessService.save(projectSubProcessDTO); + //TODO 保存附件 + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSubProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSubProcessServiceImpl.java index 0bdbbdb8df..9506c781bd 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSubProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSubProcessServiceImpl.java @@ -84,6 +84,7 @@ public class ProjectSubProcessServiceImpl extends BaseServiceImpl + \ No newline at end of file From ef7e198e12ed3a5fbc4a5d43e09dfd1ac4c65825 Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 22 Mar 2021 09:34:17 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=201.=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=AE=A2=E6=88=B7=E7=AC=AC=E4=B8=89=E6=96=B9=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E9=85=8D=E7=BD=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/feign/ThirdOpenFeignClient.java | 14 +++++- .../ThirdOpenFeignClientFallback.java | 6 +++ .../dto/form/ThirdPlatformConfigFormDTO.java | 9 +++- .../result/ThirdPlatformConfigResultDTO.java | 21 +++++++++ .../CustomerProjectParameterController.java | 15 +++++++ .../CustomerProjectParameterService.java | 3 ++ .../CustomerProjectParameterServiceImpl.java | 44 ++++++++++++++++++- 7 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ThirdPlatformConfigResultDTO.java diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java index 2459873c91..ab5c26cc4b 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java @@ -3,6 +3,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.ThirdPlatformFormDTO; +import com.epmet.dto.result.ThirdplatformResultDTO; import com.epmet.feign.fallback.ThirdOpenFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -10,8 +11,8 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.List; -@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = ThirdOpenFeignClientFallback.class) -//@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = ThirdOpenFeignClientFallback.class, url = "http://localhost:8110") +//@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = ThirdOpenFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = ThirdOpenFeignClientFallback.class, url = "http://localhost:8110") public interface ThirdOpenFeignClient { /** @@ -23,4 +24,13 @@ public interface ThirdOpenFeignClient { @PostMapping("/third/thirdplatform/customer/saveorupdate-selected-platforms") Result saveOrUpdateSelectedPlatformsInfo(@RequestBody List input); + /** + * 根据客户id和动作,列出客户在指定动作下可用的第三方平台 + * 用途:工作端,运营端配置界面 + * + * @param input + * @return + */ + @PostMapping("/third/thirdplatform/customer/list-available-platforms-by-action") + Result> listAvailablePlatformsByCustomerAndAction(@RequestBody ThirdPlatformFormDTO input); } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/ThirdOpenFeignClientFallback.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/ThirdOpenFeignClientFallback.java index abd22929ee..9322354512 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/ThirdOpenFeignClientFallback.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/ThirdOpenFeignClientFallback.java @@ -4,6 +4,7 @@ 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.ThirdPlatformFormDTO; +import com.epmet.dto.result.ThirdplatformResultDTO; import com.epmet.feign.ThirdOpenFeignClient; import org.springframework.stereotype.Component; @@ -15,4 +16,9 @@ public class ThirdOpenFeignClientFallback implements ThirdOpenFeignClient { public Result saveOrUpdateSelectedPlatformsInfo(List input) { return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "saveOrUpdateSelectedPlatformsInfo", input); } + + @Override + public Result> listAvailablePlatformsByCustomerAndAction(ThirdPlatformFormDTO input) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "listAvailablePlatformsByCustomerAndAction", input); + } } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ThirdPlatformConfigFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ThirdPlatformConfigFormDTO.java index 519c1a1371..d816340cc6 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ThirdPlatformConfigFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ThirdPlatformConfigFormDTO.java @@ -12,10 +12,15 @@ public class ThirdPlatformConfigFormDTO { public interface SaveThirdplatformConfig { } - @NotBlank(message = "客户ID不能为空", groups = {SaveThirdplatformConfig.class}) + public interface LoadThirdplatformConfig { } + + @NotBlank(message = "客户ID不能为空", groups = { + SaveThirdplatformConfig.class, + LoadThirdplatformConfig.class}) private String customerId; - @NotBlank(message = "项目协助发送开关状态不能为空", groups = {SaveThirdplatformConfig.class}) + @NotBlank(message = "项目协助发送开关状态不能为空", groups = { + SaveThirdplatformConfig.class}) private String sendProjectSwitch; private List customerSelectedPlatformList; diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ThirdPlatformConfigResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ThirdPlatformConfigResultDTO.java new file mode 100644 index 0000000000..3e08815493 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ThirdPlatformConfigResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class ThirdPlatformConfigResultDTO { + + private String sendProjectSwitch; + private List customerSelectedPlatformList = new ArrayList(); + + @Data + public static class CustomerSelectedPlatform { + private String customerId; + private String platformId; + private String platformName; + private String icon; + } +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.java index aeb93e41c8..de479f7344 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.java @@ -25,10 +25,12 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.constant.ParameterKeyConstant; import com.epmet.dto.CustomerProjectParameterDTO; import com.epmet.dto.form.ParameterFormDTO; import com.epmet.dto.form.ThirdPlatformConfigFormDTO; import com.epmet.dto.result.ParameterResultDTO; +import com.epmet.dto.result.ThirdPlatformConfigResultDTO; import com.epmet.excel.CustomerProjectParameterExcel; import com.epmet.service.CustomerProjectParameterService; import org.springframework.beans.factory.annotation.Autowired; @@ -161,4 +163,17 @@ public class CustomerProjectParameterController { customerProjectParameterService.saveThirdplatformConfig(customerId, sendProjectSwitch, platformList); return new Result(); } + + /** + * @Description 保存项目第三方平台的配置 + * @return + * @author wxz + * @date 2021.03.19 17:10 + */ + @PostMapping("load-thirdplatform-config") + public Result loadThirdplatformConfig(@RequestBody ThirdPlatformConfigFormDTO input) { + ValidatorUtils.validateEntity(input, ThirdPlatformConfigFormDTO.LoadThirdplatformConfig.class); + ThirdPlatformConfigResultDTO resultDTO = customerProjectParameterService.loadThirdplatformConfig(input.getCustomerId(), ParameterKeyConstant.THIRD_PLATFORM_PROJECT_SEND); + return new Result().ok(resultDTO); + } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java index 4f1d6e9ea8..e7473100f0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java @@ -23,6 +23,7 @@ import com.epmet.dto.CustomerProjectParameterDTO; import com.epmet.dto.form.ParameterFormDTO; import com.epmet.dto.form.ThirdPlatformConfigFormDTO; import com.epmet.dto.result.ParameterResultDTO; +import com.epmet.dto.result.ThirdPlatformConfigResultDTO; import com.epmet.entity.CustomerProjectParameterEntity; import java.util.List; @@ -173,4 +174,6 @@ public interface CustomerProjectParameterService extends BaseService platformList); + + ThirdPlatformConfigResultDTO loadThirdplatformConfig(String customerId, String parameterKey); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java index ab36ac3469..3595f23a94 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java @@ -21,9 +21,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ParameterKeyConstant; import com.epmet.constant.ThirdPlatformActions; import com.epmet.dao.CustomerProjectParameterDao; @@ -32,6 +34,8 @@ import com.epmet.dto.form.ParameterFormDTO; import com.epmet.dto.form.ThirdPlatformConfigFormDTO; import com.epmet.dto.form.ThirdPlatformFormDTO; import com.epmet.dto.result.ParameterResultDTO; +import com.epmet.dto.result.ThirdPlatformConfigResultDTO; +import com.epmet.dto.result.ThirdplatformResultDTO; import com.epmet.entity.CustomerProjectParameterEntity; import com.epmet.feign.ThirdOpenFeignClient; import com.epmet.redis.CustomerProjectParameterRedis; @@ -332,6 +336,44 @@ public class CustomerProjectParameterServiceImpl extends BaseServiceImpl> listResult = thirdOpenFeignClient.listAvailablePlatformsByCustomerAndAction(form); + + if (listResult == null || !listResult.success()) { + throw new RenException("调用Third服务,获取第三方平台列表失败"); + } + List platforms = listResult.getData(); + + // 2.本地查询 + CustomerProjectParameterEntity params = new CustomerProjectParameterEntity(); + params.setCustomerId(customerId); + params.setParameterKey(parameterKey); + String value = baseDao.selectParameterValueByKey(params); + value = StringUtils.isBlank(value) ? "0" : value; + + ThirdPlatformConfigResultDTO result = new ThirdPlatformConfigResultDTO(); + result.setSendProjectSwitch(value); + + platforms.forEach(p -> { + ThirdPlatformConfigResultDTO.CustomerSelectedPlatform platform = new ThirdPlatformConfigResultDTO.CustomerSelectedPlatform(); + platform.setCustomerId(customerId); + platform.setIcon(p.getIcon()); + platform.setPlatformId(p.getPlatformId()); + platform.setPlatformName(p.getPlatformName()); + result.getCustomerSelectedPlatformList().add(platform); + }); + + return result; } } \ No newline at end of file From 5d642275cb4cc28287db0bc9e921d008f27bf1db Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 22 Mar 2021 09:34:38 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=20=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E9=85=8D=E7=BD=AE=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/feign/ThirdOpenFeignClient.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java index ab5c26cc4b..de647e726e 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/ThirdOpenFeignClient.java @@ -11,8 +11,8 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.List; -//@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = ThirdOpenFeignClientFallback.class) -@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = ThirdOpenFeignClientFallback.class, url = "http://localhost:8110") +@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = ThirdOpenFeignClientFallback.class) +//@FeignClient(name = ServiceConstant.EPMET_THIRD_SERVER, fallback = ThirdOpenFeignClientFallback.class, url = "http://localhost:8110") public interface ThirdOpenFeignClient { /**