From d414d962b95b624f500798caf58929d0c331cfa8 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 17 Nov 2020 16:01:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E8=AE=AE=E9=A2=98-=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E8=AE=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/GovIssueOpenFeignClient.java | 38 ++++++++++ .../GovIssueOpenFeignClientFallBack.java | 47 ++++++++++++ .../com/epmet/controller/IssueController.java | 41 ++++++++++ .../src/main/java/com/epmet/dao/IssueDao.java | 31 ++++++++ .../java/com/epmet/service/IssueService.java | 31 ++++++++ .../epmet/service/impl/IssueServiceImpl.java | 73 ++++++++++++++++++ .../src/main/resources/mapper/IssueDao.xml | 63 ++++++++++++++++ .../group/dto/group/form/AllIssueFormDTO.java | 28 +++++++ .../result/GroupClosedListResultDTO.java | 34 +++++++++ .../GroupShiftProjectListResultDTO.java | 43 +++++++++++ .../result/GroupVotingListResultDTO.java | 34 +++++++++ .../controller/GroupIssueController.java | 48 +++++++++++- .../group/service/GroupIssueService.java | 32 +++++++- .../service/impl/GroupIssueServiceImpl.java | 75 ++++++++++++++++++- .../epmet/modules/topic/dao/ResiTopicDao.java | 9 +++ .../topic/service/ResiTopicService.java | 9 +++ .../service/impl/ResiTopicServiceImpl.java | 13 ++++ .../resources/mapper/topic/ResiTopicDao.xml | 7 ++ 18 files changed, 647 insertions(+), 9 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllIssueFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupClosedListResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupShiftProjectListResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupVotingListResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index b9997f1705..3599df403b 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -1,9 +1,18 @@ package com.epmet.feign; +import com.epmet.commons.tools.utils.Result; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import org.springframework.cloud.openfeign.FeignClient; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.feign.fallback.GovIssueOpenFeignClientFallBack; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -13,4 +22,33 @@ import com.epmet.feign.fallback.GovIssueOpenFeignClientFallBack; */ @FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueOpenFeignClientFallBack.class) public interface GovIssueOpenFeignClient { + /** + * 小组表决中议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/gov/issue/issue/groupvotinglist") + Result> getVotingListByGroup(@RequestBody AllIssueFormDTO formDTO); + + /** + * 小组已转项目议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/gov/issue/issue/groupshiftprojectlist") + Result> getShiftProjectListByGroup(@RequestBody AllIssueFormDTO formDTO); + + /** + * 小组已关闭议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/gov/issue/issue/groupclosedlist") + Result> getClosedListByGroup(@RequestBody AllIssueFormDTO formDTO); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 65b8a24fc6..d37933045a 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -1,8 +1,17 @@ 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.feign.GovIssueOpenFeignClient; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import org.springframework.stereotype.Component; +import java.util.List; + /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 * @@ -11,4 +20,42 @@ import org.springframework.stereotype.Component; */ @Component public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient { + /** + * 小组表决中议题 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/11/17 14:58 + */ + @Override + public Result> getVotingListByGroup(AllIssueFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getVotingListByGroup", formDTO); + } + + /** + * 小组已转项目议题 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/11/17 14:58 + */ + @Override + public Result> getShiftProjectListByGroup(AllIssueFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectListByGroup", formDTO); + } + + /** + * 小组已关闭议题 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/11/17 14:58 + */ + @Override + public Result> getClosedListByGroup(AllIssueFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectListByGroup", formDTO); + } } 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 bedb47f25c..4af9a1095e 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 @@ -13,6 +13,10 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IssueDTO; import com.epmet.dto.result.*; import com.epmet.excel.IssueExcel; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; @@ -70,6 +74,7 @@ public class IssueController { public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) { return new Result>().ok(issueService.getShiftProjectList(fromDTO)); } + /** * @Description 话题转议题 供群组话题服务调用 * @param issueShiftedFromTopicFormDTO @@ -151,5 +156,41 @@ public class IssueController { return new Result().ok(issueService.checkTopicShiftIssue(formDTO)); } + /** + * 小组表决中议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("groupvotinglist") + public Result> getVotingListByGroup(@RequestBody AllIssueFormDTO formDTO) { + return new Result>().ok(issueService.getVotingListByGroup(formDTO)); + } + + /** + * 小组已转项目议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("groupshiftprojectlist") + public Result> getShiftProjectListByGroup(@RequestBody AllIssueFormDTO formDTO) { + return new Result>().ok(issueService.getShiftProjectListByGroup(formDTO)); + } + + /** + * 小组已关闭议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("groupclosedlist") + public Result> getClosedListByGroup(@RequestBody AllIssueFormDTO formDTO) { + return new Result>().ok(issueService.getClosedListByGroup(formDTO)); + } + } 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 9dee92932c..235c70e696 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 @@ -22,6 +22,9 @@ import com.epmet.dto.IssueDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IssueEntity; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -144,4 +147,32 @@ public interface IssueDao extends BaseDao { * @author zxc */ Integer checkTopicShiftIssue(TopicInfoFormDTO formDTO); + + + /** + * 根据话题ID查找表决中议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:27 + * @param formDTO 参数 + * @return java.util.List + */ + List selectVotingListByTopic(AllIssueFormDTO formDTO); + + /** + * 根据话题ID查找已转项目议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:27 + * @param formDTO 参数 + * @return java.util.List + */ + List selectShiftIssueByTopic(AllIssueFormDTO formDTO); + + /** + * 根据话题ID查找已转项目议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:27 + * @param formDTO 参数 + * @return java.util.List + */ + List selectClosedListByTopic(AllIssueFormDTO formDTO); } \ No newline at end of file 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 d9f4417ec6..889350f1ea 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 @@ -21,6 +21,10 @@ import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.result.*; import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; import com.epmet.entity.IssueEntity; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import org.springframework.web.bind.annotation.RequestBody; @@ -232,4 +236,31 @@ public interface IssueService extends BaseService { * @author zxc */ Integer checkTopicShiftIssue(TopicInfoFormDTO formDTO); + + /** + * 小组表决中议题 + * @author zhaoqifeng + * @date 2020/11/17 14:59 + * @param formDTO + * @return java.util.List + */ + List getVotingListByGroup(AllIssueFormDTO formDTO); + + /** + * 小组已转项目议题 + * @author zhaoqifeng + * @date 2020/11/17 14:59 + * @param formDTO + * @return java.util.List + */ + List getShiftProjectListByGroup(AllIssueFormDTO formDTO); + + /** + * 小组已关闭议题 + * @author zhaoqifeng + * @date 2020/11/17 14:59 + * @param formDTO + * @return java.util.List + */ + List getClosedListByGroup(AllIssueFormDTO formDTO); } 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 7743205c28..d3685e65cf 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 @@ -34,6 +34,10 @@ import com.epmet.entity.IssueProjectRelationEntity; import com.epmet.feign.*; import com.epmet.redis.GovIssueRedis; import com.epmet.redis.IssueVoteDetailRedis; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; @@ -43,6 +47,7 @@ import com.epmet.service.IssueProjectRelationService; import com.epmet.service.IssueService; import com.epmet.service.IssueVoteStatisticalService; import com.epmet.utils.ModuleConstants; +import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -841,4 +846,72 @@ public class IssueServiceImpl extends BaseServiceImpl imp return baseDao.checkTopicShiftIssue(formDTO); } + /** + * 小组表决中议题 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 14:59 + */ + @Override + public List getVotingListByGroup(AllIssueFormDTO formDTO) { + //查询条件 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + return baseDao.selectVotingListByTopic(formDTO); + } + + /** + * 小组已转项目议题 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 14:59 + */ + @Override + public List getShiftProjectListByGroup(AllIssueFormDTO formDTO) { + List resultList = new ArrayList<>(); + //查询条件 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + List issueList = baseDao.selectShiftIssueByTopic(formDTO); + if (CollectionUtils.isEmpty(issueList)) { + return resultList; + } + //遍历获取所有的议题Id + 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 ->{ + GroupShiftProjectListResultDTO shiftProject = new GroupShiftProjectListResultDTO(); + shiftProject.setIssueId(issue.getId()); + shiftProject.setIssueTitle(issue.getIssueTitle()); + shiftProject.setCurrentHandleDepartMent(project.getDepartmentNameList()); + shiftProject.setPublicReply(project.getPublicReply()); + shiftProject.setIssueShiftedTime(project.getCreatedTime().getTime()/NumConstant.ONE_THOUSAND); + shiftProject.setProjectStatus(project.getStatus()); + return shiftProject; + })).collect(Collectors.toList()); + return resultList; + } + + /** + * 小组已关闭议题 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 14:59 + */ + @Override + public List getClosedListByGroup(AllIssueFormDTO formDTO) { + //查询条件 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + return baseDao.selectClosedListByTopic(formDTO); + } + } 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 31ee5952a0..d6c92da0cd 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 @@ -377,5 +377,68 @@ del_flag = 0 AND source_id = #{topicId} + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllIssueFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllIssueFormDTO.java new file mode 100644 index 0000000000..10720f194d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllIssueFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/17 10:25 + */ +@NoArgsConstructor +@Data +public class AllIssueFormDTO implements Serializable { + + private static final long serialVersionUID = 9033824126731443502L; + /** + * 小组ID + */ + @NotBlank(message = "小组id不能为空") + private String groupId; + private Integer pageNo = 1; + private Integer pageSize = 20; + private List topicIds; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupClosedListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupClosedListResultDTO.java new file mode 100644 index 0000000000..619fba8322 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupClosedListResultDTO.java @@ -0,0 +1,34 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/17 11:02 + */ +@NoArgsConstructor +@Data +public class GroupClosedListResultDTO implements Serializable { + + private static final long serialVersionUID = 3152596066530973548L; + /** + * 议题ID + */ + private String issueId; + /** + * 议题标题 + */ + private String issueTitle; + /** + * 议题关闭时间 时间戳 + */ + private Long issueClosedTime; + /** + * 解决方案 + */ + private String solution; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupShiftProjectListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupShiftProjectListResultDTO.java new file mode 100644 index 0000000000..cbfba00fe3 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupShiftProjectListResultDTO.java @@ -0,0 +1,43 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/17 10:58 + */ +@NoArgsConstructor +@Data +public class GroupShiftProjectListResultDTO implements Serializable { + + private static final long serialVersionUID = 4338078715001777226L; + /** + * 议题ID + */ + private String issueId; + /** + * 议题标题 + */ + private String issueTitle; + /** + * 议题转成项目时间 + */ + private Long issueShiftedTime; + /** + * 项目状态: 待处理 pending,结案closed + */ + private String projectStatus; + /** + * 结案说明 + */ + private String publicReply; + /** + * 当前处理部门名称数组 + */ + private List currentHandleDepartMent; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupVotingListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupVotingListResultDTO.java new file mode 100644 index 0000000000..974cbce685 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupVotingListResultDTO.java @@ -0,0 +1,34 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/17 10:51 + */ +@NoArgsConstructor +@Data +public class GroupVotingListResultDTO implements Serializable { + + private static final long serialVersionUID = -3401194563187510106L; + /** + * 议题ID + */ + private String issueId; + /** + * 议题标题 + */ + private String issueTitle; + /** + * 议题发表时间 + */ + private Long issuePublishTime; + /** + * 建议处理方式(群主转议题时填写的) + */ + private String suggestion; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/GroupIssueController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/GroupIssueController.java index a648acc982..ff01971f70 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/GroupIssueController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/GroupIssueController.java @@ -3,12 +3,11 @@ package com.epmet.modules.group.controller; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.modules.group.service.GroupIssueService; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; -import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; -import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; -import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; +import com.epmet.resi.group.dto.group.result.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -65,4 +64,47 @@ public class GroupIssueController { ValidatorUtils.validateEntity(applicationListFormDTO, ApplicationListFormDTO.ApplicationList.class); return new Result>().ok(groupIssueService.applicationList(applicationListFormDTO)); } + + /** + * 表决中列表 + * @author zhaoqifeng + * @date 2020/11/17 13:52 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("votinglist") + public Result> votingList(@RequestBody AllIssueFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + List list = groupIssueService.votingList(formDTO); + return new Result>().ok(list); + } + + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/11/17 13:53 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("shiftproject") + public Result> shiftProjectList(@RequestBody AllIssueFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + List list = groupIssueService.shiftProjectList(formDTO); + return new Result>().ok(list); + } + + /** + * 已关闭列表 + * @author zhaoqifeng + * @date 2020/11/17 13:54 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("closedlist") + public Result> closedList(@RequestBody AllIssueFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + List list = groupIssueService.closedList(formDTO); + return new Result>().ok(list); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/GroupIssueService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/GroupIssueService.java index 7b22f3abd3..4cd99360fa 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/GroupIssueService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/GroupIssueService.java @@ -1,11 +1,10 @@ package com.epmet.modules.group.service; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; -import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; -import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; -import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; +import com.epmet.resi.group.dto.group.result.*; import java.util.List; @@ -40,4 +39,31 @@ public interface GroupIssueService { */ List applicationList(ApplicationListFormDTO applicationListFormDTO); + /** + * 表决中列表 + * @author zhaoqifeng + * @date 2020/11/17 13:56 + * @param formDTO + * @return java.util.List + */ + List votingList(AllIssueFormDTO formDTO); + + /** + * 已转项目列表 + * @author zhaoqifeng + * @date 2020/11/17 13:56 + * @param formDTO + * @return java.util.List + */ + List shiftProjectList(AllIssueFormDTO formDTO); + + /** + * 已关闭列表 + * @author zhaoqifeng + * @date 2020/11/17 13:56 + * @param formDTO + * @return java.util.List + */ + List closedList(AllIssueFormDTO formDTO); + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java index e0792d1a0c..2a56f9d48d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java @@ -1,13 +1,17 @@ package com.epmet.modules.group.service.impl; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.modules.group.service.GroupIssueService; +import com.epmet.modules.topic.service.ResiTopicService; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; -import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; -import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; -import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; +import com.epmet.resi.group.dto.group.result.*; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -21,6 +25,11 @@ import java.util.List; @Service public class GroupIssueServiceImpl implements GroupIssueService { + @Autowired + private ResiTopicService resiTopicService; + @Autowired + private GovIssueOpenFeignClient govIssueOpenFeignClient; + /** * @Description 待审核||已驳回 申请详情 * @Param applicationDetailFormDTO @@ -53,4 +62,64 @@ public class GroupIssueServiceImpl implements GroupIssueService { public List applicationList(ApplicationListFormDTO applicationListFormDTO) { return null; } + + /** + * 表决中列表 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 13:56 + */ + @Override + public List votingList(AllIssueFormDTO formDTO) { + //查找小组内所有话题ID + List topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId()); + formDTO.setTopicIds(topicIds); + Result> result = govIssueOpenFeignClient.getVotingListByGroup(formDTO); + if(!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + return result.getData(); + } + + /** + * 已转项目列表 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 13:56 + */ + @Override + public List shiftProjectList(AllIssueFormDTO formDTO) { + //查找小组内所有话题ID + List topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId()); + formDTO.setTopicIds(topicIds); + Result> result = govIssueOpenFeignClient.getShiftProjectListByGroup(formDTO); + if(!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + return result.getData(); + } + + /** + * 已关闭列表 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 13:56 + */ + @Override + public List closedList(AllIssueFormDTO formDTO) { + //查找小组内所有话题ID + List topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId()); + formDTO.setTopicIds(topicIds); + Result> result = govIssueOpenFeignClient.getClosedListByGroup(formDTO); + if(!result.success()) { + throw new RenException(result.getCode(), result.getMsg()); + } + return result.getData(); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index 9c3b87d48f..1d65bba527 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -153,4 +153,13 @@ public interface ResiTopicDao extends BaseDao { */ CheckTopicPublisherResultDTO checkTopicPublisher(CheckTopicPublisherFormDTO formDTO); + /** + * 获取小组内话题ID + * @author zhaoqifeng + * @date 2020/11/17 14:19 + * @param groupId + * @return java.util.List + */ + List selectTopicIdsByGroup(@Param("groupId") String groupId); + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index 08b8e89fd9..93d62b582e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -264,4 +264,13 @@ public interface ResiTopicService extends BaseService { */ CheckTopicPublisherResultDTO checkTopicPublisher(CheckTopicPublisherFormDTO formDTO); + /** + * 获取小组内话题ID + * @author zhaoqifeng + * @date 2020/11/17 14:18 + * @param groupId + * @return java.util.List + */ + List getTopicIdsByGroup(String groupId); + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 1a5d8964a3..34c110bd2d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -1275,6 +1275,19 @@ public class ResiTopicServiceImpl extends BaseServiceImpl + * @author zhaoqifeng + * @date 2020/11/17 14:18 + */ + @Override + public List getTopicIdsByGroup(String groupId) { + return baseDao.selectTopicIdsByGroup(groupId); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index c8420f242f..e1ac125fbd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -446,5 +446,12 @@ AND created_by = #{createdBy} AND id = #{topicId} +