Browse Source

党建园地-接口首次提交

dev_shibei_match
sunyuchao 5 years ago
parent
commit
9f7eb11f3d
  1. 6
      epmet-module/gov-issue/gov-issue-client/pom.xml
  2. 0
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/.gitkeep
  3. 29
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ClosedProjectIssueListFormDTO.java
  4. 31
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/LatestIssueListFormDTO.java
  5. 0
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/.gitkeep
  6. 36
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/LatestIssueListResultDTO.java
  7. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java
  8. 36
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  9. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java
  10. 21
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  11. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java
  12. 7
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java
  13. 16
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  14. 70
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  15. 28
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  16. 18
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml
  17. 11
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml
  18. 41
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/LatestListFormDTO.java
  19. 42
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/LatestListResultDTO.java
  20. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java
  21. 13
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  22. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  23. 12
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  24. 6
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
  25. 8
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  26. 31
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  27. 14
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  28. 8
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/GroupController.java
  29. 41
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/IssueController.java
  30. 42
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/ProjectController.java
  31. 22
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/IssueService.java
  32. 21
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/ProjectService.java
  33. 35
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  34. 57
      epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  35. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java
  36. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java
  37. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java
  38. 3
      epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

6
epmet-module/gov-issue/gov-issue-client/pom.xml

@ -23,5 +23,11 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-project-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

0
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/.gitkeep

29
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ClosedProjectIssueListFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import com.epmet.dto.result.LatestListResultDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 获取客户网格下已转项目切项目已结案的议题列表-接口入参
* @Author sun
*/
@Data
public class ClosedProjectIssueListFormDTO implements Serializable {
private static final long serialVersionUID = 2599592072265715951L;
/**
* 查询条件对象
*/
private LatestListFormDTO latestListForm;
/**
* 客户下已结案项目列表
*/
private List<LatestListResultDTO> latestListResult;
}

31
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/LatestIssueListFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 党建园地-获取最新议题列表-接口入参
* @Author sun
*/
@Data
public class LatestIssueListFormDTO implements Serializable {
private static final long serialVersionUID = -2170063271034172650L;
/**
* 客户Id
*/
@NotBlank(message = "客户id不能为空")
private String customerId;
/**
* 网格Id
*/
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* 客户定制化显示几条传入几条
*/
private Integer pageSize = 3;
}

0
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/.gitkeep

36
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/LatestIssueListResultDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 党建园地-获取最新议题列表-接口入参
* @Author sun
*/
@Data
public class LatestIssueListResultDTO implements Serializable {
private static final long serialVersionUID = 9130115335145168458L;
/**
* 议题id
*/
private String issueId = "";
/**
* 议题标题
*/
private String issueTitle = "";
/**
* 议题发起人XX路-XX先生
*/
private String issuePublisherName = "";
/**
* 话题内容
*/
private String topicContent = "";
/**
* 表达态度总人数
*/
private Integer votedCount = 0;
}

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

@ -64,4 +64,6 @@ public interface IssueConstant {
String OPPOSE = "opposition";
String REDIS_KEY = "epmet:issue:";
String SELECT_ISSUEPROJECTRELATION_EXCEPTION = "获取议题项目关系数据失败";
}

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

