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-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index d4ff8fb7e5..243367637a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -45,8 +45,10 @@ public enum EpmetErrorCode { ALREADY_EVALUATE(8501,"您已评价"), ALREADY_VOTE(8502,"您已表态"), - // 该错误不会提示给前端,只是后端传输错误信息用。 - ACCESS_SQL_FILTER_MISSION_ARGS(8601, "缺少生成权限过滤SQL所需参数"); + PROJECT_IS_CLOSED(8601,"项目已结案"), + + // 该错误不会提示给前端,只是后端传输错误信息用。 + ACCESS_SQL_FILTER_MISSION_ARGS(8701, "缺少生成权限过滤SQL所需参数"); private int code; private String msg; 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 4732f4f32f..1f449cf23c 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-gateway/pom.xml b/epmet-gateway/pom.xml index b96276ef8a..a9582675e3 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 @@ -130,27 +132,34 @@ lb://resi-guide-server + lb://gov-org-server lb://oper-access-server + lb://resi-mine-server - lb://resi-group-server + + lb://resi-group-server + lb://resi-partymember-server + lb://gov-grid-server lb://gov-access-server + lb://gov-mine-server lb://resi-hall-server - lb://gov-issue-server + + lb://gov-issue-server lb://gov-project-server diff --git a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml index bba4cc4cb9..02b5605c0e 100644 --- a/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml +++ b/epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-grid-server: container_name: gov-grid-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.16 + image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.18 ports: - "8097:8097" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-grid/gov-grid-server/pom.xml b/epmet-module/gov-grid/gov-grid-server/pom.xml index 9a1b48aa86..6bdbf0173e 100644 --- a/epmet-module/gov-grid/gov-grid-server/pom.xml +++ b/epmet-module/gov-grid/gov-grid-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.16 + 0.3.18 com.epmet gov-grid 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..b06f687de1 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.getGridId())){ + //查询非当前网格的 + 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/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..56b5e3b464 --- /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/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..925551f55c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-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/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/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/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..16ac17dca2 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java @@ -0,0 +1,100 @@ +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; + + /** + * 议题创建时间 + * */ + 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/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/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..790d21914a --- /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/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/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/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-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/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-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/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-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/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/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-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-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/deploy/docker-compose-dev.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-dev.yml index bfaab5b48d..442d1e4435 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.4 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 fd971853a9..38432d91d1 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.4 gov-issue com.epmet @@ -84,6 +84,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/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/IssueController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java index 560374baa2..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,19 +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 居民端党群议事 @@ -62,5 +77,52 @@ public class IssueController { public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) { return new Result>().ok(issueService.getShiftProjectList(fromDTO)); } + /** + * @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)); + } + + /** + * @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)); + } + + /** + * @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/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index 5acbc0b595..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)); } @@ -109,5 +107,60 @@ public class IssueManageController { ValidatorUtils.validateEntity(formDTO); return new Result().ok(issueService.processorList(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)); + } + + /** + * @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/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/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/dao/IssueDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java index 1b76322c0e..93a29f1fa9 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,9 +18,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IssueDTO; +import com.epmet.dto.form.CommonIssueListFormDTO; import com.epmet.dto.form.IssueDetailFormDTO; import com.epmet.dto.form.ShiftProjectListFromDTO; +import com.epmet.dto.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; @@ -52,4 +56,29 @@ public interface IssueDao extends BaseDao { */ List selectIssueListByGridId(ShiftProjectListFromDTO fromDTO); + /** + * @Description 新增一条议题 + * @param issueDTO + * @author wangc + * @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/IssueProcessDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProcessDao.java index 26603169ae..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,8 +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; /** * 议题进展记录表 @@ -29,5 +35,23 @@ 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); + + + /** + * @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/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/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 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 @@ -45,4 +47,12 @@ public interface GovOrgFeignClient { **/ @PostMapping(value = "/gov/org/customeragency/getprocessorlist/{agencyId}") Result 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 d5e801c8ce..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,7 +2,11 @@ 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; import org.springframework.cloud.openfeign.FeignClient; @@ -27,4 +31,21 @@ 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); + + /** + * @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/ResiGroupFeignClient.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index 6ca577ec34..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 @@ -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/topic/topicinfoforissuedetailgov") + Result topicInfoForIssueDetailGov(GovTopicIssueInfoFormDTO govTopicIssueInfoFormDTO); + + } 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..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 @@ -3,7 +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.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; import com.epmet.dto.result.ProcessorListResultDTO; import com.epmet.feign.GovOrgFeignClient; @@ -22,12 +25,17 @@ 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 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 b48e24873f..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,7 +3,11 @@ 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; import org.springframework.stereotype.Component; @@ -21,4 +25,14 @@ public class GovProjectFeignClientFallBack implements GovProjectFeignClient { public Result> getProjectByIssue(ShiftProjectsFromDTO fromDTO) { 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/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/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/IssueProcessService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProcessService.java index fa285655aa..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; @@ -92,4 +95,19 @@ public interface IssueProcessService extends BaseService { * @date 2020-05-11 */ void delete(String[] ids); + + /** + * @Description 议题处理进展 + * @param issueId + * @author zxc + */ + List processList(IssueIdFormDTO issueId); + + /** + * @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/IssueProjectRelationService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectRelationService.java index 1381151c65..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; @@ -92,4 +95,20 @@ public interface IssueProjectRelationService 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 @@ -53,6 +131,47 @@ public interface IssueService extends BaseService { * @Date 2020/5/13 22:53 **/ List queryVotingIssueCount(List gridIdList); + /** + * @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); + + /** + * @Description 政府端查看议题详情 + * @param issueDetail + * @return GovIssueDetailResultDTO + * @author wangc + * @date 2020.05.14 16:08 + **/ + GovIssueDetailResultDTO issueDetailGov(IssueDetailFormDTO issueDetail); + + /** + * @Description 根据issueId查询gridId + * @param issueId + * @author zxc + */ + GridIdResultDTO selectGridIdByIssueId(IssueIdFormDTO issueId); /** * @param formDTO @@ -61,4 +180,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/IssueVoteDetailService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteDetailService.java index da5ca53f7a..e62b795bbb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteDetailService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteDetailService.java @@ -20,7 +20,9 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; 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.entity.IssueVoteDetailEntity; import java.util.List; @@ -100,4 +102,11 @@ public interface IssueVoteDetailService extends BaseService page(Map params) { @@ -101,4 +126,66 @@ 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/IssueProjectRelationServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectRelationServiceImpl.java index 2b40a83079..c363fef421 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 @@ -25,6 +25,8 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.IssueProjectRelationDao; import com.epmet.dto.IssueProjectRelationDTO; +import com.epmet.dto.form.IssueIdFormDTO; +import com.epmet.dto.result.ProjectIdResultDTO; import com.epmet.entity.IssueProjectRelationEntity; import com.epmet.redis.IssueProjectRelationRedis; import com.epmet.service.IssueProjectRelationService; @@ -101,4 +103,29 @@ public class IssueProjectRelationServiceImpl extends BaseServiceImpl imp private GovIssueRedis govIssueRedis; @Autowired private GovProjectFeignClient govProjectFeignClient; + @Autowired + private IssueProjectRelationDao issueProjectRelationDao; + + protected static final Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class); + + @Autowired + private IssueProcessService issueProcessService; + @Autowired + private IssueVoteStatisticalService issueVoteStatisticalService; + @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 议题详情 @@ -66,49 +144,18 @@ 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服务,给居民端话题创建人和议题发起人发送消息 - if (!saveUserMessageList(formDTO, entity).success()) { - throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION); - } - } + /** + * @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; + } @Override public List queryVotingIssueCount(List gridIdList) { @@ -116,59 +163,17 @@ public class IssueServiceImpl extends BaseServiceImpl imp for (String gridId : gridIdList) { GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO = new GridVotingIssueCountResultDTO(); gridVotingIssueCountResultDTO.setGridId(gridId); - Long auditingCount = govIssueRedis.queryVotingIssueCount(gridId); - gridVotingIssueCountResultDTO.setCount(auditingCount); + Integer auditingCount = govIssueRedis.queryVotingIssueCount(gridId); + if (null == auditingCount) { + gridVotingIssueCountResultDTO.setCount(0); + } else { + gridVotingIssueCountResultDTO.setCount(auditingCount); + } list.add(gridVotingIssueCountResultDTO); } return list; } - /** - * @Description 关闭议题给话题创建人和议题发起人发送消息 - * @author sun - */ - private Result saveUserMessageList(CloseIssueFormDTO formDTO, IssueEntity entity) { - //1:调用resi-group查询话题创建人数据(目前议题来源只有来自话题) - Result resultTopicDTO = resiGroupFeignClient.getTopicById(entity.getSourceId()); - if (!resultTopicDTO.success() || null == resultTopicDTO.getData()) { - throw new RenException(IssueConstant.SELECT_TOPIC_EXCEPTION); - } - ResiTopicDTO topicDTO = resultTopicDTO.getData(); - //2:分别给话题创建人、议题发起人发送消息 - List msgList = new ArrayList<>(); - UserMessageFormDTO msgDTO = new UserMessageFormDTO(); - msgDTO.setCustomerId(entity.getCustomerId()); - msgDTO.setGridId(entity.getGridId()); - msgDTO.setApp(AppClientConstant.APP_RESI); - msgDTO.setTitle(UserMessageConstant.ISSUE_TITLE); - String messageContent = ""; - if (IssueConstant.ISSUE_RESLOVED.equals(formDTO.getResolveType())) { - messageContent = String.format(UserMessageConstant.ISSUE_RESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); - } else if (IssueConstant.ISSUE_UNRESLOVED.equals(formDTO.getResolveType())) { - messageContent = String.format(UserMessageConstant.ISSUE_UNRESLOVED_MSG, topicDTO.getTopicContent(), formDTO.getCloseReason()); - } - msgDTO.setMessageContent(messageContent); - msgDTO.setReadFlag(ReadFlagConstant.UN_READ); - msgDTO.setUserId(topicDTO.getCreatedBy()); - msgList.add(msgDTO); - msgDTO.setUserId(entity.getCreatedBy()); - msgList.add(msgDTO); - return messageFeignClient.saveUserMessageList(msgList); - } - - /** - * @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<>(); @@ -197,21 +202,309 @@ public class IssueServiceImpl extends BaseServiceImpl imp return resultList; } + /** + * @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 == NumConstant.ONE && 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 + govIssueRedis.addWorkGrassrootsIssueRedDotValue(issueShiftedFromTopicFormDTO.getGridId()); + 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); + } + + /** + * @Description 表决中列表 + * @param issueListForm + * @return List + * @author wangc + * @date 2020.05.14 10:13 + **/ + @Override + public List votingList(CommonIssueListFormDTO issueListForm) { + 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) { + 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; + } + + /** + * @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 * @Author sun - * @Description 议题管理-议题人员选择 + * @Description 议题管理-议题转项目 **/ @Override - public ProcessorListResultDTO processorList(ProcessorListFormDTO formDTO) { - //1:查询当前议题工作人员所属组织Id + @Transactional(rollbackFor = Exception.class) + public void shiftProject(ShiftProjectFormDTO formDTO) { + //因需要保证议题表中的转项目时间与创建项目时间一致 因此先新增项目数据再更新议题数据 + //1:查询议题数据 IssueEntity entity = baseDao.selectById(formDTO.getIssueId()); - if (null == entity) { - throw new RenException(IssueConstant.SELECT_EXCEPTION); + 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); } - //2:调用gov-org服务,查询组织树 - Result resultDTOResult = govOrgFeignClient.getProcessorList(entity.getOrgId()); - return resultDTOResult.getData(); + 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-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java index 656e8460d7..f58caca359 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteDetailServiceImpl.java @@ -20,6 +20,7 @@ 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.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -27,7 +28,9 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.dao.IssueVoteDetailDao; 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.entity.IssueVoteDetailEntity; import com.epmet.redis.IssueVoteDetailRedis; import com.epmet.service.IssueVoteDetailService; @@ -123,4 +126,24 @@ public class IssueVoteDetailServiceImpl extends BaseServiceImpl NumConstant.ZERO){ + resultDTO.setJoinVote(true); + }else { + resultDTO.setJoinVote(false); + } + return resultDTO; + } + } \ No newline at end of file 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 + + + + + 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..519ebaaec9 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,118 @@ + + + + + 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-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-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-mine/gov-mine-server/deploy/docker-compose-dev.yml b/epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml index 4a12a19e35..9384100069 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.14 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..ec553d4044 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.14 com.epmet gov-mine 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..342faa01e1 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; @@ -15,7 +16,8 @@ import java.util.List; * @Author yinzuomei * @Date 2020/5/13 15:45 */ -@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class) +// +@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class,url = "http://localhost:") public interface GovIssueFeignClient { /** * @param gridIdList @@ -25,5 +27,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-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/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; } 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-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/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-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/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 2a066a5e92..2256263cd0 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 @@ -176,4 +176,12 @@ public interface CustomerGridDao extends BaseDao { * @Description 批量查询网格信息 **/ List selectGridListByIds(@Param("gridIdList") List gridIdList); + + /** + * @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/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/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/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index 2981b5919b..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); @@ -369,7 +396,8 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl getDepartmentList(String subAgencyPids) { List subAgencyList = baseDao.selectSubAgencyList(subAgencyPids); 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 ORDER BY field( - ca.id, + ca.id, #{agencyId} + ) + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml index 0a721b3f77..41f5add36f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml @@ -96,13 +96,16 @@ \ 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-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/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-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/deploy/docker-compose-dev.yml b/epmet-module/gov-project/gov-project-server/deploy/docker-compose-dev.yml index f81da526df..fbb60a07ad 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.4 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 95f677175b..7710f148ee 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.4 gov-project com.epmet @@ -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/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/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/controller/ProjectProcessController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessController.java index 116ad85e3a..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 @@ -26,6 +26,10 @@ 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.form.ProjectIdFormDTO; +import com.epmet.dto.result.ProjectDetailCheckResultDTO; +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 +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/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/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index 71f0b72b72..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 @@ -18,7 +18,10 @@ 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; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -42,5 +45,26 @@ 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); + + /** + * @Description 议题处理进展——已转项目 + * @param formDTO + * @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/feign/EpmetUserFeignClient.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index bf4458e68b..4905c95282 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.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.CustomerStaffDTO; import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.StaffInfoResultDTO; @@ -36,4 +37,15 @@ public interface EpmetUserFeignClient { */ @PostMapping("/epmetuser/customerstaff/stafflist") Result> getStaffList(@RequestBody StaffsInAgencyFromDTO fromDTO); + + /** + * 根据用户ID获取工作人员基本信息 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/4/22 10:05 + **/ + @PostMapping(value = "epmetuser/customerstaff/getstaffinfobyuserid") + Result getCustomerStaffInfoByUserId(@RequestBody CustomerStaffDTO formDTO); } 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/EpmetUserFeignClientFallBack.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java index 94a52d75f0..aa37f59e4b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.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.CustomerStaffDTO; import com.epmet.dto.form.StaffsInAgencyFromDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; import com.epmet.dto.result.StaffInfoResultDTO; @@ -28,4 +29,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result> getStaffList(StaffsInAgencyFromDTO fromDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffList", fromDTO); } + + @Override + public Result getCustomerStaffInfoByUserId(CustomerStaffDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "CustomerStaffDTO", 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/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index 751e31ba03..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 @@ -21,14 +21,10 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ProjectProcessDTO; -import com.epmet.dto.form.ProcessListFormDTO; -import com.epmet.dto.form.ProjectDetailFromDTO; -import com.epmet.dto.form.ReturnListFromDTO; -import com.epmet.dto.form.TransferFormDTO; -import com.epmet.dto.result.DepartmentResultDTO; -import com.epmet.dto.result.ProcesslistResultDTO; -import com.epmet.dto.result.ReturnListResultDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.entity.ProjectProcessEntity; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -126,4 +122,18 @@ public interface ProjectProcessService extends BaseService **/ void transfer(TransferFormDTO formDTO); + /** + * @Description 议题处理进展——已转项目 + * @param formDTO + * @author zxc + */ + 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/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/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/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 0939efc749..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 @@ -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; @@ -150,10 +147,10 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl customerAgency = govOrgFeignClient.getAgencyById(projectEntity.getAgencyId()); +// Result customerAgency = govOrgFeignClient.getAgencyById(projectEntity.getAgencyId()); //获取人员信息 StaffsInAgencyFromDTO staffsInAgencyFromDTO = new StaffsInAgencyFromDTO(); - staffsInAgencyFromDTO.setCustomerId(customerAgency.getData().getCustomerId()); + staffsInAgencyFromDTO.setCustomerId(projectEntity.getCustomerId()); staffsInAgencyFromDTO.setStaffList(userIds); List staffList = epmetUserFeignClient.getStaffList(staffsInAgencyFromDTO).getData(); //合成返回值 @@ -181,7 +178,6 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl projectProcessList(ProcessProjectIdFormDTO formDTO) { + return baseDao.projectProcessList(formDTO); + } + + /** + * @Description 校验项目是否已结案 + * @param projectIdFormDTO + * @author zxc + */ + @Override + public ProjectDetailCheckResultDTO checkProjectClose(ProjectIdFormDTO projectIdFormDTO) { + ProjectDetailCheckResultDTO resultDTO = new ProjectDetailCheckResultDTO(); + Integer projectCloseCount = baseDao.checkProjectClose(projectIdFormDTO); + if (projectCloseCount==NumConstant.ZERO){ + resultDTO.setProjectStatus(false); + }else { + resultDTO.setProjectStatus(true); + } + return resultDTO; + } + } \ No newline at end of file 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 19946355bd..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,23 +20,25 @@ 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.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; import com.epmet.entity.ProjectProcessEntity; import com.epmet.entity.ProjectStaffEntity; import com.epmet.feign.CommonFeignClient; +import com.epmet.feign.EpmetUserFeignClient; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectRedis; import com.epmet.service.CustomerProjectParameterService; import com.epmet.service.ProjectProcessService; @@ -49,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.util.*; +import java.util.stream.Collectors; /** * 项目表 @@ -69,6 +72,10 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) { - created.setWarningFlag(true); - created.setDetentionDays(detentionDays); - } else { - created.setDetentionDays(detentionDays); - created.setWarningFlag(false); - } + + //获取当前处理部门 List departmentNameList = new ArrayList<>(); if (ProjectConstant.CLOSED.equals(p.getStatus())) { created.setDepartmentNameList(departmentNameList); + created.setWarningFlag(false); + created.setDetentionDays("0"); } else { + String detentionDays = getDetentionDays(p); + if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) { + created.setWarningFlag(true); + created.setDetentionDays(detentionDays); + } else { + created.setDetentionDays(detentionDays); + created.setWarningFlag(false); + } departmentNameList = baseDao.selectDepartmentNameList(p); created.setDepartmentNameList(departmentNameList); } @@ -201,7 +212,7 @@ public class ProjectServiceImpl extends BaseServiceImpl projectList = baseDao.selectCreatedList(fromDTO); + List projectList = baseDao.selectInvolvedList(fromDTO); //获取客户定制的可滞留天数 Integer finalDays = getDays(fromDTO); projectList.forEach(p -> { @@ -211,19 +222,23 @@ public class ProjectServiceImpl extends BaseServiceImpl finalDays) { - involved.setWarningFlag(true); - involved.setDetentionDays(detentionDays); - } else { - involved.setDetentionDays(detentionDays); - involved.setWarningFlag(false); - } + + //获取当前处理部门 List departmentNameList = new ArrayList<>(); if (ProjectConstant.CLOSED.equals(p.getStatus())) { involved.setDepartmentNameList(departmentNameList); + involved.setWarningFlag(false); + involved.setDetentionDays("0"); } else { + String detentionDays = getDetentionDays(p); + if (!ONE_DAY.equals(detentionDays) && Integer.parseInt(detentionDays) > finalDays) { + involved.setWarningFlag(true); + involved.setDetentionDays(detentionDays); + } else { + involved.setDetentionDays(detentionDays); + involved.setWarningFlag(false); + } departmentNameList = baseDao.selectDepartmentNameList(p); involved.setDepartmentNameList(departmentNameList); } @@ -271,6 +286,9 @@ public class ProjectServiceImpl extends BaseServiceImpl> detentionDays = commonFeignClient.detentionDays(list); return detentionDays.getData().get(0).getDetentionDays(); } + /** + * @param formDTO + * @return + * @Author sun + * @Description 议题转项目-项目各业务表初始化数据 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public IssueProjectResultDTO issueShiftProject(ShiftProjectFormDTO formDTO) { + IssueProjectResultDTO issueProjectResultDTO = new IssueProjectResultDTO(); + List 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); + if (!resultDTO.success() || null == resultDTO.getData()) { + throw new RenException(ProjectConstant.SELECT_GOV_ORG_EXCEPTION); + } + 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 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(); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 3166c2497c..fb608230b0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -54,7 +54,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { @Override public ProjectDetailResultDTO getProjectDetail(TokenDto tokenDto, ProjectDetailFromDTO fromDTO) { - fromDTO.setProjectId(tokenDto.getUserId()); + fromDTO.setUserId(tokenDto.getUserId()); return projectService.getProjectDetail(fromDTO); } 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 492465f853..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,18 +50,16 @@ 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 ( + 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, MIN(CREATED_TIME) AS CREATED_TIME @@ -71,7 +69,8 @@ AND IS_HANDLE = 'unhandled' 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 + p.DEL_FLAG = '0' ORDER BY p.CREATED_TIME ASC LIMIT #{pageNo}, #{pageSize} @@ -95,7 +94,7 @@ AND ps.IS_HANDLE = 'handle' AND ps.STAFF_ID = #{userId} GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID - INNER JOIN ( + LEFT JOIN ( SELECT DISTINCT PROJECT_ID, MIN(CREATED_TIME) AS CREATED_TIME @@ -105,7 +104,19 @@ AND IS_HANDLE = 'unhandled' 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} 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..7321e44aa5 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,7 +27,36 @@ WHERE DEL_FLAG = '0' AND PROJECT_ID = #{projectId} + AND OPERATION = 'transfer' ORDER BY CREATED_TIME DESC + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml index bb19e5068a..2d7bf24fed 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectStaffDao.xml @@ -22,7 +22,7 @@ + + + + + + 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..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 @@ -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,59 @@ 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 + + + diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/CheckVoteFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/CheckVoteFormDTO.java new file mode 100644 index 0000000000..717aede245 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-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 = 3459720938248756634L; + /** + * 用户id + */ + private String userId; + + /** + * 议题id + */ + private String issueId; +} 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/form/GridIdFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/GridIdFormDTO.java new file mode 100644 index 0000000000..16dc03c899 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/GridIdFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.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-hall/resi-hall-client/src/main/java/com/epmet/dto/result/CheckJoinTeamResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/CheckJoinTeamResultDTO.java new file mode 100644 index 0000000000..8c33b4f616 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/CheckJoinTeamResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.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-hall/resi-hall-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/CheckVoteResultDTO.java new file mode 100644 index 0000000000..3266e5b63d --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-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/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/GridIdResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/GridIdResultDTO.java new file mode 100644 index 0000000000..013ebc2aad --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-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/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/ProcessListResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/ProcessListResultDTO.java new file mode 100644 index 0000000000..05b17f9d57 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-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/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-client/src/main/java/com/epmet/dto/result/VoteInitResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteInitResultDTO.java new file mode 100644 index 0000000000..6f26cce623 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteInitResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 表决中投票初始化 + */ +@Data +public class VoteInitResultDTO implements Serializable { + + private static final long serialVersionUID = -1564601349406249302L; + + /** + * 是否加入小组 已加入:true,未加入:false + */ + private Boolean voteAuthorization; + + /** + * 是否投票 已投票:true,未投票:false + */ + private Boolean voteStatus; + + /** + * 支持:support,反对:opposition + */ + private String voteType; + +} diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java index 3d4db2594e..7f81035bf1 100644 --- a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/VoteResultDTO.java @@ -28,5 +28,15 @@ public class VoteResultDTO implements Serializable { */ private Integer oppositionCount; + /** + * 是否加入小组 已加入:true,未加入:false + */ + private Boolean voteAuthorization; + + /** + * 支持:support 反对:oppose + */ + private String voteType = ""; + } 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/deploy/docker-compose-dev.yml b/epmet-module/resi-hall/resi-hall-server/deploy/docker-compose-dev.yml index befeeecbad..becd5c31ec 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.4 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..7fc55c1573 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.4 resi-hall com.epmet 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 192a1e377f..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 @@ -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 @@ -36,8 +41,9 @@ public class IssueController { */ @PostMapping(value = "/detail") @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) - public Result detail(@RequestBody IssueDetailFormDTO issueDetail){ - return new Result().ok(issueService.detail(issueDetail)); + public Result detail(@LoginUser TokenDto tokenDto,@RequestBody IssueDetailFormDTO issueDetail){ + ValidatorUtils.validateEntity(issueDetail); + return new Result().ok(issueService.detail(tokenDto,issueDetail)); } /** @@ -48,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)); } @@ -59,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(); } @@ -71,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(); } @@ -81,9 +90,10 @@ public class IssueController { * @author zxc */ @PostMapping(value = "vote") - @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) - public Result vote(@RequestBody IssueIdFormDTO formDTO){ - return new Result().ok(issueService.vote(formDTO)); +// @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)); } /** @@ -95,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)); } @@ -107,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)); } @@ -118,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(); } @@ -130,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(); } @@ -142,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)); } @@ -153,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)); } @@ -164,8 +180,47 @@ 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)); } + /** + * @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); + } + + /** + * @Description 议题处理进展 + * @param issueId + * @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)); + } + } 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 f737acc48a..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 @@ -1,9 +1,8 @@ package com.epmet.feign; -import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.CheckVoteFormDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.fallback.GovIssueFeignClientFallBack; @@ -88,4 +87,56 @@ public interface GovIssueFeignClient { @PostMapping("/gov/issue/issue/shiftprojectlist") Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO); + /** + * @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); + /** + * @Description 根据issueId查询gridId + * @param issueId + * @author zxc + */ + @PostMapping("/gov/issue/issue/selectgrididbyissueid") + Result selectGridIdByIssueId(@RequestBody IssueIdFormDTO issueId); + + /** + * @Description 议题处理进展 + * @param issueId + * @author zxc + */ + @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/ResiGroupFeignClient.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index fa2a5cc182..22f1b30808 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -3,10 +3,13 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.TopicInfoDTO; +import com.epmet.dto.form.GridIdFormDTO; import com.epmet.dto.form.TopicInfoFormDTO; +import com.epmet.dto.result.CheckJoinTeamResultDTO; import com.epmet.feign.fallback.ResiGroupFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; /** * @author zxc @@ -24,5 +27,13 @@ public interface ResiGroupFeignClient { @PostMapping("/resi/group/topic/selectdetail") Result selectDetail(TopicInfoFormDTO formDTO); + /** + * @Description 校验用户是否加入小组 + * @param gridId + * @author zxc + */ + @PostMapping("/resi/group/group/checkjointeam") + Result checkjointeam(@RequestBody GridIdFormDTO gridId); + } 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 7bfa8ac0b5..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 @@ -1,9 +1,9 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.security.dto.TokenDto; 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; @@ -57,4 +57,34 @@ public class GovIssueFeignClientFallBack implements GovIssueFeignClient { public Result> getShiftProjectList(ShiftProjectListFromDTO fromDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectList", fromDTO); } + + @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); + } + + @Override + public Result selectGridIdByIssueId(IssueIdFormDTO issueId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "selectGridIdByIssueId", issueId); + } + + @Override + 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/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java index d75c1a0f91..7d318fc3ea 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java +++ b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -4,7 +4,9 @@ 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.TopicInfoDTO; +import com.epmet.dto.form.GridIdFormDTO; import com.epmet.dto.form.TopicInfoFormDTO; +import com.epmet.dto.result.CheckJoinTeamResultDTO; import com.epmet.feign.ResiGroupFeignClient; import org.springframework.stereotype.Component; @@ -18,4 +20,9 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { public Result selectDetail(TopicInfoFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectDetail", formDTO); } + + @Override + public Result checkjointeam(GridIdFormDTO gridId) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "checkjointeam", gridId); + } } 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 156c51e375..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 议题表决折线图 @@ -49,7 +49,7 @@ public interface IssueService { * @param issueId * @author zxc */ - VoteResultDTO vote(IssueIdFormDTO issueId); + VoteResultDTO vote(TokenDto tokenDto,IssueIdFormDTO issueId); /** * @Description 满意度评价初始化——已关闭 @@ -95,6 +95,13 @@ public interface IssueService { */ List projectEvaluationList(ProjectEvaluationListFormDTO formDTO); + /** + * @Description 议题处理进展 + * @param issueId + * @author zxc + */ + List processList(IssueIdFormDTO issueId); + /** * 已转项目列表 * @author zhaoqifeng 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 51fcfe5d68..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; } @@ -136,9 +157,24 @@ public class IssueServiceImpl implements IssueService { * @author zxc */ @Override - public VoteResultDTO vote(IssueIdFormDTO issueId) { - Result voteResultDTOResult = govIssueFeignClient.voteCount(issueId); - return voteResultDTOResult.getData(); + public VoteResultDTO vote(TokenDto tokenDto,IssueIdFormDTO issueId) { + VoteResultDTO voteResultDTOResult = new VoteResultDTO(); + GridIdResultDTO gridId = govIssueFeignClient.selectGridIdByIssueId(issueId).getData(); + GridIdFormDTO gridIdFormDTO = new GridIdFormDTO(); + gridIdFormDTO.setGridId(gridId.getGridId()); + gridIdFormDTO.setUserId(tokenDto.getUserId()); + CheckJoinTeamResultDTO check = resiGroupFeignClient.checkjointeam(gridIdFormDTO).getData(); + //未加入小组 + if (check.getVoteAuthorization()==false){ + voteResultDTOResult.setVoteFlag(false); + voteResultDTOResult.setVoteAuthorization(check.getVoteAuthorization()); + voteResultDTOResult.setOppositionCount(NumConstant.ZERO); + voteResultDTOResult.setSupportCount(NumConstant.ZERO); + }else { + voteResultDTOResult.setVoteAuthorization(check.getVoteAuthorization()); + voteResultDTOResult = govIssueFeignClient.voteCount(issueId).getData(); + } + return voteResultDTOResult; } /** @@ -157,9 +193,9 @@ public class IssueServiceImpl implements IssueService { } /** + * @Description 满意度评价初始化——已转项目 * @param tokenDto * @param projectId - * @Description 满意度评价初始化——已转项目 * @author zxc */ @Override @@ -260,4 +296,14 @@ public class IssueServiceImpl implements IssueService { } return resultList; } + + /** + * @Description 议题处理进展 + * @param issueId + * @author zxc + */ + @Override + public List processList(IssueIdFormDTO issueId) { + return govIssueFeignClient.processList(issueId).getData(); + } } diff --git a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml index 9d9246e7d1..6535e604b8 100644 --- a/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml +++ b/epmet-module/resi-mine/resi-mine-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: resi-mine-server: container_name: resi-mine-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/resi-mine-server:0.3.10 + image: 192.168.1.130:10080/epmet-cloud-dev/resi-mine-server:0.3.11 ports: - "8094:8094" network_mode: host # 使用现有网络 diff --git a/epmet-module/resi-mine/resi-mine-server/pom.xml b/epmet-module/resi-mine/resi-mine-server/pom.xml index c366ff0dae..0263d0a15c 100644 --- a/epmet-module/resi-mine/resi-mine-server/pom.xml +++ b/epmet-module/resi-mine/resi-mine-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.10 + 0.3.11 com.epmet resi-mine diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java index 9ea7fa5f60..56199fa722 100644 --- a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java @@ -20,6 +20,6 @@ public class PartyAuthProcessingCountResultDTO implements Serializable { /** * 待审核党员申请总数 */ - private Long count; + private Integer count; } diff --git a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java index 8d8135a9b9..dc7882ccdc 100644 --- a/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java +++ b/epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java @@ -20,6 +20,6 @@ public class ResiProcessingCountResultDTO implements Serializable { /** * 待审核党员申请总数 */ - private Long count; + private Integer count; } 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..48005eb3a2 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.21 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..dbb51c1bdc 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.21 com.epmet resi-partymember diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java index 732bcf1d83..77a6eaa634 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java @@ -208,8 +208,12 @@ public class PartymemberInfoServiceImpl extends BaseServiceImpl