Browse Source

党建园地-最新议题、项目结案接口

master
sunyuchao 5 years ago
parent
commit
14eb29ad70
  1. 1
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java
  2. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  3. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java
  4. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java
  5. 7
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java
  6. 57
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  7. 9
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  8. 3
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml
  9. 2
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml
  10. 3
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  11. 0
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/.gitkeep
  12. 10
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java
  13. 8
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
  14. 7
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
  15. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  16. 12
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml
  17. 7
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

1
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java

@ -66,4 +66,5 @@ public interface IssueConstant {
String REDIS_KEY = "epmet:issue:";
String SELECT_ISSUEPROJECTRELATION_EXCEPTION = "获取议题项目关系数据失败";
String SELECT_RESI_GROUP_EXCEPTION = "获取话题数据失败";
}

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

@ -121,7 +121,7 @@ public interface IssueDao extends BaseDao<IssueEntity> {
* @Author sun
* @Description 查询客户网格下已结案项目对应的议题列表
**/
List<IssueEntity> selectIssueList(@Param("issueIdList") List<String> issueIdList, LatestListFormDTO latestListForm);
List<IssueEntity> selectIssueList(@Param("issueIdList") List<String> issueIdList, @Param("latestListForm") LatestListFormDTO latestListForm);
/**
* @param formDTO

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java

@ -46,7 +46,7 @@ public interface IssueProjectRelationDao extends BaseDao<IssueProjectRelationEnt
* @param projectIdList
* @return
* @Author sun
* @Description 根据项目Id批量查询关联表数据
* @Description 根据项目Id批量查询议题项目关系表数据
**/
List<IssueProjectRelationEntity> selectRelationList(@Param("projectIdList") List<String> projectIdList);

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java

@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @Description 调用resi-group服务
* @Author sun
@ -59,4 +61,12 @@ public interface ResiGroupFeignClient {
@PostMapping("/resi/group/topic/checktopicpublisher")
Result<CheckTopicPublisherResultDTO> checkTopicPublisher(@RequestBody CheckTopicPublisherFormDTO formDTO);
/**
* @param topicIdList
* @Author sun
* @Description 批量查询话题信息
**/
@PostMapping("/resi/group/topic/gettopiclist/{topicIdList}")
Result<List<ResiTopicDTO>> getTopicList(@PathVariable("topicIdList") List<String> topicIdList);
}

7
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java

@ -14,6 +14,8 @@ import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO;
import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description 调用resi-group服务
* @Author sun
@ -39,4 +41,9 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient {
public Result<CheckTopicPublisherResultDTO> checkTopicPublisher(CheckTopicPublisherFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "checkTopicPublisher", formDTO);
}
@Override
public Result<List<ResiTopicDTO>> getTopicList(List<String> topicIdList) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getTopicList", topicIdList);
}
}

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