@ -4,24 +4,15 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dto.form.*;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.result.ClosedIssueListResultDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.GridIdResultDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.result.VotingIssueListResultDTO;
import com.epmet.dto.result.*;
import com.epmet.excel.IssueExcel;
import com.epmet.dto.result.ShiftProjectListResultDTO;
import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -124,5 +115,28 @@ public class IssueController {
public Result<GridIdResultDTO> selectGridIdByIssueId(@RequestBody IssueIdFormDTO issueId){
return new Result<GridIdResultDTO>().ok(issueService.selectGridIdByIssueId(issueId));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户网格下已转项目且项目已结案的议题列表
**/
@PostMapping("getclosedprojectissuelist")
public Result<List<LatestListResultDTO>> getClosedProjectIssueList(@RequestBody ClosedProjectIssueListFormDTO formDTO){
return new Result<List<LatestListResultDTO>>().ok(issueService.getClosedProjectIssueList(formDTO));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户网格下最新议题列表
**/
@PostMapping("getnewestissuelist")
public Result<List<LatestIssueListResultDTO>> getNewestIssueList(@RequestBody LatestIssueListFormDTO formDTO){
return new Result<List<LatestIssueListResultDTO>>().ok(issueService.getNewestIssueList(formDTO));
}
}

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java

@ -160,7 +160,7 @@ public class IssueManageController {
* @Description 议题管理-议题转项目
**/
@PostMapping("shiftproject")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT)
// @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT)
public Result shiftProject(@LoginUser TokenDto tokenDTO, @RequestBody ShiftProjectFormDTO formDTO) {
formDTO.setStaffId(tokenDTO.getUserId());
ValidatorUtils.validateEntity(formDTO);

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

@ -19,10 +19,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.ShiftProjectListFromDTO;
import com.epmet.dto.form.VoteFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.ClosedIssueListGovResultDTO;
import com.epmet.dto.result.ClosedIssueListResultDTO;
import com.epmet.dto.result.IssueResultDTO;
@ -117,4 +114,20 @@ public interface IssueDao extends BaseDao<IssueEntity> {
* @date 2020.05.19 15:00
**/
List<IssuesToBeCountedResultDTO> getIssueVotingStatistical();
/**
* @param issueIdList,customerId,gridId
* @return
* @Author sun
* @Description 查询客户网格下已结案项目对应的议题列表
**/
List<IssueEntity> selectIssueList(@Param("issueIdList") List<String> issueIdList, LatestListFormDTO latestListForm);
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户网格下最新议题列表
**/
List<IssueEntity> selectNewestIssueList(LatestIssueListFormDTO formDTO);
}

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

@ -22,6 +22,8 @@ import com.epmet.entity.IssueProjectRelationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 议题项目关系表
*
@ -40,4 +42,12 @@ public interface IssueProjectRelationDao extends BaseDao<IssueProjectRelationEnt
**/
String selectProjectIdByIssueId(@Param("issueId") String issueId);
/**
* @param projectIdList
* @return
* @Author sun
* @Description 根据项目Id批量查询关联表数据
**/
List<IssueProjectRelationEntity> selectRelationList(@Param("projectIdList") List<String> projectIdList);
}

7
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java

@ -66,4 +66,11 @@ public interface IssueVoteStatisticalDao extends BaseDao<IssueVoteStatisticalEnt
*/
List<PolyLineDTO> polyLineData(IssueIdFormDTO issueId);
/**
* @param issueIdList
* @return
* @Author sun
* @Description 根据议题Id查询议题投票情况
**/
List<IssueVoteStatisticalEntity> selectListByissueId(@Param("issueIdList") List<String> issueIdList);
}

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

@ -197,4 +197,20 @@ public interface IssueService extends BaseService<IssueEntity> {
* @date 2020.05.14 10:33
**/
List<ClosedIssueListGovResultDTO> closedListGov(CommonIssueListFormDTO issueListForm);
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户网格下已转项目切项目已结案的议题列表
**/
List<LatestListResultDTO> getClosedProjectIssueList(ClosedProjectIssueListFormDTO formDTO);
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户网格下最新议题列表
**/
List<LatestIssueListResultDTO> getNewestIssueList(LatestIssueListFormDTO formDTO);
}

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

@ -17,6 +17,7 @@ import com.epmet.constant.UserMessageConstant;
import com.epmet.dao.IssueDao;
import com.epmet.dao.IssueProcessDao;
import com.epmet.dao.IssueProjectRelationDao;
import com.epmet.dao.IssueVoteStatisticalDao;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.IssueProcessDTO;
import com.epmet.dto.IssueVoteStatisticalDTO;
@ -25,6 +26,7 @@ import com.epmet.dto.result.*;
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;
@ -79,6 +81,8 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
private IssueVoteStatisticalService issueVoteStatisticalService;
@Autowired
private IssueProjectRelationService issueProjectRelationService;
@Autowired
private IssueVoteStatisticalDao issueVoteStatisticalDao;
@Override
public PageData<IssueDTO> page(Map<String, Object> params) {
@ -588,4 +592,70 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return baseDao.selectClosedListGov(issueListForm);
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户网格下已转项目切项目已结案的议题列表
**/
@Override
public List<LatestListResultDTO> getClosedProjectIssueList(ClosedProjectIssueListFormDTO formDTO) {
List<LatestListResultDTO> resultList = new ArrayList<>();
List<String> projectIdList = formDTO.getLatestListResult().stream().map(LatestListResultDTO::getProjectId).collect(Collectors.toList());
if (null == projectIdList || projectIdList.size() < NumConstant.ONE) {
return resultList;
}
//1:根据已结案项目列表查询对应的议题列表
List<IssueProjectRelationEntity> listRelation = issueProjectRelationDao.selectRelationList(projectIdList);
if(null==listRelation||listRelation.size()<NumConstant.ONE){
throw new RenException(IssueConstant.SELECT_ISSUEPROJECTRELATION_EXCEPTION);
}
List<String> issueIdList = listRelation.stream().map(IssueProjectRelationEntity::getIssueId).collect(Collectors.toList());
//2:根据查询条件筛选出客户网格下已结案项目对应的议题详情列表
List<IssueEntity> entityList = baseDao.selectIssueList(issueIdList, formDTO.getLatestListForm());
//3:遍历封装数据
entityList.forEach(issue->{
listRelation.forEach(relation->{
if(relation.getIssueId().equals(issue.getId())){
formDTO.getLatestListResult().forEach(project->{
if(relation.getProjectId().equals(project.getProjectId())){
LatestListResultDTO latest = ConvertUtils.sourceToTarget(project, LatestListResultDTO.class);
latest.setIssueId(issue.getId());
latest.setIssueTitle(issue.getIssueTitle());
resultList.add(latest);
}
});
}
});
});
return resultList;
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户网格下最新议题列表
**/
@Override
public List<LatestIssueListResultDTO> getNewestIssueList(LatestIssueListFormDTO formDTO) {
List<LatestIssueListResultDTO> returnList = new ArrayList<>();
//1:获取客户网格下最新议题列表
List<IssueEntity> entityList = baseDao.selectNewestIssueList(formDTO);
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());
return null;
}
}

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

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

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

@ -27,4 +27,22 @@
ISSUE_ID = #{issueId}
</select>
<select id="selectRelationList" resultType="com.epmet.entity.IssueProjectRelationEntity">
SELECT
id,
issue_id,
project_id
FROM
issue_project_relation
WHERE del_flag = '0'
<foreach item="projectId" collection="projectIdList" separator="OR" open="AND (" close=")" index="">
project_id = #{projectId}
</foreach>
ORDER BY field(
project_id,
<foreach item="projectId" collection="projectIdList" separator=",">
#{projectId}
</foreach>
</select>
</mapper>

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

@ -69,4 +69,15 @@
ORDER BY statistical_date ASC
</select>
<select id="selectListByissueId" resultType="com.epmet.entity.IssueVoteStatisticalEntity">
SELECT
*
FROM
issue_vote_statistical_daily
WHERE del_flag = '0'
<foreach item="issueId" collection="issueIdList" separator="OR" open="AND (" close=")" index="">
issue_id = #{issueId}
</foreach>
</select>
</mapper>

41
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/LatestListFormDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 党建园地-结案项目-接口入参
* @Author sun
*/
@Data
public class LatestListFormDTO implements Serializable {
private static final long serialVersionUID = 4859779755214502427L;
/**
* 客户Id
*/
@NotBlank(message = "客户Id不能为空")
private String customerId;
/**
* 网格Id
*/
@NotBlank(message = "网格Id不能为空")
private String gridId;
/**
* 请求页面
*/
@Min(1)
private Integer pageNo;
/**
* 每页多少条数据
*/
private Integer pageSize = 3;
}

42
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/LatestListResultDTO.java

@ -0,0 +1,42 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 党建园地-结案项目-接口返参
* @Author sun
*/
@Data
public class LatestListResultDTO implements Serializable {
private static final long serialVersionUID = 5957826616179876849L;
/**
* 议题id
*/
private String issueId = "";
/**
* 议题标题
*/
private String issueTitle = "";
/**
* 项目id
*/
private String projectId = "";
/**
* 结案说明
*/
private String publicReply = "";
/**
* 结案人名称实名显示
*/
private String closeUserName = "";
/**
* 结案人Id
*/
private String closeUserId = "";
}

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java

@ -109,4 +109,8 @@ public interface ProjectConstant {
* 政府端
*/
String GOV = "gov";
/**
* 调用epmet-user服务获取工作人员信息失败
*/
String SELECT_STAFF_EXCEPTION = "获取工作人员信息失败";
}

13
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java

@ -26,9 +26,11 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.ShiftProjectFormDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.IssueProjectResultDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.excel.ProjectExcel;
import com.epmet.service.ProjectService;
@ -119,4 +121,15 @@ public class ProjectController {
return new Result<IssueProjectResultDTO>().ok(projectService.issueShiftProject(formDTO));
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户下已结案项目列表按结案时间倒序
**/
@PostMapping("getclosedprojectlist")
public Result<List<LatestListResultDTO>> getClosedProjectList(@RequestBody LatestListFormDTO formDTO) {
return new Result<List<LatestListResultDTO>>().ok(projectService.getClosedProjectList(formDTO));
}
}

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

@ -19,8 +19,10 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.dto.result.ProjectDetailResultDTO;
import com.epmet.entity.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
@ -94,4 +96,11 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
*/
List<ProjectDTO> selectShiftProjectList(ShiftProjectsFromDTO fromDTO);
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户下已结案项目列表按结案时间倒序
**/
List<LatestListResultDTO> selectClosedProjectList(LatestListFormDTO formDTO);
}

12
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -5,10 +5,13 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.CustomerStaffListResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffListResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.feign.fallback.EpmetUserFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -48,4 +51,13 @@ public interface EpmetUserFeignClient {
**/
@PostMapping(value = "epmetuser/customerstaff/getstaffinfobyuserid")
Result<CustomerStaffDTO> getCustomerStaffInfoByUserId(@RequestBody CustomerStaffDTO formDTO);
/**
* @param staffIdList
* @return
* @Author sun
* @Description 批量查询工作人员基础信息
**/
@PostMapping(value = "epmetuser/customerstaff/getstafflistbyids", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<StaffListResultDTO>> getStaffListByIds(@RequestBody List<String> staffIdList);
}

6
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java

@ -7,6 +7,7 @@ import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffListResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.feign.EpmetUserFeignClient;
import org.springframework.stereotype.Component;
@ -34,4 +35,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
public Result<CustomerStaffDTO> getCustomerStaffInfoByUserId(CustomerStaffDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "CustomerStaffDTO", formDTO);
}
@Override
public Result<List<StaffListResultDTO>> getStaffListByIds(List<String> staffIdList) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffListByIds", staffIdList);
}
}

