Browse Source

项目发送到第三方平台 detail

dev_shibei_match
zhaoqifeng 4 years ago
parent
commit
e1dfc04a5c
  1. 2
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/EpmetThirdOpenFeignClient.java
  2. 2
      epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/feign/fallback/EpmetThirdOpenFeignClientFallback.java
  3. 4
      epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/ProjectController.java
  4. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  5. 5
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  6. 107
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  7. 9
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java
  8. 10
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java

2
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<ProjectAssistResult> applyAssist(@RequestBody ProjectApplyAssistFormDTO formDTO);
}

2
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<ProjectAssistResult> applyAssist(ProjectApplyAssistFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_THIRD_SERVER, "applyAssist", formDTO);
}
}

4
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<ProjectAssistResult> applyAssist(@RequestBody ProjectApplyAssistFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
ProjectAssistResult projectAssistResult = projectService.applyAssist(formDTO);
return new Result().ok(projectAssistResult);
return new Result<ProjectAssistResult>().ok(projectAssistResult);
}
}

2
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";
}

5
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();
}
}

107
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<ProjectDao, ProjectEntit
private EpmetThirdOpenFeignClient epmetThirdOpenFeignClient;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private ProjectTraceService projectTraceService;
@Autowired
private ResiGroupOpenFeignClient resiGroupOpenFeignClient;
private final static String ONE_DAY = "<1";
@ -325,6 +334,9 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
resultDTO.setProcessable(true);
resultDTO.setIsSend(false);
}
} else {
resultDTO.setProcessable(true);
resultDTO.setIsSend(false);
}
} else {
resultDTO.setProcessable(false);
@ -2061,6 +2073,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
ProjectApplyAssistFormDTO applyAssistFormDTO = new ProjectApplyAssistFormDTO();
applyAssistFormDTO.setCustomerId(projectStaff.getCustomerId());
applyAssistFormDTO.setPlatformId(formDTO.getPlatformId());
applyAssistFormDTO.setTitle(projectEntity.getTitle());
if (CollectionUtils.isNotEmpty(formDTO.getInternalFile())) {
List<String> 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<ProjectDao, ProjectEntit
List<ProjectRelatedPersonnelDTO> relatedPersonnel = projectRelatedPersonnelService.getPersonnelListByProjectId(formDTO.getProjectId());
CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO();
customerGridFormDTO.setGridId(relatedPersonnel.get(0).getGridId());
Result<CustomerGridDTO> 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<ProjectDao, ProjectEntit
if (!issueDetail.success()) {
throw new RenException(issueDetail.getCode(), issueDetail.getMsg());
}
Result<ResiTopicDTO> 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<ProcessListV2ResultDTO> 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<ProjectAssistResult> 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<ProjectDao, ProjectEntit
//TODO 保存附件
}
private String getDetail(ProjectDetailDTO sourceDTO, ProjectDetailResultDTO projectDetail, List<ProcessListV2ResultDTO> 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);
}
}

9
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<ResiTopicDTO> queryTopicInfoByIssueId(@PathVariable("issueId")String issueId);
/**
* @param
* @return
* @Author sun
* @Description 根据话题Id查询话题信息
**/
@PostMapping("/resi/group/topic/gettopicbyid/{topicId}")
Result<ResiTopicDTO> getTopicById(@PathVariable("topicId") String topicId);
}

10
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<ResiTopicDTO> queryTopicInfoByIssueId(String issueId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "queryTopicInfoByIssueId", issueId);
}
/**
* @param topicId@return
* @Author sun
* @Description 根据话题Id查询话题信息
**/
@Override
public Result<ResiTopicDTO> getTopicById(String topicId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getTopicById", topicId);
}
}

Loading…
Cancel
Save