Browse Source

议事厅-处理中列表接口调整

dev
yinzuomei 3 years ago
parent
commit
b9fab93c9d
  1. 19
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProfileDTO.java
  2. 8
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java
  3. 11
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java
  4. 13
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  5. 6
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  6. 6
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  7. 21
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  8. 14
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  9. 35
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PendingResultDTO.java
  10. 8
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  11. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  12. 25
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  13. 2
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java
  14. 1
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  15. 3
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java
  16. 3
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java
  17. 69
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

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

@ -0,0 +1,19 @@
package com.epmet.dto.result;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2022/10/8 12:58
*/
@Data
public class IssueProfileDTO {
private String issueId;
private String sourceId;
/**
* 来源类型 话题resi_topic直接立议题issue
*/
private String sourceType;
}

8
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java

@ -395,4 +395,12 @@ public interface GovIssueOpenFeignClient {
@PostMapping(value = "/gov/issue/issueprojectcategorydict/first/{customerId}")
Result<List<IssueProjectCategoryDictDTO>> queryFirstCategory(@PathVariable("customerId") String customerId);
/**
* 根据议题ids查询议题简要信息
* @param issueIds
* @return
*/
@PostMapping("/gov/issue/issue/getIssueProfile")
Result<List<IssueProfileDTO>> getIssueProfile(@RequestBody List<String> issueIds);
}

11
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java

@ -332,5 +332,16 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryFirstCategory", customerId);
}
/**
* 根据议题ids查询议题简要信息
*
* @param issueIds
* @return
*/
@Override
public Result<List<IssueProfileDTO>> getIssueProfile(List<String> issueIds) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getIssueProfile", issueIds);
}
}

13
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java

@ -13,6 +13,7 @@ import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO;
import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import com.epmet.service.IssueService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -341,5 +342,17 @@ public class IssueController {
return new Result();
}
/**
* 根据议题ids查询议题简要信息
* @param issueIds
* @return
*/
@PostMapping("getIssueProfile")
public Result<List<IssueProfileDTO>> getIssueProfile(@RequestBody List<String> issueIds) {
if (CollectionUtils.isEmpty(issueIds)) {
return new Result<>();
}
return new Result<List<IssueProfileDTO>>().ok(issueService.getIssueProfile(issueIds));
}
}

6
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -308,4 +308,10 @@ public interface IssueDao extends BaseDao<IssueEntity> {
*/
Integer selectAuditIssue(@Param("gridId")String gridId);
/**
* 根据议题ids查询议题简要信息
* @param issueIds
* @return
*/
List<IssueProfileDTO> selectIssueProfile(@Param("issueIds") List<String> issueIds);
}

6
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java

@ -386,4 +386,10 @@ public interface IssueService extends BaseService<IssueEntity> {
void createIssue(IssueDTO issueDTO);
/**
* 根据议题ids查询议题简要信息
* @param issueIds
* @return
*/
List<IssueProfileDTO> getIssueProfile(List<String> issueIds);
}

21
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -217,13 +217,6 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
//议题信息
IssueResultDTO issueResult = issueDao.issueDetail(issueDetail);
if (null != issueResult && StringUtils.isNotBlank(issueResult.getGridId())) {
/*BelongGridNameFormDTO formDTO = new BelongGridNameFormDTO();
formDTO.setGridId(issueResult.getGridId());
Result<BelongGridNameResultDTO> result = govOrgOpenFeignClient.getGridNameByGridId(formDTO);
logger.info("根据网格id查询网格名称接口返参:" + JSON.toJSONString(result));
if (result.success() && null != result.getData()) {
issueResult.setGridName(result.getData().getBelongsGridName());
}*/
GridInfoCache gridInfoCache = CustomerOrgRedis.getGridInfo(issueResult.getGridId());
issueResult.setGridName(null != gridInfoCache ? gridInfoCache.getGridNamePath() : StrConstant.EPMETY_STR);
}
@ -1895,4 +1888,18 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
issueAttachmentService.insertBatch(list);
}
}
/**
* 根据议题ids查询议题简要信息
*
* @param issueIds
* @return
*/
@Override
public List<IssueProfileDTO> getIssueProfile(List<String> issueIds) {
if(CollectionUtils.isEmpty(issueIds)){
return new ArrayList<>();
}
return baseDao.selectIssueProfile(issueIds);
}
}

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