8
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

@ -170,4 +170,12 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @Description 议题转项目-项目各业务表初始化数据
**/
IssueProjectResultDTO issueShiftProject(ShiftProjectFormDTO formDTO);
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户下已结案项目列表按结案时间倒序
**/
List<LatestListResultDTO> getClosedProjectList(LatestListFormDTO formDTO);
}

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

@ -570,4 +570,35 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return issueProjectResultDTO;
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户下已结案项目列表按结案时间倒序
**/
@Override
public List<LatestListResultDTO> getClosedProjectList(LatestListFormDTO formDTO) {
List<LatestListResultDTO> resultList = new ArrayList<>();
//1:查询客户下已结案项目列表
List<LatestListResultDTO> listProject = baseDao.selectClosedProjectList(formDTO);
if(null==listProject||listProject.size()<NumConstant.ONE){
return resultList;
}
List<String> staffIdList = listProject.stream().map(LatestListResultDTO::getCloseUserId).collect(Collectors.toList());
//2:调用epmet-user服务,查询结案人员真实姓名
Result<List<StaffListResultDTO>> listResult = epmetUserFeignClient.getStaffListByIds(staffIdList);
if (!listResult.success() || null == listResult.getData()) {
throw new RenException(ProjectConstant.SELECT_STAFF_EXCEPTION);
}
List<StaffListResultDTO> staffList = listResult.getData();
resultList = listProject.stream().flatMap(project ->
staffList.stream().filter(staff ->
project.getCloseUserId().equals(staff.getStaffId())).map(latest -> {
LatestListResultDTO resultDTO = ConvertUtils.sourceToTarget(latest, LatestListResultDTO.class);
return resultDTO;
})).collect(Collectors.toList());
return resultList;
}
}

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

