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 index 0e2b93e4d3..9497f1bed8 100644 --- 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 @@ -36,6 +36,6 @@ public interface EpmetThirdOpenFeignClient { * @date 2021/3/18 11:08 */ @PostMapping("third/project/apply-assist") - Result applyAssist(@RequestBody ProjectApplyAssistFormDTO formDTO); + 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 index 10abcf6992..05c0d52fd7 100644 --- 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 @@ -32,7 +32,7 @@ public class EpmetThirdOpenFeignClientFallback implements EpmetThirdOpenFeignCli * @date 2021/3/18 11:08 */ @Override - public Result applyAssist(ProjectApplyAssistFormDTO formDTO) { + 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/controller/ProjectController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/ProjectController.java index 0b32b9c2dd..699f70ec34 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 @@ -44,10 +44,10 @@ public class ProjectController { * @date 2021.03.15 21:13 */ @PostMapping("apply-assist") - public Result applyAssist(@RequestBody ProjectApplyAssistFormDTO formDTO) { + public Result applyAssist(@RequestBody ProjectApplyAssistFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); ProjectAssistResult projectAssistResult = projectService.applyAssist(formDTO); - return new Result().ok(projectAssistResult); + return new Result().ok(projectAssistResult); } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index 6bae43e57b..4a8696fa01 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -159,5 +159,5 @@ public interface ProjectConstant { String NOT_EXIST_PROJECT = "未查询带此项目信息......"; - String EXTERNAL_SYSTEM = "external_system"; + String EXTERNAL_SYSTEM = "third_platform_project_send"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java index 05fe6c04b4..60257a5e4d 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java @@ -217,4 +217,9 @@ public class ProjectController { } return new Result<>(); } + @PostMapping("platformcallback") + public Result platformCallBack(@RequestBody PlatformCallBackFormDTO formDTO) { + projectService.platformCallBack(formDTO); + return new Result(); + } } \ 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 63d3dacc1d..73c293d828 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 @@ -45,9 +45,14 @@ import com.epmet.entity.*; import com.epmet.feign.*; import com.epmet.redis.ProjectRedis; import com.epmet.resi.group.constant.TopicConstant; +import com.epmet.resi.group.dto.topic.ResiTopicDTO; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; import com.epmet.service.*; import com.github.pagehelper.PageHelper; +import com.google.common.base.Joiner; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; import org.apache.commons.collections4.CollectionUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.ListUtils; @@ -115,6 +120,10 @@ public class ProjectServiceImpl extends BaseServiceImpl imageList = formDTO.getInternalFile().stream().filter(fileDTO -> TopicConstant.IMAGE.equals(fileDTO.getType())).map(FileDTO::getUrl).collect(Collectors.toList()); @@ -2089,13 +2103,6 @@ public class ProjectServiceImpl extends BaseServiceImpl 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()); @@ -2103,18 +2110,44 @@ public class ProjectServiceImpl extends BaseServiceImpl topic = resiGroupOpenFeignClient.getTopicById(issueDetail.getData().getTopicInfo().getTopicId()); + if (!topic.success()) { + throw new RenException(topic.getCode(), topic.getMsg()); + } + applyAssistFormDTO.setLatitude(topic.getData().getDimension()); + applyAssistFormDTO.setLongitude(topic.getData().getLongitude()); + applyAssistFormDTO.setProvince(topic.getData().getProvince()); + applyAssistFormDTO.setCity(topic.getData().getCity()); + applyAssistFormDTO.setArea(topic.getData().getArea()); ProjectDetailDTO projectDetailDTO = ConvertUtils.sourceToTarget(issueDetail.getData(), ProjectDetailDTO.class); - projectDetailDTO = ConvertUtils.sourceToTarget(issueDetail.getData().getTopicInfo(), ProjectDetailDTO.class); + projectDetailDTO.setTopicContent(issueDetail.getData().getTopicInfo().getTopicContent()); + projectDetailDTO.setTopicPublisher(issueDetail.getData().getTopicInfo().getTopicPublisher()); + projectDetailDTO.setTopicPublisherMobile(issueDetail.getData().getTopicInfo().getTopicPublisherMobile()); + projectDetailDTO.setTopicPublishTime(issueDetail.getData().getTopicInfo().getTopicPublishTime()); + projectDetailDTO.setPhotoList(issueDetail.getData().getTopicInfo().getPhotoList()); projectDetailDTO.setPublicReply(formDTO.getPublicReply()); projectDetailDTO.setInternalRemark(formDTO.getInternalRemark()); - applyAssistFormDTO.setDetail(projectDetailDTO.toString()); + //项目详情 + ProjectDetailFromDTO projectDetailFromDTO = new ProjectDetailFromDTO(); + projectDetailFromDTO.setUserId(formDTO.getUserId()); + projectDetailFromDTO.setProjectId(formDTO.getProjectId()); + projectDetailFromDTO.setCustomerId(projectStaff.getCustomerId()); + ProjectDetailResultDTO projectDetailResultDTO = getProjectDetail(projectDetailFromDTO); + + //项目进展 + ProcessListV2FormDTO processListV2FormDTO = new ProcessListV2FormDTO(); + processListV2FormDTO.setProjectId(formDTO.getProjectId()); + List processList = projectTraceService.processListV2(processListV2FormDTO); + + applyAssistFormDTO.setDetail(getDetail(projectDetailDTO, projectDetailResultDTO, processList)); applyAssistFormDTO.setDetailAddress(projectDetailDTO.getBelongsGridName()); - Result result = epmetThirdOpenFeignClient.applyAssist(applyAssistFormDTO); + applyAssistFormDTO.setSource("党建引领"); + applyAssistFormDTO.setNotifyUrl("/gov/project/project/platformcallback"); + Result result = epmetThirdOpenFeignClient.applyAssist(applyAssistFormDTO); if (!result.success()) { throw new RenException(result.getCode(), result.getMsg()); } - applyAssistFormDTO.setSource("党建引领"); - ProjectAssistResult assistResult = (ProjectAssistResult)result.getData(); + ProjectAssistResult assistResult = result.getData(); //发送到外部系统 end //结果存入project_sub_process表 @@ -2202,4 +2235,54 @@ public class ProjectServiceImpl extends BaseServiceImpl processList) { + String detail = ""; + detail = detail.concat("项目来源\n"); + if (null == sourceDTO.getTopicContent()) { + sourceDTO.setTopicContent(""); + } + + if (CollectionUtils.isEmpty(sourceDTO.getPhotoList())) { + sourceDTO.setPhotoList(new ArrayList<>()); + } + String source = "议题标题:" + sourceDTO.getIssueTitle() + "\n" + + "针对话题\n" + (null == sourceDTO.getTopicContent()?"":sourceDTO.getTopicContent()) + "\n" + + "话题图片\n" + Joiner.on(StrConstant.COMMA).join(sourceDTO.getPhotoList()) + "\n" + + "建议采用如下处理方式\n" + sourceDTO.getIssueSuggestion() + "\n" + + "所属网格:" + sourceDTO.getBelongsGridName() + "\n" + + "话题发表人:" + sourceDTO.getTopicPublisher() + sourceDTO.getTopicPublisherMobile() + "\n" + + "议题发表人:" + sourceDTO.getIssueInitiator() + sourceDTO.getIssuePublisherMobile() + "\n" + + "话题发表时间:" + DateUtils.formatTimestamp(sourceDTO.getTopicPublishTime(), DateUtils.DATE_TIME_PATTERN); + detail = detail.concat(source); + detail = detail.concat("\n项目详情\n"); + detail = "项目标题:" +projectDetail.getProjectTitle() + "\n" + + "项目方案::\n" + projectDetail.getPublicReply() + "\n" + + "内部备注:\n" + projectDetail.getInternalRemark() + "\n" + + "当前处理部门:\n"; + for (ProjectDetailResultDTO.DepartmentNameListBean item : projectDetail.getDepartmentList()) { + String department = item.getDepartmentName() + "(" + Joiner.on(StrConstant.COMMA).join(item.getStaffList()) + ")\n"; + detail = detail + department; + } + detail = detail.concat("\n处理进展\n"); + for (ProcessListV2ResultDTO item : processList) { + String process = "【" + item.getProcessName() + "】\n" + + DateUtils.formatTimestamp(item.getProcessTime(), DateUtils.DATE_TIME_PATTERN) + "\n" + + "处理部门:" + item.getProcessName() + "\n" + + "说明:" + item.getPublicReply() + "\n"; + //TODO 上传图片 + detail = detail + process; + } + + System.out.println(detail); + return detail; + + } + + private String toJson(Object object) { + GsonBuilder gsonBuilder = new GsonBuilder(); + gsonBuilder.setPrettyPrinting(); + Gson gson = gsonBuilder.create(); + return gson.toJson(object); + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index 3c8a358f1c..fd0d8f7613 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -198,4 +198,13 @@ public interface ResiGroupOpenFeignClient { @GetMapping("resi/group/topic/querytopicinfobyissueid/{issueId}") Result queryTopicInfoByIssueId(@PathVariable("issueId")String issueId); + + /** + * @param + * @return + * @Author sun + * @Description 根据话题Id查询话题信息 + **/ + @PostMapping("/resi/group/topic/gettopicbyid/{topicId}") + Result getTopicById(@PathVariable("topicId") String topicId); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index 881569ea10..397a56a077 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -139,4 +139,14 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien public Result queryTopicInfoByIssueId(String issueId) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "queryTopicInfoByIssueId", issueId); } + + /** + * @param topicId@return + * @Author sun + * @Description 根据话题Id查询话题信息 + **/ + @Override + public Result getTopicById(String topicId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getTopicById", topicId); + } }