Browse Source

/issue/closedproject已处理-已结案列表

dev
yinzuomei 3 years ago
parent
commit
bb6b615d79
  1. 22
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResolvedResultDTO.java
  2. 7
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  3. 56
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

22
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ResolvedResultDTO.java

@ -13,6 +13,7 @@ import java.util.List;
@Data @Data
public class ResolvedResultDTO implements Serializable { public class ResolvedResultDTO implements Serializable {
private static final long serialVersionUID = -6670213622289052352L; private static final long serialVersionUID = -6670213622289052352L;
private String projectId;
/** /**
* 议题Id * 议题Id
*/ */
@ -53,4 +54,25 @@ public class ResolvedResultDTO implements Serializable {
private String longitude; private String longitude;
private String latitude; private String latitude;
/**
* 项目来源
* 来源议题 issue
* 项目立项 agency
* 旧版事件上报 resi_event
* 工作人员上报(巡查) work_event
* 新版事件上报 ic_event
*/
private String projectOrigin;
/**
* 话题id
*/
private String topicId;
/**
* 来源类型 话题resi_topic直接立议题issue
*/
private String issueSourceType;
/**
* 发布议题的图片
*/
private List<String> issueImgs;
} }

7
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -361,17 +361,20 @@
ORDER BY a.CREATED_TIME DESC ORDER BY a.CREATED_TIME DESC
</select> </select>
<!-- 已结案:议题已转项目,且项目结案选择已解决 -->
<select id="selectResolvedListByGrid" resultType="com.epmet.dto.result.ResolvedResultDTO"> <select id="selectResolvedListByGrid" resultType="com.epmet.dto.result.ResolvedResultDTO">
SELECT SELECT
a.ID AS projectId,
a.ORIGIN_ID AS issueId, a.ORIGIN_ID AS issueId,
a.TITLE AS issueTitle, a.TITLE AS issueTitle,
c.PUBLIC_REPLY AS publicReply, c.PUBLIC_REPLY AS publicReply,
UNIX_TIMESTAMP(a.UPDATED_TIME) AS closedTime, UNIX_TIMESTAMP(a.UPDATED_TIME) AS closedTime,
b.SOURCE_ID AS sourceId b.SOURCE_ID AS sourceId,
a.ORIGIN as projectOrigin
FROM FROM
project a project a
INNER JOIN project_related_personnel b ON a.ID = b.PROJECT_ID INNER JOIN project_related_personnel b ON a.ID = b.PROJECT_ID
AND b.SOURCE_TYPE = 'topic' AND b.SOURCE_TYPE = 'issue'
AND b.GRID_ID = #{gridId} AND b.GRID_ID = #{gridId}
LEFT JOIN project_process c ON a.ID = c.PROJECT_ID LEFT JOIN project_process c ON a.ID = c.PROJECT_ID
AND c.OPERATION = 'close' AND c.OPERATION = 'close'

56
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -563,30 +563,56 @@ public class IssueServiceImpl implements IssueService {
*/ */
@Override @Override
public List<ResolvedResultDTO> getClosedProjectList(ShiftProjectListFromDTO formDTO) { public List<ResolvedResultDTO> getClosedProjectList(ShiftProjectListFromDTO formDTO) {
List<ResolvedResultDTO> resultList = govProjectOpenFeignClient.getResolvedList(formDTO).getData(); //查询项目(来源于议题的)已结案已解决的
Result<List<ResolvedResultDTO>> projectRes=govProjectOpenFeignClient.getResolvedList(formDTO);
if(!projectRes.success()){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getMsg());
}
List<ResolvedResultDTO> resultList = projectRes.getData();
if (org.apache.commons.collections4.CollectionUtils.isEmpty(resultList)) { if (org.apache.commons.collections4.CollectionUtils.isEmpty(resultList)) {
return new ArrayList<>(); return new ArrayList<>();
} }
List<String> topicIds = resultList.stream().map(ResolvedResultDTO::getSourceId).collect(Collectors.toList()); // 话题信息
TopicDetailBatchFormDTO form = new TopicDetailBatchFormDTO(); HashMap<String, ResiTopicDetailResultDTO> rtm=new HashMap<>();
form.setTopicIdList(topicIds); // 议题信息
Result<List<ResiTopicDetailResultDTO>> topicDetailsResult = resiGroupOpenFeignClient.listTopicDetailsByIds(form); //2、根据议题id查询话题id
if (!topicDetailsResult.success()) { List<String> issueIds = resultList.stream().map(ResolvedResultDTO::getIssueId).collect(Collectors.toList());
logger.error("调用resi-group批量查询详情失败"); // 根据议题id查询话题id
} else { Result<List<IssueProfileDTO>> issueRes = govIssueOpenFeignClient.getIssueProfile(issueIds);
List<ResiTopicDetailResultDTO> topicDetails = topicDetailsResult.getData();
HashMap<String, ResiTopicDetailResultDTO> rtm = convertTopicDetailList2Map(topicDetails); if (issueRes.success() && !CollectionUtils.isEmpty(issueRes.getData())) {
// 3、如果存在议题来源于话题
List<String> topicIds = issueRes.getData().stream().filter(t -> t.getIssueSourceType().equals("resi_topic")).map(IssueProfileDTO::getSourceId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(topicIds)) {
// 3.1 查询话题详情
TopicDetailBatchFormDTO form = new TopicDetailBatchFormDTO();
form.setTopicIdList(topicIds);
Result<List<ResiTopicDetailResultDTO>> topicDetailsResult = resiGroupOpenFeignClient.listTopicDetailsByIds(form);
if (topicDetailsResult.success() && !CollectionUtils.isEmpty(topicDetailsResult.getData())) {
List<ResiTopicDetailResultDTO> topicDetails = topicDetailsResult.getData();
topicDetails.stream().forEach(t -> {
if(StringUtils.isNotBlank(t.getIssueId())){
rtm.put(t.getIssueId(), t);
}
});
}
}
Map<String,IssueProfileDTO> issueMap=issueRes.getData().stream().collect(Collectors.toMap(IssueProfileDTO::getIssueId, o -> o, (o1, o2) -> o1));
// 赋值话题信息、议题来源、议题图片
resultList.forEach(vi -> { resultList.forEach(vi -> {
ResiTopicDetailResultDTO rr = rtm.get(vi.getSourceId()); ResiTopicDetailResultDTO rr = rtm.get(vi.getIssueId());
vi.setTopicImgs(rr == null ? new ArrayList<>() : rr.getTopicImgs()); vi.setTopicImgs(rr == null ? new ArrayList<>() : rr.getTopicImgs());
vi.setTopicVoices(rr == null ? new ArrayList<>() : rr.getTopicImgs()); vi.setTopicVoices(rr == null ? new ArrayList<>() : rr.getTopicImgs());
vi.setTopicContent(rr == null ? "" : rr.getTopicContent()); vi.setTopicContent(rr == null ? StrConstant.EPMETY_STR : rr.getTopicContent());
vi.setLongitude(rr == null ? "" : rr.getLongitude()); vi.setLongitude(rr == null ? StrConstant.EPMETY_STR : rr.getLongitude());
vi.setLatitude(rr == null ? "" : rr.getLatitude()); vi.setLatitude(rr == null ? StrConstant.EPMETY_STR : rr.getLatitude());
vi.setTopicId(null == rr ? StrConstant.EPMETY_STR : rr.getTopicId());
IssueProfileDTO issue = issueMap.get(vi.getIssueId());
vi.setIssueSourceType(null != issue ? issue.getIssueSourceType() : StrConstant.EPMETY_STR);
vi.setIssueImgs(null != issue ? issue.getIssueImgs() : new ArrayList<>());
}); });
} }
return resultList; return resultList;
} }

Loading…
Cancel
Save