@ -149,5 +149,19 @@
ORDER BY CREATED_TIME ASC
</select>
<select id="selectClosedProjectList" resultType="com.epmet.dto.result.LatestListResultDTO">
SELECT
p.id AS "projectId",
pro.public_reply AS "publicReply",
pro.created_by AS "closeUserId"
FROM project p
INNER JOIN project_process pro ON p.id = pro.project_id
WHERE p.del_flag = '0'
AND pro.del_flag = '0'
AND p.customer_id = #{customerId}
AND p.`status` = 'closed'
AND pro.operation = 'close'
ORDER BY p.created_time DESC
</select>
</mapper>

8
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/GroupController.java

@ -1,15 +1,7 @@
package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.DemoTestFormDTO;
import com.epmet.service.GroupService;
import com.epmet.service.IssueService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

41
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/IssueController.java

@ -0,0 +1,41 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.LatestIssueListFormDTO;
import com.epmet.dto.result.LatestIssueListResultDTO;
import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @dscription 党建园地-议题Controller
* @author sun
*/
@RestController
@RequestMapping("issue")
public class IssueController {
@Autowired
private IssueService issueService;
/**
* @param formDTO
* @return
* @Author sun
* @Description 党建园地-最新议题
**/
@PostMapping("latestlist")
public Result<List<LatestIssueListResultDTO>> latestList(@LoginUser TokenDto tokenDTO, @RequestBody LatestIssueListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<LatestIssueListResultDTO>>().ok(issueService.latestList(formDTO));
}
}

