From 9ed7b7c02b556b53dbc074fae808b78b724048e9 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 15 May 2020 09:12:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BE=A4=E6=88=90=E5=91=98=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E6=89=8B=E6=9C=BA=E5=8F=B7=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E3=80=81=E8=AE=AE=E9=A2=98=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=EF=BC=88=E5=B1=85=E6=B0=91=E7=AB=AF=E3=80=81=E6=94=BF=E5=BA=9C?= =?UTF-8?q?=E7=AB=AF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisKeys.java | 2 +- .../dto/form/CommonIssueListFormDTO.java | 6 -- .../dto/form/GovTopicIssueInfoFormDTO.java | 35 ++++++++ .../dto/result/GovIssueDetailResultDTO.java | 68 ++++++++++++++++ .../result/GovTopicIssueInfoResultDTO.java | 68 ++++++++++++++++ .../result/GovTopicOfIssueInfoResultDTO.java | 46 +++++++++++ .../gov-issue/gov-issue-server/pom.xml | 6 ++ .../com/epmet/controller/IssueController.java | 32 +++++++- .../controller/IssueManageController.java | 43 +++++++++- .../src/main/java/com/epmet/dao/IssueDao.java | 23 ++++++ .../epmet/dao/IssueProjectRelationDao.java | 12 ++- .../com/epmet/feign/ResiGroupFeignClient.java | 14 +++- .../ResiGroupFeignClientFallBack.java | 7 ++ .../service/IssueProjectRelationService.java | 9 +++ .../java/com/epmet/service/IssueService.java | 15 ++-- .../impl/IssueProjectRelationServiceImpl.java | 12 +++ .../epmet/service/impl/IssueServiceImpl.java | 80 ++++++++++++++++--- .../java/com/epmet/utils/ModuleConstants.java | 2 + .../src/main/resources/mapper/IssueDao.xml | 39 +++++++++ .../mapper/IssueProjectRelationDao.xml | 11 +++ .../main/resources/mapper/CustomerGridDao.xml | 2 +- .../member/ResiGroupMemberInfoRedisDTO.java | 4 + .../topic/form/GovTopicIssueInfoFormDTO.java | 35 ++++++++ .../result/GovTopicIssueInfoResultDTO.java | 68 ++++++++++++++++ .../result/ResiTopicAttachmentsResultDTO.java | 30 +++++++ .../service/impl/ResiGroupServiceImpl.java | 1 + .../member/redis/ResiGroupMemberRedis.java | 3 +- .../impl/ResiGroupMemberServiceImpl.java | 1 + .../topic/controller/ResiTopicController.java | 12 +++ .../epmet/modules/topic/dao/ResiTopicDao.java | 10 +++ .../topic/service/ResiTopicService.java | 8 ++ .../impl/ResiTopicCommentServiceImpl.java | 4 +- .../service/impl/ResiTopicServiceImpl.java | 74 ++++++++++++++++- .../epmet/modules/utils/ModuleConstant.java | 5 ++ .../resources/mapper/topic/ResiTopicDao.xml | 40 ++++++++++ .../dto/form/CommonIssueListFormDTO.java | 35 ++++++++ .../dto/result/ClosedIssueListResultDTO.java | 36 +++++++++ .../dto/result/VotingIssueListResultDTO.java | 36 +++++++++ .../com/epmet/controller/IssueController.java | 31 +++++++ .../com/epmet/feign/GovIssueFeignClient.java | 21 +++++ .../fallback/GovIssueFeignClientFallBack.java | 10 +++ .../epmet/service/impl/IssueServiceImpl.java | 2 +- 42 files changed, 960 insertions(+), 38 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/GovTopicIssueInfoFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovIssueDetailResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicIssueInfoResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicOfIssueInfoResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GovTopicIssueInfoFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicIssueInfoResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAttachmentsResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 3670e1f9a6..b3d04b021b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -176,7 +176,7 @@ public class RedisKeys { /** * @param phone 手机号 - * @param smsCode 短信验证码 + * @param * @return java.lang.String * @Author yinzuomei * @Description 政府端登录发送验证码 epmet:app:client:phone diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java index 7759a73a21..925551f55c 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java @@ -32,10 +32,4 @@ public class CommonIssueListFormDTO implements Serializable { * 每页多少条 * */ private Integer pageSize = 20; - - /** - * 用户Id - * */ - @NotBlank(message = "用户Id不能为空") - private String userId; } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/GovTopicIssueInfoFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/GovTopicIssueInfoFormDTO.java new file mode 100644 index 0000000000..324ded18b5 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/GovTopicIssueInfoFormDTO.java @@ -0,0 +1,35 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 政府端查询议题详情调用group服务查询话题相关信息传入参数 + * @ClassName GovTopicIssueInfoFormDTO + * @Auth wangc + * @Date 2020-05-14 16:43 + */ +@Data +public class GovTopicIssueInfoFormDTO implements Serializable { + private static final long serialVersionUID = -6385096606331289966L; + + /** + * 话题Id + * */ + @NotBlank(message = "话题Id不能为空") + private String topicId; + + /** + * 网格Id + * */ + @NotBlank(message = "网格Id不能为空") + private String gridId; + + /** + * 议题发起人Id + * */ + @NotBlank(message = "议题发起人Id不能为空") + private String issueCreatorId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovIssueDetailResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovIssueDetailResultDTO.java new file mode 100644 index 0000000000..e540f6581c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovIssueDetailResultDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.result; + +import lombok.Data; +import sun.util.resources.cldr.gv.LocaleNames_gv; + +import java.io.Serializable; + +/** + * @Description 政府端查看议题详情返回DTO + * @ClassName GovIssueDetailResultDTO + * @Auth wangc + * @Date 2020-05-14 15:45 + */ +@Data +public class GovIssueDetailResultDTO implements Serializable { + private static final long serialVersionUID = 6131514615618398747L; + + /** + * 议题标题 + */ + private String issueTitle; + + /** + * 议题状态(voting 已转项目:shift_project 已关闭:closed) + */ + private String issueStatus; + + /** + * 话题信息 + */ + private GovTopicOfIssueInfoResultDTO topicInfo; + + /** + * 议题发起人电话 + * */ + private String issuePublisherMobile; + + /** + * 议题建议处理方式 + */ + private String issueSuggestion; + + /** + * 所属网格(网格所属机关单位名称-网格名称) + */ + private String belongsGridName; + + /** + * 议题发起人(山东路168-尹女士) + */ + private String issueInitiator; + + /** + * 议题来源 例如 resi_topic + * */ + private String sourceType; + + /** + * 当议题没有转成详情时此项为"" + * */ + private String projectId; + + /** + * 表决截止时间 + * */ + private Long votingDeadline; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicIssueInfoResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicIssueInfoResultDTO.java new file mode 100644 index 0000000000..8db75e0fae --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicIssueInfoResultDTO.java @@ -0,0 +1,68 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 政府端查询议题详情调用group服务查询话题相关信息返回DTO + * @ClassName GovTopicIssueInfoResultDTO + * @Auth wangc + * @Date 2020-05-14 16:17 + */ +@Data +public class GovTopicIssueInfoResultDTO implements Serializable { + private static final long serialVersionUID = 8096157478835080299L; + + /** + * 话题id + */ + private String topicId; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 图片列表 + */ + private List photoList; + + /** + * 话题发表人(山东路168-尹女士) + */ + private String publishedUser; + + /** + * 话题发表时间 (时间戳 毫秒级) + */ + private Long topicPublishTime; + + /** + * 话题发表人电话 + * */ + private String topicPublisherMobile; + + /** + * 议题来源 例如 resi_topic + * */ + private String sourceType; + + /** + * 议题发起人(山东路168-尹女士) + */ + private String issueInitiator; + + /** + * 议题发起人电话 + * */ + private String issuePublisherMobile; + + /** + * 所属网格(网格所属机关单位名称-网格名称) + */ + private String belongsGridName; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicOfIssueInfoResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicOfIssueInfoResultDTO.java new file mode 100644 index 0000000000..9473fcae6e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GovTopicOfIssueInfoResultDTO.java @@ -0,0 +1,46 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @ClassName GovTopicOfIssueInfoResultDTO + * @Auth wangc + * @Date 2020-05-14 15:57 + */ +@Data +public class GovTopicOfIssueInfoResultDTO implements Serializable { + private static final long serialVersionUID = 3095929297129846601L; + /** + * 话题id + */ + private String topicId; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 图片列表 + */ + private List photoList; + + /** + * 话题发表人(山东路168-尹女士) + */ + private String publishedUser; + + /** + * 话题发表时间 (时间戳 毫秒级) + */ + private Long topicPublishTime; + + /** + * 话题发表人电话 + * */ + private String topicPublisherMobile; +} diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index 35dc7a854b..69712c31b5 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-org-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 c2ed7543b6..064c3bd19a 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 @@ -1,15 +1,14 @@ 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.CommonIssueListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.result.ClosedIssueListResultDTO; 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.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -66,5 +65,30 @@ public class IssueController { return new Result().ok(issueService.issueShiftedToTopic(issueShiftedFromTopicFormDTO)); } + /** + * @Description 获取表决中议题列表 + * @param issueListFormDTO + * @return Result> + * @author wangc + * @date 2020.05.14 13:57 + **/ + @PostMapping(value = "votinglist") + public Result> votingList(@RequestBody CommonIssueListFormDTO issueListFormDTO){ + ValidatorUtils.validateEntity(issueListFormDTO); + return new Result>().ok(issueService.votingList(issueListFormDTO)); + } + + /** + * @Description 获取关闭议题列表 + * @param issueListFormDTO + * @return Result> + * @author wangc + * @date 2020.05.14 13:58 + **/ + @PostMapping(value = "closedlist") + public Result> closedList(@RequestBody CommonIssueListFormDTO issueListFormDTO){ + ValidatorUtils.validateEntity(issueListFormDTO); + return new Result>().ok(issueService.closedList(issueListFormDTO)); + } } 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..5a4c14ef6f 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 @@ -7,9 +7,7 @@ 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.*; -import com.epmet.dto.result.DepartmentStaffListResultDTO; -import com.epmet.dto.result.EvaluationListResultDTO; -import com.epmet.dto.result.VotingTrendResultDTO; +import com.epmet.dto.result.*; import com.epmet.service.IssueService; import com.epmet.service.IssueVoteStatisticalService; import org.springframework.beans.factory.annotation.Autowired; @@ -82,5 +80,44 @@ public class IssueManageController { public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ return new Result>().ok(issueVoteStatisticalService.evaluationList(formDTO)); } + + /** + * @Description 获取表决中议题列表 + * @param issueListFormDTO + * @return Result> + * @author wangc + * @date 2020.05.14 13:57 + **/ + @PostMapping(value = "votingissuelist") + public Result> votingList( @RequestBody CommonIssueListFormDTO issueListFormDTO){ + ValidatorUtils.validateEntity(issueListFormDTO); + return new Result>().ok(issueService.votingList(issueListFormDTO)); + } + + /** + * @Description 获取关闭议题列表 + * @param issueListFormDTO + * @return Result> + * @author wangc + * @date 2020.05.14 13:58 + **/ + @PostMapping(value = "closedlist") + public Result> closedList( @RequestBody CommonIssueListFormDTO issueListFormDTO){ + ValidatorUtils.validateEntity(issueListFormDTO); + return new Result>().ok(issueService.closedList(issueListFormDTO)); + } + + /** + * @Description 政府端查看议题详情 + * @param issueDetail + * @return Result + * @author wangc + * @date 2020.05.15 00:19 + **/ + @PostMapping(value = "votingissuedetail") + public Result votingissuedetail(@RequestBody IssueDetailFormDTO issueDetail){ + ValidatorUtils.validateEntity(issueDetail); + return new Result().ok(issueService.issueDetailGov(issueDetail)); + } } 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 58e934f162..b0e9a205db 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,11 +19,16 @@ 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.result.ClosedIssueListResultDTO; import com.epmet.dto.result.IssueResultDTO; +import com.epmet.dto.result.VotingIssueListResultDTO; import com.epmet.entity.IssueEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 议题详情 关联话题,转议题时间必须要和话题转议题时间一致、关闭时间必须要和操作记录表的关闭记录时间一致、转项目时间必须要和项目记录生成时间一致,注意服务间调用的时间一致性。每个议题最后总会被关闭。 * @@ -48,4 +53,22 @@ public interface IssueDao extends BaseDao { * @date 2020.05.13 15:46 **/ int insertOne(IssueDTO issueDTO); + + /** + * @Description 查询表决中议题列表 + * @param issueListFormDTO + * @return List + * @author wangc + * @date 2020.05.14 13:34 + **/ + List selectVotingList(CommonIssueListFormDTO issueListFormDTO); + + /** + * @Description 查询已关闭议题列表 + * @param issueListFormDTO + * @return List + * @author wangc + * @date 2020.05.14 13:34 + **/ + List selectClosedList(CommonIssueListFormDTO issueListFormDTO); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java index 430dc74741..c6f7ed0f73 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectRelationDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.IssueProjectRelationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 议题项目关系表 @@ -29,5 +30,14 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueProjectRelationDao extends BaseDao { - + + /** + * @Description 通过issueId得到项目Id + * @param issueId + * @return String + * @author wangc + * @date 2020.05.14 18:30 + **/ + String selectProjectIdByIssueId(@Param("issueId") String issueId); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index 6ca577ec34..cb306decba 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -5,6 +5,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.feign.fallback.ResiGroupFeignClientFallBack; import com.epmet.resi.group.dto.topic.ResiTopicDTO; +import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; +import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -25,4 +27,14 @@ public interface ResiGroupFeignClient { **/ @PostMapping("/resi/group/topic/gettopicbyid/{topicId}") Result getTopicById(@PathVariable("topicId") String topicId); -} + + /** + * @Description 政府端查看议题详情时的话题相关信息 + * @param govTopicIssueInfoFormDTO + * @author wangc + * @date 2020.05.12 13:53 + **/ + @PostMapping("/resi/group/topictopicinfoforissuedetailgov") + Result topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO); + + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java index 6f09e42b89..c2c18e977b 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -6,6 +6,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.feign.ResiGroupFeignClient; import com.epmet.resi.group.dto.topic.ResiTopicDTO; +import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; +import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; import org.springframework.stereotype.Component; /** @@ -18,4 +20,9 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { public Result getTopicById(String topicId) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "gettopicbyid", topicId); } + + @Override + public Result topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "topicInfoForIssueDetailGov", govTopicIssueInfoFormDTO); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectRelationService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectRelationService.java index 1381151c65..7902955867 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectRelationService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectRelationService.java @@ -92,4 +92,13 @@ public interface IssueProjectRelationService extends BaseService { * @date 2020.05.14 10:33 **/ List closedList(CommonIssueListFormDTO issueListForm); + + /** + * @Description 政府端查看议题详情 + * @param issueDetail + * @return GovIssueDetailResultDTO + * @author wangc + * @date 2020.05.14 16:08 + **/ + GovIssueDetailResultDTO issueDetailGov(IssueDetailFormDTO issueDetail); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectRelationServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectRelationServiceImpl.java index 2b40a83079..c7840870b8 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectRelationServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectRelationServiceImpl.java @@ -101,4 +101,16 @@ public class IssueProjectRelationServiceImpl extends BaseServiceImpl imp private MessageFeignClient messageFeignClient; @Autowired private GovIssueRedis govIssueRedis; - @Autowired private IssueProcessService issueProcessService; - @Autowired private IssueVoteStatisticalService issueVoteStatisticalService; + @Autowired + private IssueProjectRelationService issueProjectRelationService; /** * @Description 议题详情 @@ -243,6 +241,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp voteStatistical.setVotableCount(issueShiftedFromTopicFormDTO.getVotableCount()); issueVoteStatisticalService.save(voteStatistical); //4.该网格下表决中议题总数量+1 + govIssueRedis.addWorkGrassrootsIssueRedDotValue(issueShiftedFromTopicFormDTO.getGridId()); return issueDTO.getId(); } logger.warn(String.format( @@ -252,15 +251,76 @@ public class IssueServiceImpl extends BaseServiceImpl imp throw new RenException(ModuleConstants.FAILURE_TO_ADD_ISSUE); } + /** + * @Description 表决中列表 + * @param issueListForm + * @return List + * @author wangc + * @date 2020.05.14 10:13 + **/ @Override public List votingList(CommonIssueListFormDTO issueListForm) { - return null; + issueListForm.setPageNo(null == issueListForm.getPageNo() ? NumConstant.ZERO : + (issueListForm.getPageNo() - NumConstant.ONE)*issueListForm.getPageSize() + ); + return baseDao.selectVotingList(issueListForm); } + /** + * @Description 已关闭列表 + * @param issueListForm + * @return List + * @author wangc + * @date 2020.05.14 10:33 + **/ @Override public List closedList(CommonIssueListFormDTO issueListForm) { - return null; + issueListForm.setPageNo(null == issueListForm.getPageNo() ? NumConstant.ZERO : + (issueListForm.getPageNo() - NumConstant.ONE)*issueListForm.getPageSize() + ); + return baseDao.selectClosedList(issueListForm); } + /** + * @Description 政府端查看议题详情 + * @param issueParam + * @return GovIssueDetailResultDTO + * @author wangc + * @date 2020.05.14 16:08 + **/ + @Override + public GovIssueDetailResultDTO issueDetailGov(IssueDetailFormDTO issueParam) { + //1.得到议题信息 + IssueEntity issueDetail = selectById(issueParam.getIssueId()); + + //2.1如果此条议题来源自话题 + if(StringUtils.equals(ModuleConstants.ISSUE_FROM_TOPIC,issueDetail.getSourceType())){ + GovTopicIssueInfoFormDTO topicParam = new GovTopicIssueInfoFormDTO(); + topicParam.setGridId(issueDetail.getGridId()); + topicParam.setTopicId(issueDetail.getSourceId()); + topicParam.setIssueCreatorId(issueDetail.getCreatedBy()); + //2.2查询话题相关信息 + Result topicResult = + resiGroupFeignClient.topicInfoForIssueDetailGov(topicParam); + if(topicResult.success() || null != topicResult.getData()){ + GovTopicOfIssueInfoResultDTO topicInfo = ConvertUtils.sourceToTarget(topicResult.getData(),GovTopicOfIssueInfoResultDTO.class); + GovIssueDetailResultDTO issueInfo = ConvertUtils.sourceToTarget(topicResult.getData(),GovIssueDetailResultDTO.class); + issueInfo.setIssueStatus(issueDetail.getIssueStatus()); + issueInfo.setIssueSuggestion(issueDetail.getSuggestion()); + issueInfo.setIssueTitle(issueDetail.getIssueTitle()); + issueInfo.setVotingDeadline(null == issueDetail.getVotingDeadline() + ? NumConstant.ZERO_L : issueDetail.getVotingDeadline().getTime()/NumConstant.ONE_THOUSAND); + issueInfo.setTopicInfo(topicInfo); + + //2.3查询项目Id + String projectId = issueProjectRelationService.getProjectByIssueId(issueParam.getIssueId()); + issueInfo.setProjectId( StringUtils.isBlank(projectId) ? ModuleConstants.EMPTY_STR : projectId ); + + return issueInfo; + } + } + + return null; + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java index b46619710c..8cf1e44e15 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java @@ -67,4 +67,6 @@ public interface ModuleConstants { * */ String FAILURE_TO_ADD_ISSUE = "新增议题记录失败,议题来源"; + String EMPTY_STR = ""; + } 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 c2de050b51..8afc8fa26f 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 @@ -177,4 +177,43 @@ 0 + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml index d7188c1811..a0355d7b74 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectRelationDao.xml @@ -15,5 +15,16 @@ + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index 9804ed0ded..ccf5779b89 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -312,7 +312,7 @@ IFNULL(grid.PID,'') AS agencyId, IFNULL(grid.PIDS,'') AS orgIdPath, IFNULL(grid.ID,'') AS orgId, - IFNULL(CONCAT( agency.ORGANIZATION_NAME, '-', grid.GRID_NAME ),'') AS ORG_NAME + IFNULL(CONCAT( agency.ORGANIZATION_NAME, '-', grid.GRID_NAME ),'') AS orgName FROM CUSTOMER_GRID grid INNER JOIN CUSTOMER_AGENCY agency ON grid.PID = agency.ID diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java index 529fa1f9b8..1bbabfc036 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberInfoRedisDTO.java @@ -47,6 +47,10 @@ public class ResiGroupMemberInfoRedisDTO implements Serializable { private String memberStatus; /** + * 成员手机号 + * */ + private String memberMobile; + /** * 组Id,不存在redis的value中,存在redis的key中 * */ private String groupId; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GovTopicIssueInfoFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GovTopicIssueInfoFormDTO.java new file mode 100644 index 0000000000..4268f88afa --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/GovTopicIssueInfoFormDTO.java @@ -0,0 +1,35 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 政府端查询议题详情调用group服务查询话题相关信息传入参数 + * @ClassName GovTopicIssueInfoFormDTO + * @Auth wangc + * @Date 2020-05-14 16:43 + */ +@Data +public class GovTopicIssueInfoFormDTO implements Serializable { + private static final long serialVersionUID = -6385096606331289966L; + + /** + * 话题Id + * */ + @NotBlank(message = "话题Id不能为空") + private String topicId; + + /** + * 网格Id + * */ + @NotBlank(message = "网格Id不能为空") + private String gridId; + + /** + * 议题发起人Id + * */ + @NotBlank(message = "议题发起人Id不能为空") + private String issueCreatorId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicIssueInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicIssueInfoResultDTO.java new file mode 100644 index 0000000000..dbacd67e4c --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicIssueInfoResultDTO.java @@ -0,0 +1,68 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 政府端查询议题详情调用group服务查询话题相关信息返回DTO + * @ClassName GovTopicIssueInfoResultDTO + * @Auth wangc + * @Date 2020-05-14 16:17 + */ +@Data +public class GovTopicIssueInfoResultDTO implements Serializable { + private static final long serialVersionUID = 8096157478835080299L; + + /** + * 话题id + */ + private String topicId; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 图片列表 + */ + private List photoList; + + /** + * 话题发表人(山东路168-尹女士) + */ + private String publishedUser; + + /** + * 话题发表时间 (时间戳 毫秒级) + */ + private Long topicPublishTime; + + /** + * 话题发表人电话 + * */ + private String topicPublisherMobile; + + /** + * 议题来源 例如 resi_topic + * */ + private String sourceType; + + /** + * 议题发起人(山东路168-尹女士) + */ + private String issueInitiator; + + /** + * 议题发起人电话 + * */ + private String issuePublisherMobile; + + /** + * 所属网格(网格所属机关单位名称-网格名称) + */ + private String belongsGridName; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAttachmentsResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAttachmentsResultDTO.java new file mode 100644 index 0000000000..514a10cd87 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAttachmentsResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @Description + * @ClassName ResiTopicAttachmentsResultDTO + * @Auth wangc + * @Date 2020-05-14 16:59 + */ +@Data +public class ResiTopicAttachmentsResultDTO implements Serializable { + private static final long serialVersionUID = -3646719074798523755L; + + private String topicId; + + private String topicContent; + + private String createdBy; + + private String groupId; + + private Date createdTime; + + private List photoList; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 7abb083af4..3d5b6e2f1d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -520,6 +520,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl getGroupMemberIds(String groupId){ Set groupMemberKeys = - redisUtils.keys(RedisKeys.getResiGroupMemberInfoKey(groupId,"*")); + redisUtils.keys(ResiGroupRedisKeys.getResiGroupMemberInfoKey(groupId,"*")); if(null != groupMemberKeys && groupMemberKeys.size() > NumConstant.ZERO){ StringBuilder keyPrefix = new StringBuilder("resi:group:member:"); keyPrefix.append(groupId); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index d141648d56..e812b3d370 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -597,6 +597,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl topicInfoForIssueDetailGov(@RequestBody GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO){ + ValidatorUtils.validateEntity(govTopicIssueInfoFormDTO); + return new Result().ok(topicService.topicInfoForIssueDetailGov(govTopicIssueInfoFormDTO)); + } } 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 2eb4442b60..a4e516caf1 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 @@ -25,6 +25,7 @@ import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicAndGroupResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicAttachmentsResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; @@ -138,4 +139,13 @@ public interface ResiTopicDao extends BaseDao { * @date 2020.05.13 18:52 **/ int updateOne(ResiTopicEntity topic); + + /** + * @Description 查询话题和附件信息 + * @param topicId + * @return ResiTopicAttachmentsResultDTO + * @author wangc + * @date 2020.05.14 17:02 + **/ + ResiTopicAttachmentsResultDTO selectTopicAndAttachments(@Param("topicId")String topicId); } \ 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 8742c64f06..943aa5a47d 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 @@ -248,4 +248,12 @@ public interface ResiTopicService extends BaseService { **/ void shiftIssue(ResiTopicTurnIssueFromDTO topicTurnIssueFromDTO); + /** + * @Description 政府端查看议题详情时的话题相关信息 + * @param govTopicIssueInfoFormDTO + * @author wangc + * @date 2020.05.12 13:53 + **/ + GovTopicIssueInfoResultDTO topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO); + } \ 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/ResiTopicCommentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java index 400811e104..8751f579c2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicCommentServiceImpl.java @@ -32,6 +32,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.modules.comment.entity.ResiTopicCommentEntity; +import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.redis.ResiGroupMemberRedis; @@ -259,7 +260,7 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl gridInfoResult = govOrgFeignClient.getCustomerGridByGridId(gridForm); + if (gridInfoResult.success() && null != gridInfoResult.getData() && StringUtils.isNotBlank(gridInfoResult.getData().getId())) { + result.setBelongsGridName(gridInfoResult.getData().getGridName()); + } + } else { + logger.error(ModuleConstant.NO_SUCH_GROUP); + result.setBelongsGridName(ModuleConstant.EMPTY_STR); + } + result.setSourceType(ModuleConstant.ISSUE_SOURCE_TYPE); + return result; + } + return null; + + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index e913c094ff..c33c88dfbd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java @@ -294,4 +294,9 @@ public interface ModuleConstant extends Constant { * 新增话题操作记录失败 * */ String FAILURE_TO_ADD_TOPIC_OPERATION = "新增话题操作记录失败"; + + /** + * 议题来源 话题 + * */ + String ISSUE_SOURCE_TYPE = "resi_topic"; } 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 12b07ff44a..46dc79434a 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 @@ -395,4 +395,44 @@ AND groupp.DEL_FLAG = '0' AND topic.ID = #{topicId} + + + + + + + + + + + + + + + + + + diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java new file mode 100644 index 0000000000..925551f55c --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java @@ -0,0 +1,35 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 政府端/居民段查看表决中议题列表传参 + * @ClassName CommonIssueListFormDTO + * @Auth wangc + * @Date 2020-05-14 09:51 + */ +@Data +public class CommonIssueListFormDTO implements Serializable { + private static final long serialVersionUID = -436147374473316845L; + + /** + * 网格Id + * */ + @NotBlank(message = "网格Id不能为空") + private String gridId; + + /** + * 页码 + * */ + @Min(1) + private Integer pageNo; + + /** + * 每页多少条 + * */ + private Integer pageSize = 20; +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java new file mode 100644 index 0000000000..9082c8866e --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @ClassName ClosedIssueListResultDTO + * @Auth wangc + * @Date 2020-05-14 10:13 + */ +@Data +public class ClosedIssueListResultDTO implements Serializable { + private static final long serialVersionUID = -132155225850638716L; + + /** + * 议题id + * */ + private String issueId; + + /** + * 议题标题 + * */ + private String issueTitle; + + /** + * 议题关闭时间 时间戳 + * */ + private Long issueClosedTime; + + /** + * 解决方案 + * */ + private String solution; +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java new file mode 100644 index 0000000000..47367a99f9 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java @@ -0,0 +1,36 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 政府端/居民段查看表决中议题列表返参 + * @ClassName VotingIssueListResultDTO + * @Auth wangc + * @Date 2020-05-14 10:04 + */ +@Data +public class VotingIssueListResultDTO implements Serializable { + private static final long serialVersionUID = -7134055957167447949L; + + /** + * 议题发布时间 + * */ + private Long issuePublishTime; + + /** + * 议题Id + * */ + private String issueId; + + /** + * 议题标题 + * */ + private String issueTitle; + + /** + * 议题处理方式,建议,展示在列表中 + * */ + private String suggestion; +} 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..4ae0a0952e 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 @@ -5,8 +5,10 @@ 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.*; import com.epmet.dto.result.*; +import com.epmet.feign.GovIssueFeignClient; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -28,6 +30,9 @@ public class IssueController { @Autowired private IssueService issueService; + @Autowired + private GovIssueFeignClient govIssueFeignClient; + /** * @Description 议题详情 * @param issueDetail @@ -156,5 +161,31 @@ public class IssueController { return new Result>().ok(issueService.projectEvaluationList(formDTO)); } + /** + * @Description 获取表决中议题列表 + * @param issueListFormDTO + * @return Result> + * @author wangc + * @date 2020.05.14 13:57 + **/ + @PostMapping("votinglist") + public Result> votingList(CommonIssueListFormDTO issueListFormDTO){ + ValidatorUtils.validateEntity(issueListFormDTO); + return govIssueFeignClient.votingList(issueListFormDTO); + } + + /** + * @Description 获取关闭议题列表 + * @param issueListFormDTO + * @return Result> + * @author wangc + * @date 2020.05.14 13:58 + **/ + @PostMapping("closedlist") + Result> closedList(@RequestBody CommonIssueListFormDTO issueListFormDTO){ + ValidatorUtils.validateEntity(issueListFormDTO); + return govIssueFeignClient.closedList(issueListFormDTO); + } + } 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..0ac6037189 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.LoginUser; import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -76,4 +78,23 @@ public interface GovIssueFeignClient { @PostMapping("/gov/issue/issuesatisfactiondetail/evaluationlist") Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO); + /** + * @Description 获取表决中议题列表 + * @param issueListFormDTO + * @return Result> + * @author wangc + * @date 2020.05.14 13:57 + **/ + @PostMapping("/gov/issue/issue/votinglist") + Result> votingList(CommonIssueListFormDTO issueListFormDTO); + + /** + * @Description 获取关闭议题列表 + * @param issueListFormDTO + * @return Result> + * @author wangc + * @date 2020.05.14 13:58 + **/ + @PostMapping("/gov/issue/issue/closedlist") + Result> closedList(@RequestBody CommonIssueListFormDTO issueListFormDTO); } 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..b7d6b4f6dc 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,14 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient { public Result> evaluationList(EvaluationListFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "evaluationList", formDTO); } + + @Override + public Result> votingList(CommonIssueListFormDTO issueListFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "votingList", issueListFormDTO); + } + + @Override + public Result> closedList(CommonIssueListFormDTO issueListFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "closedList", issueListFormDTO); + } } 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..e2baa08fd5 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 @@ -103,7 +103,7 @@ public class IssueServiceImpl implements IssueService { } /** - * @Description 支持议题 + * @Description 支持议题 * @param issueId * @author zxc */