diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java index 40375042b9..d48669325b 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java @@ -87,6 +87,10 @@ public enum RequirePermissionEnum { WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT("work_grassroots_issue_shift_project", "基层治理:议题管理:转项目","转项目(选择处理部门api也需要添加此校验)"), WORK_GRASSROOTS_ISSUE_CLOSE("work_grassroots_issue_close","基层治理:议题管理:关闭议题","关闭议题"), + WORK_GRASSROOTS_ISSUE_AUDITING_LIST("work_grassroots_issue_auditing_list","基层治理:议题管理:待审核","待审核议题申请列表查询"), + WORK_GRASSROOTS_ISSUE_REJECTED_LIST("work_grassroots_issue_rejected_list","基层治理:议题管理:已驳回","已驳回议题申请列表"), + WORK_GRASSROOTS_ISSUE_AUDIT("work_grassroots_issue_audit","基层治理:议题管理:议题审核","审核(通过或驳回)议题"), + /** * 徽章 */ 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 6d85fda7b0..e325428f8a 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 @@ -87,7 +87,7 @@ public enum EpmetErrorCode { TEXT_SCAN_FAILED(8503,"内容审核失败,请重新编辑"), IMG_SCAN_FAILED(8504,"图片审核失败,请重新上传"), PROJECT_IS_CLOSED(8601,"项目已结案"), - + VOTE_ISSUE_PLEASE(8602,"请先选择支持或反对,再发表您的想法"), // 爱心互助 居民端 NOT_IN_THE_SIGN_IN_RANGE(8510, "您还未进入指定的签到范围~"), // 活动报名失败,弹窗:志愿者认证 diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationDTO.java new file mode 100644 index 0000000000..ed743d720d --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationDTO.java @@ -0,0 +1,128 @@ +/** + * 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; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 话题转议题申请表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Data +public class IssueApplicationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 议题名称 + */ + private String issueTitle; + + /** + * 建议 + */ + private String suggestion; + + /** + * 审核状态:under_auditing:待审核;approved:通过;rejected:驳回 + */ + private String applyStatus; + + /** + * 话题id + */ + private String topicId; + + /** + * 小组id + */ + private String groupId; + + /** + * 网格ID 居民端议题对应一个网格Id + */ + private String gridId; + + /** + * 审核通过后对应的 议题id + */ + private String issueId; + + /** + * 审核通过时填写的理由 + */ + private String passedReason; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + //拓展属性 + /** + * 申请id + */ + private String issueApplicationId; + + /** + * 对应issue_application.UPDATED_TIME 对应的秒级时间戳 + */ + private Long latestTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationHistoryDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationHistoryDTO.java new file mode 100644 index 0000000000..fdde89c383 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationHistoryDTO.java @@ -0,0 +1,109 @@ +/** + * 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; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 话题转议题审核历史表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Data +public class IssueApplicationHistoryDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 话题转议题申请表 issue_application.id + */ + private String issueApplicationId; + + /** + * under_auditing:待审核; + * approved:审核通过; + * rejected:驳回; + */ + private String actionType; + + /** + * 审核时的说明 + */ + private String reason; + + /** + * 工作端人员姓名 + */ + private String staffName; + + /** + * 删除标识:0 未删除 1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 提交人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 修改人ID + */ + private String updatedBy; + + /** + * 修改时间 + */ + private Date updatedTime; + + //扩展属性 + /** + * =id + */ + private String historyId; + + /** + * createdTime 对应时间戳 + */ + private Long operateTime; +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueSuggestionDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueSuggestionDTO.java new file mode 100644 index 0000000000..e5a3300212 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueSuggestionDTO.java @@ -0,0 +1,97 @@ +/** + * 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; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 居民端用户对议题建议或意见表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-18 + */ +@Data +public class IssueSuggestionDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 议题id + */ + private String issueId; + + /** + * 议题所属网格id + */ + private String gridId; + + /** + * 对议题的想法 + */ + private String suggestion; + + /** + * 1公开; 0匿名 + */ + private Integer publicFlag; + + /** + * 删除标识:0 未删除 1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 提建议的人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 修改人ID + */ + private String updatedBy; + + /** + * 修改时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationDetailFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationDetailFormDTO.java new file mode 100644 index 0000000000..3cc1942473 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationDetailFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/11/17 10:10 上午 + */ +@Data +public class ApplicationDetailFormDTO implements Serializable { + + private static final long serialVersionUID = -1123940740606412101L; + + public interface ApplicationDetail{} + + /** + * 申请详情,在列表接口返参里有 + */ + @NotBlank(message = "issueApplicationId不能为空",groups = {ApplicationDetail.class}) + private String issueApplicationId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationHistoryFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationHistoryFormDTO.java new file mode 100644 index 0000000000..bfdf5bdced --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationHistoryFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/11/17 10:10 上午 + */ +@Data +public class ApplicationHistoryFormDTO implements Serializable { + + private static final long serialVersionUID = -1123940740606412101L; + + public interface ApplicationHistory{} + + /** + * 申请详情,在列表接口返参里有 + */ + @NotBlank(message = "issueApplicationId不能为空",groups = {ApplicationHistory.class}) + private String issueApplicationId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationListFormDTO.java new file mode 100644 index 0000000000..e26b2645b7 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationListFormDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/11/17 10:26 上午 + */ +@Data +public class ApplicationListFormDTO implements Serializable { + + private static final long serialVersionUID = -7535577263406351310L; + + public interface ApplicationList{} + + /** + * 小组id + */ + @NotBlank(message = "小组id不能为空",groups = {ApplicationList.class}) + private String groupId; + + /** + * under_auditing:审核中,rejected:驳回 + */ + @NotBlank(message = "审核状态不能为空",groups = {ApplicationList.class}) + private String applyStatus; + + /** + * 页码 + */ + @NotNull(message = "页码不能为空",groups = {ApplicationList.class}) + private Integer pageNo; + + /** + * 每页数量 + */ + @NotNull(message = "每页数量不能为空",groups = {ApplicationList.class}) + private Integer pageSize; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java index 1c0af96723..22f47eb6f9 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java @@ -2,6 +2,7 @@ package com.epmet.dto.form; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -21,11 +22,13 @@ public class EvaluationListFormDTO implements Serializable { /** * 页码 */ + @NotBlank(message = "pageNo不能为空") private Integer pageNo; /** * 每页数量 */ + @NotBlank(message = "pageSize不能为空") private Integer pageSize; diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueAppQueryFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueAppQueryFormDTO.java new file mode 100644 index 0000000000..b623bc58fd --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueAppQueryFormDTO.java @@ -0,0 +1,47 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * 查询issue_application通用入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 16:22 + */ +@Data +public class IssueAppQueryFormDTO implements Serializable { + public interface Required{} + public interface GovFormDTO{} + /** + * 网格id + */ + @NotBlank(message = "网格id不能为空",groups={GovFormDTO.class}) + private String gridId; + + /** + * 小组id + */ + private String groupId; + + /** + * 审核状态:under_auditing:待审核;approved:通过;rejected:驳回 + */ + private String applyStatus; + + /** + * 页码 + */ + @NotNull(message = "页码不能为空",groups = {Required.class}) + private Integer pageNo; + + /** + * 每页数量 + */ + @NotNull(message = "每页数量不能为空",groups = {Required.class}) + private Integer pageSize; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueApplicationIdFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueApplicationIdFormDTO.java new file mode 100644 index 0000000000..f1d5bd99a5 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueApplicationIdFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 根据issue_application.id查询审核历史 + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 16:55 + */ +@Data +public class IssueApplicationIdFormDTO implements Serializable { + private static final long serialVersionUID = 3222664262617695211L; + @NotBlank(message = "issueApplicationId不能为空") + private String issueApplicationId; + + public IssueApplicationIdFormDTO(String issueApplicationId) { + this.issueApplicationId = issueApplicationId; + } +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ParameterFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ParameterFormDTO.java new file mode 100644 index 0000000000..d2a7c0f0e1 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ParameterFormDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/18 17:21 + */ +@Data +public class ParameterFormDTO implements Serializable { + private static final long serialVersionUID = 3007336627437933281L; + /** + * 客户ID + */ + @NotBlank(message = "客户ID不能为空", groups = DefaultGroup.class) + private String customerId; + /** + * 已开启审核:open; 无需审核:close + */ + @NotBlank(message = "可滞留天数不能为空", groups = AddGroup.class) + private String auditSwitch; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserIssueSuggestionFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserIssueSuggestionFormDTO.java new file mode 100644 index 0000000000..a9f37302a9 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserIssueSuggestionFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 查询用户对于某个议题的想法 返回一条记录 + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 10:09 + */ +@Data +public class UserIssueSuggestionFormDTO implements Serializable { + private static final long serialVersionUID = -8506264833919404944L; + /** + * 用户id + */ + @NotBlank(message = "userId不能为空") + private String userId; + + /** + * 议题id + */ + @NotBlank(message = "issueId不能为空") + private String issueId; + + public UserIssueSuggestionFormDTO( String userId, String issueId) { + this.userId = userId; + this.issueId = issueId; + } +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationDetailResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationDetailResultDTO.java new file mode 100644 index 0000000000..ef84d338e0 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationDetailResultDTO.java @@ -0,0 +1,54 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/11/17 10:12 上午 + */ +@Data +public class ApplicationDetailResultDTO implements Serializable { + + private static final long serialVersionUID = 1121268898544759693L; + + /** + * 申请ID + */ + private String issueApplicationId; + + /** + * 议题标题 + */ + private String issueTitle; + + /** + * 所属网格名称 + */ + private String gridName; + + /** + * 议题发起人 + */ + private String issuePublisher; + + /** + * 话题相关信息 + */ + private TopicInfoResultDTO topicInfo; + + private String gridId; + + private String topicId; + + private String userId; + + public ApplicationDetailResultDTO() { + this.issueTitle = ""; + this.gridName = ""; + this.issuePublisher = ""; + this.topicInfo = new TopicInfoResultDTO(); + } +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResDTO.java new file mode 100644 index 0000000000..07ffd0f86a --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResDTO.java @@ -0,0 +1,44 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 工作端:话题转议题申请详情- 审核历史查询 + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 17:31 + */ +@Data +public class ApplicationHistoryResDTO implements Serializable { + private static final long serialVersionUID = -2680819847652745103L; + /** + * =id + */ + private String historyId; + + /** + * under_auditing:待审核; + * approved:审核通过; + * rejected:驳回; + */ + private String actionType; + + /** + * createdTime 对应时间戳 + */ + private Long operateTime; + + /** + * 审核时的说明 + */ + private String reason; + + /** + * 工作端人员姓名 + */ + private String staffName; + + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResultDTO.java new file mode 100644 index 0000000000..b61c75415f --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResultDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/11/17 10:21 上午 + */ +@Data +public class ApplicationHistoryResultDTO implements Serializable { + + private static final long serialVersionUID = 3235513565728092491L; + + /** + * 审核历史表id + */ + private String historyId; + + /** + * under_auditing:待审核; approved:已通过, rejected:已驳回 + */ + private String actionType; + + /** + * 操作时间戳 + */ + private Long operateTime; + + /** + * 驳回理由或者审核通过理由 + */ + private String reason; + + /** + * 工作人员姓名;居民端不展示此列 + */ + private String staffName; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationListResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationListResultDTO.java new file mode 100644 index 0000000000..12bec714dd --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationListResultDTO.java @@ -0,0 +1,48 @@ +package com.epmet.dto.result; + +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/11/17 10:31 上午 + */ +@Data +public class ApplicationListResultDTO implements Serializable { + + private static final long serialVersionUID = -4042091778432048631L; + + /** + * 申请id + */ + private String issueApplicationId; + + /** + * 议题标题 + */ + private String issueTitle; + + /** + * 建议 + */ + private String suggestion; + + /** + * 对应issue_application.UPDATED_TIME 对应的秒级时间戳 + */ + private Long time; + + /** + * 审核状态。under_auditing:审核中,approved:通过,rejected:驳回 + */ + private String applyStatus; + + public ApplicationListResultDTO() { + this.issueTitle = ""; + this.suggestion = ""; + this.time = NumConstant.ZERO_L; + this.applyStatus = ""; + } +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueApplicationResDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueApplicationResDTO.java new file mode 100644 index 0000000000..1b2a91950d --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueApplicationResDTO.java @@ -0,0 +1,41 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 待审核|| 已驳回 列表 + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 17:22 + */ +@Data +public class IssueApplicationResDTO implements Serializable { + private static final long serialVersionUID = -1452471134719960837L; + /** + * 申请id + */ + private String issueApplicationId; + + /** + * 议题名称 + */ + private String issueTitle; + + /** + * 对应issue_application.UPDATED_TIME 对应的秒级时间戳 + */ + private Long latestTime; + + /** + * 建议 + */ + private String suggestion; + + /** + * 审核状态。under_auditing:审核中,approved:通过,rejected:驳回 + */ + private String applyStatus; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueSuggestionResDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueSuggestionResDTO.java new file mode 100644 index 0000000000..d71c26a999 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueSuggestionResDTO.java @@ -0,0 +1,55 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; + +/** + * 议题建议列表 + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 14:00 + */ +@Data +public class IssueSuggestionResDTO implements Serializable { + private static final long serialVersionUID = -6217415454610258644L; + /** + * 建议id + */ + private String suggestionId; + + /** + * 建议内容 + */ + private String suggestion; + + /** + * 建议时间戳 + */ + private Long publishTime; + + /** + * true 公开 false 匿名 + */ + private Boolean publicFlag; + + /** + * 用户头像url + */ + private String headPhoto; + + /** + * 用户显示名称 + */ + private String userShowName; + + /** + * 态度 - opposition(反对)support(赞成) + */ + private String aititude; + + @JsonIgnore + private String userId; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ParameterResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ParameterResultDTO.java new file mode 100644 index 0000000000..40f3ff5c58 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ParameterResultDTO.java @@ -0,0 +1,16 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/18 17:25 + */ +@Data +public class ParameterResultDTO implements Serializable { + private static final long serialVersionUID = 2557066213008529836L; + private String auditSwitch; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/SaveIssueSuggestionResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/SaveIssueSuggestionResultDTO.java new file mode 100644 index 0000000000..a3c4ba85b3 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/SaveIssueSuggestionResultDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 保存居民端用户对议题的建议或意见 返回议题id, 建议id + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 13:14 + */ +@Data +public class SaveIssueSuggestionResultDTO implements Serializable { + private static final long serialVersionUID = 8199657776260756910L; + private String issueId; + /** + * issue_suggestion表主键 + */ + private String suggestionId; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/TopicInfoResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/TopicInfoResultDTO.java new file mode 100644 index 0000000000..574d654891 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/TopicInfoResultDTO.java @@ -0,0 +1,50 @@ +package com.epmet.dto.result; + +import com.epmet.commons.tools.constant.NumConstant; +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2020/11/17 10:14 上午 + */ +@Data +public class TopicInfoResultDTO implements Serializable { + + private static final long serialVersionUID = -3445869627210569553L; + + /** + * 话题id + */ + private String topicId; + + /** + * 话题发表人昵称 + */ + private String publishedUser; + + /** + * 话题发表时间戳 + */ + private Long publishedTime; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 话题图片集合 + */ + private List topicImgs; + + public TopicInfoResultDTO() { + this.publishedUser = ""; + this.publishedTime = NumConstant.ZERO_L; + this.topicContent = ""; + this.topicImgs = new ArrayList<>(); + } +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index f30a67b891..a2ed3fb36e 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -3,11 +3,18 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.IssueDTO; -import com.epmet.dto.form.MyPartIssuesFormDTO; -import com.epmet.dto.form.MyPubIssuesAuditingFormDTO; -import com.epmet.dto.result.MyPartIssuesResultDTO; -import com.epmet.dto.result.MyPubIssuesAuditingResultDTO; +import com.epmet.dto.IssueSuggestionDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.feign.fallback.GovIssueOpenFeignClientFallBack; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; +import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; +import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.mine.dto.from.MyShiftIssueTopicsFormDTO; import com.epmet.resi.mine.dto.result.MyShiftIssueTopicsResultDTO; import org.springframework.cloud.openfeign.FeignClient; @@ -27,6 +34,35 @@ import java.util.List; // @FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueOpenFeignClientFallBack.class,url = "localhost:8101") public interface GovIssueOpenFeignClient { + /** + * @Description 待审核||已驳回 申请详情 + * @Param applicationDetailFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @PostMapping("/gov/issue/issueapplication/applicationdetail") + Result applicationDetail(@RequestBody ApplicationDetailFormDTO applicationDetailFormDTO); + + /** + * @Description 话题转议题申请详情- 审核历史查询 + * @Param applicationHistoryFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @PostMapping("/gov/issue/issueapplication/applicationhistory") + Result applicationHistory(@RequestBody ApplicationHistoryFormDTO applicationHistoryFormDTO); + + /** + * @Description 待审核||已驳回 申请列表 + * @Param applicationListFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @PostMapping("/gov/issue/issueapplication/applicationlist") + Result> applicationList(@RequestBody ApplicationListFormDTO applicationListFormDTO); + + + /** * @Description 个人中心-我参与的议题列表 * @Param myPartIssuesFormDTO @@ -64,4 +100,69 @@ public interface GovIssueOpenFeignClient { */ @PostMapping("/gov/issue/issue/shiftissuetopic") Result> myShiftIssueTopics(@RequestBody MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO); + /** + * 小组表决中议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/gov/issue/issue/groupvotinglist") + Result> getVotingListByGroup(@RequestBody AllIssueFormDTO formDTO); + + /** + * 小组已转项目议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/gov/issue/issue/groupshiftprojectlist") + Result> getShiftProjectListByGroup(@RequestBody AllIssueFormDTO formDTO); + + /** + * 小组已关闭议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/gov/issue/issue/groupclosedlist") + Result> getClosedListByGroup(@RequestBody AllIssueFormDTO formDTO); + + /** + * @param formDTO + * @author yinzuomei + * @description 查询用户对于某个议题的想法 返回一条记录 + * @Date 2020/11/18 10:17 + **/ + @PostMapping(value = "/gov/issue/issuesuggestion/queryuserissuesuggestion", consumes = MediaType.APPLICATION_JSON_VALUE) + Result queryIssueSuggestion(@RequestBody UserIssueSuggestionFormDTO formDTO); + + /** + * @param issueSuggestionDTO + * @author yinzuomei + * @description 保存居民端用户对议题的建议或意见 + * @Date 2020/11/18 13:24 + **/ + @PostMapping(value = "/gov/issue/issuesuggestion/save", consumes = MediaType.APPLICATION_JSON_VALUE) + Result saveIssueSuggestion(@RequestBody IssueSuggestionDTO issueSuggestionDTO); + + /** + * @param formDTO + * @author yinzuomei + * @description 分页按条件查询issue_application + * @Date 2020/11/18 16:40 + **/ + @PostMapping(value = "/gov/issue/issueapplication/listissueapp",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> listIssueApp(@RequestBody IssueAppQueryFormDTO formDTO); + + /** + * @param formDTO + * @author yinzuomei + * @description 根据issue_application.id查询审核历史 + * @Date 2020/11/18 17:03 + **/ + @PostMapping(value = "/gov/issue/issueapplicationhistory/querybyissueapplicationid",consumes = MediaType.APPLICATION_JSON_VALUE) + Result> queryByIssueApplicationId(@RequestBody IssueApplicationIdFormDTO formDTO); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 8fa91ff4f7..bc3bfa8fe6 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -4,11 +4,18 @@ 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.IssueDTO; -import com.epmet.dto.form.MyPartIssuesFormDTO; -import com.epmet.dto.form.MyPubIssuesAuditingFormDTO; -import com.epmet.dto.result.MyPartIssuesResultDTO; -import com.epmet.dto.result.MyPubIssuesAuditingResultDTO; +import com.epmet.dto.IssueSuggestionDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.*; import com.epmet.feign.GovIssueOpenFeignClient; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; +import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; +import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.mine.dto.from.MyShiftIssueTopicsFormDTO; import com.epmet.resi.mine.dto.result.MyShiftIssueTopicsResultDTO; import org.springframework.stereotype.Component; @@ -23,6 +30,20 @@ import java.util.List; */ @Component public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient { + @Override + public Result applicationDetail(ApplicationDetailFormDTO applicationDetailFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"applicationDetail",applicationDetailFormDTO); + } + + @Override + public Result applicationHistory(ApplicationHistoryFormDTO applicationHistoryFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"applicationHistory",applicationHistoryFormDTO); + } + + @Override + public Result> applicationList(ApplicationListFormDTO applicationListFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"applicationList",applicationListFormDTO); + } @Override public Result> myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"myPartIssues",myPartIssuesFormDTO); @@ -42,4 +63,86 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result> myShiftIssueTopics(MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"myShiftIssueTopics",myShiftIssueTopicsFormDTO); } + /** + * 小组表决中议题 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/11/17 14:58 + */ + @Override + public Result> getVotingListByGroup(AllIssueFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getVotingListByGroup", formDTO); + } + + /** + * 小组已转项目议题 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/11/17 14:58 + */ + @Override + public Result> getShiftProjectListByGroup(AllIssueFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectListByGroup", formDTO); + } + + /** + * 小组已关闭议题 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/11/17 14:58 + */ + @Override + public Result> getClosedListByGroup(AllIssueFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectListByGroup", formDTO); + } + + /** + * @param formDTO + * @author yinzuomei + * @description + * @Date 2020/11/18 10:17 + **/ + @Override + public Result queryIssueSuggestion(UserIssueSuggestionFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryIssueSuggestion", formDTO); + } + + /** + * @param issueSuggestionDTO + * @author yinzuomei + * @description 保存居民端用户对议题的建议或意见 + * @Date 2020/11/18 13:24 + **/ + @Override + public Result saveIssueSuggestion(IssueSuggestionDTO issueSuggestionDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "saveIssueSuggestion", issueSuggestionDTO); + } + + /** + * @param formDTO + * @author yinzuomei + * @description 分页按条件查询issue_application + * @Date 2020/11/18 16:40 + **/ + @Override + public Result> listIssueApp(IssueAppQueryFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "listIssueApp", formDTO); + } + + /** + * @param formDTO + * @author yinzuomei + * @description 根据issue_application.id查询审核历史 + * @Date 2020/11/18 17:03 + **/ + @Override + public Result> queryByIssueApplicationId(IssueApplicationIdFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryByIssueApplicationId", formDTO); + } } 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 42090ef7ff..8987746d81 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 @@ -94,5 +94,8 @@ public interface IssueConstant { String REVIEW_ISSUE = "议题评论失败,评论内容为:%s"; + String AUDIT_SWITCH = "audit_switch"; + String AUDIT_SWITCH_NAME = "议题发布前经网格员审核"; + String GRID = "grid"; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationController.java new file mode 100644 index 0000000000..8cfafb1287 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationController.java @@ -0,0 +1,139 @@ +/** + * 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.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +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.IssueApplicationDTO; +import com.epmet.dto.form.IssueAppQueryFormDTO; +import com.epmet.dto.result.IssueApplicationResDTO; +import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; +import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; +import com.epmet.service.IssueApplicationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + + +/** + * 话题转议题申请表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@RestController +@RequestMapping("issueapplication") +public class IssueApplicationController { + + @Autowired + private IssueApplicationService issueApplicationService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = issueApplicationService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + IssueApplicationDTO data = issueApplicationService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody IssueApplicationDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + issueApplicationService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody IssueApplicationDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + issueApplicationService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + issueApplicationService.delete(ids); + return new Result(); + } + + /** + * @Description 待审核||已驳回 申请详情 + * @Param applicationDetailFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @PostMapping("applicationdetail") + public Result applicationDetail(@RequestBody ApplicationDetailFormDTO applicationDetailFormDTO){ + return new Result().ok(issueApplicationService.applicationDetail(applicationDetailFormDTO)); + } + + /** + * @Description 话题转议题申请详情- 审核历史查询 + * @Param applicationHistoryFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @PostMapping("applicationhistory") + public Result applicationHistory(@RequestBody ApplicationHistoryFormDTO applicationHistoryFormDTO){ + return new Result().ok(issueApplicationService.applicationHistory(applicationHistoryFormDTO)); + } + + /** + * @Description 待审核||已驳回 申请列表 + * @Param applicationListFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @PostMapping("applicationlist") + public Result> applicationList(@RequestBody ApplicationListFormDTO applicationListFormDTO){ + return new Result>().ok(issueApplicationService.applicationList(applicationListFormDTO)); + } + + /** + * @return com.epmet.commons.tools.utils.Result> + * @param formDTO + * @author yinzuomei + * @description 分页按条件查询issue_application + * @Date 2020/11/18 16:26 + **/ + @PostMapping("listissueapp") + public Result> listIssueApp(@RequestBody IssueAppQueryFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,IssueAppQueryFormDTO.Required.class); + List list=issueApplicationService.listIssueApp(formDTO); + return new Result>().ok(list); + } +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationHistoryController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationHistoryController.java new file mode 100644 index 0000000000..1783042c9c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationHistoryController.java @@ -0,0 +1,98 @@ +/** + * 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.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +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.IssueApplicationHistoryDTO; +import com.epmet.dto.form.IssueApplicationIdFormDTO; +import com.epmet.dto.result.ApplicationHistoryResDTO; +import com.epmet.service.IssueApplicationHistoryService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + + +/** + * 话题转议题审核历史表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@RestController +@RequestMapping("issueapplicationhistory") +public class IssueApplicationHistoryController { + + @Autowired + private IssueApplicationHistoryService issueApplicationHistoryService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = issueApplicationHistoryService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + IssueApplicationHistoryDTO data = issueApplicationHistoryService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody IssueApplicationHistoryDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + issueApplicationHistoryService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody IssueApplicationHistoryDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + issueApplicationHistoryService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + issueApplicationHistoryService.delete(ids); + return new Result(); + } + + /** + * @param formDTO + * @author yinzuomei + * @description 根据issue_application.id查询审核历史 + * @Date 2020/11/18 16:57 + **/ + @PostMapping("querybyissueapplicationid") + public Result> queryByIssueApplicationId(@RequestBody IssueApplicationIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(issueApplicationHistoryService.queryByIssueApplicationId(formDTO.getIssueApplicationId())); + } +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueAuditController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueAuditController.java new file mode 100644 index 0000000000..af99ad3e74 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueAuditController.java @@ -0,0 +1,57 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.IssueAppQueryFormDTO; +import com.epmet.dto.form.IssueApplicationIdFormDTO; +import com.epmet.dto.result.ApplicationHistoryResDTO; +import com.epmet.dto.result.IssueApplicationResDTO; +import com.epmet.service.IssueApplicationHistoryService; +import com.epmet.service.IssueApplicationService; +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 java.util.List; + +/** + * 基层治理-议题管理 议题审核相关API + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 17:13 + */ +@RestController +@RequestMapping("issueaudit") +public class IssueAuditController { + @Autowired + private IssueApplicationService issueApplicationService; + @Autowired + private IssueApplicationHistoryService issueApplicationHistoryService; + + /** + * @param formDTO + * @author yinzuomei + * @description 待审核|| 已驳回 列表 + * @Date 2020/11/18 17:28 + **/ + @PostMapping("applicationlist") + public Result> queryIssueAppliationList(@RequestBody IssueAppQueryFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO,IssueAppQueryFormDTO.Required.class,IssueAppQueryFormDTO.GovFormDTO.class); + return new Result>().ok(issueApplicationService.listIssueApp(formDTO)); + } + + + /** + * @param formDTO + * @author yinzuomei + * @description 话题转议题申请详情- 审核历史查询 + * @Date 2020/11/18 17:40 + **/ + @PostMapping("applicationhistory") + public Result> queryApplicationHistory(@RequestBody IssueApplicationIdFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(issueApplicationHistoryService.queryByIssueApplicationId(formDTO.getIssueApplicationId())); + } +} 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 f15de6e623..7c159b6e3d 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 @@ -5,6 +5,11 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.IssueDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; +import com.epmet.excel.IssueExcel; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import com.epmet.service.IssueService; import org.springframework.beans.factory.annotation.Autowired; @@ -62,6 +67,7 @@ public class IssueController { public Result> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) { return new Result>().ok(issueService.getShiftProjectList(fromDTO)); } + /** * @Description 话题转议题 供群组话题服务调用 * @param issueShiftedFromTopicFormDTO @@ -179,5 +185,41 @@ public class IssueController { ValidatorUtils.validateEntity(myShiftIssueTopicsFormDTO, MyShiftIssueTopicsFormDTO.MyShiftIssueTopics.class); return new Result>().ok(issueService.myShiftIssueTopics(myShiftIssueTopicsFormDTO)); } + /** + * 小组表决中议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("groupvotinglist") + public Result> getVotingListByGroup(@RequestBody AllIssueFormDTO formDTO) { + return new Result>().ok(issueService.getVotingListByGroup(formDTO)); + } + + /** + * 小组已转项目议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("groupshiftprojectlist") + public Result> getShiftProjectListByGroup(@RequestBody AllIssueFormDTO formDTO) { + return new Result>().ok(issueService.getShiftProjectListByGroup(formDTO)); + } + + /** + * 小组已关闭议题 + * @author zhaoqifeng + * @date 2020/11/17 14:58 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("groupclosedlist") + public Result> getClosedListByGroup(@RequestBody AllIssueFormDTO formDTO) { + return new Result>().ok(issueService.getClosedListByGroup(formDTO)); + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueCustomerParameterController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueCustomerParameterController.java index 7371c32666..a7164ec296 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueCustomerParameterController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueCustomerParameterController.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.IssueCustomerParameterDTO; +import com.epmet.dto.form.ParameterFormDTO; +import com.epmet.dto.result.ParameterResultDTO; import com.epmet.excel.IssueCustomerParameterExcel; import com.epmet.service.IssueCustomerParameterService; import org.springframework.beans.factory.annotation.Autowired; @@ -43,7 +45,7 @@ import java.util.Map; * @since v1.0.0 2020-05-11 */ @RestController -@RequestMapping("issuecustomerparameter") +@RequestMapping("parameter") public class IssueCustomerParameterController { @Autowired @@ -91,4 +93,46 @@ public class IssueCustomerParameterController { ExcelUtils.exportExcelToTarget(response, null, list, IssueCustomerParameterExcel.class); } + /** + * 议题发布审核-初始化 + * @author zhaoqifeng + * @date 2020/11/18 15:26 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("reviewinit") + public Result reviewInit(@RequestBody ParameterFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, DefaultGroup.class); + ParameterResultDTO result = issueCustomerParameterService.reviewInit(formDTO); + return new Result().ok(result); + } + + /** + * 议题发布审核-保存 + * @author zhaoqifeng + * @date 2020/11/18 15:26 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("reviewsave") + public Result reviewSave(@RequestBody ParameterFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class); + issueCustomerParameterService.reviewSave(formDTO); + return new Result(); + } + + /** + * 议题发布审核-恢复默认 + * @author zhaoqifeng + * @date 2020/11/18 15:26 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("reviewdefault") + public Result reviewDefault(@RequestBody ParameterFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, DefaultGroup.class); + issueCustomerParameterService.reviewDefault(formDTO); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSuggestionController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSuggestionController.java new file mode 100644 index 0000000000..4ce01a56d5 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSuggestionController.java @@ -0,0 +1,87 @@ +/** + * 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.controller; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.IssueSuggestionDTO; +import com.epmet.dto.form.EvaluationListFormDTO; +import com.epmet.dto.form.UserIssueSuggestionFormDTO; +import com.epmet.dto.result.IssueSuggestionResDTO; +import com.epmet.dto.result.SaveIssueSuggestionResultDTO; +import com.epmet.service.IssueSuggestionService; +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 java.util.List; + + +/** + * 居民端用户对议题建议或意见表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-18 + */ +@RestController +@RequestMapping("issuesuggestion") +public class IssueSuggestionController { + + @Autowired + private IssueSuggestionService issueSuggestionService; + + /** + * @param formDTO + * @author yinzuomei + * @description 查询用户对于某个议题的想法 返回一条记录 + * @Date 2020/11/18 10:12 + **/ + @PostMapping("queryuserissuesuggestion") + public Result queryUserIssueSuggestion(@RequestBody UserIssueSuggestionFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO); + IssueSuggestionDTO issueSuggestionDTO=issueSuggestionService.queryUserIssueSuggestion(formDTO); + return new Result().ok(issueSuggestionDTO); + } + + /** + * @param dto + * @author yinzuomei + * @description 保存居民端用户对议题的建议或意见 + * @Date 2020/11/18 13:15 + **/ + @PostMapping("save") + public Result saveIssueSuggestion(@RequestBody IssueSuggestionDTO dto) { + SaveIssueSuggestionResultDTO resultDTO = issueSuggestionService.saveIssueSuggestion(dto); + return new Result().ok(resultDTO); + } + + /** + * @param formDTO + * @author yinzuomei + * @description 议题建议列表 + * @Date 2020/11/18 14:15 + **/ + @PostMapping("list") + public Result> listIssueSug(@RequestBody EvaluationListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + List list = issueSuggestionService.listIssueSug(formDTO); + return new Result>().ok(list); + } +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationDao.java new file mode 100644 index 0000000000..efe02e3c0b --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationDao.java @@ -0,0 +1,55 @@ +/** + * 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.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.IssueAppQueryFormDTO; +import com.epmet.dto.result.IssueApplicationResDTO; +import com.epmet.entity.IssueApplicationEntity; +import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; +import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 话题转议题申请表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Mapper +public interface IssueApplicationDao extends BaseDao { + + /** + * @Description 待审核||已驳回 申请详情 + * @Param applicationDetailFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + ApplicationDetailResultDTO applicationDetail(ApplicationDetailFormDTO applicationDetailFormDTO); + + + /** + * @param formDTO + * @author yinzuomei + * @description 分页按条件查询issue_application + * @Date 2020/11/18 16:28 + **/ + List selectList(IssueAppQueryFormDTO formDTO); +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationHistoryDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationHistoryDao.java new file mode 100644 index 0000000000..e2639185b3 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationHistoryDao.java @@ -0,0 +1,43 @@ +/** + * 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.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.ApplicationHistoryResDTO; +import com.epmet.entity.IssueApplicationHistoryEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 话题转议题审核历史表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Mapper +public interface IssueApplicationHistoryDao extends BaseDao { + + /** + * @param issueApplicationId + * @author yinzuomei + * @description 根据issue_application.id查询审核历史 + * @Date 2020/11/18 16:59 + **/ + List selectListByIssueApplicationId(String issueApplicationId); +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueCustomerParameterDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueCustomerParameterDao.java index 48fa1e3491..2aa4bb50e9 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueCustomerParameterDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueCustomerParameterDao.java @@ -18,8 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IssueCustomerParameterDTO; import com.epmet.entity.IssueCustomerParameterEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 议题客户参数定制表 @@ -29,5 +33,23 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueCustomerParameterDao extends BaseDao { + + /** + * 获取客户配置 + * @author zhaoqifeng + * @date 2020/11/18 17:32 + * @param customerId + * @return java.util.List + */ + List selectParamByCustomer(@Param("customerId") String customerId); + + /** + * 删除客户配置 + * @author zhaoqifeng + * @date 2020/11/18 17:33 + * @param customerId + * @return int + */ + int deleteParamByCustomer(@Param("customerId") String customerId); } \ 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 a39266ee76..4071e7fb30 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java @@ -22,6 +22,9 @@ import com.epmet.dto.IssueDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IssueEntity; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -176,4 +179,32 @@ public interface IssueDao extends BaseDao { * @date 2020/11/13 3:42 下午 */ List myShiftIssueTopics(@Param("topicIds") List topicIds,@Param("customerId") String customerId); + + + /** + * 根据话题ID查找表决中议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:27 + * @param formDTO 参数 + * @return java.util.List + */ + List selectVotingListByTopic(AllIssueFormDTO formDTO); + + /** + * 根据话题ID查找已转项目议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:27 + * @param formDTO 参数 + * @return java.util.List + */ + List selectShiftIssueByTopic(AllIssueFormDTO formDTO); + + /** + * 根据话题ID查找已转项目议题列表 + * @author zhaoqifeng + * @date 2020/5/13 16:27 + * @param formDTO 参数 + * @return java.util.List + */ + List selectClosedListByTopic(AllIssueFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSuggestionDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSuggestionDao.java new file mode 100644 index 0000000000..a39aeef521 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSuggestionDao.java @@ -0,0 +1,54 @@ +/** + * 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.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IssueSuggestionDTO; +import com.epmet.dto.form.UserIssueSuggestionFormDTO; +import com.epmet.dto.result.IssueSuggestionResDTO; +import com.epmet.entity.IssueSuggestionEntity; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 居民端用户对议题建议或意见表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-18 + */ +@Mapper +public interface IssueSuggestionDao extends BaseDao { + + /** + * @return com.epmet.dto.IssueSuggestionDTO + * @param formDTO + * @author yinzuomei + * @description 查询用户对于某个议题的想法 返回一条记录 + * @Date 2020/11/18 10:12 + **/ + IssueSuggestionDTO selectUserIssueSuggestion(UserIssueSuggestionFormDTO formDTO); + + /** + * @param issueId + * @author yinzuomei + * @description 查询议题建议 + * @Date 2020/11/18 14:27 + **/ + List selectListIssueSugByIssueId(String issueId); +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java index e1779a1720..45ed993354 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IssueVoteDetailDTO; import com.epmet.dto.form.VoteFormDTO; import com.epmet.dto.result.IssueAttitudeCountResultDTO; import com.epmet.dto.result.MyPartIssuesResultDTO; @@ -84,4 +85,14 @@ public interface IssueVoteDetailDao extends BaseDao { List myPartIssues(@Param("userId")String userId); List myPartIssuesByTopicId(@Param("topicIds")List topicIds); + + /** + * @return com.epmet.dto.IssueVoteDetailDTO + * @param userId + * @param issueId + * @author yinzuomei + * @description 查询用户对某个议题的表决信息 + * @Date 2020/11/18 14:35 + **/ + IssueVoteDetailDTO selectUserIssueDet(@Param("userId") String userId, @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/entity/IssueApplicationEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationEntity.java new file mode 100644 index 0000000000..d117c370e9 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationEntity.java @@ -0,0 +1,83 @@ +/** + * 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.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 话题转议题申请表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("issue_application") +public class IssueApplicationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 议题名称 + */ + private String issueTitle; + + /** + * 建议 + */ + private String suggestion; + + /** + * 审核状态:under_auditing:待审核;approved:通过;rejected:驳回 + */ + private String applyStatus; + + /** + * 话题id + */ + private String topicId; + + /** + * 小组id + */ + private String groupId; + + /** + * 网格ID 居民端议题对应一个网格Id + */ + private String gridId; + + /** + * 审核通过后对应的 议题id + */ + private String issueId; + + /** + * 审核通过时填写的理由 + */ + private String passedReason; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationHistoryEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationHistoryEntity.java new file mode 100644 index 0000000000..983dd8e550 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationHistoryEntity.java @@ -0,0 +1,65 @@ +/** + * 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.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 话题转议题审核历史表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("issue_application_history") +public class IssueApplicationHistoryEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 话题转议题申请表 issue_application.id + */ + private String issueApplicationId; + + /** + * under_auditing:待审核; + * approved:审核通过; + * rejected:驳回; + */ + private String actionType; + + /** + * 审核时的说明 + */ + private String reason; + + /** + * 工作端人员姓名 + */ + private String staffName; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueSuggestionEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueSuggestionEntity.java new file mode 100644 index 0000000000..2d160030ab --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueSuggestionEntity.java @@ -0,0 +1,66 @@ +/** + * 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.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 居民端用户对议题建议或意见表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("issue_suggestion") +public class IssueSuggestionEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 议题id + */ + private String issueId; + + /** + * 议题所属网格id + */ + private String gridId; + + /** + * 对议题的想法 + */ + private String suggestion; + + /** + * 1公开; 0匿名 + */ + private Integer publicFlag; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueApplicationHistoryRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueApplicationHistoryRedis.java new file mode 100644 index 0000000000..655a806b56 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueApplicationHistoryRedis.java @@ -0,0 +1,47 @@ +/** + * 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.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 话题转议题审核历史表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Component +public class IssueApplicationHistoryRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueApplicationRedis.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueApplicationRedis.java new file mode 100644 index 0000000000..9db70e4437 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueApplicationRedis.java @@ -0,0 +1,47 @@ +/** + * 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.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 话题转议题申请表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Component +public class IssueApplicationRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationHistoryService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationHistoryService.java new file mode 100644 index 0000000000..b0d7aed3eb --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationHistoryService.java @@ -0,0 +1,104 @@ +/** + * 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.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IssueApplicationHistoryDTO; +import com.epmet.dto.result.ApplicationHistoryResDTO; +import com.epmet.entity.IssueApplicationHistoryEntity; + +import java.util.List; +import java.util.Map; + +/** + * 话题转议题审核历史表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +public interface IssueApplicationHistoryService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-11-17 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-11-17 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IssueApplicationHistoryDTO + * @author generator + * @date 2020-11-17 + */ + IssueApplicationHistoryDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-11-17 + */ + void save(IssueApplicationHistoryDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-11-17 + */ + void update(IssueApplicationHistoryDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-11-17 + */ + void delete(String[] ids); + + /** + * @param issueApplicationId + * @author yinzuomei + * @description 根据issue_application.id查询审核历史 + * @Date 2020/11/18 16:57 + **/ + List queryByIssueApplicationId(String issueApplicationId); +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationService.java new file mode 100644 index 0000000000..14bee01aa4 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationService.java @@ -0,0 +1,136 @@ +/** + * 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.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IssueApplicationDTO; +import com.epmet.dto.form.IssueAppQueryFormDTO; +import com.epmet.dto.result.IssueApplicationResDTO; +import com.epmet.entity.IssueApplicationEntity; +import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; +import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; + +import java.util.List; +import java.util.Map; + +/** + * 话题转议题申请表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +public interface IssueApplicationService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-11-17 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-11-17 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IssueApplicationDTO + * @author generator + * @date 2020-11-17 + */ + IssueApplicationDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-11-17 + */ + void save(IssueApplicationDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-11-17 + */ + void update(IssueApplicationDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-11-17 + */ + void delete(String[] ids); + + /** + * @Description 待审核||已驳回 申请详情 + * @Param applicationDetailFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + ApplicationDetailResultDTO applicationDetail(ApplicationDetailFormDTO applicationDetailFormDTO); + + /** + * @Description 话题转议题申请详情- 审核历史查询 + * @Param applicationHistoryFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + ApplicationHistoryResultDTO applicationHistory(ApplicationHistoryFormDTO applicationHistoryFormDTO); + + /** + * @Description 待审核||已驳回 申请列表 + * @Param applicationListFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + List applicationList(ApplicationListFormDTO applicationListFormDTO); + + /** + * @return java.util.List + * @param formDTO + * @author yinzuomei + * @description 分页按条件查询issue_application + * @Date 2020/11/18 16:26 + **/ + List listIssueApp(IssueAppQueryFormDTO formDTO); +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueAuditService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueAuditService.java new file mode 100644 index 0000000000..19f778fa63 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueAuditService.java @@ -0,0 +1,8 @@ +package com.epmet.service; + +/** + * @Author zxc + * @DateTime 2020/11/18 下午5:42 + */ +public interface IssueAuditService { +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueCustomerParameterService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueCustomerParameterService.java index 941d8efde9..ff2965b85d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueCustomerParameterService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueCustomerParameterService.java @@ -20,6 +20,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IssueCustomerParameterDTO; +import com.epmet.dto.form.ParameterFormDTO; +import com.epmet.dto.result.ParameterResultDTO; import com.epmet.entity.IssueCustomerParameterEntity; import java.util.List; @@ -92,4 +94,31 @@ public interface IssueCustomerParameterService extends BaseService { */ List myShiftIssueTopics(MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO); + + /** + * 小组表决中议题 + * @author zhaoqifeng + * @date 2020/11/17 14:59 + * @param formDTO + * @return java.util.List + */ + List getVotingListByGroup(AllIssueFormDTO formDTO); + + /** + * 小组已转项目议题 + * @author zhaoqifeng + * @date 2020/11/17 14:59 + * @param formDTO + * @return java.util.List + */ + List getShiftProjectListByGroup(AllIssueFormDTO formDTO); + + /** + * 小组已关闭议题 + * @author zhaoqifeng + * @date 2020/11/17 14:59 + * @param formDTO + * @return java.util.List + */ + List getClosedListByGroup(AllIssueFormDTO formDTO); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSuggestionService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSuggestionService.java new file mode 100644 index 0000000000..a44b08085c --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSuggestionService.java @@ -0,0 +1,61 @@ +/** + * 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.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dto.IssueSuggestionDTO; +import com.epmet.dto.form.EvaluationListFormDTO; +import com.epmet.dto.form.UserIssueSuggestionFormDTO; +import com.epmet.dto.result.IssueSuggestionResDTO; +import com.epmet.dto.result.SaveIssueSuggestionResultDTO; +import com.epmet.entity.IssueSuggestionEntity; + +import java.util.List; + +/** + * 居民端用户对议题建议或意见表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-18 + */ +public interface IssueSuggestionService extends BaseService { + + /** + * @param formDTO + * @author yinzuomei + * @description 查询用户对于某个议题的想法 返回一条记录 + * @Date 2020/11/18 10:12 + **/ + IssueSuggestionDTO queryUserIssueSuggestion(UserIssueSuggestionFormDTO formDTO); + + /** + * @param dto + * @author yinzuomei + * @description 保存居民端用户对议题的建议或意见 + * @Date 2020/11/18 13:16 + **/ + SaveIssueSuggestionResultDTO saveIssueSuggestion(IssueSuggestionDTO dto); + + /** + * @param formDTO + * @author yinzuomei + * @description 议题建议列表 + * @Date 2020/11/18 14:16 + **/ + List listIssueSug(EvaluationListFormDTO formDTO); +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationHistoryServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationHistoryServiceImpl.java new file mode 100644 index 0000000000..1772e9a2e5 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationHistoryServiceImpl.java @@ -0,0 +1,111 @@ +/** + * 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.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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.IssueApplicationHistoryDao; +import com.epmet.dto.IssueApplicationHistoryDTO; +import com.epmet.dto.result.ApplicationHistoryResDTO; +import com.epmet.entity.IssueApplicationHistoryEntity; +import com.epmet.service.IssueApplicationHistoryService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题转议题审核历史表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Service +public class IssueApplicationHistoryServiceImpl extends BaseServiceImpl implements IssueApplicationHistoryService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IssueApplicationHistoryDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IssueApplicationHistoryDTO.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 IssueApplicationHistoryDTO get(String id) { + IssueApplicationHistoryEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IssueApplicationHistoryDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IssueApplicationHistoryDTO dto) { + IssueApplicationHistoryEntity entity = ConvertUtils.sourceToTarget(dto, IssueApplicationHistoryEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IssueApplicationHistoryDTO dto) { + IssueApplicationHistoryEntity entity = ConvertUtils.sourceToTarget(dto, IssueApplicationHistoryEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param issueApplicationId + * @author yinzuomei + * @description 根据issue_application.id查询审核历史 + * @Date 2020/11/18 16:57 + **/ + @Override + public List queryByIssueApplicationId(String issueApplicationId) { + return baseDao.selectListByIssueApplicationId(issueApplicationId); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationServiceImpl.java new file mode 100644 index 0000000000..429bfad66e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationServiceImpl.java @@ -0,0 +1,155 @@ +/** + * 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.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.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.IssueApplicationDao; +import com.epmet.dto.IssueApplicationDTO; +import com.epmet.dto.form.IssueAppQueryFormDTO; +import com.epmet.dto.result.IssueApplicationResDTO; +import com.epmet.entity.IssueApplicationEntity; +import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO; +import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO; +import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO; +import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO; +import com.epmet.service.IssueApplicationService; +import com.github.pagehelper.PageHelper; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题转议题申请表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Service +public class IssueApplicationServiceImpl extends BaseServiceImpl implements IssueApplicationService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IssueApplicationDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IssueApplicationDTO.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 IssueApplicationDTO get(String id) { + IssueApplicationEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IssueApplicationDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IssueApplicationDTO dto) { + IssueApplicationEntity entity = ConvertUtils.sourceToTarget(dto, IssueApplicationEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IssueApplicationDTO dto) { + IssueApplicationEntity entity = ConvertUtils.sourceToTarget(dto, IssueApplicationEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param formDTO + * @return java.util.List + * @author yinzuomei + * @description 分页按条件查询issue_application + * @Date 2020/11/18 16:26 + **/ + @Override + public List listIssueApp(IssueAppQueryFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(),formDTO.getPageSize()); + return baseDao.selectList(formDTO); + } + + /** + * @Description 待审核||已驳回 申请详情 + * @Param applicationDetailFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @Override + public ApplicationDetailResultDTO applicationDetail(ApplicationDetailFormDTO applicationDetailFormDTO) { + ApplicationDetailResultDTO applicationDetailResultDTO = baseDao.applicationDetail(applicationDetailFormDTO); + return applicationDetailResultDTO; + } + + /** + * @Description 话题转议题申请详情- 审核历史查询 + * @Param applicationHistoryFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @Override + public ApplicationHistoryResultDTO applicationHistory(ApplicationHistoryFormDTO applicationHistoryFormDTO) { + return null; + } + + /** + * @Description 待审核||已驳回 申请列表 + * @Param applicationListFormDTO + * @author zxc + * @date 2020/11/17 10:45 上午 + */ + @Override + public List applicationList(ApplicationListFormDTO applicationListFormDTO) { + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueAuditServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueAuditServiceImpl.java new file mode 100644 index 0000000000..b379990021 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueAuditServiceImpl.java @@ -0,0 +1,17 @@ +package com.epmet.service.impl; + +import com.epmet.service.IssueAuditService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @Author zxc + * @DateTime 2020/11/18 下午5:42 + */ +@Service +@Slf4j +public class IssueAuditServiceImpl implements IssueAuditService { + + + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCustomerParameterServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCustomerParameterServiceImpl.java index 1a751ab574..4048fec972 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCustomerParameterServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCustomerParameterServiceImpl.java @@ -23,10 +23,14 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.constant.IssueConstant; import com.epmet.dao.IssueCustomerParameterDao; import com.epmet.dto.IssueCustomerParameterDTO; +import com.epmet.dto.form.ParameterFormDTO; +import com.epmet.dto.result.ParameterResultDTO; import com.epmet.entity.IssueCustomerParameterEntity; import com.epmet.service.IssueCustomerParameterService; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -96,4 +100,67 @@ public class IssueCustomerParameterServiceImpl extends BaseServiceImpl list = baseDao.selectParamByCustomer(formDTO.getCustomerId()); + if (CollectionUtils.isEmpty(list)) { + list = baseDao.selectParamByCustomer("default"); + } + list.forEach(dto -> { + switch (dto.getParameterKey()) { + case IssueConstant.AUDIT_SWITCH: + result.setAuditSwitch(dto.getParameterValue()); + break; + default: + break; + } + }); + return result; + } + + /** + * 议题发布审核-保存 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2020/11/18 17:29 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void reviewSave(ParameterFormDTO formDTO) { + //删除旧配置 + baseDao.deleteParamByCustomer(formDTO.getCustomerId()); + IssueCustomerParameterEntity entity = new IssueCustomerParameterEntity(); + entity.setCustomerId(formDTO.getCustomerId()); + entity.setParameterKey(IssueConstant.AUDIT_SWITCH); + entity.setParameterName(IssueConstant.AUDIT_SWITCH_NAME); + entity.setParameterValue(formDTO.getAuditSwitch()); + insert(entity); + } + + /** + * 议题发布审核-恢复默认 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2020/11/18 17:29 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void reviewDefault(ParameterFormDTO formDTO) { + //删除客户配置 + baseDao.deleteParamByCustomer(formDTO.getCustomerId()); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 94e8afc4cc..f7f68dfc5c 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java @@ -17,7 +17,6 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.IssueConstant; -import com.epmet.constant.OrgInfoConstant; import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.UserMessageConstant; import com.epmet.dao.IssueDao; @@ -35,8 +34,12 @@ import com.epmet.entity.IssueProjectRelationEntity; import com.epmet.feign.*; import com.epmet.redis.GovIssueRedis; import com.epmet.redis.IssueVoteDetailRedis; +import com.epmet.resi.group.dto.group.form.AllIssueFormDTO; import com.epmet.resi.group.dto.group.form.GroupInfoFormDTO; +import com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO; import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; +import com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO; +import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; import com.epmet.resi.group.dto.topic.form.TopicIdListFormDTO; @@ -50,13 +53,13 @@ import com.epmet.service.IssueVoteStatisticalService; import com.epmet.utils.ModuleConstants; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import java.util.*; import java.util.stream.Collectors; @@ -927,4 +930,72 @@ public class IssueServiceImpl extends BaseServiceImpl imp return result; } + /** + * 小组表决中议题 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 14:59 + */ + @Override + public List getVotingListByGroup(AllIssueFormDTO formDTO) { + //查询条件 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + return baseDao.selectVotingListByTopic(formDTO); + } + + /** + * 小组已转项目议题 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 14:59 + */ + @Override + public List getShiftProjectListByGroup(AllIssueFormDTO formDTO) { + List resultList = new ArrayList<>(); + //查询条件 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + List issueList = baseDao.selectShiftIssueByTopic(formDTO); + if (CollectionUtils.isEmpty(issueList)) { + return resultList; + } + //遍历获取所有的议题Id + List issueIds = issueList.stream().map(IssueEntity::getId).collect(Collectors.toList()); + ShiftProjectsFromDTO shiftProjectsFromDTO = new ShiftProjectsFromDTO(); + shiftProjectsFromDTO.setIssueIds(issueIds); + List projectList = govProjectFeignClient.getProjectByIssue(shiftProjectsFromDTO).getData(); + resultList = issueList.stream().flatMap(issue -> projectList.stream().filter(p -> issue.getId().equals(p.getOriginId())).map(project ->{ + GroupShiftProjectListResultDTO shiftProject = new GroupShiftProjectListResultDTO(); + shiftProject.setIssueId(issue.getId()); + shiftProject.setIssueTitle(issue.getIssueTitle()); + shiftProject.setCurrentHandleDepartMent(project.getDepartmentNameList()); + shiftProject.setPublicReply(project.getPublicReply()); + shiftProject.setIssueShiftedTime(project.getCreatedTime().getTime()/NumConstant.ONE_THOUSAND); + shiftProject.setProjectStatus(project.getStatus()); + return shiftProject; + })).collect(Collectors.toList()); + return resultList; + } + + /** + * 小组已关闭议题 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/11/17 14:59 + */ + @Override + public List getClosedListByGroup(AllIssueFormDTO formDTO) { + //查询条件 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + return baseDao.selectClosedListByTopic(formDTO); + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSuggestionServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSuggestionServiceImpl.java new file mode 100644 index 0000000000..bbf037ea80 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSuggestionServiceImpl.java @@ -0,0 +1,173 @@ +/** + * 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.service.impl; + +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.scan.param.TextScanParamDTO; +import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.ScanContentUtils; +import com.epmet.dao.IssueSuggestionDao; +import com.epmet.dao.IssueVoteDetailDao; +import com.epmet.dto.IssueDTO; +import com.epmet.dto.IssueSuggestionDTO; +import com.epmet.dto.IssueVoteDetailDTO; +import com.epmet.dto.form.EvaluationListFormDTO; +import com.epmet.dto.form.UserIssueSuggestionFormDTO; +import com.epmet.dto.form.UserResiInfoListFormDTO; +import com.epmet.dto.result.IssueSuggestionResDTO; +import com.epmet.dto.result.SaveIssueSuggestionResultDTO; +import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.entity.IssueSuggestionEntity; +import com.epmet.feign.EpmetUserFeignClient; +import com.epmet.service.IssueService; +import com.epmet.service.IssueSuggestionService; +import com.github.pagehelper.PageHelper; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * 居民端用户对议题建议或意见表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-18 + */ +@Slf4j +@Service +public class IssueSuggestionServiceImpl extends BaseServiceImpl implements IssueSuggestionService { + @Autowired + private IssueService issueService; + @Value("${openapi.scan.server.url}") + private String scanApiUrl; + @Value("${openapi.scan.method.textSyncScan}") + private String textSyncScanMethod; + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + @Autowired + private IssueVoteDetailDao issueVoteDetailDao; + + /** + * @param formDTO + * @author yinzuomei + * @description 查询用户对于某个议题的想法 返回一条记录 + * @Date 2020/11/18 10:12 + **/ + @Override + public IssueSuggestionDTO queryUserIssueSuggestion(UserIssueSuggestionFormDTO formDTO) { + return baseDao.selectUserIssueSuggestion(formDTO); + } + + /** + * @param dto + * @author yinzuomei + * @description 保存居民端用户对议题的建议或意见 + * @Date 2020/11/18 13:16 + **/ + @Override + public SaveIssueSuggestionResultDTO saveIssueSuggestion(IssueSuggestionDTO dto) { + //是否表决过 + IssueVoteDetailDTO issueVoteDetailDTO = issueVoteDetailDao.selectUserIssueDet(dto.getCreatedBy(), dto.getIssueId()); + if(null==issueVoteDetailDTO){ + throw new RenException(EpmetErrorCode.VOTE_ISSUE_PLEASE.getCode()); + } + //校验建议内容 + TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); + TextTaskDTO taskDTO = new TextTaskDTO(); + taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); + taskDTO.setContent(dto.getSuggestion()); + textScanParamDTO.getTasks().add(taskDTO); + Result textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + log.warn("居民端用户对议题发表建议,内容审核服务返回失败"); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); + } + } + //赋值网格id + IssueDTO issueDTO = issueService.get(dto.getIssueId()); + if (null == issueDTO) { + throw new RenException(String.format("根据议题id%s,没有找到议题信息", dto.getIssueId())); + } + dto.setGridId(issueDTO.getGridId()); + dto.setCustomerId(issueDTO.getCustomerId()); + //插入 + IssueSuggestionEntity entity = ConvertUtils.sourceToTarget(dto, IssueSuggestionEntity.class); + insert(entity); + SaveIssueSuggestionResultDTO resultDTO = new SaveIssueSuggestionResultDTO(); + resultDTO.setIssueId(dto.getIssueId()); + resultDTO.setSuggestionId(entity.getId()); + return resultDTO; + } + + /** + * @param formDTO + * @author yinzuomei + * @description 议题建议列表 + * @Date 2020/11/18 14:16 + **/ + @Override + public List listIssueSug(EvaluationListFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.selectListIssueSugByIssueId(formDTO.getIssueId()); + //用户信息公开的userId集合 + Set userIds = new HashSet<>(); + list.forEach(issueSuggestion -> { + if (issueSuggestion.getPublicFlag()) { + userIds.add(issueSuggestion.getUserId()); + } + IssueVoteDetailDTO issueVoteDetailDTO = issueVoteDetailDao.selectUserIssueDet(issueSuggestion.getUserId(), formDTO.getIssueId()); + issueSuggestion.setAititude(null != issueVoteDetailDTO ? issueVoteDetailDTO.getAttitude() : StrConstant.EPMETY_STR); + }); + //查询这部分人的基本信息 + if (!CollectionUtils.isEmpty(userIds)) { + Result> userInfoRes = epmetUserFeignClient.getUserResiInfoList(new UserResiInfoListFormDTO(new ArrayList<>(userIds))); + if (userInfoRes.success() && !CollectionUtils.isEmpty(userInfoRes.getData())) { + Map userBaseInfoMap = userInfoRes.getData().stream().collect(Collectors.toMap(UserResiInfoResultDTO::getUserId, Function.identity())); + //赋值 + list.forEach(issueSuggestionInfo -> { + if (issueSuggestionInfo.getPublicFlag()) { + UserResiInfoResultDTO userInfo = userBaseInfoMap.get(issueSuggestionInfo.getUserId()); + if (null != userInfo && StringUtils.isNotBlank(userInfo.getHeadPhoto())) { + issueSuggestionInfo.setHeadPhoto(userInfo.getHeadPhoto()); + } + if (null != userInfo && StringUtils.isNotBlank(userInfo.getShowName())) { + issueSuggestionInfo.setUserShowName(userInfo.getShowName()); + } + } + }); + } + } + return list; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.2__issue_audit_tables.sql b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.2__issue_audit_tables.sql new file mode 100644 index 0000000000..93f8c2338e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.2__issue_audit_tables.sql @@ -0,0 +1,37 @@ +drop table if exists issue_application; +CREATE TABLE `issue_application` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID', + `ISSUE_TITLE` varchar(128) NOT NULL COMMENT '议题名称 ', + `SUGGESTION` varchar(1024) NOT NULL COMMENT '建议', + `APPLY_STATUS` varchar(32) NOT NULL COMMENT '审核状态:under_auditing:待审核;approved:通过;rejected:驳回', + `TOPIC_ID` varchar(32) NOT NULL COMMENT '话题id', + `GROUP_ID` varchar(64) NOT NULL COMMENT '小组id', + `GRID_ID` varchar(32) NOT NULL COMMENT '网格ID 居民端议题对应一个网格Id', + `ISSUE_ID` varchar(64) DEFAULT NULL COMMENT '审核通过后对应的 议题id', + `PASSED_REASON` varchar(1024) DEFAULT NULL COMMENT '审核通过时填写的理由', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 0未删除、1已删除', + `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='话题转议题申请表'; + +drop table if exists issue_application_history; +CREATE TABLE `issue_application_history` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID', + `ISSUE_APPLICATION_ID` varchar(64) NOT NULL COMMENT '话题转议题申请表 issue_application.id', + `ACTION_TYPE` varchar(32) NOT NULL COMMENT 'under_auditing:提交审核;\r\napproved:审核通过,\r\nrejected:驳回', + `REASON` varchar(1024) DEFAULT NULL COMMENT '审核时的说明', + `STAFF_NAME` varchar(255) DEFAULT NULL COMMENT '工作端人员姓名', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识:0 未删除 1已删除', + `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人 提交人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '修改人ID', + `UPDATED_TIME` datetime NOT NULL COMMENT '修改时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='话题转议题审核历史表'; \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.3__issue_sugg_tables.sql b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.3__issue_sugg_tables.sql new file mode 100644 index 0000000000..0ee88d49d5 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.3__issue_sugg_tables.sql @@ -0,0 +1,16 @@ +drop table if exists issue_suggestion; +CREATE TABLE `issue_suggestion` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id customer.id', + `ISSUE_ID` varchar(64) NOT NULL COMMENT '议题id', + `GRID_ID` varchar(64) NOT NULL COMMENT '议题所属网格id', + `SUGGESTION` varchar(512) NOT NULL COMMENT '对议题的想法', + `PUBLIC_FLAG` tinyint(1) NOT NULL COMMENT '1公开; 0匿名', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识:0 未删除 1已删除', + `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '提建议的人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '修改人ID', + `UPDATED_TIME` datetime NOT NULL COMMENT '修改时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='居民端用户对议题建议或意见表'; \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationDao.xml new file mode 100644 index 0000000000..3aec4d75bc --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationDao.xml @@ -0,0 +1,42 @@ + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationHistoryDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationHistoryDao.xml new file mode 100644 index 0000000000..e3bc84fc2a --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationHistoryDao.xml @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueCustomerParameterDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueCustomerParameterDao.xml index d0934a775e..f4fd66235a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueCustomerParameterDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueCustomerParameterDao.xml @@ -17,6 +17,18 @@ + + DELETE FROM issue_customer_parameter + WHERE CUSTOMER_ID = #{customerId} + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml index 21a7eddace..7eeb9a28f7 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml @@ -377,6 +377,69 @@ del_flag = 0 AND source_id = #{topicId} + + + + + SELECT + * + FROM + issue_suggestion i + WHERE + i.DEL_FLAG = '0' + AND i.ISSUE_ID = #{issueId} + AND i.CREATED_BY=#{userId} + + + + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml index d5f4e8bc80..ff7d88384a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml @@ -103,4 +103,16 @@ ORDER BY i.CREATED_TIME DESC + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ParameterFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ParameterFormDTO.java new file mode 100644 index 0000000000..d05c1c520c --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ParameterFormDTO.java @@ -0,0 +1,56 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/18 15:00 + */ +@NoArgsConstructor +@Data +public class ParameterFormDTO implements Serializable { + + private static final long serialVersionUID = 6943367994919967821L; + /** + * 客户ID + */ + @NotBlank(message = "客户ID不能为空", groups = DefaultGroup.class) + private String customerId; + /** + * 可滞留天数 + */ + @NotBlank(message = "可滞留天数不能为空", groups = AddGroup.class) + private String detentionDays; + /** + * 计算方式 工作日work 日历天calendar + */ + @NotBlank(message = "计算方式 不能为空", groups = AddGroup.class) + private String calculation; + /** + * 即将超期提醒时间 + */ + @NotBlank(message = "即将超期提醒时间不能为空", groups = AddGroup.class) + private String remindTime; + /** + * 推送时间 默认 上午8点 + */ + @NotBlank(message = "推送时间不能为空", groups = AddGroup.class) + private String pushTime; + /** + * 设定核算单位天开始时间 + */ + @NotBlank(message = "设定核算单位天开始时间不能为空", groups = AddGroup.class) + private String startTime; + /** + * 设定核算单位天结束时间 + */ + @NotBlank(message = "设定核算单位天结束时间不能为空", groups = AddGroup.class) + private String endTime; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ParameterResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ParameterResultDTO.java new file mode 100644 index 0000000000..00d2cee217 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ParameterResultDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/18 15:19 + */ +@Data +public class ParameterResultDTO implements Serializable { + private static final long serialVersionUID = -2066374948905858262L; + /** + * 可滞留天数 + */ + private String detentionDays; + /** + * 计算方式 工作日work 日历天calendar + */ + private String calculation; + /** + * 即将超期提醒时间 + */ + private String remindTime; + /** + * 推送时间 默认 上午8点 + */ + private String pushTime; + /** + * 设定核算单位天开始时间 + */ + private String startTime; + /** + * 设定核算单位天结束时间 + */ + private String endTime; +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java index 2d5ae69fbb..57564203de 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java @@ -11,17 +11,17 @@ public interface ParameterKeyConstant { * 可滞留天数 */ String DETENTION_DAYS = "detention_days"; - + String DETENTION_DAYS_NAME = "可滞留天数"; /** * 计算方式 */ String CALCULATION = "calculation"; + String CALCULATION_NAME = "计算方式"; /** * 计算方式-工作日 */ String WORK = "work"; - /** * 计算方式-日历天 */ @@ -31,14 +31,26 @@ public interface ParameterKeyConstant { * 即将超期提醒时间 */ String REMIND_TIME = "remind_time"; + String REMIND_TIME_NAME = "即将超期提醒时间"; /** * 推送时间 */ String PUSH_TIME = "push_time"; + String PUSH_TIME_NAME = "推送时间"; /** * 起止时间 */ String START_AND_END_TIME = "start_and_end_time"; + /** + * 设定核算单位天开始时间 + */ + String START_TIME = "start_time"; + String START_TIME_NAME = "设定核算单位天开始时间"; + /** + * 设定核算单位天结束时间 + */ + String END_TIME = "end_time"; + String END_TIME_NAME = "设定核算单位天结束时间"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.java index 93139cfa21..e9b60a9a4c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.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.CustomerProjectParameterDTO; +import com.epmet.dto.form.ParameterFormDTO; +import com.epmet.dto.result.ParameterResultDTO; import com.epmet.excel.CustomerProjectParameterExcel; import com.epmet.service.CustomerProjectParameterService; import org.springframework.beans.factory.annotation.Autowired; @@ -43,7 +45,7 @@ import java.util.Map; * @since v1.0.0 2020-05-11 */ @RestController -@RequestMapping("customerprojectparameter") +@RequestMapping("parameter") public class CustomerProjectParameterController { @Autowired @@ -91,4 +93,46 @@ public class CustomerProjectParameterController { ExcelUtils.exportExcelToTarget(response, null, list, CustomerProjectParameterExcel.class); } + /** + * 滞留提醒-初始化 + * @author zhaoqifeng + * @date 2020/11/18 15:26 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("remindinit") + public Result remindInit(@RequestBody ParameterFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, DefaultGroup.class); + ParameterResultDTO result = customerProjectParameterService.remindInit(formDTO); + return new Result().ok(result); + } + + /** + * 滞留提醒-保存 + * @author zhaoqifeng + * @date 2020/11/18 15:26 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("remindsave") + public Result remindSave(@RequestBody ParameterFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, UpdateGroup.class, DefaultGroup.class); + customerProjectParameterService.remindSave(formDTO); + return new Result(); + } + + /** + * 滞留提醒-恢复默认 + * @author zhaoqifeng + * @date 2020/11/18 15:26 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("reminddefault") + public Result remindDefault(@RequestBody ParameterFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, DefaultGroup.class); + customerProjectParameterService.remindDefault(formDTO); + return new Result(); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java index 349b07308b..f7ae09d16e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java @@ -70,4 +70,13 @@ public interface CustomerProjectParameterDao extends BaseDao list = getParameterByCustomer(formDTO.getCustomerId()); + if (CollectionUtils.isEmpty(list)) { + list = getParameterByCustomer("default"); + } + list.forEach(dto -> { + switch (dto.getParameterKey()) { + case ParameterKeyConstant.DETENTION_DAYS: + result.setDetentionDays(dto.getParameterValue()); + break; + case ParameterKeyConstant.CALCULATION: + result.setCalculation(dto.getParameterValue()); + break; + case ParameterKeyConstant.REMIND_TIME: + result.setRemindTime(dto.getParameterValue()); + break; + case ParameterKeyConstant.PUSH_TIME: + result.setPushTime(dto.getParameterValue()); + break; + case ParameterKeyConstant.START_TIME: + result.setStartTime(dto.getParameterValue()); + break; + case ParameterKeyConstant.END_TIME: + result.setEndTime(dto.getParameterValue()); + break; + default: + break; + } + }); + return result; + } + + /** + * 滞留提醒-保存 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2020/11/18 15:33 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void remindSave(ParameterFormDTO formDTO) { + List list = new ArrayList<>(); + //删除旧数据 + baseDao.deleteByCustomer(formDTO.getCustomerId()); + //可滞留天数 + CustomerProjectParameterEntity detentionDays = new CustomerProjectParameterEntity(); + detentionDays.setCustomerId(formDTO.getCustomerId()); + detentionDays.setParameterKey(ParameterKeyConstant.DETENTION_DAYS); + detentionDays.setParameterValue(formDTO.getDetentionDays()); + detentionDays.setParameterName(ParameterKeyConstant.DETENTION_DAYS_NAME); + list.add(detentionDays); + //计算方式 工作日work 日历天calendar + CustomerProjectParameterEntity calculation = new CustomerProjectParameterEntity(); + calculation.setCustomerId(formDTO.getCustomerId()); + calculation.setParameterKey(ParameterKeyConstant.CALCULATION); + calculation.setParameterValue(formDTO.getCalculation()); + calculation.setParameterName(ParameterKeyConstant.CALCULATION_NAME); + list.add(calculation); + //即将超期提醒时间 + CustomerProjectParameterEntity remindTime = new CustomerProjectParameterEntity(); + remindTime.setCustomerId(formDTO.getCustomerId()); + remindTime.setParameterKey(ParameterKeyConstant.REMIND_TIME); + remindTime.setParameterValue(formDTO.getRemindTime()); + remindTime.setParameterName(ParameterKeyConstant.REMIND_TIME_NAME); + list.add(remindTime); + //推送时间 + CustomerProjectParameterEntity pushTime = new CustomerProjectParameterEntity(); + pushTime.setCustomerId(formDTO.getCustomerId()); + pushTime.setParameterKey(ParameterKeyConstant.PUSH_TIME); + pushTime.setParameterValue(formDTO.getPushTime()); + pushTime.setParameterName(ParameterKeyConstant.PUSH_TIME_NAME); + list.add(pushTime); + //设定核算单位天开始时间 + CustomerProjectParameterEntity startTime = new CustomerProjectParameterEntity(); + startTime.setCustomerId(formDTO.getCustomerId()); + startTime.setParameterKey(ParameterKeyConstant.START_TIME); + startTime.setParameterValue(formDTO.getStartTime()); + startTime.setParameterName(ParameterKeyConstant.START_TIME_NAME); + list.add(startTime); + //设定核算单位天结束时间 + CustomerProjectParameterEntity endTime = new CustomerProjectParameterEntity(); + endTime.setCustomerId(formDTO.getCustomerId()); + endTime.setParameterKey(ParameterKeyConstant.END_TIME); + endTime.setParameterValue(formDTO.getEndTime()); + endTime.setParameterName(ParameterKeyConstant.END_TIME_NAME); + list.add(endTime); + insertBatch(list); + + } + + /** + * 滞留提醒-恢复默认 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2020/11/18 15:33 + */ + @Override + public void remindDefault(ParameterFormDTO formDTO) { + //删除配置 + baseDao.deleteByCustomer(formDTO.getCustomerId()); + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml index 51e132a61c..b81ddc5945 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml @@ -17,6 +17,9 @@ + + DELETE FROM customer_project_parameter WHERE CUSTOMER_ID = #{customerId} + + + + + + + + + + + + + + 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 16db55e31f..043773853f 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 @@ -520,5 +520,12 @@ AND rt.CREATED_BY != #{userId} AND rtc.CREATED_BY = #{userId} + diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/PublishSuggestionFormDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/PublishSuggestionFormDTO.java new file mode 100644 index 0000000000..5cd1304705 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/PublishSuggestionFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 居民端-议题发表建议 入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 12:35 + */ +@Data +public class PublishSuggestionFormDTO implements Serializable { + private static final long serialVersionUID = 2545427013095892610L; + + public interface AddUserInternalGroup { + } + + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + + @NotBlank(message = "议题id不能为空", groups = {AddUserInternalGroup.class}) + private String issueId; + + @NotBlank(message = "是否匿名不能为空", groups = {AddUserInternalGroup.class}) + private Boolean publicFlag; + + @Length(max = 500, message = "内容不能超过500字", groups = {AddUserShowGroup.class}) + private String suggestion; +} 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 0d95ff6c84..f1c2ee1f83 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 @@ -60,5 +60,13 @@ public class IssueDetailResultDTO implements Serializable { */ private String projectId = ""; + /** + * 对议题的想法 + */ + private String issueIdea; + /** + * true已发表过想法,false未发表想法 + */ + private Boolean publishIdeaFlag; } diff --git a/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/PublishSuggestionResultDTO.java b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/PublishSuggestionResultDTO.java new file mode 100644 index 0000000000..83e1359265 --- /dev/null +++ b/epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/PublishSuggestionResultDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 居民端-议题发表建议 返参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/18 13:08 + */ +@Data +public class PublishSuggestionResultDTO implements Serializable { + private static final long serialVersionUID = -2752255960631605369L; + private String issueId; + /** + * issue_suggestion表主键 + */ + private String suggestionId; + + public PublishSuggestionResultDTO(String issueId, String suggestionId) { + this.issueId = issueId; + this.suggestionId = suggestionId; + } +} 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 a20d0e61bc..243236c3c5 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 @@ -1,8 +1,6 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; -import com.epmet.commons.tools.annotation.RequirePermission; -import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -222,5 +220,17 @@ public class IssueController { return new Result>().ok(issueService.processList(issueId)); } + /** + * @param formDTO + * @author yinzuomei + * @description 居民端-议题发表建议 + * @Date 2020/11/18 13:09 + **/ + @PostMapping("publishsuggestion") + public Result publisSuggestion(@RequestBody PublishSuggestionFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,PublishSuggestionFormDTO.AddUserShowGroup.class,PublishSuggestionFormDTO.AddUserInternalGroup.class); + PublishSuggestionResultDTO resultDTO=issueService.publisSuggestion(formDTO); + return new Result().ok(resultDTO); + } } 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 d71c3e4b03..32f20b43f6 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 @@ -1,11 +1,9 @@ package com.epmet.service; -import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -112,4 +110,11 @@ public interface IssueService { */ List getShiftProjectList(ShiftProjectListFromDTO formDTO); + /** + * @param formDTO + * @author yinzuomei + * @description 居民端-议题发表建议 + * @Date 2020/11/18 13:11 + **/ + PublishSuggestionResultDTO publisSuggestion(PublishSuggestionFormDTO formDTO); } diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java b/epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java index 0551eb8423..09275542f6 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 @@ -1,11 +1,14 @@ package com.epmet.service.impl; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constat.HallConstat; +import com.epmet.dto.IssueSuggestionDTO; import com.epmet.dto.form.CheckVoteFormDTO; import com.epmet.dto.TopicInfoDTO; import com.epmet.dto.form.*; @@ -38,6 +41,10 @@ public class IssueServiceImpl implements IssueService { private GovIssueFeignClient govIssueFeignClient; @Autowired private GovProjectFeignClient govProjectFeignClient; + @Autowired + private GovIssueOpenFeignClient govIssueOpenFeignClient; + @Autowired + private LoginUserUtil loginUserUtil; /** * @param issueDetail @@ -96,6 +103,14 @@ public class IssueServiceImpl implements IssueService { //已关闭议题,无需判断 issueDetailResult.setProjectStatus(true); } + Result issueSuggestionDTOResult=govIssueOpenFeignClient.queryIssueSuggestion(new UserIssueSuggestionFormDTO(loginUserUtil.getLoginUserId(),issueDetail.getIssueId())); + if(!issueSuggestionDTOResult.success()||null==issueSuggestionDTOResult.getData()){ + issueDetailResult.setPublishIdeaFlag(false); + issueDetailResult.setIssueIdea(StrConstant.EPMETY_STR); + }else{ + issueDetailResult.setPublishIdeaFlag(true); + issueDetailResult.setIssueIdea(issueSuggestionDTOResult.getData().getSuggestion()); + } return issueDetailResult; } @@ -285,6 +300,26 @@ public class IssueServiceImpl implements IssueService { return resultList; } + /** + * @param formDTO + * @author yinzuomei + * @description 居民端-议题发表建议 + * @Date 2020/11/18 13:11 + **/ + @Override + public PublishSuggestionResultDTO publisSuggestion(PublishSuggestionFormDTO formDTO) { + IssueSuggestionDTO issueSuggestionDTO = new IssueSuggestionDTO(); + issueSuggestionDTO.setSuggestion(formDTO.getSuggestion()); + issueSuggestionDTO.setIssueId(formDTO.getIssueId()); + issueSuggestionDTO.setPublicFlag(formDTO.getPublicFlag() == true ? NumConstant.ONE : NumConstant.ZERO); + issueSuggestionDTO.setCreatedBy(loginUserUtil.getLoginUserId()); + Result result = govIssueOpenFeignClient.saveIssueSuggestion(issueSuggestionDTO); + if (result.success() && null != result.getData()) { + return new PublishSuggestionResultDTO(result.getData().getIssueId(), result.getData().getSuggestionId()); + } + throw new RenException(result.getCode()); + } + /** * @Description 议题处理进展 * @param issueId diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index f4b17b3273..c00489bcc6 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -201,6 +201,7 @@ SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + https://epmet-dev.elinkservice.cn/api/epmetscan/api diff --git a/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml b/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml index d7cb1de17c..93f25519e6 100644 --- a/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml +++ b/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml @@ -144,4 +144,5 @@ openapi: url: @openapi.scan.server.url@ method: imgSyncScan: /imgSyncScan - textSyncScan: /textSyncScan \ No newline at end of file + textSyncScan: /textSyncScan +