From 4b142408e0185ce4721fff0d4cc08a2790006220 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 19 Mar 2021 17:36:26 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=8F=91=E9=80=81=E5=88=B0?= =?UTF-8?q?=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