@ -819,4 +819,18 @@
AND APPLY_STATUS = 'under_auditing'
AND GRID_ID = #{gridId}
</select>
<select id="selectIssueProfile" parameterType="map" resultType="com.epmet.dto.result.IssueProfileDTO">
SELECT
i.id AS issueId,
i.SOURCE_TYPE AS sourceType,
IFNULL( i.SOURCE_ID, '' ) AS sourceId
FROM
issue i
WHERE
i.DEL_FLAG = '0'
<foreach collection="issueIds" item="issueId" separator=" OR " open="and (" close=" )">
i.ID = #{issueId}
</foreach>
</select>
</mapper>

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

@ -1,6 +1,5 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -20,14 +19,46 @@ public class PendingResultDTO implements Serializable {
private static final long serialVersionUID = 2545519820222637112L;
private String issueId;
private String issueTitle;
/**
* 议题转成项目时间
*/
private Long issueShiftedTime;
/**
* 话题内容
*/
private String topicContent;
/**
* 当前处理部门名称数组
*/
private List<String> currentHandleDepartMent;
/**
* 话题语音url列表
*/
private List<String> topicVoices;
/**
* 话题内容
*/
private List<String> topicImgs;
/**
* 项目的来源Id(话题或议题Id)
* sourceId=议题id
*/
private String sourceId;
@JsonIgnore
// @JsonIgnore
private String projectId;
private String longitude;
private String latitude;
/**
* 项目来源
* 来源议题 issue
* 项目立项 agency
* 旧版事件上报 resi_event
* 工作人员上报(巡查) work_event
* 新版事件上报 ic_event
*/
private String projectOrigin;
/**
* 话题id
*/
private String topicId;
}

8
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java

