From 17de9a66a5094cd61873f6833c8638f1c1e8da88 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 14 May 2020 14:37:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9B=B8=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/ShiftProjectListFromDTO.java | 28 ++ .../dto/result/ShiftProjectListResultDTO.java | 41 +++ .../gov-issue/gov-issue-server/pom.xml | 6 + .../com/epmet/controller/IssueController.java | 14 + .../controller/IssueManageController.java | 17 ++ .../src/main/java/com/epmet/dao/IssueDao.java | 12 + .../epmet/feign/GovProjectFeignClient.java | 30 ++ .../GovProjectFeignClientFallBack.java | 24 ++ .../java/com/epmet/service/IssueService.java | 11 + .../epmet/service/impl/IssueServiceImpl.java | 289 ++++++++++-------- .../src/main/resources/mapper/IssueDao.xml | 11 + .../epmet/dto/form/ShiftProjectsFromDTO.java | 20 ++ .../dto/result/ShiftProjectResultDTO.java | 53 ++++ .../epmet/controller/ProjectController.java | 15 + .../controller/ProjectTraceController.java | 22 ++ .../main/java/com/epmet/dao/ProjectDao.java | 11 +- .../epmet/service/ProjectProcessService.java | 4 + .../com/epmet/service/ProjectService.java | 19 +- .../epmet/service/ProjectTraceService.java | 11 + .../service/impl/ProjectServiceImpl.java | 14 + .../service/impl/ProjectTraceServiceImpl.java | 13 + .../src/main/resources/mapper/ProjectDao.xml | 15 + .../resi-hall/resi-hall-server/pom.xml | 6 + .../com/epmet/controller/IssueController.java | 11 + .../com/epmet/feign/GovIssueFeignClient.java | 12 + .../fallback/GovIssueFeignClientFallBack.java | 5 + .../java/com/epmet/service/IssueService.java | 9 + .../epmet/service/impl/IssueServiceImpl.java | 57 ++-- 28 files changed, 616 insertions(+), 164 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ShiftProjectsFromDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java new file mode 100644 index 0000000000..d7e4cd1801 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectListFromDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/13 16:14 + */ +@Data +public class ShiftProjectListFromDTO implements Serializable { + + private static final long serialVersionUID = -1132054225167531812L; + /** + * 网格Id + */ + private String gridId; + /** + * 当前页 + */ + private Integer pageNo; + /** + * 每页记录数 + */ + private Integer pageSize; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java new file mode 100644 index 0000000000..28cc52de44 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ShiftProjectListResultDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/13 16:16 + */ +@Data +public class ShiftProjectListResultDTO implements Serializable { + private static final long serialVersionUID = -8616067919204282328L; + /** + * 议题Id + */ + private String issueId; + /** + * 议题标题 + */ + private String issueTitle; + /** + * 转成项目时间 + */ + private Long shiftedTime; + /** + * 项目状态 + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; + /** + * 当前处理部门 + */ + private List departmentNameList; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index 5b96083d17..227953a498 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -78,6 +78,12 @@ 2.0.0 compile + + com.epmet + gov-project-client + 2.0.0 + compile + diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index 506a70ec9d..560374baa2 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java @@ -2,8 +2,10 @@ package com.epmet.controller; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.ShiftProjectListFromDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.IssueResultDTO; +import com.epmet.dto.result.ShiftProjectListResultDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -48,5 +50,17 @@ public class IssueController { List list = issueService.queryVotingIssueCount(gridIdList); return new Result>().ok(list); } + + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/5/13 16:22 + * @param fromDTO 参数 + * @return java.util.List + */ + @PostMapping("shiftprojectlist") + public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) { + return new Result>().ok(issueService.getShiftProjectList(fromDTO)); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index ce1bfd584f..dd6731d5d2 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java @@ -6,8 +6,12 @@ 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.CloseIssueFormDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; +import com.epmet.dto.form.ShiftProjectListFromDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.DepartmentStaffListResultDTO; +import com.epmet.dto.result.ShiftProjectListResultDTO; import com.epmet.dto.result.EvaluationListResultDTO; import com.epmet.dto.result.VotingTrendResultDTO; import com.epmet.service.IssueService; @@ -61,6 +65,19 @@ public class IssueManageController { return new Result().ok(issueService.departmentStaffList(formDTO)); } + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/5/13 16:22 + * @param fromDTO 参数 + * @return java.util.List + */ + @PostMapping("shiftprojectlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST) + public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) { + return new Result>().ok(issueService.getShiftProjectList(fromDTO)); + } + /** * @Description 详情折线图 * @param issueId diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java index 8c601bd3ca..1b76322c0e 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java @@ -19,10 +19,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.ShiftProjectListFromDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 议题详情 关联话题,转议题时间必须要和话题转议题时间一致、关闭时间必须要和操作记录表的关闭记录时间一致、转项目时间必须要和项目记录生成时间一致,注意服务间调用的时间一致性。每个议题最后总会被关闭。 * @@ -40,4 +43,13 @@ public interface IssueDao extends BaseDao { */ IssueResultDTO issueDetail(IssueDetailFormDTO formDTO); + /** + * 根据网格ID查找已转项目议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:27 + * @param fromDTO 参数 + * @return java.util.List + */ + List selectIssueListByGridId(ShiftProjectListFromDTO fromDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java new file mode 100644 index 0000000000..d5e801c8ce --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java @@ -0,0 +1,30 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.ShiftProjectResultDTO; +import com.epmet.feign.fallback.GovProjectFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/14 13:26 + */ +@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectFeignClientFallBack.class) +public interface GovProjectFeignClient { + /** + * 根据议题查询项目 + * @author zhaoqifeng + * @date 2020/5/13 16:55 + * @param fromDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/gov/project/project/shiftprojectlist") + Result> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO); +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java new file mode 100644 index 0000000000..b48e24873f --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java @@ -0,0 +1,24 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.ShiftProjectResultDTO; +import com.epmet.feign.GovProjectFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/14 13:26 + */ +@Component +public class GovProjectFeignClientFallBack implements GovProjectFeignClient { + @Override + public Result> getProjectByIssue(ShiftProjectsFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProjectByIssue", fromDTO); + } +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java index d29223015f..866c89c7ef 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java @@ -4,9 +4,11 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.ShiftProjectListFromDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.result.IssueResultDTO; +import com.epmet.dto.result.ShiftProjectListResultDTO; import com.epmet.entity.IssueEntity; import java.util.List; @@ -40,6 +42,15 @@ public interface IssueService extends BaseService { * @Description 议题管理-部门人员选择 **/ DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO); + + /** + * 已转项目议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:22 + * @param fromDTO 参数 + * @return java.util.List + */ + List getShiftProjectList(ShiftProjectListFromDTO fromDTO); /** * @param gridIdList * @return java.util.List diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 6b93c7607b..a15e4bf74f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -10,17 +10,13 @@ import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.UserMessageConstant; import com.epmet.dao.IssueDao; import com.epmet.dao.IssueProcessDao; -import com.epmet.dto.form.CloseIssueFormDTO; -import com.epmet.dto.form.DepartmentStaffListFormDTO; -import com.epmet.dto.form.IssueDetailFormDTO; -import com.epmet.dto.form.UserMessageFormDTO; -import com.epmet.dto.result.AgencyGridResultDTO; -import com.epmet.dto.result.DepartmentStaffListResultDTO; -import com.epmet.dto.result.GridVotingIssueCountResultDTO; -import com.epmet.dto.result.IssueResultDTO; +import com.epmet.dto.ProjectDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.GovProjectFeignClient; import com.epmet.feign.MessageFeignClient; import com.epmet.feign.ResiGroupFeignClient; import com.epmet.redis.GovIssueRedis; @@ -33,6 +29,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * @Author zxc @@ -41,132 +38,162 @@ import java.util.List; @Service public class IssueServiceImpl extends BaseServiceImpl implements IssueService { - @Autowired - private IssueDao issueDao; - @Autowired - private GovOrgFeignClient govOrgFeignClient; - @Autowired - private IssueProcessDao issueProcessDao; - @Autowired - private ResiGroupFeignClient resiGroupFeignClient; - @Autowired - private MessageFeignClient messageFeignClient; - @Autowired - private GovIssueRedis govIssueRedis; + @Autowired + private IssueDao issueDao; + @Autowired + private GovOrgFeignClient govOrgFeignClient; + @Autowired + private IssueProcessDao issueProcessDao; + @Autowired + private ResiGroupFeignClient resiGroupFeignClient; + @Autowired + private MessageFeignClient messageFeignClient; + @Autowired + private GovIssueRedis govIssueRedis; + @Autowired + private GovProjectFeignClient govProjectFeignClient; - /** - * @Description 议题详情 - * @param issueDetail - * @author zxc - * @date 2020/5/11 10:04 - */ - @Override - public IssueResultDTO detail(IssueDetailFormDTO issueDetail) { - //议题信息 - IssueResultDTO issueResult = issueDao.issueDetail(issueDetail); - return issueResult; - } + /** + * @param issueDetail + * @Description 议题详情 + * @author zxc + * @date 2020/5/11 10:04 + */ + @Override + public IssueResultDTO detail(IssueDetailFormDTO issueDetail) { + //议题信息 + IssueResultDTO issueResult = issueDao.issueDetail(issueDetail); + return issueResult; + } - /** - * @param formDTO - * @return - * @Author sun - * @Description 议题管理-关闭议题 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public void closeIssue(CloseIssueFormDTO formDTO) { - Date date = new Date(); - //1:更新议题详情表数据 - IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); - if (null == entity) { - throw new RenException(IssueConstant.SELECT_EXCEPTION); - } - entity.setIssueStatus(IssueConstant.ISSUE_CLOSED); - entity.setCloseReason(formDTO.getCloseReason()); - entity.setResolveType(formDTO.getResolveType()); - entity.setVotingDeadline(date); - entity.setClosedTime(date); - if (baseDao.updateById(entity) < NumConstant.ONE) { - throw new RenException(IssueConstant.UPPDATE_EXCEPTION); - } - //2:调用gov-org服务,查询组织网格名称 - AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO(); - agencyGridResultDTO.setAgencyId(entity.getOrgId()); - agencyGridResultDTO.setGridId(entity.getGridId()); - Result resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO); - agencyGridResultDTO = resultDTO.getData(); - //3:议题进展记录表新增数据 - IssueProcessEntity processEntity = new IssueProcessEntity(); - processEntity.setIssueId(formDTO.getIssueId()); - processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED); - processEntity.setOrgType(IssueConstant.ISSUE_GRID); - processEntity.setOrgId(entity.getOrgId()); - processEntity.setOperationExplain(formDTO.getCloseReason()); - processEntity.setOrgName(agencyGridResultDTO.getAgencyName()+"-"+agencyGridResultDTO.getGridName()); - issueProcessDao.insert(processEntity); - //4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息 - if(!saveUserMessageList(formDTO, entity).success()){ - throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); - } - } + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-关闭议题 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void closeIssue(CloseIssueFormDTO formDTO) { + Date date = new Date(); + //1:更新议题详情表数据 + IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); + if (null == entity) { + throw new RenException(IssueConstant.SELECT_EXCEPTION); + } + entity.setIssueStatus(IssueConstant.ISSUE_CLOSED); + entity.setCloseReason(formDTO.getCloseReason()); + entity.setResolveType(formDTO.getResolveType()); + entity.setVotingDeadline(date); + entity.setClosedTime(date); + if (baseDao.updateById(entity) < NumConstant.ONE) { + throw new RenException(IssueConstant.UPPDATE_EXCEPTION); + } + //2:调用gov-org服务,查询组织网格名称 + AgencyGridResultDTO agencyGridResultDTO = new AgencyGridResultDTO(); + agencyGridResultDTO.setAgencyId(entity.getOrgId()); + agencyGridResultDTO.setGridId(entity.getGridId()); + Result resultDTO = govOrgFeignClient.getAgencyAndGrid(agencyGridResultDTO); + agencyGridResultDTO = resultDTO.getData(); + //3:议题进展记录表新增数据 + IssueProcessEntity processEntity = new IssueProcessEntity(); + processEntity.setIssueId(formDTO.getIssueId()); + processEntity.setIssueStatus(IssueConstant.ISSUE_CLOSED); + processEntity.setOrgType(IssueConstant.ISSUE_GRID); + processEntity.setOrgId(entity.getOrgId()); + processEntity.setOperationExplain(formDTO.getCloseReason()); + processEntity.setOrgName(agencyGridResultDTO.getAgencyName() + "-" + agencyGridResultDTO.getGridName()); + issueProcessDao.insert(processEntity); + //4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息 + if (!saveUserMessageList(formDTO, entity).success()) { + throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); + } + } - @Override - public List queryVotingIssueCount(List gridIdList) { - List list=new ArrayList<>(); - for(String gridId:gridIdList){ - GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO=new GridVotingIssueCountResultDTO(); - gridVotingIssueCountResultDTO.setGridId(gridId); - Long auditingCount=govIssueRedis.queryVotingIssueCount(gridId); - gridVotingIssueCountResultDTO.setCount(auditingCount); - list.add(gridVotingIssueCountResultDTO); - } - return list; - } + @Override + public List queryVotingIssueCount(List gridIdList) { + List list = new ArrayList<>(); + for (String gridId : gridIdList) { + GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO = new GridVotingIssueCountResultDTO(); + gridVotingIssueCountResultDTO.setGridId(gridId); + Long auditingCount = govIssueRedis.queryVotingIssueCount(gridId); + gridVotingIssueCountResultDTO.setCount(auditingCount); + list.add(gridVotingIssueCountResultDTO); + } + return list; + } - /** - * @Description 关闭议题给话题创建人和议题发起人发送消息 - * @author sun - */ - private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity){ - //1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题) - Result resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId()); - if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) { - throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION); - } - ResiTopicDTO topicDTO = resultTopicDTO.getData(); - //2:分别给话题创建人、议题发起人发送消息 - List msgList = new ArrayList<>(); - UserMessageFormDTO msgDTO = new UserMessageFormDTO(); - msgDTO.setCustomerId(entity.getCustomerId()); - msgDTO.setGridId(entity.getGridId()); - msgDTO.setApp(AppClientConstant.APP_RESI); - msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE); - String messageContent = ""; - if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) { - messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); - } else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) { - messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); - } - msgDTO.setMessageContent(messageContent); - msgDTO.setReadFlag(ReadFlagConstant.UN_READ); - msgDTO.setUserId(topicDTO.getCreatedBy()); - msgList.add(msgDTO); - msgDTO.setUserId(entity.getCreatedBy()); - msgList.add(msgDTO); - return messageFeignClient.saveUserMessageList(msgList); - } + /** + * @Description 关闭议题给话题创建人和议题发起人发送消息 + * @author sun + */ + private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity) { + //1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题) + Result resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId()); + if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) { + throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION); + } + ResiTopicDTO topicDTO = resultTopicDTO.getData(); + //2:分别给话题创建人、议题发起人发送消息 + List msgList = new ArrayList<>(); + UserMessageFormDTO msgDTO = new UserMessageFormDTO(); + msgDTO.setCustomerId(entity.getCustomerId()); + msgDTO.setGridId(entity.getGridId()); + msgDTO.setApp(AppClientConstant.APP_RESI); + msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE); + String messageContent = ""; + if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) { + messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); + } else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) { + messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); + } + msgDTO.setMessageContent(messageContent); + msgDTO.setReadFlag(ReadFlagConstant.UN_READ); + msgDTO.setUserId(topicDTO.getCreatedBy()); + msgList.add(msgDTO); + msgDTO.setUserId(entity.getCreatedBy()); + msgList.add(msgDTO); + return messageFeignClient.saveUserMessageList(msgList); + } - /** - * @param formDTO - * @return - * @Author sun - * @Description 议题管理-部门人员选择 - **/ - @Override - public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) { - //1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 - Result resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); - return resultDTOResult.getData(); - } + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-部门人员选择 + **/ + @Override + public DepartmentStaffListResultDTO departmentStaffList(DepartmentStaffListFormDTO formDTO) { + //1:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 + Result resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); + return resultDTOResult.getData(); + } + + @Override + public List getShiftProjectList(ShiftProjectListFromDTO fromDTO) { + List resultList = new ArrayList<>(); + //查询条件 + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + List issueList = baseDao.selectIssueListByGridId(fromDTO); + if (null == issueList || issueList.size() == 0) { + return resultList; + } + //遍历获取所有的userId + List issueIds = issueList.stream().map(IssueEntity::getId).collect(Collectors.toList()); + ShiftProjectsFromDTO shiftProjectsFromDTO = new ShiftProjectsFromDTO(); + shiftProjectsFromDTO.setIssueIds(issueIds); + List projectList = govProjectFeignClient.getProjectByIssue(shiftProjectsFromDTO).getData(); + resultList = issueList.stream().flatMap(issue -> projectList.stream().filter(p -> issue.getId().equals(p.getOriginId())).map(project ->{ + ShiftProjectListResultDTO shiftProject = new ShiftProjectListResultDTO(); + shiftProject.setIssueId(issue.getId()); + shiftProject.setIssueTitle(issue.getIssueTitle()); + shiftProject.setDepartmentNameList(project.getDepartmentNameList()); + shiftProject.setPublicReply(project.getPublicReply()); + shiftProject.setShiftedTime(project.getCreatedTime().getTime()); + shiftProject.setProjectStatus(project.getStatus()); + return shiftProject; + })).collect(Collectors.toList()); + return resultList; + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml index e06616107a..002d37a239 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml @@ -44,4 +44,15 @@ AND del_flag = 0 + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ShiftProjectsFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ShiftProjectsFromDTO.java new file mode 100644 index 0000000000..97df9f343b --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ShiftProjectsFromDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/13 16:47 + */ +@Data +public class ShiftProjectsFromDTO implements Serializable { + private static final long serialVersionUID = 3832656052193286163L; + /** + * 议题ID + */ + List issueIds; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java new file mode 100644 index 0000000000..2f372a1b24 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ShiftProjectResultDTO.java @@ -0,0 +1,53 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/14 13:45 + */ +@Data +public class ShiftProjectResultDTO implements Serializable { + + private static final long serialVersionUID = 4807330131467747264L; + /** + * 唯一标识 + */ + private String id; + + /** + * 来源ID + */ + private String originId; + + /** + * 项目标题 + */ + private String title; + + /** + * 状态:待处理 pending,结案closed + */ + private String status; + + /** + * 结案说明 + */ + private String publicReply; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 当前处理部门 + */ + private List departmentNameList; + +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java index d0ff226582..804be2a6d3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java @@ -26,6 +26,8 @@ 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.ShiftProjectsFromDTO; +import com.epmet.dto.result.ShiftProjectResultDTO; import com.epmet.excel.ProjectExcel; import com.epmet.service.ProjectService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +93,17 @@ public class ProjectController { ExcelUtils.exportExcelToTarget(response, null, list, ProjectExcel.class); } + /** + * 根据议题查询项目 + * @author zhaoqifeng + * @date 2020/5/13 16:55 + * @param fromDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("shiftprojectlist") + public Result> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO) { + List list = projectService.getProjectByIssue(fromDTO); + return new Result>().ok(list); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index f252c27770..427d37956f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -12,6 +12,7 @@ import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectSatisfactionDetailService; import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectTraceService; +import oracle.jdbc.proxy.annotation.Post; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -51,6 +52,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:14 */ @PostMapping("pendprojectlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_PENDING_LIST) public Result> getPendProjectList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { List result = projectTraceService.getPendProjectList(tokenDto, fromDTO); return new Result>().ok(result); @@ -66,6 +68,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:19 */ @PostMapping("createdlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_CREATED_LIST) public Result> getCreatedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { List result = projectTraceService.getCreatedList(tokenDto, fromDTO); return new Result>().ok(result); @@ -81,6 +84,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:21 */ @PostMapping("involvedlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_INVOLVED_LIST) public Result> getInvolvedList(@LoginUser TokenDto tokenDto, @RequestBody ProjectListFromDTO fromDTO) { List result = projectTraceService.getInvolvedList(tokenDto, fromDTO); return new Result>().ok(result); @@ -96,6 +100,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:25 */ @PostMapping("projectdetail") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL) public Result getProjectDetail(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) { ProjectDetailResultDTO result = projectTraceService.getProjectDetail(tokenDto, fromDTO); return new Result().ok(result); @@ -111,6 +116,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:27 */ @PostMapping("closeproject") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_CLOSE) public Result closed(@LoginUser TokenDto tokenDto, @RequestBody ProjectClosedFromDTO fromDTO) { projectTraceService.closed(tokenDto, fromDTO); return new Result(); @@ -125,6 +131,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:30 */ @PostMapping("returnablelist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_RETURN) public Result> getReturnableList(@RequestBody ReturnListFromDTO fromDTO) { List result = projectTraceService.getReturnableList(fromDTO); return new Result>().ok(result); @@ -140,6 +147,7 @@ public class ProjectTraceController { * @date 2020/5/11 16:32 */ @PostMapping("return") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_RETURN) public Result projectReturn(@LoginUser TokenDto tokenDto, @RequestBody ReturnFromDTO fromDTO) { projectTraceService.projectReturn(tokenDto, fromDTO); return new Result(); @@ -197,5 +205,19 @@ public class ProjectTraceController { projectProcessService.transfer(formDTO); return new Result(); } + + /** + * 我的处理部门 + * @author zhaoqifeng + * @date 2020/5/14 14:22 + * @param tokenDto + * @param fromDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("mydepartmentlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL) + public Result> myDepartmentList(@LoginUser TokenDto tokenDto, @RequestBody ProjectDetailFromDTO fromDTO) { + return new Result>().ok(projectTraceService.myDepartmentList(tokenDto, fromDTO)); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index c84c8d6f2d..95561d448e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -20,7 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.ProjectDTO; import com.epmet.dto.form.ProjectListFromDTO; -import com.epmet.dto.result.DepartmentResultDTO; +import com.epmet.dto.form.ShiftProjectsFromDTO; import com.epmet.dto.result.ProjectDetailResultDTO; import com.epmet.entity.ProjectEntity; import org.apache.ibatis.annotations.Mapper; @@ -85,4 +85,13 @@ public interface ProjectDao extends BaseDao { */ ProjectDetailResultDTO selectProjectDetail(@Param("id") String id); + /** + * 根据议题ID获取项目列表 + * @author zhaoqifeng + * @date 2020/5/13 17:01 + * @param fromDTO + * @return java.util.List + */ + List selectShiftProjectList(ShiftProjectsFromDTO fromDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index aa523854d3..751e31ba03 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -19,10 +19,13 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessListFormDTO; +import com.epmet.dto.form.ProjectDetailFromDTO; import com.epmet.dto.form.ReturnListFromDTO; import com.epmet.dto.form.TransferFormDTO; +import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.entity.ProjectProcessEntity; @@ -122,4 +125,5 @@ public interface ProjectProcessService extends BaseService * @Description 项目跟踪-转其他部门 **/ void transfer(TransferFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index cb39927bf0..f482b79abd 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -21,14 +21,8 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectDTO; -import com.epmet.dto.form.ProjectClosedFromDTO; -import com.epmet.dto.form.ProjectDetailFromDTO; -import com.epmet.dto.form.ProjectListFromDTO; -import com.epmet.dto.form.ReturnFromDTO; -import com.epmet.dto.result.CreatedListResultDTO; -import com.epmet.dto.result.InvolvedListResultDTO; -import com.epmet.dto.result.PendProjectListResultDTO; -import com.epmet.dto.result.ProjectDetailResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.ProjectEntity; import java.util.List; @@ -159,4 +153,13 @@ public interface ProjectService extends BaseService { * @return void */ void projectReturn(ReturnFromDTO fromDTO); + + /** + * 根据议题查询项目 + * @author zhaoqifeng + * @date 2020/5/13 16:55 + * @param fromDTO + * @return java.util.List + */ + List getProjectByIssue(ShiftProjectsFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index f91afc3c3a..1bb8227038 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -88,4 +88,15 @@ public interface ProjectTraceService { * @date 2020/5/11 16:32 */ void projectReturn(TokenDto tokenDto, ReturnFromDTO fromDTO); + + /** + * 我的处理部门 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return java.util.List + * @author zhaoqifeng + * @date 2020/5/14 14:24 + */ + List myDepartmentList(TokenDto tokenDto, ProjectDetailFromDTO fromDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index a9aa55a296..19946355bd 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -296,6 +296,7 @@ public class ProjectServiceImpl extends BaseServiceImpl getProjectByIssue(ShiftProjectsFromDTO fromDTO) { + List resultList = new ArrayList<>(); + List projectList = baseDao.selectShiftProjectList(fromDTO); + projectList.forEach(project -> { + ShiftProjectResultDTO shiftProject = ConvertUtils.sourceToTarget(project, ShiftProjectResultDTO.class); + List departmentNameList = baseDao.selectDepartmentNameList(project); + shiftProject.setDepartmentNameList(departmentNameList); + resultList.add(shiftProject); + }); + return resultList; + } + /** * 获取客户定制的可滞留天数 * diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 69448b017a..9c5148df5a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -1,10 +1,12 @@ package com.epmet.service.impl; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; +import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +24,8 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { private ProjectService projectService; @Autowired private ProjectProcessService projectProcessService; + @Autowired + private ProjectStaffService projectStaffService; @Override public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -63,4 +67,13 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { fromDTO.setUserId(tokenDto.getUserId()); projectService.projectReturn(fromDTO); } + + @Override + public List myDepartmentList(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + ProjectStaffDTO projectStaffDTO = new ProjectStaffDTO(); + projectStaffDTO.setProjectId(fromDTO.getProjectId()); + projectStaffDTO.setStaffId(fromDTO.getUserId()); + return projectStaffService.getDepartmentNameList(projectStaffDTO); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index e7cc041e78..492465f853 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -134,6 +134,21 @@ WHERE p.DEL_FLAG = '0' AND p.ID = #{id} + \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/pom.xml b/epmet-module/resi-hall/resi-hall-server/pom.xml index cca4af3f09..0a187c921d 100644 --- a/epmet-module/resi-hall/resi-hall-server/pom.xml +++ b/epmet-module/resi-hall/resi-hall-server/pom.xml @@ -45,6 +45,12 @@ feign-httpclient 10.3.0 + + com.epmet + gov-issue-client + 2.0.0 + compile + diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java index 573ca80cbd..192a1e377f 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java @@ -156,5 +156,16 @@ public class IssueController { return new Result>().ok(issueService.projectEvaluationList(formDTO)); } + /** + * @Description 满意度评价列表——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("shiftproject") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT) + public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO formDTO){ + return new Result>().ok(issueService.getShiftProjectList(formDTO)); + } + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java index 798449e944..f737acc48a 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -1,6 +1,8 @@ package com.epmet.feign; +import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -76,4 +78,14 @@ public interface GovIssueFeignClient { @PostMapping("/gov/issue/issuesatisfactiondetail/evaluationlist") Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO); + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/5/13 16:22 + * @param fromDTO 参数 + * @return java.util.List + */ + @PostMapping("/gov/issue/issue/shiftprojectlist") + Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java index 0a9fb24d06..7bfa8ac0b5 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -52,4 +52,9 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient { public Result> evaluationList(EvaluationListFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluationList", formDTO); } + + @Override + public Result> getShiftProjectList(ShiftProjectListFromDTO fromDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectList", fromDTO); + } } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java index 7127ec9eee..156c51e375 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java @@ -95,4 +95,13 @@ public interface IssueService { */ List projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/5/14 14:11 + * @param formDTO + * @return java.util.List + */ + List getShiftProjectList(ShiftProjectListFromDTO formDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 1ab6c5e96e..51fcfe5d68 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -39,8 +39,8 @@ public class IssueServiceImpl implements IssueService { private GovProjectFeignClient govProjectFeignClient; /** - * @Description 议题详情 * @param issueDetail + * @Description 议题详情 * @author zxc * @date 2020/5/11 10:04 */ @@ -50,18 +50,18 @@ public class IssueServiceImpl implements IssueService { //议题信息 Result issueResultDTOResult = govIssueFeignClient.detail(issueDetail); IssueResultDTO issueResult = issueResultDTOResult.getData(); - if (issueResult==null){ + if (issueResult == null) { return issueDetailResult; } - BeanUtils.copyProperties(issueResult,issueDetailResult); + BeanUtils.copyProperties(issueResult, issueDetailResult); //话题发起人 IssueInitiatorFormDTO initiatorFormDTO = new IssueInitiatorFormDTO(); initiatorFormDTO.setUserId(issueResult.getUserId()); if (!StringUtils.isBlank(issueResult.getUserId())) { IssueInitiatorResultDTO initiatorResult = userFeignClient.selectIssueInitiator(initiatorFormDTO).getData(); - if (initiatorResult==null){ + if (initiatorResult == null) { issueDetailResult.setIssueInitiator(""); - }else { + } else { issueDetailResult.setIssueInitiator(initiatorResult.getIssueInitiator()); } } @@ -70,9 +70,9 @@ public class IssueServiceImpl implements IssueService { belongGridName.setGridId(issueResult.getGridId()); if (!StringUtils.isBlank(issueResult.getGridId())) { BelongGridNameResultDTO belongGridNameResult = govOrgFeignClient.getGridNameByGridId(belongGridName).getData(); - if (belongGridNameResult==null){ + if (belongGridNameResult == null) { issueDetailResult.setBelongsGridName(""); - }else { + } else { issueDetailResult.setBelongsGridName(belongGridNameResult.getBelongsGridName()); } } @@ -81,9 +81,9 @@ public class IssueServiceImpl implements IssueService { topicInfoFormDTO.setTopicId(issueResult.getTopicId()); if (!StringUtils.isBlank(issueResult.getTopicId())) { TopicInfoDTO topicInfoDTOResult = resiGroupFeignClient.selectDetail(topicInfoFormDTO).getData(); - if (topicInfoDTOResult==null){ + if (topicInfoDTOResult == null) { issueDetailResult.setTopicInfo(new TopicInfoDTO()); - }else { + } else { issueDetailResult.setTopicInfo(topicInfoDTOResult); } } @@ -91,8 +91,8 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 议题表决折线图 * @param issueId + * @Description 议题表决折线图 * @author zxc * @date 2020/5/12 8:49 */ @@ -103,12 +103,12 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 支持议题 * @param issueId + * @Description 支持议题 * @author zxc */ @Override - public void support(TokenDto tokenDto,IssueIdFormDTO issueId) { + public void support(TokenDto tokenDto, IssueIdFormDTO issueId) { VoteFormDTO voteFormDTO = new VoteFormDTO(); voteFormDTO.setAttitude("support"); voteFormDTO.setCreatedBy(tokenDto.getUserId()); @@ -117,12 +117,12 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 反对议题 * @param issueId + * @Description 反对议题 * @author zxc */ @Override - public void oppose(TokenDto tokenDto,IssueIdFormDTO issueId) { + public void oppose(TokenDto tokenDto, IssueIdFormDTO issueId) { VoteFormDTO voteFormDTO = new VoteFormDTO(); voteFormDTO.setAttitude("opposition"); voteFormDTO.setCreatedBy(tokenDto.getUserId()); @@ -131,8 +131,8 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 表决中议题详情——支持、反对数 * @param issueId + * @Description 表决中议题详情——支持、反对数 * @author zxc */ @Override @@ -142,9 +142,9 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价初始化——已关闭 * @param tokenDto * @param issueId + * @Description 满意度评价初始化——已关闭 * @author zxc */ @Override @@ -157,9 +157,9 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价初始化——已转项目 * @param tokenDto * @param projectId + * @Description 满意度评价初始化——已转项目 * @author zxc */ @Override @@ -172,19 +172,19 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 提交满意度评价——已关闭 * @param evaluateFormDTO + * @Description 提交满意度评价——已关闭 * @author zxc */ @Override - public void evaluate(TokenDto tokenDto,EvaluateFormDTO evaluateFormDTO) { + public void evaluate(TokenDto tokenDto, EvaluateFormDTO evaluateFormDTO) { evaluateFormDTO.setUserId(tokenDto.getUserId()); govIssueFeignClient.evaluate(evaluateFormDTO); } /** - * @Description 提交满意度评价——已转项目 * @param projectEvaluateFormDTO + * @Description 提交满意度评价——已转项目 * @author zxc */ @Override @@ -194,15 +194,15 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价列表——已关闭 * @param formDTO + * @Description 满意度评价列表——已关闭 * @author zxc */ @Override public List evaluationList(EvaluationListFormDTO formDTO) { Result> listResult = govIssueFeignClient.evaluationList(formDTO); List data = listResult.getData(); - if (data.size()==NumConstant.ZERO||data==null){ + if (data.size() == NumConstant.ZERO || data == null) { return new ArrayList<>(); } //获取头像和昵称 eg:山东路168号-周先生 @@ -224,14 +224,14 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 满意度评价列表——已转项目 * @param formDTO + * @Description 满意度评价列表——已转项目 * @author zxc */ @Override public List projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { List listResult = govProjectFeignClient.projectEvaluationList(formDTO).getData(); - if (listResult.size()==NumConstant.ZERO||listResult.equals(null)){ + if (listResult.size() == NumConstant.ZERO || listResult.equals(null)) { return new ArrayList<>(); } //获取头像和昵称 eg:山东路168号-周先生 @@ -251,4 +251,13 @@ public class IssueServiceImpl implements IssueService { })).collect(Collectors.toList()); return resultList; } + + @Override + public List getShiftProjectList(ShiftProjectListFromDTO formDTO) { + List resultList = govIssueFeignClient.getShiftProjectList(formDTO).getData(); + if (null == resultList || resultList.size() == NumConstant.ZERO) { + return new ArrayList<>(); + } + return resultList; + } }