From b294d386b19d0f71f7c44579e5838bd7f2b90f7a Mon Sep 17 00:00:00 2001 From: wangchao Date: Thu, 14 May 2020 12:09:38 +0800 Subject: [PATCH 01/22] =?UTF-8?q?=E7=BE=A4=E7=BB=84=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E3=80=81=E8=AE=AE=E9=A2=98=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/NumConstant.java | 1 + .../dto/form/CommonIssueListFormDTO.java | 41 +++++ .../form/IssueShiftedFromTopicFormDTO.java | 101 ++++++++++++ .../dto/result/ClosedIssueListResultDTO.java | 36 +++++ .../dto/result/VotingIssueListResultDTO.java | 36 +++++ .../com/epmet/controller/IssueController.java | 16 ++ .../src/main/java/com/epmet/dao/IssueDao.java | 8 + .../java/com/epmet/dao/IssueProcessDao.java | 11 +- .../epmet/service/IssueProcessService.java | 8 + .../java/com/epmet/service/IssueService.java | 31 ++++ .../service/impl/IssueProcessServiceImpl.java | 12 ++ .../epmet/service/impl/IssueServiceImpl.java | 94 +++++++++++ .../java/com/epmet/utils/ModuleConstants.java | 70 ++++++++ .../src/main/resources/mapper/IssueDao.xml | 133 +++++++++++++++ .../main/resources/mapper/IssueProcessDao.xml | 79 +++++++++ .../dto/result/CommonDataFilterResultDTO.java | 41 +++++ .../controller/CustomerGridController.java | 18 ++- .../java/com/epmet/dao/CustomerGridDao.java | 8 + .../epmet/service/CustomerGridService.java | 7 + .../service/impl/CustomerGridServiceImpl.java | 16 ++ .../java/com/epmet/util/ModuleConstant.java | 15 ++ .../main/resources/mapper/CustomerGridDao.xml | 15 ++ .../dto/topic/form/CommonTopicIdFormDTO.java | 23 +++ .../topic/form/ResiTopicTurnIssueFromDTO.java | 41 +++++ .../result/ResiTopicAndGroupResultDTO.java | 36 +++++ .../ResiTopicShiftIssueInitResultDTO.java | 47 ++++++ .../resi-group/resi-group-server/pom.xml | 6 + .../modules/feign/GovIssueFeignClient.java | 29 ++++ .../modules/feign/GovOrgFeignClient.java | 18 ++- .../fallback/GovIssueFeignClientFallBack.java | 23 +++ .../fallback/GovOrgFeignClientFallBack.java | 12 +- .../epmet/modules/group/dao/ResiGroupDao.java | 9 ++ .../group/service/ResiGroupService.java | 9 ++ .../service/impl/ResiGroupServiceImpl.java | 14 ++ .../member/redis/ResiGroupMemberRedis.java | 23 +++ .../service/ResiGroupMemberService.java | 9 ++ .../impl/ResiGroupMemberServiceImpl.java | 27 +++- .../topic/controller/ResiTopicController.java | 35 +++- .../epmet/modules/topic/dao/ResiTopicDao.java | 18 +++ .../topic/dao/ResiTopicOperationDao.java | 8 + .../topic/service/ResiTopicService.java | 27 +++- .../impl/ResiTopicCommentServiceImpl.java | 95 ++++++++++- .../service/impl/ResiTopicServiceImpl.java | 152 ++++++++++++++++-- .../epmet/modules/utils/ModuleConstant.java | 49 ++++++ .../resources/mapper/group/ResiGroupDao.xml | 12 ++ .../resources/mapper/topic/ResiTopicDao.xml | 46 +++++- .../mapper/topic/ResiTopicOperationDao.xml | 62 +++++++ 47 files changed, 1585 insertions(+), 42 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommonDataFilterResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CommonTopicIdFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAndGroupResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicShiftIssueInitResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java index 8a55f6c7a9..5f13d2bb81 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/NumConstant.java @@ -31,6 +31,7 @@ public interface NumConstant { int FORTY = 40; int FIFTY = 50; int ONE_HUNDRED = 100; + int ONE_THOUSAND = 1000; int MAX = 99999999; long ZERO_L = 0L; 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 new file mode 100644 index 0000000000..7759a73a21 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CommonIssueListFormDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 政府端/居民段查看表决中议题列表传参 + * @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; + + /** + * 用户Id + * */ + @NotBlank(message = "用户Id不能为空") + private String userId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java new file mode 100644 index 0000000000..c9969328bb --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java @@ -0,0 +1,101 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 话题转议题时的参数 + * @ClassName IssueShiftedFromTopicFormDTO + * @Auth wangc + * @Date 2020-05-13 09:27 + */ +@Data +public class IssueShiftedFromTopicFormDTO implements Serializable { + private static final long serialVersionUID = -5744319584210140289L; + + /** + * 话题Id + * */ + @NotBlank(message = "话题Id不能为空") + private String topicId; + + /** + * 议题名称 + * */ + @NotBlank(message = "议题名称不能为空") + private String issueTitle; + + /** + * 建议 + * */ + @NotBlank(message = "议题建议不能为空") + private String suggestion; + + /** + * 议题发起人Id + * */ + @NotBlank(message = "议题发起人Id不能为空") + private String userId; + + /** + * 客户Id + * */ + @NotBlank(message = "客户不能为空") + private String customerId; + + /** + * 网格Id + * */ + @NotBlank(message = "网格Id不能为空") + private String gridId; + + /** + * AgencyId当前话题所在机构Id + * */ + @NotBlank(message = "机关Id不能为空") + private String orgId; + + /** + * 所属机关 eg:11:22:33(本机关以及上级所有机关ID) + * */ + @NotBlank(message = "所属机关全路径不能为空") + private String orgIdPath; + + /** + * 当前话题所在网格名称 - 对应议题流程的处理部门 + * */ + @NotBlank(message = "网格名称不能为空") + private String orgName; + + /** + * 议题创建时间 + * */ + @NotBlank(message = "议题创建时间不能为空") + private Date createdTime; + + /** + * 小组名称 - 对应议题流程的小组名称(文案) + * */ + @NotBlank(message = "小组名称不能为空") + private String groupName; + + /** + * 话题发起人名称 -对应议题流程的话题发起人(文案) + * */ + @NotBlank(message = "话题发起人不能为空") + private String topicAuthor; + + /** + * 议题发起人(组长)名称 - 对应议题流程的组长名称(文案) + * */ + @NotBlank(message = "组长不能为空") + private String issueAuthor; + + /** + * 应表决数 + * */ + private Integer votableCount; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ClosedIssueListResultDTO.java new file mode 100644 index 0000000000..9082c8866e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-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/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VotingIssueListResultDTO.java new file mode 100644 index 0000000000..47367a99f9 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-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/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 05cdb50892..e12f1f38bb 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,9 +1,13 @@ 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.IssueDetailFormDTO; +import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; @@ -36,5 +40,17 @@ public class IssueController { return new Result().ok(issueService.detail(issueDetail)); } + /** + * @Description 话题转议题 供群组话题服务调用 + * @param issueShiftedFromTopicFormDTO + * @author wangc + * @date 2020.05.13 17:19 + **/ + @PostMapping(value = "topicshiftissue") + public Result issueShiftedToTopic(@RequestBody IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO){ + ValidatorUtils.validateEntity(issueShiftedFromTopicFormDTO); + return new Result().ok(issueService.issueShiftedToTopic(issueShiftedFromTopicFormDTO)); + } + } 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..58e934f162 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 @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IssueDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.entity.IssueEntity; @@ -40,4 +41,11 @@ public interface IssueDao extends BaseDao { */ IssueResultDTO issueDetail(IssueDetailFormDTO formDTO); + /** + * @Description 新增一条议题 + * @param issueDTO + * @author wangc + * @date 2020.05.13 15:46 + **/ + int insertOne(IssueDTO issueDTO); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java index 26603169ae..2ad711fd01 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IssueProcessDTO; import com.epmet.entity.IssueProcessEntity; import org.apache.ibatis.annotations.Mapper; @@ -29,5 +30,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueProcessDao extends BaseDao { - + + /** + * @Description 新增议题流程 议题发声状态变更,都要新增一条流程记录 + * @param issueProcessDTO + * @author wangc + * @date 2020.05.13 15:55 + **/ + int insertOne(IssueProcessDTO issueProcessDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java index fa285655aa..7a0de275b2 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java @@ -92,4 +92,12 @@ public interface IssueProcessService extends BaseService { * @date 2020-05-11 */ void delete(String[] ids); + + /** + * @Description 议题流程新增记录 + * @param issueProcessDTO + * @author wangc + * @date 2020.05.13 16:42 + **/ + int insertOne(IssueProcessDTO issueProcessDTO); } \ 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 7890e150fa..8282eb56a6 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 @@ -1,10 +1,16 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dto.form.CommonIssueListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; +import com.epmet.dto.result.ClosedIssueListResultDTO; import com.epmet.dto.result.IssueResultDTO; +import com.epmet.dto.result.VotingIssueListResultDTO; import com.epmet.entity.IssueEntity; +import java.util.List; + /** * @Author zxc * @CreateTime 2020/5/11 9:44 @@ -19,4 +25,29 @@ public interface IssueService extends BaseService { */ IssueResultDTO detail(IssueDetailFormDTO issueDetail); + /** + * @Description 话题转为议题入口 返回生成的议题Id + * @param issueShiftedFromTopicFormDTO IssueShiftedFromTopicFormDTO.class + * @author wangc + * @date 2020.05.13 16:08 + **/ + String issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO); + + /** + * @Description 表决中列表 + * @param issueListForm + * @return List + * @author wangc + * @date 2020.05.14 10:13 + **/ + List votingList(CommonIssueListFormDTO issueListForm); + + /** + * @Description 已关闭列表 + * @param issueListForm + * @return List + * @author wangc + * @date 2020.05.14 10:33 + **/ + List closedList(CommonIssueListFormDTO issueListForm); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java index fad2ebfb01..99b507d9b6 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java @@ -101,4 +101,16 @@ public class IssueProcessServiceImpl extends BaseServiceImpl implements IssueService { + protected static final Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class); + @Autowired private IssueDao issueDao; + @Autowired + private IssueProcessService issueProcessService; + + @Autowired + private IssueVoteStatisticalService issueVoteStatisticalService; + /** * @Description 议题详情 * @param issueDetail @@ -31,4 +58,71 @@ public class IssueServiceImpl extends BaseServiceImpl imp IssueResultDTO issueResult = issueDao.issueDetail(issueDetail); return issueResult; } + + /** + * @Description 话题转为议题入口 返回生成的议题Id + * @param issueShiftedFromTopicFormDTO IssueShiftedFromTopicFormDTO.class + * @author wangc + * @date 2020.05.13 16:08 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public String issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO) { + //1.新增议题 + IssueDTO issueDTO = ConvertUtils.sourceToTarget(issueShiftedFromTopicFormDTO,IssueDTO.class); + issueDTO.setCreatedBy(issueShiftedFromTopicFormDTO.getUserId()); + issueDTO.setSourceType(ModuleConstants.ISSUE_FROM_TOPIC); + issueDTO.setSourceId(issueShiftedFromTopicFormDTO.getTopicId()); + issueDTO.setIssueStatus(ModuleConstants.ISSUE_STATUS_VOTING); + issueDTO.setDecidedTime(issueShiftedFromTopicFormDTO.getCreatedTime()); + int issueAffectedRow = baseDao.insertOne(issueDTO); + if(issueAffectedRow == 1 && StringUtils.isNotBlank(issueDTO.getId())){ + //2.新增议题流程 + IssueProcessDTO issueProcessDTO = new IssueProcessDTO(); + issueProcessDTO.setIssueId(issueDTO.getId()); + issueProcessDTO.setIssueStatus(ModuleConstants.ISSUE_STATUS_VOTING); + issueProcessDTO.setOrgType(ModuleConstants.ISSUE_PROCESS_ORG_TYPE_GRID); + issueProcessDTO.setOrgId(issueShiftedFromTopicFormDTO.getGridId()); + issueProcessDTO.setOrgName(issueShiftedFromTopicFormDTO.getOrgName()); + issueProcessDTO.setCreatedBy(issueDTO.getCreatedBy()); + issueProcessDTO.setCreatedTime(issueDTO.getCreatedTime()); + issueProcessDTO.setOperationExplain(String.format(ModuleConstants.ISSUE_PROCESS_VOTING_OPERATION_EXPLAIN_TEMPLATE, + issueShiftedFromTopicFormDTO.getGroupName(), + issueShiftedFromTopicFormDTO.getTopicAuthor(), + issueShiftedFromTopicFormDTO.getIssueAuthor(), + issueShiftedFromTopicFormDTO.getIssueTitle() + )); + int issueProcessAffectedRow = issueProcessService.insertOne(issueProcessDTO); + if(issueProcessAffectedRow != NumConstant.ONE || StringUtils.isBlank(issueProcessDTO.getId())){ + logger.warn(String.format( + ModuleConstants.FAILURE_TO_ADD_ISSUE_PROCESS_LOG_TEMPLATE,issueDTO.getId())); + throw new RenException(ModuleConstants.FAILURE_TO_ADD_ISSUE_PROCESS); + } + //3.新增议题表决统计表 + IssueVoteStatisticalDTO voteStatistical = new IssueVoteStatisticalDTO(); + voteStatistical.setIssueId(issueDTO.getId()); + //应表决数,该网格下所有的居民 + voteStatistical.setVotableCount(issueShiftedFromTopicFormDTO.getVotableCount()); + issueVoteStatisticalService.save(voteStatistical); + //4.该网格下表决中议题总数量+1 + return issueDTO.getId(); + } + logger.warn(String.format( + ModuleConstants.FAILURE_TO_ADD_ISSUE_LOG_TEMPLATE,issueDTO.getId(), + issueDTO.getSourceType(), + issueDTO.getSourceId())); + throw new RenException(ModuleConstants.FAILURE_TO_ADD_ISSUE); + } + + @Override + public List votingList(CommonIssueListFormDTO issueListForm) { + return null; + } + + @Override + public List closedList(CommonIssueListFormDTO issueListForm) { + 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 new file mode 100644 index 0000000000..b46619710c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/utils/ModuleConstants.java @@ -0,0 +1,70 @@ +package com.epmet.utils; + +/** + * @Author wangc + * @CreateTime 2020/5/11 9:46 + */ + +public interface ModuleConstants { + + /** + * 议题状态:表决中 + * */ + String ISSUE_STATUS_VOTING = "voting"; + + /** + * 议题状态:已转项目 + * */ + String ISSUE_STATUS_SHIFT_PROJECT = "shift_project"; + + /** + * 议题状态:已关闭 + * */ + String ISSUE_STATUS_CLOSED = "closed"; + + /** + * 议题来源:居民段话题 + * */ + String ISSUE_FROM_TOPIC = "resi_topic"; + + /** + * 议题进展-当前操作组织类型-机构 不要与数据权限混淆!!! + * */ + String ISSUE_PROCESS_ORG_TYPE_AGENCY = "agency"; + + /** + * 议题进展-当前操作组织类型-部门 不要与数据权限混淆!!! + * */ + String ISSUE_PROCESS_ORG_TYPE_DEPT = "dept"; + + /** + * 议题进展-当前操作组织类型-网格 不要与数据权限混淆!!! + * */ + String ISSUE_PROCESS_ORG_TYPE_GRID = "grid"; + + /** + * 话题转议题流程的操作文案模板 + * */ + String ISSUE_PROCESS_VOTING_OPERATION_EXPLAIN_TEMPLATE = "【%s】%s发表的话题被组长%s转为议题:【%s】"; + + /** + * 新增议题流程记录失败日志模板 + * */ + String FAILURE_TO_ADD_ISSUE_PROCESS_LOG_TEMPLATE = "新增议题流程记录失败,议题Id:【%s】"; + + /** + * 新增议题记录失败日志模板 + * */ + String FAILURE_TO_ADD_ISSUE_LOG_TEMPLATE = "新增议题记录失败,议题来源:【%s】,议题来源Id:【%s】"; + + /** + * 新增议题流程记录失败日志模板 + * */ + String FAILURE_TO_ADD_ISSUE_PROCESS = "新增议题流程记录失败】"; + + /** + * 新增议题记录失败日志模板 + * */ + String FAILURE_TO_ADD_ISSUE = "新增议题记录失败,议题来源"; + +} 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 212d8066dd..3530aa88d3 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 @@ -43,4 +43,137 @@ AND del_flag = 0 + + + + + SELECT replace(uuid(),'-','') AS ID + + + INSERT INTO issue + + id, + + issue_status, + + + source_type, + + + source_id, + + + close_reason, + + + resolve_type, + + + issue_title, + + + suggestion, + + + customer_id, + + + grid_id, + + + org_id_path, + + + org_id, + + + voting_deadline, + + + decided_time, + + + shifted_time, + + + closed_time, + + + created_by, + + + created_time, + + + updated_by, + + + updated_time, + + del_flag, + revision + + + #{id}, + + #{issueStatus}, + + + #{sourceType}, + + + #{sourceId}, + + + #{closeReason}, + + + #{resolveType}, + + + #{issueTitle}, + + + #{suggestion}, + + + #{customerId}, + + + #{gridId}, + + + #{orgIdPath}, + + + #{orgId}, + + + #{votingDeadline}, + + + #{decidedTime}, + + + #{shiftedTime}, + + + #{closedTime}, + + + #{createdBy}, + + + #{createdTime}, + + + #{createdBy}, + + + #{createdTime}, + + '0', + 0 + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml index baadaa6e9e..ce252667b7 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml @@ -19,5 +19,84 @@ + + + + + SELECT replace(uuid(),'-','') AS ID + + + INSERT INTO issue_process + + id, + + issue_id, + + + issue_status, + + + org_type, + + + org_id, + + + operation_explain, + + + created_by, + + + created_time, + + + updated_by, + + + updated_time, + + + org_name, + + del_flag, + revision + + + #{id}, + + #{issueId}, + + + #{issueStatus}, + + + #{orgType}, + + + #{orgId}, + + + #{operationExplain}, + + + #{createdBy}, + + + #{createdTime}, + + + #{createdBy}, + + + #{createdTime}, + + + #{orgName}, + + '0', + 0 + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommonDataFilterResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommonDataFilterResultDTO.java new file mode 100644 index 0000000000..4e917a4413 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/CommonDataFilterResultDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 数据权限信息 + * @ClassName CommonDataFilterResultDTO + * @Auth wangc + * @Date 2020-05-13 10:49 + */ +@Data +public class CommonDataFilterResultDTO implements Serializable { + private static final long serialVersionUID = 4574851766448601457L; + + /** + * 所属机构Id全路径 agencyId + * */ + private String orgIdPath; + + /** + * 当前组织所属机关Id + * */ + private String agencyId; + + /** + * 当前组织名称 eg:agencyName | agencyName-deptName | agencyName-gridName + * */ + private String orgName; + + /** + * 当前组织的类型 agency | grid | dept + * */ + private String orgType; + + /** + * 当前组织Id + * */ + private String orgId; +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java index c5a2779d16..430b560d33 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java @@ -26,11 +26,8 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerGridDTO; -import com.epmet.dto.form.BelongGridNameFormDTO; -import com.epmet.dto.form.SelectGridNameByGridIdFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.dto.form.CustomerGridFormDTO; -import com.epmet.dto.form.ListCustomerGridFormDTO; import com.epmet.excel.CustomerGridExcel; import com.epmet.service.CustomerGridService; import org.springframework.beans.factory.annotation.Autowired; @@ -194,4 +191,17 @@ public class CustomerGridController { return new Result().ok(customerGridService.getGridNameByGridId(formDTO)); } + /** + * @Description 得到网格的数据权限信息 开放给各个服务使用 + * @param gridForm + * @return Result + * @author wangc + * @date 2020.05.13 11:14 + **/ + @PostMapping("griddatafilter") + public Result gridDataFilter(@RequestBody CommonGridIdFormDTO gridForm){ + ValidatorUtils.validateEntity(gridForm); + return new Result().ok(customerGridService.getGridDataFilterMsg(gridForm)); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index cc9f544cfb..d7a1ab0c60 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -160,4 +160,12 @@ public interface CustomerGridDao extends BaseDao { * @date 2020/5/11 18:50 */ BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO); + + /** + * @Description 通过网格Id获取网格所需要的数据权限信息 + * @param gridId + * @author wangc + * @date 2020.05.13 11:01 + **/ + CommonDataFilterResultDTO getGridDataFilterMsg(@Param("gridId")String gridId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java index 0f62db96e5..6ca09779e1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java @@ -236,4 +236,11 @@ public interface CustomerGridService extends BaseService { */ BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO); + /** + * @Description 通过网格Id获取网格所需要的数据权限信息 + * @param gridIdFormDTO + * @author wangc + * @date 2020.05.13 11:01 + **/ + CommonDataFilterResultDTO getGridDataFilterMsg(CommonGridIdFormDTO gridIdFormDTO); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index da1371aca7..341af37278 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerGridConstant; import com.epmet.dao.CustomerAgencyDao; @@ -547,4 +548,19 @@ public class CustomerGridServiceImpl extends BaseServiceImpl + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CommonTopicIdFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CommonTopicIdFormDTO.java new file mode 100644 index 0000000000..5f9323b2e8 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CommonTopicIdFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 通用的话题Id传参DTO,包含话题Id和用户Id + * @ClassName CommonTopicIdFormDTO + * @Auth wangc + * @Date 2020-05-12 11:14 + */ +@Data +public class CommonTopicIdFormDTO implements Serializable { + private static final long serialVersionUID = -6867868118191947074L; + + @NotBlank(message = "话题Id不能为空") + private String topicId; + + @NotBlank(message = "用户Id不能为空") + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java new file mode 100644 index 0000000000..c0043833f3 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java @@ -0,0 +1,41 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 话题转议题时前端传参 + * @ClassName ResiTopicTurnIssueFromDTO + * @Auth wangc + * @Date 2020-05-13 10:19 + */ +@Data +public class ResiTopicTurnIssueFromDTO implements Serializable { + private static final long serialVersionUID = -534799870823111781L; + + /** + * 议题名称 + * */ + @NotBlank(message = "议题名称") + private String issueTitle; + + /** + * 话题Id + * */ + @NotBlank(message = "话题Id") + private String topicId; + + /** + * 建议 + * */ + @NotBlank(message = "建议") + private String suggestion; + + /** + * 用户Id + * */ + @NotBlank(message = "用户Id不能为空") + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAndGroupResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAndGroupResultDTO.java new file mode 100644 index 0000000000..ac3516418d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicAndGroupResultDTO.java @@ -0,0 +1,36 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 话题所在小组相关信息DTO + * @ClassName ResiTopicAndGroupResultDTO + * @Auth wangc + * @Date 2020-05-13 14:54 + */ +@Data +public class ResiTopicAndGroupResultDTO implements Serializable { + private static final long serialVersionUID = -2247558008863128347L; + + /** + * 组Id + * */ + private String groupId; + + /** + * 话题作者Id + * */ + private String topicAuthorId; + + /** + * 网格Id + * */ + private String gridId; + + /** + * 客户Id + * */ + private String customerId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicShiftIssueInitResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicShiftIssueInitResultDTO.java new file mode 100644 index 0000000000..3984b68fa5 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicShiftIssueInitResultDTO.java @@ -0,0 +1,47 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description + * @ClassName ResiTopicShiftIssueInitResultDTO + * @Auth wangc + * @Date 2020-05-12 10:57 + */ +@Data +public class ResiTopicShiftIssueInitResultDTO implements Serializable { + private static final long serialVersionUID = 4798036194688707074L; + + /** + * 话题Id + * */ + private String topicId; + + /** + * 话题内容 + * */ + private String topicContent; + + /** + * 话题图片 + * */ + private List topicImgs; + + /** + * 所属网格名称 + * */ + private String belongGridName; + + /** + * 话题发布人昵称 + * */ + private String releaseUserName; + + /** + * 话题发布时间 + * */ + private Long releaseTime; +} diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index 952ccc1abd..97c6beeb57 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -76,6 +76,12 @@ 2.0.0 compile + + com.epmet + gov-issue-client + 2.0.0 + compile + diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java new file mode 100644 index 0000000000..d9f7c146b1 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovIssueFeignClient.java @@ -0,0 +1,29 @@ +package com.epmet.modules.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; +import com.epmet.modules.feign.fallback.GovIssueFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; + + +/** + * @Description gov-issue服务fegin + * @Author wangc + * @Date 2020/5/12 10:00 + * url = "localhost:8101" + */ +@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER , fallback = GovIssueFeignClientFallBack.class) +public interface GovIssueFeignClient { + + /** + * @Description 话题转议题 + * @param issueShiftedFromTopicFormDTO + * @author wangc + * @date 2020.05.13 18:19 + **/ + @PostMapping(value = "gov/issue/issue/topicshiftissue", consumes = MediaType.APPLICATION_JSON_VALUE) + Result issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO); +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java index d12b4125a8..f89ba95c04 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java @@ -5,6 +5,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerDepartmentDTO; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.CommonGridIdFormDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.modules.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -22,14 +24,14 @@ import java.util.List; public interface GovOrgFeignClient { /** - * @param id - gridId + * @param customerGridFormDTO * @return Result * @Author wangc * @Description 查询网格信息 * @Date 2020/3/30 10:45 **/ - @GetMapping("/gov/org/customergrid/{id}") - Result getGrid(String id); + @GetMapping("/gov/org/customergrid/getcustomergridbygridid") + Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO); /** * @Description 查询部门信息 @@ -49,4 +51,14 @@ public interface GovOrgFeignClient { **/ @PostMapping("/gov/org/customerstaffgrid/getgridstaffs") Result> getGridStaffs(@RequestBody CommonGridIdFormDTO gridIdFormDTO); + + /** + * @param gridForm + * @return Result + * @Author wangc + * @Description 获取网格所需要的数据权限内容 + * @Date 2020/3/30 10:45 + **/ + @GetMapping("/gov/org/customergrid/griddatafilter") + Result gridDataFilter(CommonGridIdFormDTO gridForm); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java new file mode 100644 index 0000000000..b3cc109467 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovIssueFeignClientFallBack.java @@ -0,0 +1,23 @@ +package com.epmet.modules.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.IssueShiftedFromTopicFormDTO; +import com.epmet.modules.feign.GovIssueFeignClient; +import org.springframework.stereotype.Component; + +/** + * @Description gov-issue服务fegin服务降级 + * @ClassName GovIssueFeignClientFallBack + * @Auth wangc + * @Date 2020-05-12 10:02 + */ +@Component +public class GovIssueFeignClientFallBack implements GovIssueFeignClient { + + @Override + public Result issueShiftedToTopic(IssueShiftedFromTopicFormDTO issueShiftedFromTopicFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "issueShiftedToTopic", issueShiftedFromTopicFormDTO); + } +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java index 6489af4de3..337a23454a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/fallback/GovOrgFeignClientFallBack.java @@ -7,7 +7,10 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerDepartmentDTO; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.CommonGridIdFormDTO; +import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.modules.feign.GovOrgFeignClient; +import com.epmet.modules.utils.ModuleConstant; import org.springframework.stereotype.Component; import java.util.List; @@ -18,8 +21,8 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { @Override - public Result getGrid(String id) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGrid", id); + public Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER,"getCustomerGridByGridId",customerGridFormDTO); } @Override @@ -31,4 +34,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result> getGridStaffs(CommonGridIdFormDTO gridIdFormDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridStaffs", gridIdFormDTO); } + + @Override + public Result gridDataFilter(CommonGridIdFormDTO gridForm) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "gridDataFilter", gridForm); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 4bc70f4762..064f1731a4 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -139,4 +139,13 @@ public interface ResiGroupDao extends BaseDao { * @Date 2020.04.20 11:17 **/ ApplyingGroupDetailResultDTO getApplyingGroupDetailByGroupId(@Param("groupId") String groupId); + + /** + * @Description 查询一个网格下面所有组Id + * @param gridId + * @return List + * @author wangc + * @date 2020.05.14 10:54 + **/ + List getGroupIdByGridId(@Param("gridId") String gridId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 71a902430a..aca58b287c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -241,4 +241,13 @@ public interface ResiGroupService extends BaseService { * @Date 2020.04.19 23:32 **/ Result getApplyingGroupDetail(CommonGroupIdFromDTO groupId); + + /** + * @Description 查询一个网格下面所有组Id + * @param gridId + * @return List + * @author wangc + * @date 2020.05.14 10:54 + **/ + List getGroupIdByGridId(String gridId); } 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 9282ee3895..b29b5022b3 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 @@ -786,6 +786,20 @@ public class ResiGroupServiceImpl extends BaseServiceImpl().ok(ConvertUtils.sourceToTarget(detail, ApplyingGroupDetailResult2DTO.class)); } + + /** + * @Description 查询一个网格下面所有组Id + * @param gridId + * @return List + * @author wangc + * @date 2020.05.14 10:54 + **/ + @Override + public List getGroupIdByGridId(String gridId) { + if(StringUtils.isBlank(gridId)) return null; + return baseDao.getGroupIdByGridId(gridId); + } + /** * @Description 给加入此网格的网格长发送消息 * @param msg diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java index 2fc537cdb2..7c4e6c8173 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java @@ -165,4 +165,27 @@ public class ResiGroupMemberRedis { result.setMemberMap(memberMap); return result; } + + /** + * @Description 得到这个组下所有的成员Id + * @param groupId + * @return List + * @author wangc + * @date 2020.05.14 11:03 + **/ + public Set getGroupMemberIds(String groupId){ + Set groupMemberKeys = + redisUtils.keys(RedisKeys.getResiGroupMemberInfoKey(groupId,"*")); + if(null != groupMemberKeys && groupMemberKeys.size() > NumConstant.ZERO){ + StringBuilder keyPrefix = new StringBuilder("resi:group:member:"); + keyPrefix.append(groupId); + Set memberIds = new HashSet<>(); + groupMemberKeys.forEach(key -> { + memberIds.add(key.replace(keyPrefix.toString(),"")); + }); + return memberIds; + } + return null; + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java index a9cdb93a94..e0f9e4420e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java @@ -176,4 +176,13 @@ public interface ResiGroupMemberService extends BaseService groupIds = resiGroupService.getGroupIdByGridId(gridId); + //2.去缓存中拿取这些组的信息 + if(null != groupIds && groupIds.size() > NumConstant.ZERO){ + Set set = new HashSet<>(); + groupIds.forEach( id -> { + Set members = resiGroupMemberRedis.getGroupMemberIds(id); + if(null != members && members.size() > NumConstant.ZERO){ + set.addAll(members); + } + }); + return set.size(); + } + return NumConstant.ZERO; + } + + /** * @Description 将ResiGroupMemberDTO转换成ResiGroupMemberInfoRedisDTO * @Param * @return diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 6a86db52ff..29d3bf5d29 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -7,10 +7,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.modules.topic.service.ResiTopicService; import com.epmet.resi.group.dto.topic.TopicInfoDTO; import com.epmet.resi.group.dto.topic.form.*; -import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueDetailResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; +import com.epmet.resi.group.dto.topic.result.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -199,4 +196,34 @@ public class ResiTopicController { return new Result().ok(topicService.selectDetail(topicInfo)); } + /** + * @Description 话题转议题初始化,如果不符合转议题的条件会抛异常 + * @param tokenDto + * @param topicIdFormDTO + * @author wangc + * @date 2020.05.12 16:28 + **/ + @PostMapping("initturnissue") + public Result initTurnIssue(@LoginUser TokenDto tokenDto,@RequestBody CommonTopicIdFormDTO topicIdFormDTO){ + topicIdFormDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(topicIdFormDTO); + return new Result().ok(topicService.initTopicInfoWhenShift(topicIdFormDTO)); + } + + /** + * @Description 话题转议题 + * @param topicTurnIssueFromDTO + * @param tokenDto + * @author wangc + * @date 2020.05.13 19:08 + **/ + @PostMapping("turnintoissue") + public Result turnIntoIssue(@LoginUser TokenDto tokenDto,@RequestBody ResiTopicTurnIssueFromDTO topicTurnIssueFromDTO){ + topicTurnIssueFromDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(topicTurnIssueFromDTO); + topicService.shiftIssue(topicTurnIssueFromDTO); + return new Result(); + } + + } 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 95d679080a..2eb4442b60 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 @@ -20,9 +20,11 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.ResiTopicEntity; +import com.epmet.resi.group.dto.group.ResiGroupDTO; 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.ResiTopicIncludeIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; @@ -120,4 +122,20 @@ public interface ResiTopicDao extends BaseDao { * @date 2020/5/11 15:28 */ TopicInfoDTO selectDetail(TopicInfoFormDTO formDTO); + + /** + * @Description 根据话题Id获取小组的信息 + * @param topicId + * @author wangc + * @date 2020.05.13 13:50 + **/ + ResiTopicAndGroupResultDTO getGroupInfoByTopicId(@Param("topicId")String topicId); + + /** + * @Description + * @param topic ResiTopicEntity.class + * @author wangc + * @date 2020.05.13 18:52 + **/ + int updateOne(ResiTopicEntity topic); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java index 8c4b186b03..c92ef5cb12 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicOperationDao.java @@ -40,4 +40,12 @@ public interface ResiTopicOperationDao extends BaseDao **/ int insertOne(ResiTopicOperationEntity topicOperationEntity); + /** + * @Description 按传参进行新增操作 + * @param topicOperationEntity + * @return int 受影响的行数 + * @author wangc + * @date 2020.05.14 09:16 + **/ + int insertOneByParams(ResiTopicOperationEntity topicOperationEntity); } \ 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 f7694dcf76..496ba177c1 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 @@ -26,15 +26,10 @@ import com.epmet.modules.topic.entity.ResiTopicEntity; import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; + import com.epmet.resi.group.dto.topic.TopicInfoDTO; -import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO; -import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; -import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; -import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueDetailResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; +import com.epmet.resi.group.dto.topic.form.*; +import com.epmet.resi.group.dto.topic.result.*; import java.util.List; @@ -229,4 +224,20 @@ public interface ResiTopicService extends BaseService { */ TopicInfoDTO selectDetail(TopicInfoFormDTO formDTO); + /** + * @Description 话题转议题时初始化数据 + * @param topicIdFormDTO + * @author wangc + * @date 2020.05.12 13:53 + **/ + ResiTopicShiftIssueInitResultDTO initTopicInfoWhenShift(CommonTopicIdFormDTO topicIdFormDTO); + + /** + * @Description 话题转议题 + * @param topicTurnIssueFromDTO + * @author wangc + * @date 2020.05.13 10:28 + **/ + void shiftIssue(ResiTopicTurnIssueFromDTO topicTurnIssueFromDTO); + } \ 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 81a4500ca8..400811e104 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 @@ -23,6 +23,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; @@ -32,6 +33,8 @@ import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.modules.comment.entity.ResiTopicCommentEntity; import com.epmet.modules.feign.EpmetUserFeignClient; +import com.epmet.modules.member.dao.ResiGroupMemberDao; +import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.service.ResiGroupMemberService; import com.epmet.modules.topic.dao.ResiTopicCommentDao; import com.epmet.modules.topic.service.ResiTopicCommentService; @@ -42,9 +45,12 @@ import com.epmet.resi.group.constant.TopicConstant; import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO; import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; +import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; +import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO; import com.epmet.resi.group.dto.topic.ResiTopicCommentDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.ResiPublishCommentFormDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -52,10 +58,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 话题评论表 @@ -75,6 +79,12 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl comments = baseDao.getCommentList(commentFormDTO); if (null != comments && comments.size() > 0) { - - List userIdList = new ArrayList<>(); + //获取groupId + ResiTopicDTO topic = + resiTopicService.get(commentFormDTO.getTopicId()); + /*List userIdList = new ArrayList<>(); for (ResiCommentResultDTO comment : comments) { userIdList.add(comment.getUserId()); } @@ -214,7 +226,8 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl>().ok(comments); @@ -232,5 +245,73 @@ public class ResiTopicCommentServiceImpl extends BaseServiceImpl + * @author wangc + * @date 2020.05.12 17:12 + **/ + private void setCacheUserInfo(String groupId,List comments){ + //1.初始化存储缺失缓存信息的组员Id的容器,默认去重 + Set usersNotInCache = new HashSet<>(); + + //2.读取用户缓存信息 + ResiGroupMemberInfoRedisResultDTO memberRedis = resiGroupMemberRedis.getKeys(groupId); + if (null != memberRedis && null != memberRedis.getMemberKeys() && null != memberRedis.getMemberMap()) { + String keyPrefix = RedisKeys.getResiGroupMemberInfoKey(groupId, ""); + for (ResiCommentResultDTO comment : comments) + { + //缓存中有该用户的key + if (memberRedis.getMemberKeys().contains(keyPrefix.concat(comment.getUserId()))) { + ResiGroupMemberInfoRedisDTO memberInfoCache = memberRedis.getMemberMap().get(comment.getUserId()); + if (null != memberInfoCache) { + //缓存中有该用户信息 + comment.setCommentUserName(memberInfoCache.getUserShowName()); + comment.setCommentUserHeadPhoto(memberInfoCache.getUserHeadPhoto()); + } else { + //缓存中没有该用户信息 + usersNotInCache.add(comment.getUserId()); + } + } else { + //缓存中没有该用户的key + usersNotInCache.add(comment.getUserId()); + } + } + } + + //3.如果存在缺失缓存的组员,去数据库中查找,并存入缓存 + if (usersNotInCache.size() > 0) { + Map> commentMap + = comments.stream().collect(Collectors.groupingBy(ResiCommentResultDTO::getUserId)); + List userIds = new ArrayList<>(usersNotInCache); + Result> result = + epmetUserFeignClient.getUserResiInfoList(new UserResiInfoListFormDTO(userIds)); + + if (result.success() && null != result.getData() && result.getData().size() > 0) { + for (UserResiInfoResultDTO user : result.getData()) { + ResiCommentResultDTO comment = + commentMap.get(user.getUserId()).get(0); + comment.setCommentUserName(user.getShowName()); + comment.setCommentUserHeadPhoto(user.getHeadPhoto()); + + //存入缓存 + ResiGroupMemberInfoRedisDTO memberRedisDTO = new ResiGroupMemberInfoRedisDTO(); + ResiGroupMemberDTO memberMySql = resiGroupMemberDao.selectGroupMemberInfo(groupId, user.getUserId()); + memberRedisDTO.setMemberStatus(memberMySql.getStatus()); + memberRedisDTO.setUserId(user.getUserId()); + memberRedisDTO.setUserShowName(user.getShowName()); + memberRedisDTO.setEnterGroupType(memberMySql.getEnterGroupType()); + memberRedisDTO.setGroupLeaderFlag(memberMySql.getGroupLeaderFlag()); + memberRedisDTO.setUserHeadPhoto(user.getHeadPhoto()); + memberRedisDTO.setGroupId(groupId); + resiGroupMemberRedis.set(memberRedisDTO); + } + } else { + + logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND); + } + } + } } \ 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 920c6cfda4..dcd42e5964 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 @@ -28,13 +28,17 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.IssueInitiatorFormDTO; -import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.CommonDataFilterResultDTO; import com.epmet.dto.result.IssueInitiatorResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.feign.EpmetUserFeignClient; +import com.epmet.modules.feign.GovIssueFeignClient; +import com.epmet.modules.feign.GovOrgFeignClient; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupStatisticalDao; import com.epmet.modules.group.entity.ResiGroupEntity; @@ -63,14 +67,8 @@ import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO; import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; -import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO; -import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; -import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; -import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueDetailResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; -import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; +import com.epmet.resi.group.dto.topic.form.*; +import com.epmet.resi.group.dto.topic.result.*; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -124,6 +122,12 @@ public class ResiTopicServiceImpl extends BaseServiceImpl topicDetailResult = + getTopicDetail(null,topicIdFormDTO.getTopicId()); + if(topicDetailResult.success() && null != topicDetailResult.getData()){ + ResiTopicShiftIssueInitResultDTO result = ConvertUtils.sourceToTarget(topicDetailResult.getData(),ResiTopicShiftIssueInitResultDTO.class); + try { + SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE); + + result.setReleaseTime(format.parse(topicDetailResult.getData().getReleaseTime()).getTime()/NumConstant.ONE_THOUSAND); + }catch (Exception e){ + result.setReleaseTime(NumConstant.ZERO_L); + logger.warn(String.format(ModuleConstant.DATE_FORMAT_PARSE_FAILURE,e.getMessage())); + } + ResiGroupInfoRedisDTO group = resiGroupRedis.get(topic.getGroupId()); + if(null == group && StringUtils.isNotBlank(group.getGroupId())){ + CustomerGridFormDTO gridForm = new CustomerGridFormDTO(); + gridForm.setGridId(group.getGridId()); + Result gridInfoResult = govOrgFeignClient.getCustomerGridByGridId(gridForm); + if(gridInfoResult.success() && null != gridInfoResult.getData() && StringUtils.isNotBlank(gridInfoResult.getData().getId())) { + result.setBelongGridName(gridInfoResult.getData().getGridName()); + } + } + logger.error(ModuleConstant.NO_SUCH_GROUP); + result.setBelongGridName(ModuleConstant.EMPTY_STR); + return result; + } + throw new RenException(ModuleConstant.FAILED_QUERY_TOPIC_INFO); + } + + /** + * @Description 话题转议题 1.统一时间 2.调用gov-org服务拿到数据权限的信息 3.调用gov-issue服务新增议题信息 + * @param topicTurnIssueFromDTO + * @author wangc + * @date 2020.05.13 10:28 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void shiftIssue(ResiTopicTurnIssueFromDTO topicTurnIssueFromDTO) { + //1.统一时间(群组服务 -> 议题服务) + Date now = new Date(); + //2.调用gov-org获取数据权限 + ResiTopicAndGroupResultDTO group = baseDao.getGroupInfoByTopicId(topicTurnIssueFromDTO.getTopicId()); + if(null != group){ + CommonGridIdFormDTO dataFilterParam = new CommonGridIdFormDTO(); + dataFilterParam.setUserId(topicTurnIssueFromDTO.getUserId()); + dataFilterParam.setGridId(group.getGridId()); + Result dataFilterResult = + govOrgFeignClient.gridDataFilter(dataFilterParam); + if(dataFilterResult.success() && null != dataFilterResult.getData()){ + IssueShiftedFromTopicFormDTO issueInfo = ConvertUtils.sourceToTarget(topicTurnIssueFromDTO,IssueShiftedFromTopicFormDTO.class); + issueInfo.setCreatedTime(now); + issueInfo.setGridId(group.getGridId()); + issueInfo.setCustomerId(group.getCustomerId()); + issueInfo.setOrgId(dataFilterResult.getData().getAgencyId()); + issueInfo.setOrgIdPath(dataFilterResult.getData().getOrgIdPath()); + issueInfo.setOrgName(dataFilterResult.getData().getOrgName()); + //3.获取小组名称、话题作者、议题发起人 + ResiGroupMemberInfoRedisDTO topicAuthor = resiGroupMemberRedis.get(group.getGroupId(), group.getTopicAuthorId()); + issueInfo.setTopicAuthor(null == topicAuthor ? ModuleConstant.EMPTY_STR : topicAuthor.getUserShowName()); + ResiGroupMemberInfoRedisDTO issueAuthor = resiGroupMemberRedis.get(group.getGroupId(),topicTurnIssueFromDTO.getUserId()); + issueInfo.setIssueAuthor(null == issueAuthor ? ModuleConstant.EMPTY_STR : issueAuthor.getUserShowName()); + ResiGroupInfoRedisDTO groupCache = resiGroupRedis.get(group.getGroupId()); + issueInfo.setGroupName(null == groupCache ? ModuleConstant.EMPTY_STR : groupCache.getGroupName()); + issueInfo.setVotableCount(resiGroupMemberService.gridResiCount(group.getGridId())); + //4.调用gov-issue新增议题 + Result issueResult = govIssueFeignClient.issueShiftedToTopic(issueInfo); + //5.修改话题shiftIssue字段 + if(issueResult.success() && StringUtils.isNotBlank(issueResult.getData())){ + ResiTopicEntity topic2Upd = new ResiTopicEntity(); + topic2Upd.setId(topicTurnIssueFromDTO.getTopicId()); + topic2Upd.setUpdatedBy(topicTurnIssueFromDTO.getUserId()); + topic2Upd.setShiftIssue(Boolean.TRUE); + topic2Upd.setIssueId(issueResult.getData()); + topic2Upd.setUpdatedTime(now); + int topicResult = baseDao.updateOne(topic2Upd); + //6.新增话题操作记录 + if(topicResult == NumConstant.ONE) { + ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); + operation.setCreatedTime(now); + operation.setCreatedBy(topicTurnIssueFromDTO.getUserId()); + operation.setTopicId(topicTurnIssueFromDTO.getTopicId()); + operation.setOperationType(ModuleConstant.TOPIC_OPERATION_TYPE_SHIFT_ISSUE); + int operationResult = resiTopicOperationDao.insertOneByParams(operation); + if(operationResult != NumConstant.ONE){ + logger.warn(ModuleConstant.FAILURE_TO_ADD_TOPIC_OPERATION); + } + return; + } + logger.warn(ModuleConstant.FAILURE_TO_UPDATE_TOPIC); + + } + } + } + throw new RenException(ModuleConstant.FAILURE_TO_TURN_ISSUE); + } + } + 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 b54a19bb87..e913c094ff 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 @@ -118,6 +118,11 @@ public interface ModuleConstant extends Constant { * */ String NO_SUCH_TOPIC = "没有找到所在话题"; + /** + * 没有找到所在的群组 + * */ + String NO_SUCH_GROUP = "没有找到所在的群组"; + /** * 当前用户被禁言 * */ @@ -245,4 +250,48 @@ public interface ModuleConstant extends Constant { */ String FAILED_SEND_MESSAGE = "消息发送失败,消息内容:【%s】"; + /** + * 该话题不能转为议题 + * */ + String CURRENT_TOPIC_COULD_NOT_TURN_TO_ISSUE = "该话题不能转为议题,可能原因:当前话题已转项目或当前话题不是在【讨论中】状态"; + + /** + * 议题状态:讨论中 + * */ + String TOPIC_STATUS_DISCUSSING = "discussing"; + + /** + * 话题操作记录状态- 转议题 + * */ + String TOPIC_OPERATION_TYPE_SHIFT_ISSUE = "shift_issue"; + + /** + * 空字符串 + * */ + String EMPTY_STR = ""; + + /** + * 话题查询失败 + * */ + String FAILED_QUERY_TOPIC_INFO = "话题查询失败"; + + /** + * 日期格式转换失败 + * */ + String DATE_FORMAT_PARSE_FAILURE = "日期格式转换失败,异常信息:%s"; + + /** + * 话题转议题失败 + * */ + String FAILURE_TO_TURN_ISSUE = "话题转议题失败"; + + /** + * 话题状态修改失败 + * */ + String FAILURE_TO_UPDATE_TOPIC = "话题状态修改失败"; + + /** + * 新增话题操作记录失败 + * */ + String FAILURE_TO_ADD_TOPIC_OPERATION = "新增话题操作记录失败"; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 41ff468da7..9a74ab5d72 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -277,4 +277,16 @@ AND gro.ID = #{groupId} AND oper.STATE IN ('under_auditting','approved','rejected') + + + 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 62cef3f328..12b07ff44a 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 @@ -102,7 +102,7 @@ 'APP_USER', '0', - '0', + 0, now(), now() @@ -259,6 +259,35 @@ + + + UPDATE + RESI_TOPIC + + group_id = #{groupId}, + topic_content = #{topicContent}, + status = #{status}, + province = #{province}, + city = #{city}, + area = #{area}, + address = #{address}, + longitude = #{longitude}, + dimension = #{dimension}, + del_flag = #{delFlag}, + revision = #{revision}, + created_by = #{createdBy}, + created_time = #{createdTime}, + updated_by = #{updatedBy}, + updated_time = #{updatedTime}, + shift_issue = #{shiftIssue}, + issue_id = #{issueId} + + WHERE + ID = #{id} + AND DEL_FLAG = '0' + + + @@ -351,4 +380,19 @@ AND del_flag = 0 + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml index abf5bc56fd..be6c114d66 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicOperationDao.xml @@ -53,5 +53,67 @@ + + + + + select replace(uuid(),'-','') AS ID + + + INSERT INTO resi_topic_operation + + id, + + topic_id, + + + operation_type, + + + operation_reason, + + + created_by, + + + created_time, + + + updated_by, + + + updated_time, + + del_flag, + revision + + + #{id}, + + #{topicId}, + + + #{operationType}, + + + #{operationReason}, + + + #{createdBy}, + + + #{createdTime}, + + + #{createdBy}, + + + #{createdTime}, + + '0', + 0 + + + From 9ed7b7c02b556b53dbc074fae808b78b724048e9 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 15 May 2020 09:12:17 +0800 Subject: [PATCH 02/22] =?UTF-8?q?=E7=BE=A4=E6=88=90=E5=91=98=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E5=8A=A0=E4=B8=8A=E6=89=8B=E6=9C=BA=E5=8F=B7=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E3=80=81=E8=AE=AE=E9=A2=98=E7=9B=B8=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=88=E5=B1=85=E6=B0=91=E7=AB=AF=E3=80=81=E6=94=BF?= =?UTF-8?q?=E5=BA=9C=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 */ From 0c808ae5aa03c6d17f13c414e69b3bb4ba6cbc9b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 15 May 2020 10:47:04 +0800 Subject: [PATCH 03/22] =?UTF-8?q?getMyGrids=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8Cresigroup=20=E7=BC=93=E5=AD=98=E5=BA=93db1,ga?= =?UTF-8?q?teway=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 4 ++++ .../service/impl/StaffAgencyServiceImpl.java | 16 ++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index b96276ef8a..ee6408e6d3 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -130,14 +130,17 @@ lb://resi-guide-server + lb://gov-org-server lb://oper-access-server + lb://resi-mine-server lb://resi-group-server + lb://resi-partymember-server lb://gov-grid-server @@ -146,6 +149,7 @@ lb://gov-access-server + lb://gov-mine-server lb://resi-hall-server diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java index ae7a56de8f..ec96daa291 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java @@ -112,7 +112,9 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { private boolean checkIssueProcessing(String gridId, List issueProcessingList) { boolean flag = false; for (GridProcessingCountResultDTO gridProcessingCountResultDTO : issueProcessingList) { - if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) { + if (gridId.equals(gridProcessingCountResultDTO.getGridId()) + && null!=gridProcessingCountResultDTO.getCount() + && gridProcessingCountResultDTO.getCount() > 0) { flag = true; break; } @@ -123,7 +125,9 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { private boolean checkPartyMemberProcessing(String gridId, List partyMemberProcessingList) { boolean flag = false; for (GridProcessingCountResultDTO gridProcessingCountResultDTO : partyMemberProcessingList) { - if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) { + if (gridId.equals(gridProcessingCountResultDTO.getGridId()) + && null != gridProcessingCountResultDTO.getCount() + && gridProcessingCountResultDTO.getCount() > 0) { flag = true; break; } @@ -134,7 +138,9 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { private boolean checkResiProcessing(String gridId, List resiProcessingList) { boolean flag = false; for (GridProcessingCountResultDTO gridProcessingCountResultDTO : resiProcessingList) { - if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) { + if (gridId.equals(gridProcessingCountResultDTO.getGridId()) + && null!=gridProcessingCountResultDTO.getCount() + && gridProcessingCountResultDTO.getCount() > 0) { flag = true; break; } @@ -145,7 +151,9 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { private boolean checkGroupProcessing(String gridId, List groupProcessingList) { boolean flag = false; for (GridProcessingCountResultDTO gridProcessingCountResultDTO : groupProcessingList) { - if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) { + if (gridId.equals(gridProcessingCountResultDTO.getGridId()) + && null!=gridProcessingCountResultDTO.getCount() + && gridProcessingCountResultDTO.getCount() > 0) { flag = true; break; } From 0ccd5515fc7a785694c37f9545806899ea30e623 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 15 May 2020 10:48:10 +0800 Subject: [PATCH 04/22] =?UTF-8?q?getMyGrids=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8Cresigroup=20=E7=BC=93=E5=AD=98=E5=BA=93db1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/feign/GovIssueFeignClient.java | 3 ++- epmet-module/resi-group/resi-group-server/pom.xml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java index 1b7642c82a..a1a86b35a4 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -2,6 +2,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.feign.fallback.GovIssueFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; @@ -25,5 +26,5 @@ public interface GovIssueFeignClient { * @Date 2020/5/13 15:47 **/ @PostMapping(value = "/gov/issue/issue/queryvotingissuecount",consumes = MediaType.APPLICATION_JSON_VALUE) - Result queryVotingIssueCount(@RequestBody List gridIdList); + Result> queryVotingIssueCount(@RequestBody List gridIdList); } diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index 277302d93e..ff65886f95 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -118,7 +118,7 @@ epmet_resi_group_user EpmEt-db-UsEr - 0 + 1 192.168.1.130 6379 123456 @@ -148,7 +148,7 @@ epmet elink@833066 - 0 + 1 r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com 6379 EpmEtrEdIs!q@w From 245f45167626ae8ecc5fb61fbdcc8e276091e2a5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 15 May 2020 10:50:17 +0800 Subject: [PATCH 05/22] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E8=AE=AE=E9=A2=98=E8=BD=AC=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/ShiftProjectFormDTO.java | 43 ++++++ .../com/epmet/dto/form/TickStaffFormDTO.java | 32 +++++ .../dto/result/IssueProjectResultDTO.java | 31 +++++ .../com/epmet/constant/IssueConstant.java | 2 +- .../epmet/constant/UserMessageConstant.java | 5 + .../controller/IssueManageController.java | 16 +++ .../epmet/feign/GovProjectFeignClient.java | 11 ++ .../GovProjectFeignClientFallBack.java | 7 + .../java/com/epmet/service/IssueService.java | 8 ++ .../epmet/service/impl/IssueServiceImpl.java | 124 ++++++++++++++---- .../impl/CustomerAgencyServiceImpl.java | 3 +- .../gov-project/gov-project-server/pom.xml | 6 + .../epmet/controller/ProjectController.java | 13 ++ .../com/epmet/service/ProjectService.java | 8 ++ .../impl/ProjectProcessServiceImpl.java | 1 - .../service/impl/ProjectServiceImpl.java | 104 +++++++++++++++ 16 files changed, 384 insertions(+), 30 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProjectResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectFormDTO.java new file mode 100644 index 0000000000..3ef4e65555 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ShiftProjectFormDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dto.form; + +import com.epmet.dto.IssueDTO; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 议题管理-议题转项目-接口入参 + * @Author sun + */ +@Data +public class ShiftProjectFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "项目Id不能为空") + private String issueId; + + @Length(max=1000,message = "公开答复内容不能超过1000位") + private String publicReply; + + @NotBlank(message = "内部备注不能为空") + @Length(max=1000,message = "内部备注不能超过1000位") + private String internalRemark; + + @Valid + private List staffList; + + /** + * 议题详细数据 + */ + private IssueDTO issueDTO; + /** + * token中工作人员Id + */ + private String staffId; + +} + diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java new file mode 100644 index 0000000000..b163fd5781 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 议题管理-议题转项目-勾选的人员信息-接口入参 + * @Author sun + */ +@Data +public class TickStaffFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "机关Id不能为空") + private String agencyId; + + /** + * 部门Id(为空表示勾选的人不是部门下的,可能是组织下的也可能是网格下的) + */ + private String departmentId; + + /** + * 网格Id(为空表示勾选的人不是网格下的,可能是组织下的也可能是部门下的) + */ + private String gridId; + + @NotBlank(message = "内部备注不能为空") + private String staffId; +} + diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProjectResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProjectResultDTO.java new file mode 100644 index 0000000000..bcad9ff776 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProjectResultDTO.java @@ -0,0 +1,31 @@ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 议题转项目调用gov-project服务--接口返参 + * @Author sun + */ +@Data +public class IssueProjectResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 项目Id + */ + private String projectId; + /** + * 议题转项目当前操作人对应的处理部门名称(组织-网格) + */ + private String orgName; + /** + * 议题转项目时间(项目表创建时间) + */ + private Date shiftedTime; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java index c5170b7e79..cf436dfdbb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java @@ -44,7 +44,7 @@ public interface IssueConstant { String ISSUE_RESI_TOPIC = "resi_topic"; String SELECT_TOPIC_EXCEPTION = "获取话题数据失败"; - String SAVE_MSG_EXCEPTION = "关闭议题时给用户发送消息失败"; + String SAVE_MSG_EXCEPTION = "发送消息失败"; /** * 议题管理-操作人所属机构类型(机构:agency | 部门:dept | 网格:grid) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java index ccbb7faa87..26dcf4e53c 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/UserMessageConstant.java @@ -21,5 +21,10 @@ public interface UserMessageConstant { */ String ISSUE_UNRESLOVED_MSG = "您好,您发表的话题\"%s\"问题无需解决,原因:%s"; + /** + * 议题转项目消息模板 + */ + String ISSUE_SHIFT_PROJECT_MSG = "您好,您发表的话题\"%s\"的问题,已由%s部门处理,请查看。"; + } 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 2a20b116ca..922c7824ab 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 @@ -148,5 +148,21 @@ public class IssueManageController { ValidatorUtils.validateEntity(issueDetail); return new Result().ok(issueService.issueDetailGov(issueDetail)); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-议题转项目 + **/ + @PostMapping("shiftproject") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT) + public Result shiftProject(@LoginUser TokenDto tokenDTO, @RequestBody ShiftProjectFormDTO formDTO) { + formDTO.setStaffId(tokenDTO.getUserId()); + ValidatorUtils.validateEntity(formDTO); + issueService.shiftProject(formDTO); + return new Result(); + } + } 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 index d5e801c8ce..abf27d9410 100644 --- 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 @@ -2,7 +2,9 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ShiftProjectFormDTO; import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.IssueProjectResultDTO; import com.epmet.dto.result.ShiftProjectResultDTO; import com.epmet.feign.fallback.GovProjectFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; @@ -27,4 +29,13 @@ public interface GovProjectFeignClient { */ @PostMapping("/gov/project/project/shiftprojectlist") Result> getProjectByIssue(@RequestBody ShiftProjectsFromDTO fromDTO); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-议题转项目 + **/ + @PostMapping("/gov/project/project/issueshiftproject") + Result issueShiftProject(@RequestBody ShiftProjectFormDTO formDTO); } 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 index b48e24873f..05102bb2ce 100644 --- 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 @@ -3,7 +3,9 @@ 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.ShiftProjectFormDTO; import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.IssueProjectResultDTO; import com.epmet.dto.result.ShiftProjectResultDTO; import com.epmet.feign.GovProjectFeignClient; import org.springframework.stereotype.Component; @@ -21,4 +23,9 @@ public class GovProjectFeignClientFallBack implements GovProjectFeignClient { public Result> getProjectByIssue(ShiftProjectsFromDTO fromDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProjectByIssue", fromDTO); } + + @Override + public Result issueShiftProject(ShiftProjectFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "issueShiftProject", formDTO); + } } 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 935e4e6067..3f4ea086af 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 @@ -101,4 +101,12 @@ public interface IssueService extends BaseService { * @Description 议题管理-议题人员选择 **/ ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-议题转项目 + **/ + void shiftProject(ShiftProjectFormDTO 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 794d64760a..2813b0f98c 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 @@ -12,6 +12,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IssueDao; +import com.epmet.dao.IssueProjectRelationDao; import com.epmet.dto.IssueDTO; import com.epmet.dto.IssueProcessDTO; import com.epmet.dto.IssueVoteStatisticalDTO; @@ -28,6 +29,7 @@ import com.epmet.dto.result.*; import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; +import com.epmet.entity.IssueProjectRelationEntity; import com.epmet.feign.GovOrgFeignClient; import com.epmet.feign.GovProjectFeignClient; import com.epmet.feign.MessageFeignClient; @@ -77,6 +79,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp private GovIssueRedis govIssueRedis; @Autowired private GovProjectFeignClient govProjectFeignClient; + @Autowired + private IssueProjectRelationDao issueProjectRelationDao; protected static final Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class); @@ -106,6 +110,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp * @Author sun * @Description 议题管理-关闭议题 **/ + @Override @Transactional(rollbackFor = Exception.class) public void closeIssue(CloseIssueFormDTO formDTO) { @@ -123,12 +128,14 @@ public class IssueServiceImpl extends BaseServiceImpl imp 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()); @@ -138,36 +145,35 @@ public class IssueServiceImpl extends BaseServiceImpl imp processEntity.setOperationExplain(formDTO.getCloseReason()); processEntity.setOrgName(agencyGridResultDTO.getAgencyName() + "-" + agencyGridResultDTO.getGridName()); issueProcessDao.insert(processEntity); + //4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息 - if (!saveUserMessageList(formDTO, entity).success()) { + //4.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(); + //4.2:创建消息模板 + 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()); + } + //4.3:调用服务,发送消息 + if (!saveUserMessageList(topicDTO, messageContent, 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; + //5:缓存中网格下表决中的议题总数减1 + govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId()); } /** - * @Description 关闭议题给话题创建人和议题发起人发送消息 + * @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(); + private Result saveUserMessageList(ResiTopicDTO topicDTO, String messageContent, IssueEntity entity) { //2:分别给话题创建人、议题发起人发送消息 List msgList = new ArrayList<>(); UserMessageFormDTO msgDTO = new UserMessageFormDTO(); @@ -175,12 +181,6 @@ public class IssueServiceImpl extends BaseServiceImpl imp 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()); @@ -190,6 +190,19 @@ public class IssueServiceImpl extends BaseServiceImpl imp return messageFeignClient.saveUserMessageList(msgList); } + @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; + } + /** * @param formDTO * @return @@ -377,4 +390,61 @@ public class IssueServiceImpl extends BaseServiceImpl imp return null; } + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-议题转项目 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void shiftProject(ShiftProjectFormDTO formDTO) { + //因需要保证议题表中的转项目时间与创建项目时间一致 因此先新增项目数据再更新议题数据 + //1:查询议题数据 + IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); + formDTO.setIssueDTO(ConvertUtils.sourceToTarget(entity, IssueDTO.class)); + + //2:调用gov-project服务,新增项目各业务表初始数据 + Result resultDTO = govProjectFeignClient.issueShiftProject(formDTO); + IssueProjectResultDTO issueProjectResultDTO = resultDTO.getData(); + + //3:更新议题相关业务表数据 + //3.1:更新议题表数据 + entity.setIssueStatus(IssueConstant.ISSUE_SHIFT_PROJECT); + entity.setShiftedTime(issueProjectResultDTO.getShiftedTime()); + baseDao.updateById(entity); + + //3.2:议题处理进展表新增数据 + IssueProcessEntity processEntity = new IssueProcessEntity(); + processEntity.setIssueId(entity.getId()); + processEntity.setIssueStatus(IssueConstant.ISSUE_SHIFT_PROJECT); + processEntity.setOrgType(IssueConstant.ISSUE_GRID); + processEntity.setOrgId(entity.getGridId()); + processEntity.setOrgName(issueProjectResultDTO.getOrgName()); + issueProcessDao.insert(processEntity); + + //3.3:议题项目关系表新增数据 + IssueProjectRelationEntity relationEntity = new IssueProjectRelationEntity(); + relationEntity.setIssueId(entity.getId()); + relationEntity.setProjectId(issueProjectResultDTO.getProjectId()); + issueProjectRelationDao.insert(relationEntity); + + //4:调用epmet-message服务,给居民端话题创建人和议题发起人发送消息 + //4.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(); + //4.2:创建消息模板 + String messageContent = String.format(UserMessageConstant.ISSUE_SHIFT_PROJECT_MSG, topicDTO.getTopicContent(), issueProjectResultDTO.getOrgName()); + //4.3:调用服务,发送消息 + if (!saveUserMessageList(topicDTO, messageContent, entity).success()) { + throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); + } + + //5:缓存中网格下表决中的议题总数减1 + govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId()); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 2981b5919b..d046a50c14 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -369,7 +369,8 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl getDepartmentList(String subAgencyPids) { List subAgencyList = baseDao.selectSubAgencyList(subAgencyPids); diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 95f677175b..974c0877fd 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -78,6 +78,12 @@ 2.0.0 compile + + com.epmet + gov-issue-client + 2.0.0 + compile + 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 804be2a6d3..70d127d92f 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,7 +26,9 @@ 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.ShiftProjectFormDTO; import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.IssueProjectResultDTO; import com.epmet.dto.result.ShiftProjectResultDTO; import com.epmet.excel.ProjectExcel; import com.epmet.service.ProjectService; @@ -106,4 +108,15 @@ public class ProjectController { return new Result>().ok(list); } + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题转项目-项目各业务表初始化数据 + **/ + @PostMapping("issueshiftproject") + public Result issueShiftProject(@RequestBody ShiftProjectFormDTO formDTO) { + return new Result().ok(projectService.issueShiftProject(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 f482b79abd..6dc0c7308e 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 @@ -162,4 +162,12 @@ public interface ProjectService extends BaseService { * @return java.util.List */ List getProjectByIssue(ShiftProjectsFromDTO fromDTO); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题转项目-项目各业务表初始化数据 + **/ + IssueProjectResultDTO issueShiftProject(ShiftProjectFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 0939efc749..c8aafa9826 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -181,7 +181,6 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl staffList = formDTO.getStaffList(); + IssueDTO issueDTO = formDTO.getIssueDTO(); + //1:调用gov-org服务,获取所有勾选人员以及议题数据对应的组织信息、部门信息、网格信息用于对处理部门和ORG_ID_PATH字段的赋值使用 + List agencyIdList = staffList.stream().map(TickStaffFormDTO::getAgencyId).collect(Collectors.toList()); + agencyIdList.add(issueDTO.getOrgId()); + agencyIdList = new ArrayList(new LinkedHashSet<>(agencyIdList)); + List deptIdList = staffList.stream().map(TickStaffFormDTO::getDepartmentId).collect(Collectors.toList()); + deptIdList = new ArrayList(new LinkedHashSet<>(deptIdList)); + List gridIdList = staffList.stream().map(TickStaffFormDTO::getGridId).collect(Collectors.toList()); + gridIdList.add(issueDTO.getGridId()); + gridIdList = new ArrayList(new LinkedHashSet<>(gridIdList)); + AgencyDeptGridFormDTO agencyDeptGridFormDTO = new AgencyDeptGridFormDTO(); + agencyDeptGridFormDTO.setAgencyIdList(agencyIdList); + agencyDeptGridFormDTO.setDeptIdList(deptIdList); + agencyDeptGridFormDTO.setGridIdList(gridIdList); + Result resultDTO = govOrgFeignClient.getAgencyDeptGridList(agencyDeptGridFormDTO); + AgencyDeptGridResultDTO agencyDeptGrid = resultDTO.getData(); + + //2:项目表新增数据 + ProjectEntity projectEntity = new ProjectEntity(); + projectEntity.setAgencyId(issueDTO.getOrgId()); + projectEntity.setCustomerId(issueDTO.getCustomerId()); + projectEntity.setOrigin(ProjectConstant.ISSUE); + projectEntity.setOriginId(issueDTO.getId()); + projectEntity.setTitle(issueDTO.getIssueTitle()); + projectEntity.setStatus(ProjectConstant.PENDING); + projectEntity.setOrgIdPath(issueDTO.getOrgIdPath()); + baseDao.insert(projectEntity); + + //3:项目处理进展表新增数据 + ProjectProcessEntity processEntity = new ProjectProcessEntity(); + processEntity.setProjectId(projectEntity.getId()); + processEntity.setStaffId(formDTO.getStaffId()); + processEntity.setOperation(ProjectConstant.OPERATION_CREATED); + processEntity.setOperationName(ProjectConstant.OPERATION_CREATED_NAME); + processEntity.setPublicReply(formDTO.getPublicReply()); + processEntity.setInternalRemark(formDTO.getInternalRemark()); + agencyDeptGrid.getAgencyList().forEach(agency -> { + if (issueDTO.getOrgId().equals(agency.getId())) { + processEntity.setDepartmentName(agency.getOrganizationName()); + } + }); + agencyDeptGrid.getGridList().forEach(grid -> { + if (issueDTO.getGridId().equals(grid.getId())) { + processEntity.setDepartmentName(processEntity.getDepartmentName() + "-" + grid.getGridName()); + } + }); + projectProcessService.insert(processEntity); + + //4:项目人员关联表批量新增数据 + List entityList = new ArrayList<>(); + staffList.forEach(ts -> { + ProjectStaffEntity entity = ConvertUtils.sourceToTarget(ts, ProjectStaffEntity.class); + entity.setOrgId(ts.getAgencyId()); + entity.setProjectId(projectEntity.getId()); + entity.setProcessId(processEntity.getId()); + entity.setIsHandle(ProjectConstant.UNHANDLED); + agencyDeptGrid.getAgencyList().forEach(agency -> { + if (ts.getAgencyId().equals(agency.getId())) { + entity.setCustomerId(agency.getCustomerId()); + entity.setOrgIdPath(agency.getPids() + ":" + agency.getId()); + entity.setDepartmentName(agency.getOrganizationName()); + } + }); + if (StringUtils.isNotBlank(ts.getDepartmentId())) { + agencyDeptGrid.getDeptList().forEach(dept -> { + if (ts.getDepartmentId().equals(dept.getId())) { + entity.setDepartmentName(entity.getDepartmentName() + "-" + dept.getDepartmentName()); + } + }); + } + if (StringUtils.isNotBlank(ts.getGridId())) { + agencyDeptGrid.getGridList().forEach(grid -> { + if (ts.getGridId().equals(grid.getId())) { + entity.setDepartmentName(entity.getDepartmentName() + "-" + grid.getGridName()); + } + }); + } + entityList.add(entity); + }); + projectStaffService.insertBatch(entityList); + + //5:返回接口参数 + issueProjectResultDTO.setProjectId(projectEntity.getId()); + issueProjectResultDTO.setOrgName(processEntity.getDepartmentName()); + issueProjectResultDTO.setShiftedTime(projectEntity.getCreatedTime()); + return issueProjectResultDTO; + } + } \ No newline at end of file From 712c8d226605b58c584135452f1b272f4971cb00 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 15 May 2020 11:32:47 +0800 Subject: [PATCH 06/22] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E7=BA=A2=E7=82=B9?= =?UTF-8?q?=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/IssueServiceImpl.java | 6 +++++- .../modules/group/service/impl/ResiGroupServiceImpl.java | 6 +++++- .../service/impl/PartymemberInfoServiceImpl.java | 6 +++++- .../service/impl/ResiWarmheartedApplyServiceImpl.java | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) 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 2813b0f98c..6e45ccf40a 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 @@ -197,7 +197,11 @@ public class IssueServiceImpl extends BaseServiceImpl imp GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO = new GridVotingIssueCountResultDTO(); gridVotingIssueCountResultDTO.setGridId(gridId); Long auditingCount = govIssueRedis.queryVotingIssueCount(gridId); - gridVotingIssueCountResultDTO.setCount(auditingCount); + if (null == auditingCount) { + gridVotingIssueCountResultDTO.setCount(0L); + } else { + gridVotingIssueCountResultDTO.setCount(auditingCount); + } list.add(gridVotingIssueCountResultDTO); } return list; 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 3d5b6e2f1d..97c4b17d1a 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 @@ -791,7 +791,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Fri, 15 May 2020 11:36:40 +0800 Subject: [PATCH 07/22] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gov-issue/gov-issue-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/gov-issue/gov-issue-server/pom.xml | 2 +- .../gov-mine/gov-mine-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/gov-mine/gov-mine-server/pom.xml | 2 +- .../gov-org/gov-org-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/gov-org/gov-org-server/pom.xml | 2 +- .../gov-project-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/gov-project/gov-project-server/pom.xml | 2 +- .../resi-group/resi-group-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/resi-group/resi-group-server/pom.xml | 2 +- .../resi-hall/resi-hall-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/resi-hall/resi-hall-server/pom.xml | 2 +- .../resi-partymember-server/deploy/docker-compose-dev.yml | 2 +- epmet-module/resi-partymember/resi-partymember-server/pom.xml | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml index bfaab5b48d..a549be7509 100644 --- a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-issue-server: container_name: gov-issue-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.2 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-issue-server:0.3.3 ports: - "8101:8101" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index a72b9835c0..43d709813d 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.2 + 0.3.3 gov-issue com.epmet diff --git a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml index 4a12a19e35..3aca7b592a 100644 --- a/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-mine-server: container_name: gov-mine-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.12 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.13 ports: - "8098:8098" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml index 41d113ec99..45bc38c28f 100644 --- a/epmet-module/gov-mine/gov-mine-server/pom.xml +++ b/epmet-module/gov-mine/gov-mine-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.12 + 0.3.13 com.epmet gov-mine diff --git a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml index 4bb60fd355..696013f764 100644 --- a/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-org-server: container_name: gov-org-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.35 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.36 ports: - "8092:8092" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index 7a51925c4c..4ec0fb67b0 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.35 + 0.3.36 com.epmet gov-org diff --git a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml index f81da526df..7a356440b8 100644 --- a/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-project-server: container_name: gov-project-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.2 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-project-server:0.3.3 ports: - "8102:8102" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 974c0877fd..a4f4fd5ffb 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.2 + 0.3.3 gov-project com.epmet diff --git a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml index f45a475f69..2b883c7c94 100644 --- a/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-group/resi-group-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-group-server: container_name: resi-group-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.18 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-group-server:0.3.19 ports: - "8095:8095" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index 2a8e80986a..f82b9c4302 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.18 + 0.3.19 com.epmet resi-group diff --git a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml index befeeecbad..d2d61e3145 100644 --- a/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-hall-server: container_name: resi-hall-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-hall-server:0.3.2 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-hall-server:0.3.3 ports: - "8100:8100" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-hall/resi-hall-server/pom.xml b/epmet-module/resi-hall/resi-hall-server/pom.xml index 132ecfa98c..cf9e75f2e4 100644 --- a/epmet-module/resi-hall/resi-hall-server/pom.xml +++ b/epmet-module/resi-hall/resi-hall-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - 0.3.2 + 0.3.3 resi-hall com.epmet diff --git a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml index 51f180e0d3..1d6d61a52f 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-partymember-server: container_name: resi-partymember-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-partymember-server:0.3.19 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-partymember-server:0.3.20 ports: - "8096:8096" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml index 0c076571b1..d4f2df77a1 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.19 + 0.3.20 com.epmet resi-partymember From e710bc978fc3fd0c8426fd7c5e07625a1a9bd5d1 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 15 May 2020 13:55:06 +0800 Subject: [PATCH 08/22] =?UTF-8?q?issue=E8=A1=A8=E5=BB=BA=E8=A1=A8=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5=E6=97=B6=E9=97=B4=E7=B1=BB=E5=9E=8B=E7=94=B1date?= =?UTF-8?q?=E6=94=B9=E6=88=90datetime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java | 1 - .../src/main/resources/db.migration/epmet_gov_issue.sql | 8 ++++---- .../src/main/resources/mapper/IssueProcessDao.xml | 4 ++-- .../java/com/epmet/modules/feign/GovOrgFeignClient.java | 4 ++-- .../modules/topic/service/impl/ResiTopicServiceImpl.java | 7 ++++--- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java index c9969328bb..16ac17dca2 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java @@ -73,7 +73,6 @@ public class IssueShiftedFromTopicFormDTO implements Serializable { /** * 议题创建时间 * */ - @NotBlank(message = "议题创建时间不能为空") private Date createdTime; /** diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/db.migration/epmet_gov_issue.sql b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db.migration/epmet_gov_issue.sql index 85fc5c249e..978b6ee246 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/db.migration/epmet_gov_issue.sql +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db.migration/epmet_gov_issue.sql @@ -37,10 +37,10 @@ CREATE TABLE `issue` ( `GRID_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '网格ID 居民端议题对应一个网格Id', `ORG_ID_PATH` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '所属机关 【数据权限-非必填】11:22:33(agencyId)数据权限控制', `ORG_ID` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '组织ID 【数据权限-非必填】agencyId', - `VOTING_DEADLINE` date DEFAULT NULL COMMENT '表决截止日期', - `DECIDED_TIME` date NOT NULL COMMENT '表决发起日期(转议题日期)', - `SHIFTED_TIME` date DEFAULT NULL COMMENT '转项目日期 (服务间调用日期一致性)', - `CLOSED_TIME` date DEFAULT NULL COMMENT '关闭日期', + `VOTING_DEADLINE` datetime(0) DEFAULT NULL COMMENT '表决截止日期', + `DECIDED_TIME` datetime(0) NOT NULL COMMENT '表决发起日期(转议题日期)', + `SHIFTED_TIME` datetime(0) DEFAULT NULL COMMENT '转项目日期 (服务间调用日期一致性)', + `CLOSED_TIME` datetime(0) DEFAULT NULL COMMENT '关闭日期', `DEL_FLAG` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除', `REVISION` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁', `CREATED_BY` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建人', diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml index ce252667b7..046105f279 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProcessDao.xml @@ -85,10 +85,10 @@ #{createdTime}, - + #{createdBy}, - + #{createdTime}, diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java index f89ba95c04..26ea5eebb8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/feign/GovOrgFeignClient.java @@ -30,7 +30,7 @@ public interface GovOrgFeignClient { * @Description 查询网格信息 * @Date 2020/3/30 10:45 **/ - @GetMapping("/gov/org/customergrid/getcustomergridbygridid") + @PostMapping("/gov/org/customergrid/getcustomergridbygridid") Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO); /** @@ -59,6 +59,6 @@ public interface GovOrgFeignClient { * @Description 获取网格所需要的数据权限内容 * @Date 2020/3/30 10:45 **/ - @GetMapping("/gov/org/customergrid/griddatafilter") + @PostMapping("/gov/org/customergrid/griddatafilter") Result gridDataFilter(CommonGridIdFormDTO gridForm); } 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 25e377b20e..2407a82b00 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 @@ -962,7 +962,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl gridInfoResult = govOrgFeignClient.getCustomerGridByGridId(gridForm); if(gridInfoResult.success() && null != gridInfoResult.getData() && StringUtils.isNotBlank(gridInfoResult.getData().getId())) { result.setBelongGridName(gridInfoResult.getData().getGridName()); } - } + }else { logger.error(ModuleConstant.NO_SUCH_GROUP); result.setBelongGridName(ModuleConstant.EMPTY_STR); + } return result; } throw new RenException(ModuleConstant.FAILED_QUERY_TOPIC_INFO); From 7fef4da39fa712aabd670beb2a651d129485e8b6 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Fri, 15 May 2020 14:13:55 +0800 Subject: [PATCH 09/22] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=BF=9B=E5=B1=95=E3=80=81=E8=A1=A8=E5=86=B3=E4=B8=AD=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E3=80=81=E5=8F=8D=E5=AF=B9=E6=95=B0=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/ProcessProjectIdFormDTO.java | 20 +++++ .../com/epmet/dto/form/checkVoteFormDTO.java | 24 ++++++ .../epmet/dto/result/CheckVoteResultDTO.java | 24 ++++++ .../com/epmet/dto/result/GridIdResultDTO.java | 21 +++++ .../dto/result/IssueProcessResultDTO.java | 40 ++++++++++ .../dto/result/ProcessListResultDTO.java | 41 ++++++++++ .../com/epmet/dto/result/VoteResultDTO.java | 5 ++ .../com/epmet/controller/IssueController.java | 28 ++++++- .../controller/IssueProcessController.java | 12 +++ .../java/com/epmet/dao/IssueProcessDao.java | 15 ++++ .../epmet/dao/IssueVoteStatisticalDao.java | 2 +- .../com/epmet/feign/GovOrgFeignClient.java | 11 +++ .../epmet/feign/GovProjectFeignClient.java | 10 +++ .../fallback/GovOrgFeignClientFallBack.java | 7 ++ .../GovProjectFeignClientFallBack.java | 7 ++ .../epmet/service/IssueProcessService.java | 10 +++ .../java/com/epmet/service/IssueService.java | 79 ++++++++++++++++++ .../service/impl/IssueProcessServiceImpl.java | 75 +++++++++++++++++ .../epmet/service/impl/IssueServiceImpl.java | 80 ++++++++++++++++--- .../impl/IssueVoteStatisticalServiceImpl.java | 5 +- .../main/resources/mapper/IssueProcessDao.xml | 34 ++++++++ .../mapper/IssueVoteStatisticalDao.xml | 4 +- .../dto/form/ProcessProjectIdFormDTO.java | 20 +++++ .../result/ProjectProcessListResultDTO.java | 57 +++++++++++++ .../controller/ProjectProcessController.java | 7 ++ .../java/com/epmet/dao/ProjectProcessDao.java | 9 +++ .../epmet/service/ProjectProcessService.java | 14 +++- .../impl/ProjectProcessServiceImpl.java | 15 +++- .../resources/mapper/ProjectProcessDao.xml | 16 ++++ .../group/dto/group/form/GridIdFormDTO.java | 24 ++++++ .../group/result/CheckJoinTeamResultDTO.java | 20 +++++ .../group/controller/ResiGroupController.java | 10 +++ .../epmet/modules/group/dao/ResiGroupDao.java | 7 ++ .../group/service/ResiGroupService.java | 8 ++ .../service/impl/ResiGroupServiceImpl.java | 17 ++++ .../resources/mapper/group/ResiGroupDao.xml | 12 +++ .../com/epmet/dto/form/CheckVoteFormDTO.java | 24 ++++++ .../com/epmet/dto/form/GridIdFormDTO.java | 24 ++++++ .../dto/result/CheckJoinTeamResultDTO.java | 20 +++++ .../epmet/dto/result/CheckVoteResultDTO.java | 24 ++++++ .../com/epmet/dto/result/GridIdResultDTO.java | 21 +++++ .../dto/result/ProcessListResultDTO.java | 41 ++++++++++ .../epmet/dto/result/VoteInitResultDTO.java | 31 +++++++ .../com/epmet/dto/result/VoteResultDTO.java | 10 +++ .../com/epmet/controller/IssueController.java | 16 +++- .../com/epmet/feign/GovIssueFeignClient.java | 16 ++++ .../com/epmet/feign/ResiGroupFeignClient.java | 11 +++ .../fallback/GovIssueFeignClientFallBack.java | 10 +++ .../ResiGroupFeignClientFallBack.java | 7 ++ .../java/com/epmet/service/IssueService.java | 9 ++- .../epmet/service/impl/IssueServiceImpl.java | 33 +++++++- 51 files changed, 1053 insertions(+), 34 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/checkVoteFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridIdResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProcessResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProcessListResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectProcessListResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GridIdFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/CheckJoinTeamResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/CheckVoteFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/GridIdFormDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/CheckJoinTeamResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/GridIdResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProcessListResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteInitResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java new file mode 100644 index 0000000000..c2c5395932 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 处理进展——已转项目 + */ +@Data +public class ProcessProjectIdFormDTO implements Serializable { + + private static final long serialVersionUID = 2185544562374036005L; + + /** + * 项目Id + */ + private String projectId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/checkVoteFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/checkVoteFormDTO.java new file mode 100644 index 0000000000..f930a2e05e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/checkVoteFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 校验是否投票——表决中 + */ +@Data +public class checkVoteFormDTO implements Serializable { + + private static final long serialVersionUID = -2170063271034172650L; + /** + * 用户id + */ + private String userId; + + /** + * 议题id + */ + private String issueId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java new file mode 100644 index 0000000000..3266e5b63d --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 校验是否投票——表决中 + */ +@Data +public class CheckVoteResultDTO implements Serializable { + + private static final long serialVersionUID = 1908314603146050709L; + /** + * 是否投票 已投票:true,未投票:false + */ + private Boolean voteStatus; + + /** + * 支持:support,反对:opposition + */ + private String voteType; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridIdResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridIdResultDTO.java new file mode 100644 index 0000000000..013ebc2aad --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridIdResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 表决中议题详情——支持、反对数 + */ +@Data +public class GridIdResultDTO implements Serializable { + + private static final long serialVersionUID = 1968505337707779785L; + + /** + * 网格ID + */ + private String gridId; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProcessResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProcessResultDTO.java new file mode 100644 index 0000000000..568f88ecf9 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProcessResultDTO.java @@ -0,0 +1,40 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 议题处理进展 + */ +@Data +public class IssueProcessResultDTO implements Serializable { + + private static final long serialVersionUID = 8437703271418235334L; + /** + * 处理进展名称(表决中、转项目、流转中已结案、已关闭) + */ + private String processName; + + /** + * 已转项目进展记录时间 + */ + private Long processTime; + + /** + * 进展说明 + */ + private String progressDesc; + + /** + * 进展id(操作记录表id) + */ + private String processId; + + /** + * 网格Id + */ + private String gridId; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProcessListResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProcessListResultDTO.java new file mode 100644 index 0000000000..05b17f9d57 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProcessListResultDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 议题处理进展 + */ +@Data +public class ProcessListResultDTO implements Serializable { + + private static final long serialVersionUID = -702803628652751983L; + + /** + * 处理进展名称(表决中、转项目、流转中已结案、已关闭) + */ + private String processName; + + /** + * 已转项目进展记录时间 + */ + private Long processTime; + + /** + * 处理部门(处理人所属的机关单位名称) + */ + private String departmentName; + + /** + * 进展说明 + */ + private String progressDesc; + + /** + * 进展id(操作记录表id) + */ + private String processId; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java index 3d4db2594e..99f4e6d1cd 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java @@ -28,5 +28,10 @@ public class VoteResultDTO implements Serializable { */ private Integer oppositionCount; + /** + * 支持:support 反对:oppose + */ + private String voteType = ""; + } 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 4996d5e69f..1d66cbf7d7 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,24 +1,34 @@ package com.epmet.controller; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.CommonIssueListFormDTO; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.IssueDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.result.ClosedIssueListResultDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.GridIdResultDTO; import com.epmet.dto.form.ShiftProjectListFromDTO; import com.epmet.dto.result.GridVotingIssueCountResultDTO; import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; import com.epmet.dto.result.IssueResultDTO; import com.epmet.dto.result.VotingIssueListResultDTO; +import com.epmet.excel.IssueExcel; import com.epmet.dto.result.ShiftProjectListResultDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * @Description 居民端党群议事 @@ -104,5 +114,15 @@ public class IssueController { ValidatorUtils.validateEntity(issueListFormDTO); return new Result>().ok(issueService.closedList(issueListFormDTO)); } + + /** + * @Description 根据issueId查询gridId + * @param issueId + * @author zxc + */ + @PostMapping("selectgrididbyissueid") + public Result selectGridIdByIssueId(@RequestBody IssueIdFormDTO issueId){ + return new Result().ok(issueService.selectGridIdByIssueId(issueId)); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProcessController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProcessController.java index bf6c57f863..86addc77a7 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProcessController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProcessController.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.IssueProcessDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.ProcessListResultDTO; import com.epmet.excel.IssueProcessExcel; import com.epmet.service.IssueProcessService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +93,14 @@ public class IssueProcessController { ExcelUtils.exportExcelToTarget(response, null, list, IssueProcessExcel.class); } + /** + * @Description 议题处理进展 + * @param issueId + * @author zxc + */ + @PostMapping("processlist") + public Result> processList(@RequestBody IssueIdFormDTO issueId){ + return new Result>().ok(issueProcessService.processList(issueId)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java index 2ad711fd01..d48ecb94cb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java @@ -18,9 +18,14 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.IssueProcessResultDTO; import com.epmet.dto.IssueProcessDTO; import com.epmet.entity.IssueProcessEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 议题进展记录表 @@ -39,4 +44,14 @@ public interface IssueProcessDao extends BaseDao { **/ int insertOne(IssueProcessDTO issueProcessDTO); + + /** + * @Description 议题处理进展——已关闭 + * @param issueId + * @author zxc + */ + List issueProcess(IssueIdFormDTO issueId); + + IssueProcessResultDTO issueBeginInfo(IssueIdFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java index f6aa7956ee..d20d18f501 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteStatisticalDao.java @@ -50,7 +50,7 @@ public interface IssueVoteStatisticalDao extends BaseDao getProcessorList(@PathVariable("agencyId") String agencyId); + + /** + * @Description 查询网格名 + * @param formDTO + * @author zxc + */ + @PostMapping(value = "/gov/org/customergrid/getgridnamebygridid") + Result getGridNameByGridId(@RequestBody BelongGridNameFormDTO formDTO); } 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 index abf27d9410..1ebc259209 100644 --- 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 @@ -2,8 +2,10 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.ProcessProjectIdFormDTO; import com.epmet.dto.form.ShiftProjectFormDTO; import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.ProcessListResultDTO; import com.epmet.dto.result.IssueProjectResultDTO; import com.epmet.dto.result.ShiftProjectResultDTO; import com.epmet.feign.fallback.GovProjectFeignClientFallBack; @@ -38,4 +40,12 @@ public interface GovProjectFeignClient { **/ @PostMapping("/gov/project/project/issueshiftproject") Result issueShiftProject(@RequestBody ShiftProjectFormDTO formDTO); + + /** + * @Description 议题处理进展——已转项目 + * @param formDTO + * @author zxc + */ + @PostMapping("/gov/project/projectprocess/projectprocesslist") + Result> projectProcessList(@RequestBody ProcessProjectIdFormDTO formDTO); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 8b9d94fd3e..d216667d86 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -3,7 +3,9 @@ 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.BelongGridNameFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; +import com.epmet.dto.result.BelongGridNameResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.ProcessorListResultDTO; import com.epmet.feign.GovOrgFeignClient; @@ -30,4 +32,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result getProcessorList(String agencyId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getProcessorList", agencyId); } + + @Override + public Result getGridNameByGridId(BelongGridNameFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridNameByGridId", formDTO); + } } 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 index 05102bb2ce..d147041562 100644 --- 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 @@ -3,8 +3,10 @@ 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.ProcessProjectIdFormDTO; import com.epmet.dto.form.ShiftProjectFormDTO; import com.epmet.dto.form.ShiftProjectsFromDTO; +import com.epmet.dto.result.ProcessListResultDTO; import com.epmet.dto.result.IssueProjectResultDTO; import com.epmet.dto.result.ShiftProjectResultDTO; import com.epmet.feign.GovProjectFeignClient; @@ -24,6 +26,11 @@ public class GovProjectFeignClientFallBack implements GovProjectFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProjectByIssue", fromDTO); } + @Override + public Result> projectProcessList(ProcessProjectIdFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectProcessList", formDTO); + } + @Override public Result issueShiftProject(ShiftProjectFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "issueShiftProject", formDTO); diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java index 7a0de275b2..73e54adaca 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java @@ -20,7 +20,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IssueProcessDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.ProcessListResultDTO; import com.epmet.entity.IssueProcessEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -93,6 +96,13 @@ public interface IssueProcessService extends BaseService { */ void delete(String[] ids); + /** + * @Description 议题处理进展 + * @param issueId + * @author zxc + */ + List processList(IssueIdFormDTO issueId); + /** * @Description 议题流程新增记录 * @param issueProcessDTO 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 3f4ea086af..daa7c9d499 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 @@ -1,6 +1,16 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IssueDTO; +import com.epmet.dto.form.CloseIssueFormDTO; +import com.epmet.dto.form.DepartmentStaffListFormDTO; +import com.epmet.dto.form.IssueDetailFormDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.DepartmentStaffListResultDTO; +import com.epmet.dto.result.GridIdResultDTO; +import com.epmet.dto.result.GridVotingIssueCountResultDTO; +import com.epmet.dto.result.IssueResultDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.dto.form.CloseIssueFormDTO; @@ -10,8 +20,10 @@ import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.result.*; import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; import com.epmet.entity.IssueEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; +import java.util.Map; /** * @Author zxc @@ -19,6 +31,66 @@ import java.util.List; */ public interface IssueService extends BaseService { + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-05-14 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-05-14 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IssueDTO + * @author generator + * @date 2020-05-14 + */ + IssueDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-05-14 + */ + void save(IssueDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-05-14 + */ + void update(IssueDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-05-14 + */ + void delete(String[] ids); + /** * @Description 议题详情 * @param issueDetail @@ -94,6 +166,13 @@ public interface IssueService extends BaseService { **/ GovIssueDetailResultDTO issueDetailGov(IssueDetailFormDTO issueDetail); + /** + * @Description 根据issueId查询gridId + * @param issueId + * @author zxc + */ + GridIdResultDTO selectGridIdByIssueId(IssueIdFormDTO issueId); + /** * @param formDTO * @return diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java index 99b507d9b6..20d678832e 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProcessServiceImpl.java @@ -20,19 +20,34 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.constant.IssueConstant; import com.epmet.dao.IssueProcessDao; +import com.epmet.dao.IssueProjectRelationDao; +import com.epmet.dto.IssueDTO; import com.epmet.dto.IssueProcessDTO; +import com.epmet.dto.form.BelongGridNameFormDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.form.ProcessProjectIdFormDTO; +import com.epmet.dto.result.BelongGridNameResultDTO; +import com.epmet.dto.result.IssueProcessResultDTO; +import com.epmet.dto.result.ProcessListResultDTO; import com.epmet.entity.IssueProcessEntity; +import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.GovProjectFeignClient; import com.epmet.redis.IssueProcessRedis; import com.epmet.service.IssueProcessService; +import com.epmet.service.IssueService; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -48,6 +63,16 @@ public class IssueProcessServiceImpl extends BaseServiceImpl page(Map params) { @@ -113,4 +138,54 @@ public class IssueProcessServiceImpl extends BaseServiceImpl processList(IssueIdFormDTO issueId) { + List listResult = new ArrayList(); + IssueDTO issueDTO = issueService.get(issueId.getIssueId()); + String issueStatus = issueDTO.getIssueStatus(); + if (issueStatus.equals(IssueConstant.ISSUE_CLOSED)){//已关闭——处理进展 + List issueProcessResultDTOS = baseDao.issueProcess(issueId); + if (issueProcessResultDTOS.size()!=NumConstant.ZERO){ + String gridId = issueProcessResultDTOS.get(NumConstant.ZERO).getGridId(); + BelongGridNameFormDTO formDTO = new BelongGridNameFormDTO(); + formDTO.setGridId(gridId); + //处理部门(处理人所属的机关单位名称) eg:阜新路社区——第一网格 + BelongGridNameResultDTO data = govOrgFeignClient.getGridNameByGridId(formDTO).getData(); + BeanUtils.copyProperties(issueProcessResultDTOS,listResult); + for (IssueProcessResultDTO issueProcessResultDTO : issueProcessResultDTOS) { + ProcessListResultDTO process = new ProcessListResultDTO(); + BeanUtils.copyProperties(issueProcessResultDTO,process); + process.setDepartmentName(data.getBelongsGridName()); + listResult.add(process); + } + } + }else if (issueStatus.equals(IssueConstant.ISSUE_SHIFT_PROJECT)){//已转项目——处理进展 + String projectId = issueProjectRelationDao.selectProjectIdByIssueId(issueId.getIssueId()); + if (!StringUtils.isBlank(projectId)) { + ProcessProjectIdFormDTO formDTO = new ProcessProjectIdFormDTO(); + formDTO.setProjectId(projectId); + listResult = govProjectFeignClient.projectProcessList(formDTO).getData(); + //转议题时间 + IssueProcessResultDTO issueProcessResultDTO = issueProcessDao.issueBeginInfo(issueId); + String gridId = issueProcessResultDTO.getGridId(); + BelongGridNameFormDTO gridName = new BelongGridNameFormDTO(); + gridName.setGridId(gridId); + //处理部门(处理人所属的机关单位名称) eg:阜新路社区——第一网格 + BelongGridNameResultDTO data = govOrgFeignClient.getGridNameByGridId(gridName).getData(); + ProcessListResultDTO process = new ProcessListResultDTO(); + BeanUtils.copyProperties(issueProcessResultDTO,process); + process.setDepartmentName(data.getBelongsGridName()); + listResult.add(process); + } + }else { + return new ArrayList<>(); + } + return listResult; + } + } \ No newline at end of file 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 6e45ccf40a..6a0e3e296b 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 @@ -1,16 +1,19 @@ package com.epmet.service.impl; +import com.alibaba.nacos.client.utils.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.IssueConstant; import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.UserMessageConstant; -import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IssueDao; import com.epmet.dao.IssueProjectRelationDao; import com.epmet.dto.IssueDTO; @@ -18,14 +21,12 @@ import com.epmet.dto.IssueProcessDTO; import com.epmet.dto.IssueVoteStatisticalDTO; import com.epmet.dto.form.CommonIssueListFormDTO; import com.epmet.dao.IssueProcessDao; -import com.epmet.dto.ProjectDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.dto.form.CloseIssueFormDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; -import com.epmet.dto.result.*; import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; @@ -43,20 +44,17 @@ import com.epmet.service.IssueProjectRelationService; import com.epmet.service.IssueService; import com.epmet.service.IssueVoteStatisticalService; import com.epmet.utils.ModuleConstants; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.*; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; /** * @Author zxc @@ -91,6 +89,57 @@ public class IssueServiceImpl extends BaseServiceImpl imp @Autowired private IssueProjectRelationService issueProjectRelationService; + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IssueDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IssueDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IssueDTO get(String id) { + IssueEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IssueDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IssueDTO dto) { + IssueEntity entity = ConvertUtils.sourceToTarget(dto, IssueEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IssueDTO dto) { + IssueEntity entity = ConvertUtils.sourceToTarget(dto, IssueEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } /** * @param issueDetail * @Description 议题详情 @@ -169,6 +218,19 @@ public class IssueServiceImpl extends BaseServiceImpl imp govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId()); } + /** + * @Description 根据issueId查询gridId + * @param issueId + * @author zxc + */ + @Override + public GridIdResultDTO selectGridIdByIssueId(IssueIdFormDTO issueId) { + GridIdResultDTO gridIdResult = new GridIdResultDTO(); + IssueDTO issueDTO = get(issueId.getIssueId()); + gridIdResult.setGridId(issueDTO.getGridId()); + return gridIdResult; + } + /** * @Description 关闭议题、议题转项目时给话题创建人和议题发起人发送消息 * @author sun diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java index 5058c84832..5fa16e9c84 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java @@ -132,12 +132,13 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl + + + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml index 5fe5c88507..3d35fea463 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteStatisticalDao.xml @@ -30,9 +30,9 @@ - SELECT - COUNT(*) AS voteStatus + attitude AS voteType FROM issue_vote_detail WHERE diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java new file mode 100644 index 0000000000..c2c5395932 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessProjectIdFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 处理进展——已转项目 + */ +@Data +public class ProcessProjectIdFormDTO implements Serializable { + + private static final long serialVersionUID = 2185544562374036005L; + + /** + * 项目Id + */ + private String projectId; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectProcessListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectProcessListResultDTO.java new file mode 100644 index 0000000000..5c12be99ee --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectProcessListResultDTO.java @@ -0,0 +1,57 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * 项目跟踪-项目处理进展列表-接口返参 + */ +@Data +public class ProjectProcessListResultDTO implements Serializable { + + private static final long serialVersionUID = 5342591979112900804L; + + /** + * 项目处理进展Id + */ + private String processId = ""; + + /** + * 处理进展名称 + */ + private String processName = ""; + + /** + * 处理进展时间 + */ + private Long processTime; + + /** + * 处理部门 + */ + private String departmentName = ""; + + /** + * 进展说明 + */ + private String progressDesc = ""; +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java index 116ad85e3a..f5958bd7fc 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.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.ProjectProcessDTO; +import com.epmet.dto.form.ProcessProjectIdFormDTO; +import com.epmet.dto.result.ProjectProcessListResultDTO; import com.epmet.excel.ProjectProcessExcel; import com.epmet.service.ProjectProcessService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +93,9 @@ public class ProjectProcessController { ExcelUtils.exportExcelToTarget(response, null, list, ProjectProcessExcel.class); } + @PostMapping("projectprocesslist") + public Result> projectProcessList(@RequestBody ProcessProjectIdFormDTO formDTO){ + return new Result>().ok(projectProcessService.projectProcessList(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 71f0b72b72..53583222b0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -18,7 +18,9 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ProcessProjectIdFormDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ProjectProcessListResultDTO; import com.epmet.entity.ProjectProcessEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -43,4 +45,11 @@ public interface ProjectProcessDao extends BaseDao { List getProcessListByProjectId(@Param("projectId") String projectId); List selectReturnableList(@Param("projectId") String projectId); + + /** + * @Description 议题处理进展——已转项目 + * @param formDTO + * @author zxc + */ + List projectProcessList(ProcessProjectIdFormDTO formDTO); } \ 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 751e31ba03..99a642f700 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 @@ -21,14 +21,13 @@ 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.form.*; import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.dto.result.ProcesslistResultDTO; +import com.epmet.dto.result.ProjectProcessListResultDTO; import com.epmet.dto.result.ReturnListResultDTO; import com.epmet.entity.ProjectProcessEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -126,4 +125,11 @@ public interface ProjectProcessService extends BaseService **/ void transfer(TransferFormDTO formDTO); + /** + * @Description 议题处理进展——已转项目 + * @param formDTO + * @author zxc + */ + List projectProcessList(ProcessProjectIdFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index c8aafa9826..f26a6b84e4 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -32,10 +32,7 @@ import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.*; -import com.epmet.dto.result.AgencyDeptGridResultDTO; -import com.epmet.dto.result.ProcesslistResultDTO; -import com.epmet.dto.result.ReturnListResultDTO; -import com.epmet.dto.result.StaffInfoResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.ProjectEntity; import com.epmet.entity.ProjectProcessEntity; import com.epmet.entity.ProjectStaffEntity; @@ -244,4 +241,14 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl projectProcessList(ProcessProjectIdFormDTO formDTO) { + return baseDao.projectProcessList(formDTO); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml index d93c09e825..49024c5fe6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml @@ -30,4 +30,20 @@ ORDER BY CREATED_TIME DESC + + + \ 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/GridIdFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GridIdFormDTO.java new file mode 100644 index 0000000000..ab9536e8dc --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GridIdFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 查询某用户是否加入过小组 + */ +@Data +public class GridIdFormDTO implements Serializable { + + private static final long serialVersionUID = -8535773441961516653L; + /** + * 用户id + */ + private String userId; + + /** + * 网格Id + */ + private String gridId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/CheckJoinTeamResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/CheckJoinTeamResultDTO.java new file mode 100644 index 0000000000..732571d09d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/CheckJoinTeamResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 校验用户是否加入小组 + */ +@Data +public class CheckJoinTeamResultDTO implements Serializable { + + private static final long serialVersionUID = -1590972041272087570L; + + /** + * 是否加入小组 eg:已加入:true,未加入:false + */ + private Boolean voteAuthorization; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 98eb905c13..da16e3fc25 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -311,4 +311,14 @@ public class ResiGroupController { resultDTO2.setResultName("group返参"); return new Result().ok(resultDTO2); } + + /** + * @Description 校验用户是否加入小组 + * @param gridId + * @author zxc + */ + @PostMapping("checkjointeam") + public Result checkjointeam(@RequestBody GridIdFormDTO gridId){ + return new Result().ok(resiGroupService.checkjointeam(gridId)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 064f1731a4..38dc060246 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -148,4 +148,11 @@ public interface ResiGroupDao extends BaseDao { * @date 2020.05.14 10:54 **/ List getGroupIdByGridId(@Param("gridId") String gridId); + + /** + * @Description 校验用户是否加入小组 + * @param gridId + * @author zxc + */ + Integer checkjointeam(GridIdFormDTO gridId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 26b616a346..83a4a6e275 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -27,6 +27,7 @@ import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -260,4 +261,11 @@ public interface ResiGroupService extends BaseService { * @date 2020.05.14 10:54 **/ List getGroupIdByGridId(String gridId); + + /** + * @Description 校验用户是否加入小组 + * @param gridId + * @author zxc + */ + CheckJoinTeamResultDTO checkjointeam(GridIdFormDTO gridId); } 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 97c4b17d1a..b55ed95902 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 @@ -815,6 +815,23 @@ public class ResiGroupServiceImpl extends BaseServiceImpl + + + @@ -102,10 +114,22 @@ FROM project_staff WHERE DEL_FLAG = '0' - AND IS_HANDLE = 'unhandled' + AND IS_HANDLE = 'handle' GROUP BY PROJECT_ID) ps ON p.ID = ps.PROJECT_ID LEFT JOIN project_process pp ON p.ID = pp.PROJECT_ID AND pp.OPERATION = 'close' - WHERE p.DEL_FLAG = '0' + WHERE + NOT EXISTS ( + SELECT + PROJECT_ID + FROM + project_staff + WHERE + DEL_FLAG = '0' + AND PROJECT_ID = p.ID + AND STAFF_ID = #{userId} + AND IS_HANDLE = 'unhandled' + ) + AND p.DEL_FLAG = '0' ORDER BY p.CREATED_TIME ASC LIMIT #{pageNo}, #{pageSize} From a8d2f58e5d741fce8ffd73827ba0ecb6ae4c8990 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 15 May 2020 15:21:18 +0800 Subject: [PATCH 11/22] =?UTF-8?q?reddot=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/feign/GovIssueFeignClient.java | 3 +- .../feign/ResiPartymemberFeignClient.java | 2 +- .../fallback/GovIssueFeignClientFallBack.java | 3 +- .../epmet/service/impl/RemindServiceImpl.java | 49 ++++++++++--------- .../result/GridVotingIssueCountResultDTO.java | 2 +- .../java/com/epmet/redis/GovIssueRedis.java | 6 +-- .../epmet/service/impl/IssueServiceImpl.java | 4 +- .../feign/ResiPartymemberFeignClient.java | 2 +- .../fallback/GovIssueFeignClientFallBack.java | 3 +- .../group/GroupProcessingCountResultDTO.java | 2 +- .../resi-group/resi-group-server/pom.xml | 6 +++ .../modules/group/redis/ResiGroupRedis.java | 6 +-- .../service/impl/ResiGroupServiceImpl.java | 4 +- .../PartyAuthProcessingCountResultDTO.java | 2 +- .../result/ResiProcessingCountResultDTO.java | 2 +- .../impl/PartymemberInfoServiceImpl.java | 4 +- .../impl/ResiWarmheartedApplyServiceImpl.java | 4 +- .../com/epmet/redis/ResiPartyMemberRedis.java | 12 ++--- 18 files changed, 65 insertions(+), 51 deletions(-) diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java index 1b7642c82a..a1a86b35a4 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java @@ -2,6 +2,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.GridProcessingCountResultDTO; import com.epmet.feign.fallback.GovIssueFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; @@ -25,5 +26,5 @@ public interface GovIssueFeignClient { * @Date 2020/5/13 15:47 **/ @PostMapping(value = "/gov/issue/issue/queryvotingissuecount",consumes = MediaType.APPLICATION_JSON_VALUE) - Result queryVotingIssueCount(@RequestBody List gridIdList); + Result> queryVotingIssueCount(@RequestBody List gridIdList); } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java index 9d4cd796fa..7c13e1f6a4 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java @@ -166,7 +166,7 @@ public interface ResiPartymemberFeignClient { * @Description 查询网格下待审核的党员数 * @Date 2020/5/13 15:41 **/ - @PostMapping(value = "/resi/partymember/partymemberbaseinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/resi/partymember/partymemberinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE) Result> queryPartyMemberProcessingCount(@RequestBody List gridIdList); } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java index 3a1ccf8714..3bff98858d 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -3,6 +3,7 @@ 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.result.GridProcessingCountResultDTO; import com.epmet.feign.GovIssueFeignClient; import org.springframework.stereotype.Component; @@ -16,7 +17,7 @@ import java.util.List; @Component public class GovIssueFeignClientFallBack implements GovIssueFeignClient { @Override - public Result queryVotingIssueCount(List gridIdList) { + public Result> queryVotingIssueCount(List gridIdList) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList); } } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java index f9dea745a0..6bb67369ff 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java @@ -52,18 +52,19 @@ public class RemindServiceImpl implements RemindService { Result> govOrgResult = govOrgFeignClient.getMyGrids(formDTO.getStaffId()); if (!govOrgResult.success()) { logger.error(String.format("调用gov-org-server服务查询工作人员网格列表失败返回结果", govOrgResult.toString())); - } - List gridList = govOrgResult.getData(); - for (CustomerGridByUserIdResultDTO gridInfo : gridList) { - if(formDTO.getGridId().equals(gridInfo)){ - //查询非当前网格的 - break; - } - //其他网格,只要存在有待办事项的网格,就需要在工作首页网格名称后面显示红点 - List functionList = this.getRedDotFunctionList(gridInfo.getGridId()); - if (null != functionList && functionList.size() > 0) { - redDotResultDTO.setOtherGridRedDot(true); - break; + }else{ + List gridList = govOrgResult.getData(); + for (CustomerGridByUserIdResultDTO gridInfo : gridList) { + if(formDTO.getGridId().equals(gridInfo)){ + //查询非当前网格的 + break; + } + //其他网格,只要存在有待办事项的网格,就需要在工作首页网格名称后面显示红点 + List functionList = this.getRedDotFunctionList(gridInfo.getGridId()); + if (null != functionList && functionList.size() > 0) { + redDotResultDTO.setOtherGridRedDot(true); + break; + } } } return redDotResultDTO; @@ -80,10 +81,10 @@ public class RemindServiceImpl implements RemindService { if (this.getWorkGrassRootsResi(gridIdList)) { functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_RESI); } - if (getWorkGrassRootsPartyAuth(gridIdList)) { + if (this.getWorkGrassRootsPartyAuth(gridIdList)) { functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_PARTYAUTH); } - if (getWorkGrassRootsIssue(gridIdList)) { + if (this.getWorkGrassRootsIssue(gridIdList)) { functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_ISSUE); } return functionList; @@ -101,9 +102,10 @@ public class RemindServiceImpl implements RemindService { } } } + }else{ + logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(), + groupProcessingCountResult.getMsg())); } - logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(), - groupProcessingCountResult.getMsg())); return false; } @@ -119,9 +121,10 @@ public class RemindServiceImpl implements RemindService { } } } + } else { + logger.error(String.format("调用%s服务,查询网格%s待审核热心居民数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), resiGroupProcessingCountResult.getCode(), + resiGroupProcessingCountResult.getMsg())); } - logger.error(String.format("调用%s服务,查询网格%s待审核热心居民数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), resiGroupProcessingCountResult.getCode(), - resiGroupProcessingCountResult.getMsg())); return false; } @@ -137,9 +140,10 @@ public class RemindServiceImpl implements RemindService { } } } + }else{ + logger.error(String.format("调用%s服务,查询网格%s待审核党员数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), partyMemberProcessingCountResult.getCode(), + partyMemberProcessingCountResult.getMsg())); } - logger.error(String.format("调用%s服务,查询网格%s待审核党员数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), partyMemberProcessingCountResult.getCode(), - partyMemberProcessingCountResult.getMsg())); return false; } @@ -155,9 +159,10 @@ public class RemindServiceImpl implements RemindService { } } } + }else{ + logger.error(String.format("调用%s服务,查询网格%s表决中议题总数失败code%s,msg:", ServiceConstant.GOV_ISSUE_SERVER, gridIdList.get(0), issueResult.getCode(), + issueResult.getMsg())); } - logger.error(String.format("调用%s服务,查询网格%s表决中议题总数失败code%s,msg:", ServiceConstant.GOV_ISSUE_SERVER, gridIdList.get(0), issueResult.getCode(), - issueResult.getMsg())); return false; } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java index 61a4aecfbc..b48a153421 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java @@ -19,6 +19,6 @@ public class GridVotingIssueCountResultDTO implements Serializable { /** * 表决中的议题总数 */ - private Long count; + private Integer count; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java index 1dacca6b18..7eb3487767 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java @@ -65,11 +65,11 @@ public class GovIssueRedis { * @Description 获取某网格下表决中的议题总数 * @Date 2020/5/14 9:40 **/ - public Long queryVotingIssueCount(String gridId) { - Long auditingGroupCount = 0L; + public Integer queryVotingIssueCount(String gridId) { + Integer auditingGroupCount = 0; try { String workGrassrootsGroupRedDotKey = GovIssueRedisKeys.getWorkGrassrootsIssueRedDotKey(gridId); - auditingGroupCount = (Long) redisUtils.get(workGrassrootsGroupRedDotKey); + auditingGroupCount = (Integer) redisUtils.get(workGrassrootsGroupRedDotKey); } catch (Exception e) { logger.error(String.format("网格id%s,查询网格下表决中议题总数异常%s", gridId, e.getMessage())); e.printStackTrace(); 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 6a0e3e296b..7479376c42 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 @@ -258,9 +258,9 @@ public class IssueServiceImpl extends BaseServiceImpl imp for (String gridId : gridIdList) { GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO = new GridVotingIssueCountResultDTO(); gridVotingIssueCountResultDTO.setGridId(gridId); - Long auditingCount = govIssueRedis.queryVotingIssueCount(gridId); + Integer auditingCount = govIssueRedis.queryVotingIssueCount(gridId); if (null == auditingCount) { - gridVotingIssueCountResultDTO.setCount(0L); + gridVotingIssueCountResultDTO.setCount(0); } else { gridVotingIssueCountResultDTO.setCount(auditingCount); } diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java index cb7c2eceed..b3f6ffc426 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java @@ -35,7 +35,7 @@ public interface ResiPartymemberFeignClient { * @Description 查询网格下待审核的党员数 * @Date 2020/5/13 15:41 **/ - @PostMapping(value = "/resi/partymember/partymemberbaseinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = "/resi/partymember/partymemberinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE) Result> queryPartyMemberProcessingCount(@RequestBody List gridIdList); } diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java index 3a1ccf8714..3bff98858d 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java @@ -3,6 +3,7 @@ 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.result.GridProcessingCountResultDTO; import com.epmet.feign.GovIssueFeignClient; import org.springframework.stereotype.Component; @@ -16,7 +17,7 @@ import java.util.List; @Component public class GovIssueFeignClientFallBack implements GovIssueFeignClient { @Override - public Result queryVotingIssueCount(List gridIdList) { + public Result> queryVotingIssueCount(List gridIdList) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList); } } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java index 4ef970e52b..4b966dae09 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java @@ -20,6 +20,6 @@ public class GroupProcessingCountResultDTO implements Serializable { /** * 待审核的小组总数 */ - private Long count; + private Integer count; } diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index f82b9c4302..018fc70677 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -82,6 +82,12 @@ 2.0.0 compile + + com.epmet + gov-issue-client + 2.0.0 + compile + diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java index 15197a9fd3..10b581ca2e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java @@ -195,11 +195,11 @@ public class ResiGroupRedis { * @Description 获取某网格下待审核小组总数 * @Date 2020/5/13 21:40 **/ - public Long getWorkGrassrootsGroupRedDotValue(String gridId) { - Long auditingGroupCount = 0L; + public Integer getWorkGrassrootsGroupRedDotValue(String gridId) { + Integer auditingGroupCount = 0; try { String workGrassrootsGroupRedDotKey = ResiGroupRedisKeys.getWorkGrassrootsGroupRedDotKey(gridId); - auditingGroupCount = (Long) redisUtils.get(workGrassrootsGroupRedDotKey); + auditingGroupCount = (Integer) redisUtils.get(workGrassrootsGroupRedDotKey); } catch (Exception e) { logger.error(String.format("网格id%s,查询网格下待审核小组总数异常%s", gridId, e.getMessage())); e.printStackTrace(); 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 b55ed95902..0ff6d6a103 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 @@ -790,9 +790,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Fri, 15 May 2020 15:23:26 +0800 Subject: [PATCH 12/22] =?UTF-8?q?=E6=9C=AC=E6=9C=BAurl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index ee6408e6d3..0f9465f2b4 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -108,6 +108,7 @@ + lb://epmet-auth-server lb://epmet-admin-server @@ -120,6 +121,7 @@ lb://epmet-job-server + lb://epmet-user-server lb://epmet-demo-server @@ -138,11 +140,13 @@ lb://resi-mine-server + lb://resi-group-server lb://resi-partymember-server + lb://gov-grid-server @@ -154,6 +158,7 @@ lb://resi-hall-server + lb://gov-issue-server lb://gov-project-server From 470fabcfc4976964db9b74837bb82af9f99a6163 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Fri, 15 May 2020 15:31:08 +0800 Subject: [PATCH 13/22] =?UTF-8?q?controller=E6=B7=BB=E5=8A=A0=E4=BC=A0?= =?UTF-8?q?=E5=8F=82=E5=88=A4=E6=96=AD=EF=BC=8C=E8=AE=AE=E9=A2=98=E5=A4=84?= =?UTF-8?q?=E7=90=86=E8=BF=9B=E5=B1=95=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/IssueController.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 47f8c2293e..16749ff7a7 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 @@ -42,6 +42,7 @@ public class IssueController { @PostMapping(value = "/detail") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result detail(@RequestBody IssueDetailFormDTO issueDetail){ + ValidatorUtils.validateEntity(issueDetail); return new Result().ok(issueService.detail(issueDetail)); } @@ -53,6 +54,7 @@ public class IssueController { @PostMapping(value = "votingtrend") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result votingTrend(@RequestBody IssueIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); return new Result().ok(issueService.votingTrend(formDTO)); } @@ -64,6 +66,7 @@ public class IssueController { @PostMapping(value = "support") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result support(@LoginUser TokenDto tokenDto, @RequestBody IssueIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); issueService.support(tokenDto,formDTO); return new Result(); } @@ -76,6 +79,7 @@ public class IssueController { @PostMapping(value = "oppose") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result oppose(@LoginUser TokenDto tokenDto,@RequestBody IssueIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); issueService.oppose(tokenDto,formDTO); return new Result(); } @@ -88,6 +92,7 @@ public class IssueController { @PostMapping(value = "vote") // @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result vote(@LoginUser TokenDto tokenDto,@RequestBody IssueIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); return new Result().ok(issueService.vote(tokenDto,formDTO)); } @@ -100,6 +105,7 @@ public class IssueController { @PostMapping("initevaluation") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result initEvaluation(@LoginUser TokenDto tokenDto, @RequestBody IssueIdFormDTO issueId){ + ValidatorUtils.validateEntity(issueId); return new Result().ok(issueService.initEvaluation(tokenDto,issueId)); } @@ -112,6 +118,7 @@ public class IssueController { @PostMapping("projectinitevaluation") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result projectInitEvaluation(@LoginUser TokenDto tokenDto, @RequestBody ProjectIdFormDTO projectId){ + ValidatorUtils.validateEntity(projectId); return new Result().ok(issueService.projectInitEvaluation(tokenDto,projectId)); } @@ -123,6 +130,7 @@ public class IssueController { @PostMapping("evaluate") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result evaluate(@LoginUser TokenDto tokenDto,@RequestBody EvaluateFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); issueService.evaluate(tokenDto,formDTO); return new Result(); } @@ -135,6 +143,7 @@ public class IssueController { @PostMapping("projectevaluate") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result projectEvaluate(@LoginUser TokenDto tokenDto,@RequestBody ProjectEvaluateFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); issueService.projectEvaluate(tokenDto,formDTO); return new Result(); } @@ -147,6 +156,7 @@ public class IssueController { @PostMapping("evaluationlist") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result> evaluationList(@RequestBody EvaluationListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); return new Result>().ok(issueService.evaluationList(formDTO)); } @@ -158,6 +168,7 @@ public class IssueController { @PostMapping("projectevaluationlist") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result> projectEvaluationList(@RequestBody ProjectEvaluationListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); return new Result>().ok(issueService.projectEvaluationList(formDTO)); } @@ -169,6 +180,7 @@ public class IssueController { @PostMapping("shiftproject") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT) public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); return new Result>().ok(issueService.getShiftProjectList(formDTO)); } @@ -204,7 +216,9 @@ public class IssueController { * @author zxc */ @PostMapping("processlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) public Result> processList(@RequestBody IssueIdFormDTO issueId){ + ValidatorUtils.validateEntity(issueId); return new Result>().ok(issueService.processList(issueId)); } From dfdc7ea8de35cd0b83b7714f03c98d1e5ad46259 Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 15 May 2020 16:12:03 +0800 Subject: [PATCH 14/22] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BE=A4=E7=BB=84?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=9A=84execution=E8=A1=A8=E8=BE=BE=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 14 +++++++++----- .../com/epmet/service/impl/IssueServiceImpl.java | 2 +- .../src/main/resources/mapper/IssueDao.xml | 4 ++-- .../java/com/epmet/aspect/RequestLogAspect.java | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index b96276ef8a..2f1ae4827d 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -136,7 +136,8 @@ lb://resi-mine-server - lb://resi-group-server + + lb://resi-group-server lb://resi-partymember-server @@ -150,7 +151,8 @@ lb://resi-hall-server - lb://gov-issue-server + + lb://gov-issue-server lb://gov-project-server @@ -171,7 +173,7 @@ 6379 EpmEtrEdIs!q@w - true + false 192.168.10.150:8848 67e3c350-533e-4d7c-9f8f-faf1b4aa82ae @@ -208,7 +210,8 @@ lb://resi-mine-server - lb://resi-group-server + http://localhost:8095 + lb://resi-partymember-server @@ -220,7 +223,8 @@ lb://resi-hall-server - lb://gov-issue-server + http://localhost:8101 + lb://gov-project-server 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 794d64760a..250d1e1a56 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 @@ -266,7 +266,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp issueDTO.setIssueStatus(ModuleConstants.ISSUE_STATUS_VOTING); issueDTO.setDecidedTime(issueShiftedFromTopicFormDTO.getCreatedTime()); int issueAffectedRow = baseDao.insertOne(issueDTO); - if(issueAffectedRow == 1 && StringUtils.isNotBlank(issueDTO.getId())){ + if(issueAffectedRow == NumConstant.ONE && StringUtils.isNotBlank(issueDTO.getId())){ //2.新增议题流程 IssueProcessDTO issueProcessDTO = new IssueProcessDTO(); issueProcessDTO.setIssueId(issueDTO.getId()); 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 a783ebb88b..87245109b1 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 @@ -193,8 +193,8 @@ SELECT - ID, + ID AS projectStaffId, DEPARTMENT_NAME FROM project_staff From 3c47d99d14cdea58c6d88c603a376b055b01540d Mon Sep 17 00:00:00 2001 From: wangchao Date: Fri, 15 May 2020 17:57:40 +0800 Subject: [PATCH 19/22] =?UTF-8?q?=E7=BE=A4=E7=BB=84=E7=BC=93=E5=AD=98bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/feign/ResiGroupFeignClient.java | 2 +- .../main/java/com/epmet/service/impl/IssueServiceImpl.java | 1 + .../group/dto/topic/form/ResiTopicTurnIssueFromDTO.java | 6 +++--- .../member/service/impl/ResiGroupMemberServiceImpl.java | 2 ++ .../modules/topic/service/impl/ResiTopicServiceImpl.java | 2 +- 5 files changed, 8 insertions(+), 5 deletions(-) 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 cb306decba..dafe24e28a 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 @@ -34,7 +34,7 @@ public interface ResiGroupFeignClient { * @author wangc * @date 2020.05.12 13:53 **/ - @PostMapping("/resi/group/topictopicinfoforissuedetailgov") + @PostMapping("/resi/group/topic/topicinfoforissuedetailgov") Result topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO); } 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 98148f0e10..e75679364b 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 @@ -451,6 +451,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp return issueInfo; } + //查询话题失败异常 } return null; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java index c0043833f3..2800af1736 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/ResiTopicTurnIssueFromDTO.java @@ -18,19 +18,19 @@ public class ResiTopicTurnIssueFromDTO implements Serializable { /** * 议题名称 * */ - @NotBlank(message = "议题名称") + @NotBlank(message = "议题名称不能为空") private String issueTitle; /** * 话题Id * */ - @NotBlank(message = "话题Id") + @NotBlank(message = "话题Id不能为空") private String topicId; /** * 建议 * */ - @NotBlank(message = "建议") + @NotBlank(message = "建议不能为空") private String suggestion; /** 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 1319cc6f3e..80ac752e56 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 @@ -134,6 +134,8 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); wrapper.eq(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR); + wrapper.eq(TopicConstant.CUSTOMER_USER_ID,params.get(TopicConstant.CUSTOMER_USER_ID)); + wrapper.eq(TopicConstant.RESI_GROUP_ID,params.get(TopicConstant.RESI_GROUP_ID)); return wrapper; } 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 2407a82b00..fe028611cc 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 @@ -1119,7 +1119,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl gridInfoResult = govOrgFeignClient.getCustomerGridByGridId(gridForm); From 1f0358dc14ecb106d4abeae1814625afcccccfaf Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 15 May 2020 18:19:19 +0800 Subject: [PATCH 20/22] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dao/ProjectProcessDao.java | 7 ++++ .../src/main/resources/mapper/ProjectDao.xml | 33 ++++++------------- .../resources/mapper/ProjectProcessDao.xml | 1 + 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 53583222b0..74bc6e9aa9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -44,6 +44,13 @@ public interface ProjectProcessDao extends BaseDao { **/ List getProcessListByProjectId(@Param("projectId") String projectId); + /** + * 可退回节点 + * @author zhaoqifeng + * @date 2020/5/15 17:24 + * @param projectId + * @return java.util.List + */ List selectReturnableList(@Param("projectId") String projectId); /** 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 84841efe20..e68776748e 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 @@ -50,17 +50,15 @@ p.CREATED_TIME, ps.CREATED_TIME AS UPDATED_TIME FROM project p - INNER JOIN (SELECT DISTINCT - ps.PROJECT_ID - FROM - project_staff ps - INNER JOIN project_process pp ON ps.PROCESS_ID = pp.ID AND pp.DEL_FLAG = '0' - AND pp.OPERATION = 'created' - WHERE - ps.DEL_FLAG = '0' - AND ps.IS_HANDLE = 'handle' - AND ps.STAFF_ID = #{userId} - GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID + INNER JOIN (SELECT + PROJECT_ID + FROM + project_process + WHERE + DEL_FLAG = '0' + AND OPERATION = 'created' + AND STAFF_ID = #{userId} + ) psp ON p.ID = psp.PROJECT_ID LEFT JOIN ( SELECT DISTINCT PROJECT_ID, @@ -72,18 +70,7 @@ GROUP BY PROJECT_ID) ps ON p.ID = ps.PROJECT_ID LEFT JOIN project_process pp ON p.ID = pp.PROJECT_ID AND pp.OPERATION = 'close' WHERE - NOT EXISTS ( - SELECT - PROJECT_ID - FROM - project_staff - WHERE - DEL_FLAG = '0' - AND PROJECT_ID = p.ID - AND STAFF_ID = #{userId} - AND IS_HANDLE = 'unhandled' - ) - AND p.DEL_FLAG = '0' + p.DEL_FLAG = '0' ORDER BY p.CREATED_TIME ASC LIMIT #{pageNo}, #{pageSize} diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml index 49024c5fe6..27974f5b4c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml @@ -27,6 +27,7 @@ WHERE DEL_FLAG = '0' AND PROJECT_ID = #{projectId} + AND OPERATION = 'transfer' ORDER BY CREATED_TIME DESC From e8c7c8fa968683691a188e13a9a355b70e3c5a66 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Fri, 15 May 2020 18:40:39 +0800 Subject: [PATCH 21/22] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...VoteFormDTO.java => CheckVoteFormDTO.java} | 2 +- .../epmet/dto/result/JoinVoteResultDTO.java | 20 ++++++++++++++++ .../epmet/dto/result/ProjectIdResultDTO.java | 20 ++++++++++++++++ .../IssueProjectRelationController.java | 12 ++++++++++ .../controller/IssueVoteDetailController.java | 13 ++++++++++- .../service/IssueProjectRelationService.java | 10 ++++++++ .../epmet/service/IssueVoteDetailService.java | 9 ++++++++ .../impl/IssueProjectRelationServiceImpl.java | 15 ++++++++++++ .../impl/IssueVoteDetailServiceImpl.java | 23 +++++++++++++++++++ .../com/epmet/dto/form/ProjectIdFormDTO.java | 20 ++++++++++++++++ .../result/ProjectDetailCheckResultDTO.java | 20 ++++++++++++++++ .../controller/ProjectProcessController.java | 19 +++++++++++++++ .../java/com/epmet/dao/ProjectProcessDao.java | 8 +++++++ .../epmet/service/ProjectProcessService.java | 12 ++++++---- .../impl/ProjectProcessServiceImpl.java | 17 ++++++++++++++ .../resources/mapper/ProjectProcessDao.xml | 12 ++++++++++ .../dto/result/IssueDetailResultDTO.java | 15 ++++++++++++ .../epmet/dto/result/JoinVoteResultDTO.java | 20 ++++++++++++++++ .../result/ProjectDetailCheckResultDTO.java | 19 +++++++++++++++ .../epmet/dto/result/ProjectIdResultDTO.java | 20 ++++++++++++++++ .../java/com/epmet/constat/HallConstat.java | 15 ++++++++++++ .../com/epmet/controller/IssueController.java | 4 ++-- .../com/epmet/feign/GovIssueFeignClient.java | 18 +++++++++++++++ .../epmet/feign/GovProjectFeignClient.java | 10 ++++++++ .../fallback/GovIssueFeignClientFallBack.java | 11 +++++++++ .../GovProjectFeignClientFallBack.java | 7 ++++++ .../java/com/epmet/service/IssueService.java | 2 +- .../epmet/service/impl/IssueServiceImpl.java | 23 ++++++++++++++++++- 28 files changed, 386 insertions(+), 10 deletions(-) rename epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/{checkVoteFormDTO.java => CheckVoteFormDTO.java} (85%) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java create mode 100644 epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/checkVoteFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CheckVoteFormDTO.java similarity index 85% rename from epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/checkVoteFormDTO.java rename to epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CheckVoteFormDTO.java index f930a2e05e..56b5e3b464 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/checkVoteFormDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CheckVoteFormDTO.java @@ -9,7 +9,7 @@ import java.io.Serializable; * 校验是否投票——表决中 */ @Data -public class checkVoteFormDTO implements Serializable { +public class CheckVoteFormDTO implements Serializable { private static final long serialVersionUID = -2170063271034172650L; /** diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java new file mode 100644 index 0000000000..86ceda5aef --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 校验是否投票——表决中 + */ +@Data +public class JoinVoteResultDTO implements Serializable { + + private static final long serialVersionUID = 4968824773812104403L; + /** + * 是否参与投票 已投票:true,未投票:false + */ + private Boolean joinVote; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java new file mode 100644 index 0000000000..0d57a27266 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 议题处理进展 + */ +@Data +public class ProjectIdResultDTO implements Serializable { + + private static final long serialVersionUID = -7842831208204103490L; + /** + * 项目id + */ + private String projectId; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectRelationController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectRelationController.java index 7efd1b1394..279f3ef9a2 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectRelationController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectRelationController.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.IssueProjectRelationDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.ProjectIdResultDTO; import com.epmet.excel.IssueProjectRelationExcel; import com.epmet.service.IssueProjectRelationService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +93,14 @@ public class IssueProjectRelationController { ExcelUtils.exportExcelToTarget(response, null, list, IssueProjectRelationExcel.class); } + /** + * @Description 获取项目Id + * @param issueId + * @author zxc + */ + @PostMapping("selectprojectid") + public Result selectProjectId(@RequestBody IssueIdFormDTO issueId){ + return new Result().ok(issueProjectRelationService.selectProjectId(issueId)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java index d7a6153418..1b58ffddff 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteDetailController.java @@ -17,7 +17,6 @@ package com.epmet.controller; -import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; @@ -27,7 +26,9 @@ 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.IssueVoteDetailDTO; +import com.epmet.dto.form.CheckVoteFormDTO; import com.epmet.dto.form.VoteFormDTO; +import com.epmet.dto.result.JoinVoteResultDTO; import com.epmet.excel.IssueVoteDetailExcel; import com.epmet.service.IssueVoteDetailService; import org.springframework.beans.factory.annotation.Autowired; @@ -104,4 +105,14 @@ public class IssueVoteDetailController { return new Result(); } + /** + * @Description 校验是否投票 + * @param checkVoteFormDTO + * @author zxc + */ + @PostMapping("joinvote") + public Result joinVote(@RequestBody CheckVoteFormDTO checkVoteFormDTO){ + return new Result().ok(issueVoteDetailService.joinVote(checkVoteFormDTO)); + } + } \ No newline at end of file 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 7902955867..5ebf0fc5a1 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 @@ -20,7 +20,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IssueProjectRelationDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.ProjectIdResultDTO; import com.epmet.entity.IssueProjectRelationEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -101,4 +104,11 @@ public interface IssueProjectRelationService extends BaseService NumConstant.ZERO){ + resultDTO.setJoinVote(true); + }else { + resultDTO.setJoinVote(false); + } + return resultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java new file mode 100644 index 0000000000..318eae5dcf --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectIdFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目Id + * @Author zxc + */ +@Data +public class ProjectIdFormDTO implements Serializable { + private static final long serialVersionUID = 2887479755214503489L; + + @NotBlank(message = "项目id不能为空") + private String projectId; + +} + diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java new file mode 100644 index 0000000000..1517cd8dad --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 查询某用户是否加入过小组 + */ +@Data +public class ProjectDetailCheckResultDTO implements Serializable { + + private static final long serialVersionUID = 5710008005124934826L; + /** + * 项目状态 eg:已结案:true,未结案:false + */ + private Boolean projectStatus; + +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java index f5958bd7fc..773eb8d7f5 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java @@ -27,6 +27,8 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.ProjectProcessDTO; import com.epmet.dto.form.ProcessProjectIdFormDTO; +import com.epmet.dto.form.ProjectIdFormDTO; +import com.epmet.dto.result.ProjectDetailCheckResultDTO; import com.epmet.dto.result.ProjectProcessListResultDTO; import com.epmet.excel.ProjectProcessExcel; import com.epmet.service.ProjectProcessService; @@ -93,9 +95,26 @@ public class ProjectProcessController { ExcelUtils.exportExcelToTarget(response, null, list, ProjectProcessExcel.class); } + /** + * @Description 议题处理进展——已转项目 + * @param formDTO + * @author zxc + */ @PostMapping("projectprocesslist") public Result> projectProcessList(@RequestBody ProcessProjectIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); return new Result>().ok(projectProcessService.projectProcessList(formDTO)); } + /** + * @Description 校验项目是否已结案 + * @param projectIdFormDTO + * @author zxc + */ + @PostMapping("checkprojectclose") + public Result checkProjectClose(@RequestBody ProjectIdFormDTO projectIdFormDTO){ + ValidatorUtils.validateEntity(projectIdFormDTO); + return new Result().ok(projectProcessService.checkProjectClose(projectIdFormDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 74bc6e9aa9..333d1aefeb 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.ProcessProjectIdFormDTO; +import com.epmet.dto.form.ProjectIdFormDTO; import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.dto.result.ProjectProcessListResultDTO; import com.epmet.entity.ProjectProcessEntity; @@ -59,4 +60,11 @@ public interface ProjectProcessDao extends BaseDao { * @author zxc */ List projectProcessList(ProcessProjectIdFormDTO formDTO); + + /** + * @Description 校验项目是否已结案 + * @param projectIdFormDTO + * @author zxc + */ + Integer checkProjectClose(ProjectIdFormDTO projectIdFormDTO); } \ 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 99a642f700..98bb36ec5d 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 @@ -22,10 +22,7 @@ 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.*; -import com.epmet.dto.result.DepartmentResultDTO; -import com.epmet.dto.result.ProcesslistResultDTO; -import com.epmet.dto.result.ProjectProcessListResultDTO; -import com.epmet.dto.result.ReturnListResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.ProjectProcessEntity; import org.springframework.web.bind.annotation.RequestBody; @@ -132,4 +129,11 @@ public interface ProjectProcessService extends BaseService */ List projectProcessList(ProcessProjectIdFormDTO formDTO); + /** + * @Description 校验项目是否已结案 + * @param projectIdFormDTO + * @author zxc + */ + ProjectDetailCheckResultDTO checkProjectClose(ProjectIdFormDTO projectIdFormDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 23d13ab18e..608f78f468 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -251,4 +251,21 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl + + + \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueDetailResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueDetailResultDTO.java index 8769c93e5b..aa5fa7c6f9 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueDetailResultDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueDetailResultDTO.java @@ -45,5 +45,20 @@ public class IssueDetailResultDTO implements Serializable { */ private String issueInitiator; + /** + * 项目状态 已结案:true,未结案:false + */ + private Boolean projectStatus; + + /** + * 投票状态 已投票:true,未投票:false + */ + private Boolean joinVote; + + /** + * 项目Id,issue状态=“shift_status”时,projectId有值,其他情况为空字符串 + */ + private String projectId = ""; + } diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java new file mode 100644 index 0000000000..86ceda5aef --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/JoinVoteResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 校验是否投票——表决中 + */ +@Data +public class JoinVoteResultDTO implements Serializable { + + private static final long serialVersionUID = 4968824773812104403L; + /** + * 是否参与投票 已投票:true,未投票:false + */ + private Boolean joinVote; + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java new file mode 100644 index 0000000000..e542467238 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectDetailCheckResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 查询某用户是否加入过小组 + */ +@Data +public class ProjectDetailCheckResultDTO implements Serializable { + + private static final long serialVersionUID = 5710008005124934826L; + /** + * 项目状态 eg:已结案:true,未结案:false + */ + private Boolean projectStatus; +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java new file mode 100644 index 0000000000..0d57a27266 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProjectIdResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 议题处理进展 + */ +@Data +public class ProjectIdResultDTO implements Serializable { + + private static final long serialVersionUID = -7842831208204103490L; + /** + * 项目id + */ + private String projectId; + +} diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java index 19af02540a..2e38102ef5 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/constat/HallConstat.java @@ -11,4 +11,19 @@ public interface HallConstat { */ String SELECT_USERINFO_EXCEPTION = "获取用户昵称、头像失败"; + /** + * 已转项目——议题 + */ + String SHIFT_PROJECT = "shift_project"; + + /** + * 表决中——议题 + */ + String VOTING = "voting"; + + /** + * 已关闭——议题 + */ + String CLOSED = "closed"; + } 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 16749ff7a7..ab7a789ef9 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 @@ -41,9 +41,9 @@ public class IssueController { */ @PostMapping(value = "/detail") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) - public Result detail(@RequestBody IssueDetailFormDTO issueDetail){ + public Result detail(@LoginUser TokenDto tokenDto,@RequestBody IssueDetailFormDTO issueDetail){ ValidatorUtils.validateEntity(issueDetail); - return new Result().ok(issueService.detail(issueDetail)); + return new Result().ok(issueService.detail(tokenDto,issueDetail)); } /** 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 3ea77aad34..e81a7fbda1 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 @@ -2,6 +2,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.CheckVoteFormDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.fallback.GovIssueFeignClientFallBack; @@ -121,4 +122,21 @@ public interface GovIssueFeignClient { @PostMapping("/gov/issue/issueprocess/processlist") Result> processList(@RequestBody IssueIdFormDTO issueId); + + /** + * @Description 校验是否投票 + * @param checkVoteFormDTO + * @author zxc + */ + @PostMapping("/gov/issue/issuevotedetail/joinvote") + Result joinVote(@RequestBody CheckVoteFormDTO checkVoteFormDTO); + + /** + * @Description 获取projectId + * @param issueIdFormDTO + * @author zxc + */ + @PostMapping("/gov/issue/issueprojectrelation/selectprojectid") + Result selectProjectId(@RequestBody IssueIdFormDTO issueIdFormDTO); + } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java index 066f8c6404..19c2dc9e86 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/GovProjectFeignClient.java @@ -4,7 +4,9 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.ProjectEvaluateFormDTO; import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectIdFormDTO; import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectDetailCheckResultDTO; import com.epmet.dto.result.ProjectEvaluationListResultDTO; import com.epmet.dto.result.ProjectInitEvaluationResultDTO; import com.epmet.feign.fallback.GovProjectFeignClientFallBack; @@ -46,4 +48,12 @@ public interface GovProjectFeignClient { */ @PostMapping("/gov/project/projectsatisfactiondetail/projectevaluationlist") Result> projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + + /** + * @Description 校验项目是否已结案 + * @param projectIdFormDTO + * @author zxc + */ + @PostMapping("/gov/project/projectprocess/checkprojectclose") + Result checkProjectClose(@RequestBody ProjectIdFormDTO projectIdFormDTO); } 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 7150ea42c0..77fdcb49dc 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 @@ -3,6 +3,7 @@ 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.CheckVoteFormDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.GovIssueFeignClient; @@ -76,4 +77,14 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient { public Result> processList(IssueIdFormDTO issueId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "processList", issueId); } + + @Override + public Result joinVote(CheckVoteFormDTO checkVoteFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "joinVote", checkVoteFormDTO); + } + + @Override + public Result selectProjectId(IssueIdFormDTO issueIdFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "selectProjectId", issueIdFormDTO); + } } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java index a68d848f90..908fea485d 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/GovProjectFeignClientFallBack.java @@ -5,7 +5,9 @@ import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.ProjectEvaluateFormDTO; import com.epmet.dto.form.ProjectEvaluationListFormDTO; +import com.epmet.dto.form.ProjectIdFormDTO; import com.epmet.dto.form.ProjectInitEvaluationFormDTO; +import com.epmet.dto.result.ProjectDetailCheckResultDTO; import com.epmet.dto.result.ProjectEvaluationListResultDTO; import com.epmet.dto.result.ProjectInitEvaluationResultDTO; import com.epmet.feign.GovProjectFeignClient; @@ -34,4 +36,9 @@ public class GovProjectFeignClientFallBack implements GovProjectFeignClient { public Result> projectEvaluationList(ProjectEvaluationListFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "projectEvaluationList", formDTO); } + + @Override + public Result checkProjectClose(ProjectIdFormDTO projectIdFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "checkProjectClose", projectIdFormDTO); + } } 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 47ae55642e..36dbe70b15 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 @@ -20,7 +20,7 @@ public interface IssueService { * @author zxc * @date 2020/5/11 10:04 */ - IssueDetailResultDTO detail(IssueDetailFormDTO issueDetail); + IssueDetailResultDTO detail(TokenDto tokenDto,IssueDetailFormDTO issueDetail); /** * @Description 议题表决折线图 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 a1c95f4298..df554f8843 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 @@ -6,6 +6,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constat.HallConstat; +import com.epmet.dto.form.CheckVoteFormDTO; import com.epmet.dto.TopicInfoDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -45,7 +46,7 @@ public class IssueServiceImpl implements IssueService { * @date 2020/5/11 10:04 */ @Override - public IssueDetailResultDTO detail(IssueDetailFormDTO issueDetail) { + public IssueDetailResultDTO detail(TokenDto tokenDto,IssueDetailFormDTO issueDetail) { IssueDetailResultDTO issueDetailResult = new IssueDetailResultDTO(); //议题信息 Result issueResultDTOResult = govIssueFeignClient.detail(issueDetail); @@ -87,6 +88,26 @@ public class IssueServiceImpl implements IssueService { issueDetailResult.setTopicInfo(topicInfoDTOResult); } } + //判断是否投票 + CheckVoteFormDTO formDTO = new CheckVoteFormDTO(); + formDTO.setIssueId(issueDetail.getIssueId()); + formDTO.setUserId(tokenDto.getUserId()); + JoinVoteResultDTO data = govIssueFeignClient.joinVote(formDTO).getData(); + issueDetailResult.setJoinVote(data.getJoinVote()); + if (issueDetailResult.getIssueStatus().equals(HallConstat.SHIFT_PROJECT)){ + //校验项目是否结案 + IssueIdFormDTO issueId = new IssueIdFormDTO(); + issueId.setIssueId(issueDetail.getIssueId()); + ProjectIdResultDTO projectId = govIssueFeignClient.selectProjectId(issueId).getData(); + ProjectIdFormDTO projectIdFormDTO = new ProjectIdFormDTO(); + projectIdFormDTO.setProjectId(projectId.getProjectId()); + ProjectDetailCheckResultDTO projectDetailCheck = govProjectFeignClient.checkProjectClose(projectIdFormDTO).getData(); + issueDetailResult.setProjectStatus(projectDetailCheck.getProjectStatus()); + issueDetailResult.setProjectId(projectId.getProjectId()); + } else if (issueDetailResult.getIssueStatus().equals(HallConstat.CLOSED)){ + //已关闭议题,无需判断 + issueDetailResult.setProjectStatus(true); + } return issueDetailResult; } From 214ee920250a4d0c7700ccd201a0dc37cc0c4c1c Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Sat, 16 May 2020 11:16:15 +0800 Subject: [PATCH 22/22] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E3=80=81=E9=A1=B9=E7=9B=AE=E8=B7=9F=E8=B8=AA-=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E8=B0=83=E6=95=B4=E5=B8=A6=E6=9D=A5=E7=9A=84=E9=83=A8?= =?UTF-8?q?=E5=88=86=E4=BB=A3=E7=A0=81=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/DepartmentStaffListFormDTO.java | 7 +- .../com/epmet/dto/form/TickStaffFormDTO.java | 4 +- .../controller/IssueManageController.java | 4 +- .../com/epmet/feign/GovOrgFeignClient.java | 9 +- .../fallback/GovOrgFeignClientFallBack.java | 5 +- .../epmet/service/impl/IssueServiceImpl.java | 247 +++++++++--------- .../epmet/dto/result/StaffListResultDTO.java | 8 +- .../controller/CustomerAgencyController.java | 11 +- .../com/epmet/dao/CustomerStaffAgencyDao.java | 2 +- .../epmet/service/CustomerAgencyService.java | 5 +- .../impl/CustomerAgencyServiceImpl.java | 65 +++-- .../resources/mapper/CustomerAgencyDao.xml | 3 +- .../mapper/CustomerStaffAgencyDao.xml | 7 +- .../dto/form/DepartmentStaffListFormDTO.java | 28 ++ .../com/epmet/constant/ProjectConstant.java | 4 + .../controller/ProjectTraceController.java | 54 ++-- .../com/epmet/feign/GovOrgFeignClient.java | 7 +- .../fallback/GovOrgFeignClientFallBack.java | 5 +- .../epmet/service/ProjectStaffService.java | 1 - .../service/impl/ProjectServiceImpl.java | 11 +- .../service/impl/ProjectStaffServiceImpl.java | 22 +- 21 files changed, 293 insertions(+), 216 deletions(-) rename epmet-module/{gov-org/gov-org-client => gov-issue/gov-issue-client}/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java (73%) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java similarity index 73% rename from epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java rename to epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java index 4542a587db..3b3bad7698 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java @@ -6,7 +6,7 @@ import javax.validation.constraints.NotBlank; import java.io.Serializable; /** - * @Description 项目跟踪-部门人员选择-接口入参 + * @Description 议题管理-部门人员选择-接口入参 * @Author sun */ @Data @@ -16,5 +16,10 @@ public class DepartmentStaffListFormDTO implements Serializable { @NotBlank(message = "机关组织Id不能为空") private String agencyId; + /** + * token中工作人员Id + */ + private String staffId; + } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java index b163fd5781..790d21914a 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/TickStaffFormDTO.java @@ -19,12 +19,12 @@ public class TickStaffFormDTO implements Serializable { /** * 部门Id(为空表示勾选的人不是部门下的,可能是组织下的也可能是网格下的) */ - private String departmentId; + private String departmentId=""; /** * 网格Id(为空表示勾选的人不是网格下的,可能是组织下的也可能是部门下的) */ - private String gridId; + private String gridId=""; @NotBlank(message = "内部备注不能为空") private String staffId; 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 922c7824ab..3c184229b2 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,9 +6,6 @@ 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.*; import com.epmet.service.IssueService; @@ -58,6 +55,7 @@ public class IssueManageController { @PostMapping("departmentstafflist") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT) public Result departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) { + formDTO.setStaffId(tokenDTO.getUserId()); ValidatorUtils.validateEntity(formDTO); return new Result().ok(issueService.departmentStaffList(formDTO)); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 7848d0bedf..f521975727 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -2,9 +2,8 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.BelongGridNameFormDTO; -import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.form.CanTickStaffListFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.BelongGridNameResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; @@ -32,13 +31,13 @@ public interface GovOrgFeignClient { Result getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO); /** - * @param agencyId + * @param canTick * @return * @Author sun * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 **/ - @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}") - Result departmentStaffList(@PathVariable("agencyId") String agencyId); + @PostMapping(value = "/gov/org/customeragency/departmentstafflist") + Result departmentStaffList(CanTickStaffListFormDTO canTick); /** * @param agencyId diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index d216667d86..a659baa435 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -4,6 +4,7 @@ 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.BelongGridNameFormDTO; +import com.epmet.dto.form.CanTickStaffListFormDTO; import com.epmet.dto.result.AgencyGridResultDTO; import com.epmet.dto.result.BelongGridNameResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; @@ -24,8 +25,8 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { } @Override - public Result departmentStaffList(String agencyId) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); + public Result departmentStaffList(CanTickStaffListFormDTO canTick) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", canTick); } @Override 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 e75679364b..39770665de 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 @@ -15,19 +15,13 @@ import com.epmet.constant.IssueConstant; import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.UserMessageConstant; import com.epmet.dao.IssueDao; +import com.epmet.dao.IssueProcessDao; import com.epmet.dao.IssueProjectRelationDao; import com.epmet.dto.IssueDTO; import com.epmet.dto.IssueProcessDTO; import com.epmet.dto.IssueVoteStatisticalDTO; -import com.epmet.dto.form.CommonIssueListFormDTO; -import com.epmet.dao.IssueProcessDao; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.dto.form.CloseIssueFormDTO; -import com.epmet.dto.form.DepartmentStaffListFormDTO; -import com.epmet.dto.form.IssueDetailFormDTO; -import com.epmet.dto.form.IssueShiftedFromTopicFormDTO; -import com.epmet.dto.form.UserMessageFormDTO; import com.epmet.entity.IssueEntity; import com.epmet.entity.IssueProcessEntity; import com.epmet.entity.IssueProjectRelationEntity; @@ -51,9 +45,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; import java.util.stream.Collectors; /** @@ -153,71 +144,6 @@ public class IssueServiceImpl extends BaseServiceImpl imp 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服务,给居民端话题创建人和议题发起人发送消息 - //4.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(); - //4.2:创建消息模板 - 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()); - } - //4.3:调用服务,发送消息 - if (!saveUserMessageList(topicDTO, messageContent, entity).success()) { - throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); - } - - //5:缓存中网格下表决中的议题总数减1 - govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId()); - } - /** * @Description 根据issueId查询gridId * @param issueId @@ -231,27 +157,6 @@ public class IssueServiceImpl extends BaseServiceImpl imp return gridIdResult; } - /** - * @Description 关闭议题、议题转项目时给话题创建人和议题发起人发送消息 - * @author sun - */ - private Result saveUserMessageList(ResiTopicDTO topicDTO, String messageContent, IssueEntity entity) { - //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); - 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); - } - @Override public List queryVotingIssueCount(List gridIdList) { List list = new ArrayList<>(); @@ -269,19 +174,6 @@ public class IssueServiceImpl extends BaseServiceImpl imp return list; } - /** - * @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<>(); @@ -310,24 +202,6 @@ public class IssueServiceImpl extends BaseServiceImpl imp return resultList; } - /** - * @param formDTO - * @return - * @Author sun - * @Description 议题管理-议题人员选择 - **/ - @Override - public ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO) { - //1:查询当前议题工作人员所属组织Id - IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); - if (null == entity) { - throw new RenException(IssueConstant.SELECT_EXCEPTION); - } - //2:调用gov-org服务,查询组织树 - Result resultDTOResult = govOrgFeignClient.getProcessorList(entity.getOrgId()); - return resultDTOResult.getData(); - } - /** * @Description 话题转为议题入口 返回生成的议题Id * @param issueShiftedFromTopicFormDTO IssueShiftedFromTopicFormDTO.class @@ -457,6 +331,125 @@ public class IssueServiceImpl extends BaseServiceImpl imp return null; } + /** + * @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服务,给居民端话题创建人和议题发起人发送消息 + //4.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(); + //4.2:创建消息模板 + 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()); + } + //4.3:调用服务,发送消息 + if (!saveUserMessageList(topicDTO, messageContent, entity).success()) { + throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); + } + + //5:缓存中网格下表决中的议题总数减1 + govIssueRedis.subtractWorkGrassrootsIssueRedDotValue(entity.getGridId()); + } + + /** + * @Description 关闭议题、议题转项目时给话题创建人和议题发起人发送消息 + * @author sun + */ + private Result saveUserMessageList(ResiTopicDTO topicDTO, String messageContent, IssueEntity entity) { + //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); + 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服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 + CanTickStaffListFormDTO canTick = new CanTickStaffListFormDTO(); + canTick.setAgencyId(formDTO.getAgencyId()); + canTick.setType("issue"); + Result resultDTOResult = govOrgFeignClient.departmentStaffList(canTick); + return resultDTOResult.getData(); + } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题管理-议题人员选择 + **/ + @Override + public ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO) { + //1:查询当前议题工作人员所属组织Id + IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); + if (null == entity) { + throw new RenException(IssueConstant.SELECT_EXCEPTION); + } + //2:调用gov-org服务,查询组织树 + Result resultDTOResult = govOrgFeignClient.getProcessorList(entity.getOrgId()); + return resultDTOResult.getData(); + } + /** * @param formDTO * @return diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java index 27ff1b358b..ef496b28e5 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java @@ -15,15 +15,15 @@ public class StaffListResultDTO implements Serializable { /** * 人员Id */ - private String staffId; + private String staffId=""; /** * 人员名称 */ - private String staffName; + private String staffName=""; /** * 人员头像 */ - private String staffHeadPhoto; + private String staffHeadPhoto=""; /** * 性别 */ @@ -31,6 +31,6 @@ public class StaffListResultDTO implements Serializable { /** * 角色名称(机关领导、部门领导、网格长) */ - private String roleName; + private String roleName=""; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 73728f19de..8ddc017fa2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -17,9 +17,7 @@ package com.epmet.controller; -import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -29,6 +27,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.AgencyDeptGridFormDTO; +import com.epmet.dto.form.CanTickStaffListFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; import com.epmet.dto.result.*; import com.epmet.excel.CustomerAgencyExcel; @@ -120,14 +119,14 @@ public class CustomerAgencyController { } /** - * @param agencyId + * @param canTick * @return * @Author sun * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 **/ - @PostMapping("departmentstafflist/{agencyId}") - public Result departmentStaffList(@PathVariable("agencyId") String agencyId) { - return new Result().ok(customerAgencyService.departmentStaffList(agencyId)); + @PostMapping("departmentstafflist") + public Result departmentStaffList(CanTickStaffListFormDTO canTick) { + return new Result().ok(customerAgencyService.departmentStaffList(canTick)); } /** diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java index 7be691d69f..4334657bb9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java @@ -74,5 +74,5 @@ public interface CustomerStaffAgencyDao extends BaseDao selectAgencyStaffList(@Param("agencyId") String agencyId); + List selectAgencyStaffList(@Param("agencyId") String agencyId, @Param("staffId") String staffId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 96132b35da..6cc44ea483 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.form.AgencyDeptGridFormDTO; +import com.epmet.dto.form.CanTickStaffListFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; @@ -115,12 +116,12 @@ public interface CustomerAgencyService extends BaseService AgencyGridResultDTO getAgencyAndGrid(AgencyGridResultDTO agencyGridResultDTO); /** - * @param agencyId + * @param canTick * @return * @Author sun * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 **/ - DepartmentStaffListResultDTO departmentStaffList(String agencyId); + DepartmentStaffListResultDTO departmentStaffList(CanTickStaffListFormDTO canTick); /** * @param formDTO diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index d046a50c14..5be49bf353 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -31,6 +31,7 @@ import com.epmet.constant.CustomerGridConstant; import com.epmet.dao.*; import com.epmet.dto.*; import com.epmet.dto.form.AgencyDeptGridFormDTO; +import com.epmet.dto.form.CanTickStaffListFormDTO; import com.epmet.dto.form.CustomerFormDTO; import com.epmet.dto.form.StaffOrgFormDTO; import com.epmet.dto.result.*; @@ -178,20 +179,24 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(agencyId); + //1:根据组织Id查询该组织下工作人员列表(如果当前操作人是组织下的则不查询) + String staffId = ""; + if("project".equals(canTick.getType())&&"".equals(canTick.getDeptOrGridId())){ + staffId = canTick.getStaffId(); + } + List agencyStaffList = customerStaffAgencyDao.selectAgencyStaffList(canTick.getAgencyId(),staffId); //2:根据组织Id查询该组织下部门、人员列表 //2.1:查询组织下部门列表 - List listDept = customerDepartmentDao.selectDepartmentList(agencyId); + List listDept = customerDepartmentDao.selectDepartmentList(canTick.getAgencyId()); List departmentList = ConvertUtils.sourceToTarget(listDept, DeptListResultDTO.class); //2.2:查询每一个部门下人员列表 List deptIdList = departmentList.stream().map(DeptListResultDTO::getDepartmentId).collect(Collectors.toList()); @@ -199,17 +204,19 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl{ List departmentStaffList = new ArrayList<>(); deptStaffs.forEach(ds->{ - if(dept.getDepartmentId().equals(ds.getDepartmentId())){ - StaffListResultDTO sf = new StaffListResultDTO(); - sf.setStaffId(ds.getUserId()); - departmentStaffList.add(sf); + if (dept.getDepartmentId().equals(ds.getDepartmentId())) { + if (!"project".equals(canTick.getType()) || "".equals(canTick.getDeptOrGridId()) || !dept.getDepartmentId().equals(canTick.getDeptOrGridId())) { + StaffListResultDTO sf = new StaffListResultDTO(); + sf.setStaffId(ds.getUserId()); + departmentStaffList.add(sf); + } } }); dept.setDepartmentStaffList(departmentStaffList); }); //3:根据组织Id查询该组织下网格、人员列表 //3.1:查询组织下网格列表 - List gridList = customerGridDao.selectGridList(agencyId); + List gridList = customerGridDao.selectGridList(canTick.getAgencyId()); //3.2:查询每一个网格下人员列表 List gridIdList = gridList.stream().map(GridListResultDTO::getGridId).collect(Collectors.toList()); List gridStaffs = customerStaffGridDao.selectGridStaffs(gridIdList); @@ -217,9 +224,11 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl gridStaffList = new ArrayList<>(); gridStaffs.forEach(gs->{ if(grid.getGridId().equals(gs.getGridId())){ - StaffListResultDTO sf = new StaffListResultDTO(); - sf.setStaffId(gs.getUserId()); - gridStaffList.add(sf); + if (!"project".equals(canTick.getType()) || "".equals(canTick.getDeptOrGridId()) || !grid.getGridId().equals(canTick.getDeptOrGridId())) { + StaffListResultDTO sf = new StaffListResultDTO(); + sf.setStaffId(gs.getUserId()); + gridStaffList.add(sf); + } } }); grid.setGridStaffList(gridStaffList); @@ -242,7 +251,10 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl agencyList = baseDao.selectAgencyListByIds(formDTO.getAgencyIdList()); + List agencyList = new ArrayList<>(); + if (null != formDTO.getAgencyIdList()) { + agencyList = baseDao.selectAgencyListByIds(formDTO.getAgencyIdList()); + } //2:根据部门Id批量查询部门信息 - List deptList = customerDepartmentDao.selectDeptListByIds(formDTO.getDeptIdList()); + List deptList = new ArrayList<>(); + if (null != formDTO.getDeptIdList()) { + deptList = customerDepartmentDao.selectDeptListByIds(formDTO.getDeptIdList()); + } //3:根据网格Id批量查询网格信息 - List gridList = customerGridDao.selectGridListByIds(formDTO.getGridIdList()); + List gridList = new ArrayList<>(); + if (null != formDTO.getGridIdList()) { + gridList = customerGridDao.selectGridListByIds(formDTO.getGridIdList()); + } agencyDeptGrid.setAgencyList(agencyList); agencyDeptGrid.setDeptList(deptList); agencyDeptGrid.setGridList(gridList); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 1b5fdf92a5..11c5693e43 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -119,10 +119,11 @@ ca.id = #{agencyId} ORDER BY field( - ca.id, + ca.id, #{agencyId} + ) \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java new file mode 100644 index 0000000000..10ac948b8c --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/DepartmentStaffListFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 项目跟踪-部门人员选择-接口入参 + * @Author sun + */ +@Data +public class DepartmentStaffListFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "机关组织Id不能为空") + private String agencyId; + + @NotBlank(message = "项目人员关联Id不能为空") + private String projectStaffId; + + /** + * token中工作人员Id + */ + private String staffId; + +} + diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index d341afd494..c2919ffbfd 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -85,4 +85,8 @@ public interface ProjectConstant { * 更新项目人员关联表数据失败 */ String DATE_EXCEPTION = "未勾选流转人员"; + /** + * 调用gov-org服务查询数据失败 + */ + String SELECT_GOV_ORG_EXCEPTION = "获取组织、部门、网格信息失败"; } 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 28c14a862e..7f90d5e362 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,7 +12,6 @@ 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; @@ -153,18 +152,32 @@ public class ProjectTraceController { return new Result(); } - /** - * @param formDTO - * @return - * @Author sun - * @Description 项目跟踪-项目处理进展列表 - **/ - @PostMapping("processlist") - @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL) - public Result> processList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessListFormDTO formDTO) { - ValidatorUtils.validateEntity(formDTO); - return new Result>().ok(projectProcessService.progressList(formDTO)); - } + /** + * 我的处理部门 + * @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)); + } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-项目处理进展列表 + **/ + @PostMapping("processlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_DETAIL) + public Result> processList(@LoginUser TokenDto tokenDTO, @RequestBody ProcessListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(projectProcessService.progressList(formDTO)); + } /** * @param formDTO @@ -188,6 +201,7 @@ public class ProjectTraceController { @PostMapping("departmentstafflist") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER) public Result departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) { + formDTO.setStaffId(tokenDTO.getUserId()); ValidatorUtils.validateEntity(formDTO); return new Result().ok(projectStaffService.departmentStaffList(formDTO)); } @@ -206,20 +220,6 @@ public class ProjectTraceController { 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)); - } - /** * @param formDTO * @return diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index a086079472..ccd4421b7b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -6,6 +6,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.AgencyDeptGridFormDTO; +import com.epmet.dto.form.CanTickStaffListFormDTO; import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.ProcessorListResultDTO; @@ -30,13 +31,13 @@ public interface GovOrgFeignClient { @PostMapping("/gov/org/agency/agencybyid/{agencyId}") Result getAgencyById(@PathVariable("agencyId") String agencyId); /** - * @param agencyId + * @param canTick * @return * @Author sun * @Description 查询组织下人员,组织下部门人员,组织下网格人员列表信息 **/ - @PostMapping(value = "/gov/org/customeragency/departmentstafflist/{agencyId}") - Result departmentStaffList(@PathVariable("agencyId") String agencyId); + @PostMapping(value = "/gov/org/customeragency/departmentstafflist") + Result departmentStaffList(CanTickStaffListFormDTO canTick); /** * @param formDTO diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index 1fad4e06c6..e5dec301d0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -8,6 +8,7 @@ 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.AgencyDeptGridFormDTO; +import com.epmet.dto.form.CanTickStaffListFormDTO; import com.epmet.dto.result.AgencyDeptGridResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.dto.result.ProcessorListResultDTO; @@ -26,8 +27,8 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAgencyById", agencyId); } @Override - public Result departmentStaffList(String agencyId) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", agencyId); + public Result departmentStaffList(CanTickStaffListFormDTO canTick) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "departmentStaffList", canTick); } @Override diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java index ba73f3a7de..6457dc7749 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectStaffService.java @@ -22,7 +22,6 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.result.DepartmentResultDTO; -import com.epmet.entity.ProjectProcessEntity; import com.epmet.dto.result.DepartmentStaffListResultDTO; import com.epmet.entity.ProjectStaffEntity; 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 0fff916e28..d3c37b531e 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 @@ -20,21 +20,17 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ParameterKeyConstant; import com.epmet.constant.ProjectConstant; import com.epmet.dao.ProjectDao; -import com.epmet.dto.CustomerProjectParameterDTO; -import com.epmet.dto.CustomerStaffDTO; -import com.epmet.dto.IssueDTO; -import com.epmet.dto.ProjectDTO; -import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ProjectEntity; @@ -437,6 +433,9 @@ public class ProjectServiceImpl extends BaseServiceImpl resultDTO = govOrgFeignClient.getAgencyDeptGridList(agencyDeptGridFormDTO); + if (!resultDTO.success() || null == resultDTO.getData()) { + throw new RenException(ProjectConstant.SELECT_GOV_ORG_EXCEPTION); + } AgencyDeptGridResultDTO agencyDeptGrid = resultDTO.getData(); //2:项目表新增数据 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java index 03b6c60045..19d65197a7 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectStaffServiceImpl.java @@ -21,11 +21,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.ProjectConstant; import com.epmet.dao.ProjectStaffDao; import com.epmet.dto.ProjectStaffDTO; +import com.epmet.dto.form.CanTickStaffListFormDTO; import com.epmet.dto.form.DepartmentStaffListFormDTO; import com.epmet.dto.result.DepartmentResultDTO; import com.epmet.dto.result.DepartmentStaffListResultDTO; @@ -120,8 +123,23 @@ public class ProjectStaffServiceImpl extends BaseServiceImpl resultDTOResult = govOrgFeignClient.departmentStaffList(formDTO.getAgencyId()); + //1:查询当前工作人员代表的是哪个部门(组织下的、组织部门下的、组织网格下的),用于在人员选择时去掉自己选自己的情况(自己选自己只的是当前工作的部门下的自己) + ProjectStaffEntity entity = baseDao.selectById(formDTO.getProjectStaffId()); + if (null == entity) { + throw new RenException(ProjectConstant.SELECT_PROJECTSTAFF_EXCEPTION); + } + //2:调用gov-org服务,分别查询组织下人员,组织下部门人员,组织下网格人员列表信息 + CanTickStaffListFormDTO canTick = new CanTickStaffListFormDTO(); + canTick.setAgencyId(formDTO.getAgencyId()); + canTick.setType("project"); + if(null!=entity.getDepartmentId()||!"".equals(entity.getDepartmentId())){ + canTick.setDeptOrGridId(entity.getDepartmentId()); + } + if(null!=entity.getGridId()||!"".equals(entity.getGridId())){ + canTick.setDeptOrGridId(entity.getGridId()); + } + canTick.setStaffId(formDTO.getStaffId()); + Result resultDTOResult = govOrgFeignClient.departmentStaffList(canTick); return resultDTOResult.getData(); }