42
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/ProjectController.java

@ -0,0 +1,42 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.service.ProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @dscription 党建园地-项目Controller
* @author sun
*/
@RestController
@RequestMapping("project")
public class ProjectController {
@Autowired
private ProjectService projectService;
/**
* @param formDTO
* @return
* @Author sun
* @Description 党建园地-结案项目
**/
@PostMapping("latestlist")
public Result<List<LatestListResultDTO>> latestList(@LoginUser TokenDto tokenDTO, @RequestBody LatestListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<LatestListResultDTO>>().ok(projectService.latestList(formDTO));
}
}

22
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/IssueService.java

@ -0,0 +1,22 @@
package com.epmet.service;
import com.epmet.dto.form.LatestIssueListFormDTO;
import com.epmet.dto.result.LatestIssueListResultDTO;
import java.util.List;
/**
* @dscription 党建园地-议题Service
* @author sun
*/
public interface IssueService {
/**
* @param formDTO
* @return
* @Author sun
* @Description 党建园地-最新议题
**/
List<LatestIssueListResultDTO> latestList(LatestIssueListFormDTO formDTO);
}

21
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/ProjectService.java

@ -0,0 +1,21 @@
package com.epmet.service;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.result.LatestListResultDTO;
import java.util.List;
/**
* @dscription 党建园地-项目Service
* @author sun
*/
public interface ProjectService {
/**
* @param formDTO
* @return
* @Author sun
* @Description 党建园地-结案项目
**/
List<LatestListResultDTO> latestList(LatestListFormDTO formDTO);
}

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

@ -0,0 +1,35 @@
package com.epmet.service.impl;
import com.epmet.dto.form.LatestIssueListFormDTO;
import com.epmet.dto.result.LatestIssueListResultDTO;
import com.epmet.feign.GovIssueFeignClient;
import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @dscription 党建园地-议题ServiceImpl
* @author sun
*/
@Service
public class IssueServiceImpl implements IssueService {
@Autowired
private GovIssueFeignClient govIssueFeignClient;
/**
* @param formDTO
* @return
* @Author sun
* @Description 党建园地-最新议题
**/
@Override
public List<LatestIssueListResultDTO> latestList(LatestIssueListFormDTO formDTO) {
//1:调用gov-issue服务,查询客户网格下最新议题列表
return null;
}
}

