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 @@
+
+
+
+
+
+
+ SELECT
+ ID AS issueApplicationId,
+ ISSUE_TITLE,
+ GRID_ID,
+ topic_id,
+ CREATED_BY AS userId,
+ suggestion AS issueSuggestion
+ FROM issue_application
+ WHERE DEL_FLAG = '0'
+ AND ID = #{issueApplicationId}
+
+
+
+ SELECT
+ ia.id AS issueApplicationId,
+ ia.ISSUE_TITLE,
+ unix_timestamp( ia.UPDATED_TIME ) AS latestTime
+ ia.SUGGESTION,
+ ia.APPLY_STATUS
+ FROM
+ issue_application ia
+ WHERE
+ ia.DEL_FLAG = '0'
+
+ AND ia.APPLY_STATUS = #{applyStatus}
+
+
+ AND ia.GRID_ID = #{gridId}
+
+
+ AND ia.GROUP_ID = #{groupId}
+
+ ORDER BY
+ ia.UPDATED_TIME DESC
+
+
\ 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 @@
+
+
+
+
+
+
+ SELECT
+ iah.ID as historyId,
+ iah.ACTION_TYPE,
+ unix_timestamp( iah.CREATED_TIME ) AS operateTime,
+ iah.REASON,
+ iah.STAFF_NAME
+ FROM
+ issue_application_history iah
+ WHERE
+ iah.DEL_FLAG = '0'
+ AND iah.ISSUE_APPLICATION_ID = #{issueApplicationId}
+ ORDER BY
+ iah.CREATED_TIME DESC
+
+
+
\ 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}
+
+
+ SELECT PARAMETER_KEY,
+ PARAMETER_NAME,
+ PARAMETER_VALUE
+ 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
+ WHERE
+ DEL_FLAG = '0'
+ AND GRID_ID = #{gridId}
+ AND ISSUE_STATUS = 'shift_project'
+ ORDER BY UPDATED_TIME DESC
+
+
+ SELECT
+ ID,
+ IFNULL(ISSUE_TITLE, '') AS issueTitle
+ FROM
+ issue
+ WHERE
+ DEL_FLAG = '0'
+ AND SOURCE_TYPE = 'resi_topic'
+
+ SOURCE_ID = #{topic}
+
+ AND ISSUE_STATUS = 'shift_project'
+ ORDER BY UPDATED_TIME DESC
+ LIMIT #{pageNo}, #{pageSize}
+
+
+ SELECT
+ ID AS "issueId",
+ IFNULL(ISSUE_TITLE, '') AS "issueTitle",
+ UNIX_TIMESTAMP( CREATED_TIME ) AS "issuePublishTime",
+ IFNULL(SUGGESTION, '') AS "suggestion"
+ FROM
+ issue
+ WHERE
+ DEL_FLAG = '0'
+ AND SOURCE_TYPE = 'resi_topic'
+
+ SOURCE_ID = #{topic}
+
+ AND ISSUE_STATUS = 'voting'
+ ORDER BY CREATED_TIME DESC
+ LIMIT #{pageNo}, #{pageSize}
+
+
+ SELECT
+ ID AS "issueId",
+ IFNULL(ISSUE_TITLE, '') AS "issueTitle",
+ IFNULL(CLOSE_REASON, '') AS "solution",
+ UNIX_TIMESTAMP( UPDATED_TIME ) AS "issueClosedTime"
+ FROM
+ issue
+ WHERE
+ DEL_FLAG = '0'
+ AND SOURCE_TYPE = 'resi_topic'
+
+ SOURCE_ID = #{topic}
+
+ AND ISSUE_STATUS = 'closed'
+ ORDER BY UPDATED_TIME DESC
+ LIMIT #{pageNo}, #{pageSize}
+
diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSuggestionDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSuggestionDao.xml
new file mode 100644
index 0000000000..c3bd6f3f31
--- /dev/null
+++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSuggestionDao.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+ SELECT
+ *
+ FROM
+ issue_suggestion i
+ WHERE
+ i.DEL_FLAG = '0'
+ AND i.ISSUE_ID = #{issueId}
+ AND i.CREATED_BY=#{userId}
+
+
+
+
+ SELECT
+ ig.id AS suggestionId,
+ ig.SUGGESTION,
+ unix_timestamp(ig.CREATED_TIME)AS publishTime,
+ ig.PUBLIC_FLAG AS publicFlag,
+ '' AS headPhoto,
+ '' AS userShowName,
+ '' AS aititude,
+ ig.CREATED_BY AS userId
+ FROM
+ issue_suggestion ig
+ WHERE
+ ig.DEL_FLAG = '0'
+ AND ig.ISSUE_ID =#{issueId}
+ ORDER BY
+ ig.CREATED_TIME DESC
+
+
\ 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
+
+
+
+ SELECT
+ *
+ FROM
+ issue_vote_detail ivd
+ WHERE
+ ivd.DEL_FLAG = '0'
+ AND ivd.ISSUE_ID =#{issueId}
+ AND ivd.CREATED_BY =#{userId}
+
\ 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}
+
select
PARAMETER_VALUE
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllIssueFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllIssueFormDTO.java
new file mode 100644
index 0000000000..10720f194d
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllIssueFormDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.resi.group.dto.group.form;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/11/17 10:25
+ */
+@NoArgsConstructor
+@Data
+public class AllIssueFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 9033824126731443502L;
+ /**
+ * 小组ID
+ */
+ @NotBlank(message = "小组id不能为空")
+ private String groupId;
+ private Integer pageNo = 1;
+ private Integer pageSize = 20;
+ private List topicIds;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationDetailFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationDetailFormDTO.java
new file mode 100644
index 0000000000..8dcccb0eae
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationDetailFormDTO.java
@@ -0,0 +1,24 @@
+package com.epmet.resi.group.dto.group.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/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationHistoryFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationHistoryFormDTO.java
new file mode 100644
index 0000000000..bd48421ca7
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationHistoryFormDTO.java
@@ -0,0 +1,24 @@
+package com.epmet.resi.group.dto.group.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/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationListFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationListFormDTO.java
new file mode 100644
index 0000000000..f1fad6d1fc
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationListFormDTO.java
@@ -0,0 +1,43 @@
+package com.epmet.resi.group.dto.group.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/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailCopyResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailCopyResultDTO.java
new file mode 100644
index 0000000000..49aed62fe9
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailCopyResultDTO.java
@@ -0,0 +1,51 @@
+package com.epmet.resi.group.dto.group.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/11/17 10:12 上午
+ */
+@Data
+public class ApplicationDetailCopyResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1121268898544759693L;
+
+ /**
+ * 申请ID
+ */
+ private String issueApplicationId;
+
+ /**
+ * 议题标题
+ */
+ private String issueTitle;
+
+ /**
+ * 所属网格名称
+ */
+ private String gridName;
+
+ /**
+ * 议题发起人
+ */
+ private String issuePublisher;
+
+ private String issueSuggestion;
+
+ /**
+ * 话题相关信息
+ */
+ private TopicInfoResultDTO topicInfo;
+
+ public ApplicationDetailCopyResultDTO() {
+ this.issueApplicationId = "";
+ this.issueTitle = "";
+ this.gridName = "";
+ this.issueSuggestion = "";
+ this.issuePublisher = "";
+ this.topicInfo = new TopicInfoResultDTO();
+ }
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailResultDTO.java
new file mode 100644
index 0000000000..fb92ad47cf
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailResultDTO.java
@@ -0,0 +1,56 @@
+package com.epmet.resi.group.dto.group.result;
+
+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 issueSuggestion;
+
+ private String gridId;
+
+ private String topicId;
+
+ private String userId;
+
+ public ApplicationDetailResultDTO() {
+ this.issueApplicationId = "";
+ this.issueTitle = "";
+ this.gridName = "";
+ this.issuePublisher = "";
+ this.topicInfo = new TopicInfoResultDTO();
+ }
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationHistoryResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationHistoryResultDTO.java
new file mode 100644
index 0000000000..d2ebeb7986
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationHistoryResultDTO.java
@@ -0,0 +1,43 @@
+package com.epmet.resi.group.dto.group.result;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+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;
+
+ /**
+ * 工作人员姓名;居民端不展示此列
+ */
+ @JsonIgnore
+ private String staffName;
+
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationListResultDTO.java
new file mode 100644
index 0000000000..abc332d84c
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationListResultDTO.java
@@ -0,0 +1,48 @@
+package com.epmet.resi.group.dto.group.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 latestTime;
+
+ /**
+ * 审核状态。under_auditing:审核中,approved:通过,rejected:驳回
+ */
+ private String applyStatus;
+
+ public ApplicationListResultDTO() {
+ this.issueTitle = "";
+ this.suggestion = "";
+ this.latestTime = NumConstant.ZERO_L;
+ this.applyStatus = "";
+ }
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupClosedListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupClosedListResultDTO.java
new file mode 100644
index 0000000000..619fba8322
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupClosedListResultDTO.java
@@ -0,0 +1,34 @@
+package com.epmet.resi.group.dto.group.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/11/17 11:02
+ */
+@NoArgsConstructor
+@Data
+public class GroupClosedListResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 3152596066530973548L;
+ /**
+ * 议题ID
+ */
+ private String issueId;
+ /**
+ * 议题标题
+ */
+ private String issueTitle;
+ /**
+ * 议题关闭时间 时间戳
+ */
+ private Long issueClosedTime;
+ /**
+ * 解决方案
+ */
+ private String solution;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupShiftProjectListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupShiftProjectListResultDTO.java
new file mode 100644
index 0000000000..cbfba00fe3
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupShiftProjectListResultDTO.java
@@ -0,0 +1,43 @@
+package com.epmet.resi.group.dto.group.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/11/17 10:58
+ */
+@NoArgsConstructor
+@Data
+public class GroupShiftProjectListResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 4338078715001777226L;
+ /**
+ * 议题ID
+ */
+ private String issueId;
+ /**
+ * 议题标题
+ */
+ private String issueTitle;
+ /**
+ * 议题转成项目时间
+ */
+ private Long issueShiftedTime;
+ /**
+ * 项目状态: 待处理 pending,结案closed
+ */
+ private String projectStatus;
+ /**
+ * 结案说明
+ */
+ private String publicReply;
+ /**
+ * 当前处理部门名称数组
+ */
+ private List currentHandleDepartMent;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupVotingListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupVotingListResultDTO.java
new file mode 100644
index 0000000000..974cbce685
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupVotingListResultDTO.java
@@ -0,0 +1,34 @@
+package com.epmet.resi.group.dto.group.result;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/11/17 10:51
+ */
+@NoArgsConstructor
+@Data
+public class GroupVotingListResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -3401194563187510106L;
+ /**
+ * 议题ID
+ */
+ private String issueId;
+ /**
+ * 议题标题
+ */
+ private String issueTitle;
+ /**
+ * 议题发表时间
+ */
+ private Long issuePublishTime;
+ /**
+ * 建议处理方式(群主转议题时填写的)
+ */
+ private String suggestion;
+}
diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java
new file mode 100644
index 0000000000..f348482143
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java
@@ -0,0 +1,55 @@
+package com.epmet.resi.group.dto.group.result;
+
+import com.epmet.commons.tools.constant.NumConstant;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+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;
+
+ @JsonIgnore
+ private String topicUserId;
+
+ public TopicInfoResultDTO() {
+ this.topicId = "";
+ this.publishedUser = "";
+ this.publishedTime = NumConstant.ZERO_L;
+ this.topicContent = "";
+ this.topicImgs = new ArrayList<>();
+ }
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/GroupIssueController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/GroupIssueController.java
new file mode 100644
index 0000000000..242363c794
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/GroupIssueController.java
@@ -0,0 +1,114 @@
+package com.epmet.modules.group.controller;
+
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.commons.tools.validator.ValidatorUtils;
+import com.epmet.modules.group.service.GroupIssueService;
+import com.epmet.resi.group.dto.group.form.AllIssueFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO;
+import com.epmet.resi.group.dto.group.result.ApplicationDetailCopyResultDTO;
+import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO;
+import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO;
+import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO;
+import com.epmet.resi.group.dto.group.result.*;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+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 zhaoqifeng
+ * @dscription
+ * @date 2020/11/17 10:15
+ */
+@Slf4j
+@RestController
+@RequestMapping("groupissue")
+public class GroupIssueController {
+ @Autowired
+ private GroupIssueService groupIssueService;
+
+ /**
+ * @Description 待审核||已驳回 申请详情
+ * @Param applicationDetailFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ @PostMapping("applicationdetail")
+ public Result applicationDetail(@RequestBody ApplicationDetailFormDTO applicationDetailFormDTO){
+ ValidatorUtils.validateEntity(applicationDetailFormDTO, ApplicationDetailFormDTO.ApplicationDetail.class);
+ return new Result().ok(groupIssueService.applicationDetail(applicationDetailFormDTO));
+ }
+
+ /**
+ * @Description 话题转议题申请详情- 审核历史查询
+ * @Param applicationHistoryFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ @PostMapping("applicationhistory")
+ public Result> applicationHistory(@RequestBody ApplicationHistoryFormDTO applicationHistoryFormDTO){
+ ValidatorUtils.validateEntity(applicationHistoryFormDTO, ApplicationHistoryFormDTO.ApplicationHistory.class);
+ return new Result>().ok(groupIssueService.applicationHistory(applicationHistoryFormDTO));
+ }
+
+ /**
+ * @Description 待审核||已驳回 申请列表
+ * @Param applicationListFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ @PostMapping("applicationlist")
+ public Result> applicationList(@RequestBody ApplicationListFormDTO applicationListFormDTO){
+ ValidatorUtils.validateEntity(applicationListFormDTO, ApplicationListFormDTO.ApplicationList.class);
+ return new Result>().ok(groupIssueService.applicationList(applicationListFormDTO));
+ }
+
+ /**
+ * 表决中列表
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:52
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result>
+ */
+ @PostMapping("votinglist")
+ public Result> votingList(@RequestBody AllIssueFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ List list = groupIssueService.votingList(formDTO);
+ return new Result>().ok(list);
+ }
+
+ /**
+ * 已转项目列表
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:53
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result>
+ */
+ @PostMapping("shiftproject")
+ public Result> shiftProjectList(@RequestBody AllIssueFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ List list = groupIssueService.shiftProjectList(formDTO);
+ return new Result>().ok(list);
+ }
+
+ /**
+ * 已关闭列表
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:54
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result>
+ */
+ @PostMapping("closedlist")
+ public Result> closedList(@RequestBody AllIssueFormDTO formDTO) {
+ ValidatorUtils.validateEntity(formDTO);
+ List list = groupIssueService.closedList(formDTO);
+ return new Result>().ok(list);
+ }
+
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
index 3e501215ce..0414732e0e 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
@@ -203,6 +203,14 @@ public interface ResiGroupDao extends BaseDao {
@Param("gridId") String gridId,
@Param("groupName") String groupName);
+ /**
+ * @Description 查询话题信息
+ * @Param topicId
+ * @author zxc
+ * @date 2020/11/17 2:10 下午
+ */
+ TopicInfoResultDTO selectTopicInfo(@Param("topicId") String topicId);
+
/**
* @Description 查询话题所属小组名
* @Param groupInfoFormDTO
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/GroupIssueService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/GroupIssueService.java
new file mode 100644
index 0000000000..5e9aee62ae
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/GroupIssueService.java
@@ -0,0 +1,73 @@
+package com.epmet.modules.group.service;
+
+import com.epmet.resi.group.dto.group.form.AllIssueFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO;
+import com.epmet.resi.group.dto.group.result.ApplicationDetailCopyResultDTO;
+import com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO;
+import com.epmet.resi.group.dto.group.result.ApplicationHistoryResultDTO;
+import com.epmet.resi.group.dto.group.result.ApplicationListResultDTO;
+import com.epmet.resi.group.dto.group.result.*;
+
+import java.util.List;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/11/17 10:16
+ */
+public interface GroupIssueService {
+
+ /**
+ * @Description 待审核||已驳回 申请详情
+ * @Param applicationDetailFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ ApplicationDetailCopyResultDTO applicationDetail(ApplicationDetailFormDTO applicationDetailFormDTO);
+
+ /**
+ * @Description 话题转议题申请详情- 审核历史查询
+ * @Param applicationHistoryFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ List applicationHistory(ApplicationHistoryFormDTO applicationHistoryFormDTO);
+
+ /**
+ * @Description 待审核||已驳回 申请列表
+ * @Param applicationListFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ List applicationList(ApplicationListFormDTO applicationListFormDTO);
+
+ /**
+ * 表决中列表
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:56
+ * @param formDTO
+ * @return java.util.List
+ */
+ List votingList(AllIssueFormDTO formDTO);
+
+ /**
+ * 已转项目列表
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:56
+ * @param formDTO
+ * @return java.util.List
+ */
+ List shiftProjectList(AllIssueFormDTO formDTO);
+
+ /**
+ * 已关闭列表
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:56
+ * @param formDTO
+ * @return java.util.List
+ */
+ List closedList(AllIssueFormDTO formDTO);
+
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java
new file mode 100644
index 0000000000..283de3e222
--- /dev/null
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java
@@ -0,0 +1,219 @@
+package com.epmet.modules.group.service.impl;
+
+import com.epmet.commons.tools.exception.RenException;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.form.IssueAppQueryFormDTO;
+import com.epmet.dto.form.IssueApplicationIdFormDTO;
+import com.epmet.dto.result.AllGridsByUserIdResultDTO;
+import com.epmet.dto.result.ApplicationHistoryResDTO;
+import com.epmet.dto.result.IssueApplicationResDTO;
+import com.epmet.dto.result.UserBaseInfoResultDTO;
+import com.epmet.feign.EpmetUserOpenFeignClient;
+import com.epmet.feign.GovIssueOpenFeignClient;
+import com.epmet.feign.GovOrgOpenFeignClient;
+import com.epmet.modules.group.dao.ResiGroupDao;
+import com.epmet.modules.group.service.GroupIssueService;
+import com.epmet.modules.topic.service.ResiTopicService;
+import com.epmet.resi.group.dto.group.form.AllIssueFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationHistoryFormDTO;
+import com.epmet.resi.group.dto.group.form.ApplicationListFormDTO;
+import com.epmet.resi.group.dto.group.result.*;
+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.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author zhaoqifeng
+ * @dscription
+ * @date 2020/11/17 10:16
+ */
+@Slf4j
+@Service
+public class GroupIssueServiceImpl implements GroupIssueService {
+
+ @Autowired
+ private GovIssueOpenFeignClient govIssueOpenFeignClient;
+
+ @Autowired
+ private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
+
+ @Autowired
+ private GovOrgOpenFeignClient govOrgOpenFeignClient;
+
+ @Autowired
+ private ResiGroupDao resiGroupDao;
+
+ @Autowired
+ private ResiTopicService resiTopicService;
+
+ /**
+ * @Description 待审核||已驳回 申请详情
+ * @Param applicationDetailFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ @Override
+ public ApplicationDetailCopyResultDTO applicationDetail(ApplicationDetailFormDTO applicationDetailFormDTO) {
+ Result result = govIssueOpenFeignClient.applicationDetail(applicationDetailFormDTO);
+ if (!result.success()){
+ throw new RenException("查询待审核||已驳回申请详情失败......");
+ }
+ if (null==result.getData()){
+ return new ApplicationDetailCopyResultDTO();
+ }
+ List userIds = new ArrayList<>();
+ ApplicationDetailResultDTO data = result.getData();
+ userIds.add(data.getUserId());
+ TopicInfoResultDTO topicInfoResultDTO = resiGroupDao.selectTopicInfo(data.getTopicId());
+ userIds.add(topicInfoResultDTO.getTopicUserId());
+ Result> listResult = epmetUserOpenFeignClient.queryUserBaseInfo(userIds);
+ if (!listResult.success()){
+ throw new RenException("查询话题创建者,议题创建者失败......");
+ }
+ listResult.getData().forEach(user -> {
+ if (user.getUserId().equals(data.getUserId())){
+ data.setIssuePublisher(user.getDistrict().concat("-").concat(user.getSurname()).concat(getMrOrMs(user.getGender())));
+ }
+ if (user.getUserId().equals(topicInfoResultDTO.getTopicUserId())){
+ topicInfoResultDTO.setPublishedUser(user.getDistrict().concat("-").concat(user.getSurname()).concat(getMrOrMs(user.getGender())));
+ }
+ });
+ List gridIds = new ArrayList<>();
+ gridIds.add(data.getGridId());
+ Result> gridListByGridIds = govOrgOpenFeignClient.getGridListByGridIds(gridIds);
+ if (!gridListByGridIds.success()){
+ throw new RenException("查询议题所属网格名称失败......");
+ }
+ gridListByGridIds.getData().forEach(grid -> {
+ if (grid.getGridId().equals(data.getGridId())){
+ data.setGridName(grid.getGridName());
+ }
+ });
+ data.setTopicInfo(topicInfoResultDTO);
+ return ConvertUtils.sourceToTarget(data,ApplicationDetailCopyResultDTO.class);
+ }
+
+ /**
+ * @Description 获取 先生/女士
+ * @Param gender
+ * @author zxc
+ * @date 2020/11/17 2:40 下午
+ */
+ public String getMrOrMs(String gender){
+ if (StringUtils.isEmpty(gender)){
+ return "先生/女士";
+ }
+ String result;
+ switch (gender){
+ case "1":
+ result = "先生";
+ case "2":
+ result = "女士";
+ case "0":
+ result = "先生/女士";
+ default:
+ result = "先生/女士";
+ }
+ return result;
+ }
+
+ /**
+ * @Description 话题转议题申请详情- 审核历史查询
+ * @Param applicationHistoryFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ @Override
+ public List applicationHistory(ApplicationHistoryFormDTO applicationHistoryFormDTO) {
+ Result> result = govIssueOpenFeignClient.queryByIssueApplicationId(new IssueApplicationIdFormDTO(applicationHistoryFormDTO.getIssueApplicationId()));
+ if (result.success() && CollectionUtils.isNotEmpty(result.getData())) {
+ List list=ConvertUtils.sourceToTarget(result.getData(),ApplicationHistoryResultDTO.class);
+ return list;
+ }
+ return new ArrayList<>();
+ }
+
+ /**
+ * @Description 待审核||已驳回 申请列表
+ * @Param applicationListFormDTO
+ * @author zxc
+ * @date 2020/11/17 10:45 上午
+ */
+ @Override
+ public List applicationList(ApplicationListFormDTO applicationListFormDTO) {
+ IssueAppQueryFormDTO issueAppQueryFormDTO = ConvertUtils.sourceToTarget(applicationListFormDTO, IssueAppQueryFormDTO.class);
+ Result> result = govIssueOpenFeignClient.listIssueApp(issueAppQueryFormDTO);
+ if (result.success() && CollectionUtils.isNotEmpty(result.getData())) {
+ List list = ConvertUtils.sourceToTarget(result.getData(), ApplicationListResultDTO.class);
+ return list;
+ }
+ return new ArrayList<>();
+ }
+
+ /**
+ * 表决中列表
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:56
+ */
+ @Override
+ public List votingList(AllIssueFormDTO formDTO) {
+ //查找小组内所有话题ID
+ List topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId());
+ formDTO.setTopicIds(topicIds);
+ Result> result = govIssueOpenFeignClient.getVotingListByGroup(formDTO);
+ if(!result.success()) {
+ throw new RenException(result.getCode(), result.getMsg());
+ }
+ return result.getData();
+ }
+
+ /**
+ * 已转项目列表
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:56
+ */
+ @Override
+ public List shiftProjectList(AllIssueFormDTO formDTO) {
+ //查找小组内所有话题ID
+ List topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId());
+ formDTO.setTopicIds(topicIds);
+ Result> result = govIssueOpenFeignClient.getShiftProjectListByGroup(formDTO);
+ if(!result.success()) {
+ throw new RenException(result.getCode(), result.getMsg());
+ }
+ return result.getData();
+ }
+
+ /**
+ * 已关闭列表
+ *
+ * @param formDTO
+ * @return java.util.List
+ * @author zhaoqifeng
+ * @date 2020/11/17 13:56
+ */
+ @Override
+ public List closedList(AllIssueFormDTO formDTO) {
+ //查找小组内所有话题ID
+ List topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId());
+ formDTO.setTopicIds(topicIds);
+ Result> result = govIssueOpenFeignClient.getClosedListByGroup(formDTO);
+ if(!result.success()) {
+ throw new RenException(result.getCode(), result.getMsg());
+ }
+ return result.getData();
+ }
+}
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
index d0d50cea9a..6590732567 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
@@ -184,4 +184,13 @@ public interface ResiTopicDao extends BaseDao {
* @date 2020/11/17 3:34 下午
*/
List selectMyPartTopic(MyPartIssueFormDTO myPartIssueFormDTO);
+ /**
+ * 获取小组内话题ID
+ * @author zhaoqifeng
+ * @date 2020/11/17 14:19
+ * @param groupId
+ * @return java.util.List
+ */
+ List selectTopicIdsByGroup(@Param("groupId") String groupId);
+
}
\ No newline at end of file
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
index fd1e965263..620ec74485 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
@@ -295,4 +295,13 @@ public interface ResiTopicService extends BaseService {
* @date 2020/11/17 3:34 下午
*/
MyPartIssueResultDTO selectMyPartTopic(MyPartIssueFormDTO myPartIssueFormDTO);
+ /**
+ * 获取小组内话题ID
+ * @author zhaoqifeng
+ * @date 2020/11/17 14:18
+ * @param groupId
+ * @return java.util.List
+ */
+ List getTopicIdsByGroup(String groupId);
+
}
\ No newline at end of file
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
index 0b3cafea85..53dddd7f4b 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
@@ -1510,6 +1510,19 @@ public class ResiTopicServiceImpl extends BaseServiceImpl
+ * @author zhaoqifeng
+ * @date 2020/11/17 14:18
+ */
+ @Override
+ public List