Browse Source

议事厅-处理中列表接口调整返回议题图片,议题来源

dev
yinzuomei 3 years ago
parent
commit
89777815a5
  1. 8
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProfileDTO.java
  2. 18
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  3. 9
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendingResultDTO.java
  4. 50
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

8
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProfileDTO.java

@ -2,6 +2,8 @@ package com.epmet.dto.result;
import lombok.Data;
import java.util.List;
/**
* @Description
* @Author yzm
@ -14,6 +16,10 @@ public class IssueProfileDTO {
/**
* 来源类型 话题resi_topic直接立议题issue
*/
private String sourceType;
private String issueSourceType;
/**
* 发布议题的图片
*/
private List<String> issueImgs;
}

18
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

@ -820,13 +820,25 @@
AND GRID_ID = #{gridId}
</select>
<select id="selectIssueProfile" parameterType="map" resultType="com.epmet.dto.result.IssueProfileDTO">
<resultMap id="IssueProfileDTOMap" type="com.epmet.dto.result.IssueProfileDTO">
<id column="issueId" property="issueId" />
<result column="issueSourceType" property="issueSourceType"/>
<result column="sourceId" property="sourceId"/>
<collection property="issueImgs" ofType="java.lang.String">
<result column="url"/>
</collection>
</resultMap>
<select id="selectIssueProfile" parameterType="map" resultMap="IssueProfileDTOMap">
SELECT
i.id AS issueId,
i.SOURCE_TYPE AS sourceType,
IFNULL( i.SOURCE_ID, '' ) AS sourceId
i.SOURCE_TYPE AS issueSourceType,
IFNULL( i.SOURCE_ID, '' ) AS sourceId,
ia.url
FROM
issue i
left join issue_attachment ia
on(i.id=ia.BUSINESS_ID and ia.del_flag='0')
WHERE
i.DEL_FLAG = '0'
<foreach collection="issueIds" item="issueId" separator=" OR " open="and (" close=" )">

9
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendingResultDTO.java

@ -61,4 +61,13 @@ public class PendingResultDTO implements Serializable {
* 话题id
*/
private String topicId;
/**
* 来源类型 话题resi_topic直接立议题issue
*/
private String issueSourceType;
/**
* 发布议题的图片
*/
private List<String> issueImgs;
}

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

@ -2,6 +2,8 @@ package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
@ -28,6 +30,7 @@ import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -499,41 +502,54 @@ public class IssueServiceImpl implements IssueService {
@Override
public List<PendingResultDTO> getProcessing(ShiftProjectListFromDTO formDTO) {
//1、查询由议题转的项目,且正在处理中的
List<PendingResultDTO> resultList = govProjectOpenFeignClient.getPendingList(formDTO).getData();
Result<List<PendingResultDTO>> projectRes=govProjectOpenFeignClient.getPendingList(formDTO);
if(!projectRes.success()){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getMsg());
}
List<PendingResultDTO> resultList =projectRes.getData();
if (org.apache.commons.collections4.CollectionUtils.isEmpty(resultList)) {
return new ArrayList<>();
}
// 话题信息
HashMap<String, ResiTopicDetailResultDTO> rtm=new HashMap<>();
// 议题信息
//2、根据议题id查询话题id
List<String> issueIds = resultList.stream().map(PendingResultDTO::getIssueId).collect(Collectors.toList());
if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(issueIds)){
//根据议题id查询话题id
Result<List<IssueProfileDTO>> issueRes=govIssueOpenFeignClient.getIssueProfile(issueIds);
// 根据议题id查询话题id
Result<List<IssueProfileDTO>> issueRes = govIssueOpenFeignClient.getIssueProfile(issueIds);
if (issueRes.success() && !CollectionUtils.isEmpty(issueRes.getData())) {
// 3、如果存在议题来源于话题
List<String> topicIds = issueRes.getData().stream().filter(t->t.getSourceType().equals("resi_topic")).map(IssueProfileDTO::getSourceId).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(topicIds)){
//3.1 查询话题详情
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();
HashMap<String, ResiTopicDetailResultDTO> rtm = convertTopicDetailList2MapV2(topicDetails);
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 -> {
ResiTopicDetailResultDTO rr = rtm.get(vi.getIssueId());
vi.setTopicImgs(rr == null ? new ArrayList<>() : rr.getTopicImgs());
vi.setTopicVoices(rr == null ? new ArrayList<>() : rr.getTopicImgs());
vi.setTopicContent(rr == null ? "" : rr.getTopicContent());
vi.setLongitude(rr == null ? "" : rr.getLongitude());
vi.setLatitude(rr == null ? "" : rr.getLatitude());
vi.setTopicId(null == rr ? "" : rr.getTopicId());
vi.setTopicContent(rr == null ? StrConstant.EPMETY_STR : rr.getTopicContent());
vi.setLongitude(rr == null ? StrConstant.EPMETY_STR : rr.getLongitude());
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;
}

Loading…
Cancel
Save