@ -189,6 +189,14 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
*/
List<PendingResultDTO> selectPendingListByGrid(@Param("gridId")String gridId);
/**
* 居民端议事厅-处理中列表
* 查询的是已经转项目的议题这里是查询来源于议题的项目
* @param gridId
* @return
*/
List<PendingResultDTO> selectPendingListByGridV2(@Param("gridId")String gridId);
/**
* 获取党建声音已结案列表
* @author zhaoqifeng

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -2883,8 +2883,10 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
*/
@Override
public List<PendingResultDTO> getPendingList(ShiftProjectListFromDTO fromDTO) {
// PageInfo<PendingResultDTO> result =
// PageHelper.startPage(fromDTO.getPageNo(), fromDTO.getPageSize(), fromDTO.getIsPage()).doSelectPageInfo(() -> baseDao.selectPendingListByGrid(fromDTO.getGridId()));
PageInfo<PendingResultDTO> result =
PageHelper.startPage(fromDTO.getPageNo(), fromDTO.getPageSize(), fromDTO.getIsPage()).doSelectPageInfo(() -> baseDao.selectPendingListByGrid(fromDTO.getGridId()));
PageHelper.startPage(fromDTO.getPageNo(), fromDTO.getPageSize(), fromDTO.getIsPage()).doSelectPageInfo(() -> baseDao.selectPendingListByGridV2(fromDTO.getGridId()));
if (CollectionUtils.isNotEmpty(result.getList())) {
result.getList().forEach(item -> {
ProjectDTO dto = new ProjectDTO();

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

@ -336,6 +336,31 @@
AND a.ORIGIN = 'issue'
ORDER BY a.CREATED_TIME DESC
</select>
<!-- 居民端议事厅-处理中列表 原来调用的selectPendingListByGrid -->
<!-- 查询的是已经转项目的议题,这里是查询来源于议题的项目 -->
<select id="selectPendingListByGridV2" parameterType="map" resultType="com.epmet.dto.result.PendingResultDTO">
SELECT
a.ID AS projectId,
a.ORIGIN_ID AS issueId,
a.TITLE AS issueTitle,
UNIX_TIMESTAMP(a.CREATED_TIME) AS issueShiftedTime,
b.SOURCE_ID AS sourceId,
a.ORIGIN as projectOrigin
FROM
project a
INNER JOIN project_related_personnel b
ON (a.ID = b.PROJECT_ID
AND b.SOURCE_TYPE = 'issue'
AND b.GRID_ID = #{gridId}
)
WHERE
a.DEL_FLAG = '0'
AND a.`STATUS` = 'pending'
AND a.ORIGIN = 'issue'
ORDER BY a.CREATED_TIME DESC
</select>
<select id="selectResolvedListByGrid" resultType="com.epmet.dto.result.ResolvedResultDTO">
SELECT
a.ORIGIN_ID AS issueId,

2
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java

@ -67,5 +67,5 @@ public class ResiTopicDetailResultDTO implements Serializable {
private String longitude;
private String latitude;
private String issueId;
}

1
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -2896,6 +2896,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
topicDTO.setTopicVoices(getTopicAttachmentUrls(topic.getId(), "voice"));
topicDTO.setLongitude(topic.getLongitude());
topicDTO.setLatitude(topic.getDimension());
topicDTO.setIssueId(topic.getIssueId());
topicListDTOS.add(topicDTO);
});

3
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java

@ -233,7 +233,7 @@ public class IssueController {
}
/**
* 处理中列表
* 居民端议事厅-处理中列表
* @author zhaoqifeng
* @date 2021/7/27 17:50
* @param fromDTO
@ -246,6 +246,7 @@ public class IssueController {
/**
* 已结案列表
* 居民端议事厅-已处理-已结案列表议题已转项目且项目结案选择已解决
* @author zhaoqifeng
* @date 2021/7/27 17:50
* @param fromDTO

3
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java

@ -129,7 +129,7 @@ public interface IssueService {
List<ClosedIssueListResultDTO> getClosedList(CommonIssueListFormDTO issueListFormDTO);
/**
* 处理中项目列表
* 居民端议事厅-处理中项目列表
* @author zhaoqifeng
* @date 2021/7/26 17:46
* @param formDTO
@ -140,6 +140,7 @@ public interface IssueService {
/**
* 已结案项目列表
* 居民端议事厅-已处理-已结案列表议题已转项目且项目结案选择已解决
* @author zhaoqifeng
* @date 2021/7/27 15:51
* @param formDTO

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

@ -444,6 +444,21 @@ public class IssueServiceImpl implements IssueService {
return hm;
}
/**
* 议题id作为key
* @param topicDetails
* @return
*/
private HashMap<String, ResiTopicDetailResultDTO> convertTopicDetailList2MapV2(List<ResiTopicDetailResultDTO> topicDetails) {
HashMap<String, ResiTopicDetailResultDTO> hm = new HashMap<>();
topicDetails.stream().forEach(t -> {
if(StringUtils.isNotBlank(t.getIssueId())){
hm.put(t.getIssueId(), t);
}
});
return hm;
}
@Override
public List<ClosedIssueListResultDTO> getClosedList(CommonIssueListFormDTO issueListFormDTO) {
Result<List<ClosedIssueListResultDTO>> result = govIssueFeignClient.closedList(issueListFormDTO);
@ -474,7 +489,7 @@ public class IssueServiceImpl implements IssueService {
}
/**
* 处理中项目列表
* 居民端议事厅-处理中项目列表
*
* @param formDTO
* @return java.util.List<com.epmet.dto.result.ShiftProjectListResultDTO>
@ -483,36 +498,48 @@ public class IssueServiceImpl implements IssueService {
*/
@Override
public List<PendingResultDTO> getProcessing(ShiftProjectListFromDTO formDTO) {
//1、查询由议题转的项目,且正在处理中的
List<PendingResultDTO> resultList = govProjectOpenFeignClient.getPendingList(formDTO).getData();
if (org.apache.commons.collections4.CollectionUtils.isEmpty(resultList)) {
return new ArrayList<>();
}
//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);
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 查询话题详情
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);
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());
});
}
}
List<String> topicIds = resultList.stream().map(PendingResultDTO::getSourceId).collect(Collectors.toList());
TopicDetailBatchFormDTO form = new TopicDetailBatchFormDTO();
form.setTopicIdList(topicIds);
Result<List<ResiTopicDetailResultDTO>> topicDetailsResult = resiGroupOpenFeignClient.listTopicDetailsByIds(form);
if (!topicDetailsResult.success()) {
logger.error("调用resi-group批量查询详情失败");
} else {
List<ResiTopicDetailResultDTO> topicDetails = topicDetailsResult.getData();
HashMap<String, ResiTopicDetailResultDTO> rtm = convertTopicDetailList2Map(topicDetails);
resultList.forEach(vi -> {
ResiTopicDetailResultDTO rr = rtm.get(vi.getSourceId());
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());
});
}
}
}
return resultList;
}
/**
* 居民端议事-已处理-已结案项目列表 就是议题转项目并且已解决的
*
* 居民端议事-已处理-已结案项目列表
* 居民端议事厅-已处理-已结案列表议题已转项目且项目结案选择已解决
* @param formDTO
* @return java.util.List<com.epmet.dto.result.ResolvedResultDTO>
* @author zhaoqifeng

Loading…
Cancel
Save