57
epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -0,0 +1,57 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.ProjectConstant;
import com.epmet.dto.form.ClosedProjectIssueListFormDTO;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.feign.GovIssueFeignClient;
import com.epmet.feign.GovProjectFeignClient;
import com.epmet.service.ProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @dscription 党建园地-项目ServiceImpl
* @author sun
*/
@Service
public class ProjectServiceImpl implements ProjectService {
@Autowired
private GovProjectFeignClient govProjectFeignClient;
@Autowired
private GovIssueFeignClient govIssueFeignClient;
/**
* @param formDTO
* @return
* @Author sun
* @Description 党建园地-结案项目
**/
@Override
public List<LatestListResultDTO> latestList(LatestListFormDTO formDTO) {
//1:调用gov-project服务,查询客户已结案项目列表
Result<List<LatestListResultDTO>> listResult = govProjectFeignClient.getClosedProjectList(formDTO);
if (!listResult.success()){
throw new RenException(ProjectConstant.SELECT_PROJECT_EXCEPTION);
}
if (null == listResult.getData()){
return new ArrayList<>();
}
//2:调用gov-issue服务,获取客户网格下已转项目且项目已结案的议题列表
ClosedProjectIssueListFormDTO closedProjectIssueListFormDTO = new ClosedProjectIssueListFormDTO();
closedProjectIssueListFormDTO.setLatestListForm(formDTO);
closedProjectIssueListFormDTO.setLatestListResult(listResult.getData());
Result<List<LatestListResultDTO>> resultList = govIssueFeignClient.getClosedProjectIssueList(closedProjectIssueListFormDTO);
if (!resultList.success() || null == resultList.getData()) {
throw new RenException(ProjectConstant.SELECT_ISSUE_EXCEPTION);
}
return resultList.getData();
}
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerStaffController.java

@ -280,4 +280,15 @@ public class CustomerStaffController {
public Result<CustomerStaffListResultDTO> getCustomerStaffList(@RequestBody List<String> staffIdList){
return new Result<CustomerStaffListResultDTO>().ok(customerStaffService.getCustomerStaffList(staffIdList));
}
/**
* @param staffIdList
* @return
* @Author sun
* @Description 批量查询工作人员基础信息
**/
@PostMapping(value = "getstafflistbyids")
public Result<List<StaffListResultDTO>> getStaffListByIds(@RequestBody List<String> staffIdList){
return new Result<List<StaffListResultDTO>>().ok(customerStaffService.getStaffListByIds(staffIdList));
}
}

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerStaffService.java

@ -231,4 +231,12 @@ public interface CustomerStaffService extends BaseService<CustomerStaffEntity> {
* @Description 根据staffId集合查询工作人员基础信息
**/
CustomerStaffListResultDTO getCustomerStaffList(List<String> staffIdList);
/**
* @param staffIdList
* @return
* @Author sun
* @Description 批量查询工作人员基础信息
**/
List<StaffListResultDTO> getStaffListByIds(List<String> staffIdList);
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java

@ -440,4 +440,15 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl<CustomerStaffDao,
return list;
}
/**
* @param staffIdList
* @return
* @Author sun
* @Description 批量查询工作人员基础信息
**/
@Override
public List<StaffListResultDTO> getStaffListByIds(List<String> staffIdList) {
return baseDao.selectStaffByIds(staffIdList);
}
}

3
epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml

@ -189,8 +189,7 @@
customer_staff
WHERE
del_flag = '0'
AND
<foreach item="userId" collection="staffIdList" separator="or" open="(" close=")" index="">
<foreach item="userId" collection="staffIdList" separator="OR" open="AND (" close=")" index="">
user_id = #{userId}
</foreach>
</select>

Loading…
Cancel
Save