@ -27,10 +27,7 @@ import com.epmet.entity.IssueEntity;
import com.epmet.entity.IssueProcessEntity;
import com.epmet.entity.IssueProjectRelationEntity;
import com.epmet.entity.IssueVoteStatisticalEntity;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.GovProjectFeignClient;
import com.epmet.feign.MessageFeignClient;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.feign.*;
import com.epmet.redis.GovIssueRedis;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO;
@ -83,6 +80,8 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
private IssueProjectRelationService issueProjectRelationService;
@Autowired
private IssueVoteStatisticalDao issueVoteStatisticalDao;
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Override
public PageData<IssueDTO> page(Map<String, Object> params) {
@ -605,7 +604,7 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
if (null == projectIdList || projectIdList.size() < NumConstant.ONE) {
return resultList;
}
//1:根据已结案项目列表查询对应的议题列表
//1:根据已结案项目列表查询议题项目关系表数据
List<IssueProjectRelationEntity> listRelation = issueProjectRelationDao.selectRelationList(projectIdList);
if(null==listRelation||listRelation.size()<NumConstant.ONE){
throw new RenException(IssueConstant.SELECT_ISSUEPROJECTRELATION_EXCEPTION);
@ -613,7 +612,9 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
List<String> issueIdList = listRelation.stream().map(IssueProjectRelationEntity::getIssueId).collect(Collectors.toList());
//2:根据查询条件筛选出客户网格下已结案项目对应的议题详情列表
List<IssueEntity> entityList = baseDao.selectIssueList(issueIdList, formDTO.getLatestListForm());
LatestListFormDTO latestListForm = formDTO.getLatestListForm();
latestListForm.setPageNo((latestListForm.getPageNo()-NumConstant.ONE)*latestListForm.getPageSize());
List<IssueEntity> entityList = baseDao.selectIssueList(issueIdList, latestListForm);
//3:遍历封装数据
entityList.forEach(issue->{
@ -648,14 +649,56 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
if (null == entityList || entityList.size() < NumConstant.ONE) {
return returnList;
}
//2:根据议题Id查询议题投票情况
List<String> issueIdList = entityList.stream().map(IssueEntity::getId).collect(Collectors.toList());
List<IssueVoteStatisticalEntity> StatisticalList = issueVoteStatisticalDao.selectListByissueId(issueIdList);
//3:调用epmet-user服务,查询议题发起人基本信息
List<String> userIdList = entityList.stream().map(IssueEntity::getCreatedBy).collect(Collectors.toList());
UserResiInfoListFormDTO userResiInfoListFormDTO = new UserResiInfoListFormDTO();
userResiInfoListFormDTO.setUserIdList(userIdList);
Result<List<UserResiInfoResultDTO>> listResult = epmetUserFeignClient.getUserResiInfoList(userResiInfoListFormDTO);
if (!listResult.success() || null == listResult.getData()) {
throw new RenException(IssueConstant.SELECT_USERINFO_EXCEPTION);
}
List<UserResiInfoResultDTO> userInfoList = listResult.getData();
//4:调用resi-group服务,批量查询话题内容
List<String> topicIdList = entityList.stream().map(IssueEntity::getSourceId).collect(Collectors.toList());
Result<List<ResiTopicDTO>> resultTopicList = resiGroupFeignClient.getTopicList(topicIdList);
if (!resultTopicList.success() || null == resultTopicList.getData()) {
throw new RenException(IssueConstant.SELECT_RESI_GROUP_EXCEPTION);
}
List<ResiTopicDTO> topicList = resultTopicList.getData();
//5:遍历组装对象
entityList.forEach(issue -> {
LatestIssueListResultDTO resultDTO = new LatestIssueListResultDTO();
resultDTO.setIssueId(issue.getId());
resultDTO.setIssueTitle(issue.getIssueTitle());
StatisticalList.forEach(sta -> {
if (issue.getId().equals(sta.getIssueId())) {
//表达态度总人数
resultDTO.setVotedCount(sta.getSupportCount() + sta.getOppositionCount());
}
});
userInfoList.forEach(user -> {
if (issue.getCreatedBy().equals(user.getUserId())) {
//话题发起人昵称
resultDTO.setIssuePublisherName(user.getShowName());
}
});
topicList.forEach(topic -> {
if (issue.getSourceId().equals(topic.getId())) {
//话题内容
resultDTO.setTopicContent(topic.getTopicContent());
}
});
returnList.add(resultDTO);
});
return null;
return returnList;
}
}

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

@ -329,17 +329,18 @@
*
FROM issue
WHERE del_flag = '0'
AND customer_id = #{customerId}
AND grid_id = #{gridId}
AND customer_id = #{latestListForm.customerId}
AND grid_id = #{latestListForm.gridId}
<foreach item="issueId" collection="issueIdList" separator="OR" open="AND (" close=")" index="">
id = #{issueId}
</foreach>
ORDER BY field(
id,
id,
<foreach item="issueId" collection="issueIdList" separator=",">
#{issueId}
</foreach>
LIMIT #{pageNo}, #{pageSize}
)
LIMIT #{latestListForm.pageNo}, #{latestListForm.pageSize}
</select>
<select id="selectNewestIssueList" resultType="com.epmet.entity.IssueEntity">

3
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml

@ -39,10 +39,11 @@
project_id = #{projectId}
</foreach>
ORDER BY field(
project_id,
project_id,
<foreach item="projectId" collection="projectIdList" separator=",">
#{projectId}
</foreach>
)
</select>
</mapper>

2
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml

@ -73,7 +73,7 @@
SELECT
*
FROM
issue_vote_statistical_daily
issue_vote_statistical
WHERE del_flag = '0'
<foreach item="issueId" collection="issueIdList" separator="OR" open="AND (" close=")" index="">
issue_id = #{issueId}

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

@ -594,7 +594,8 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
resultList = listProject.stream().flatMap(project ->
staffList.stream().filter(staff ->
project.getCloseUserId().equals(staff.getStaffId())).map(latest -> {
LatestListResultDTO resultDTO = ConvertUtils.sourceToTarget(latest, LatestListResultDTO.class);
LatestListResultDTO resultDTO = ConvertUtils.sourceToTarget(project, LatestListResultDTO.class);
resultDTO.setCloseUserName(latest.getStaffName());
return resultDTO;
})).collect(Collectors.toList());

0
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/.gitkeep

10
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java

@ -260,4 +260,14 @@ public class ResiTopicController {
return new Result<CheckTopicPublisherResultDTO>().ok(topicService.checkTopicPublisher(formDTO));
}
/**
* @param topicIdList
* @return
* @Author sun
* @Description 批量查询话题信息
**/
@PostMapping(value = "gettopiclist/{topicIdList}")
public Result<List<ResiTopicDTO>> getTopicList(@PathVariable("topicIdList") List<String> topicIdList){
return new Result<List<ResiTopicDTO>>().ok(topicService.getTopicList(topicIdList));
}
}

8
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java

@ -152,4 +152,12 @@ public interface ResiTopicDao extends BaseDao<ResiTopicEntity> {
* @author zxc
*/
CheckTopicPublisherResultDTO checkTopicPublisher(CheckTopicPublisherFormDTO formDTO);
/**
* @param topicIdList
* @return
* @Author sun
* @Description 批量查询话题信息
**/
List<ResiTopicDTO> selectTopicListById(@Param("topicIdList") List<String> topicIdList);
}

7
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java

@ -264,4 +264,11 @@ public interface ResiTopicService extends BaseService<ResiTopicEntity> {
*/
CheckTopicPublisherResultDTO checkTopicPublisher(CheckTopicPublisherFormDTO formDTO);
/**
* @param topicIdList
* @return
* @Author sun
* @Description 批量查询话题信息
**/
List<ResiTopicDTO> getTopicList(List<String> topicIdList);
}

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

@ -1151,6 +1151,17 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
return resiTopicDao.checkTopicPublisher(formDTO);
}
/**
* @param topicIdList
* @return
* @Author sun
* @Description 批量查询话题信息
**/
@Override
public List<ResiTopicDTO> getTopicList(List<String> topicIdList) {
return baseDao.selectTopicListById(topicIdList);
}
}

12
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml

@ -446,5 +446,17 @@
AND created_by = #{createdBy}
AND id = #{topicId}
</select>
<select id="selectTopicListById" resultType="com.epmet.resi.group.dto.topic.ResiTopicDTO">
SELECT
*
FROM
resi_topic
WHERE
del_flag = '0'
<foreach item="topicId" collection="topicIdList" separator="OR" open="AND (" close=")" index="">
id = #{topicId}
</foreach>
</select>
</mapper>

7
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -1,5 +1,6 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.LatestIssueListFormDTO;
import com.epmet.dto.result.LatestIssueListResultDTO;
import com.epmet.feign.GovIssueFeignClient;
@ -27,9 +28,9 @@ public class IssueServiceImpl implements IssueService {
**/
@Override
public List<LatestIssueListResultDTO> latestList(LatestIssueListFormDTO formDTO) {
//1:调用gov-issue服务,查询客户网格下最新议题列表
return null;
//1:调用gov-issue服务,查询客户网格下最新议题列表数据
Result<List<LatestIssueListResultDTO>> listResult = govIssueFeignClient.getNewestIssueList(formDTO);
return listResult.getData();
}
}

Loading…
Cancel
Save