Browse Source

Merge remote-tracking branch 'origin/dev_issue_audit' into dev_temp

# Conflicts:
#	epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
#	epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml
#	epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
#	epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
#	epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
#	epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
#	epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml
#	epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
#	epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
#	epmet-user/epmet-user-server/pom.xml
#	epmet-user/epmet-user-server/src/main/resources/bootstrap.yml
master
yinzuomei 5 years ago
parent
commit
8cc90fc404
  1. 4
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java
  2. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  3. 128
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationDTO.java
  4. 109
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueApplicationHistoryDTO.java
  5. 97
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueSuggestionDTO.java
  6. 24
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationDetailFormDTO.java
  7. 24
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationHistoryFormDTO.java
  8. 43
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationListFormDTO.java
  9. 3
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/EvaluationListFormDTO.java
  10. 47
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueAppQueryFormDTO.java
  11. 23
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueApplicationIdFormDTO.java
  12. 28
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ParameterFormDTO.java
  13. 33
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/UserIssueSuggestionFormDTO.java
  14. 54
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationDetailResultDTO.java
  15. 44
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResDTO.java
  16. 41
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResultDTO.java
  17. 48
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationListResultDTO.java
  18. 41
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueApplicationResDTO.java
  19. 55
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueSuggestionResDTO.java
  20. 16
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ParameterResultDTO.java
  21. 22
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/SaveIssueSuggestionResultDTO.java
  22. 50
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/TopicInfoResultDTO.java
  23. 109
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java
  24. 111
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java
  25. 3
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java
  26. 139
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationController.java
  27. 98
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationHistoryController.java
  28. 57
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueAuditController.java
  29. 42
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  30. 46
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueCustomerParameterController.java
  31. 87
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueSuggestionController.java
  32. 55
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationDao.java
  33. 43
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationHistoryDao.java
  34. 22
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueCustomerParameterDao.java
  35. 31
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  36. 54
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueSuggestionDao.java
  37. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
  38. 83
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationEntity.java
  39. 65
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueApplicationHistoryEntity.java
  40. 66
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueSuggestionEntity.java
  41. 47
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueApplicationHistoryRedis.java
  42. 47
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/IssueApplicationRedis.java
  43. 104
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationHistoryService.java
  44. 136
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationService.java
  45. 8
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueAuditService.java
  46. 29
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueCustomerParameterService.java
  47. 31
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  48. 61
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueSuggestionService.java
  49. 111
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationHistoryServiceImpl.java
  50. 155
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationServiceImpl.java
  51. 17
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueAuditServiceImpl.java
  52. 67
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueCustomerParameterServiceImpl.java
  53. 75
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  54. 173
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueSuggestionServiceImpl.java
  55. 37
      epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.2__issue_audit_tables.sql
  56. 16
      epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.3__issue_sugg_tables.sql
  57. 42
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationDao.xml
  58. 22
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationHistoryDao.xml
  59. 12
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueCustomerParameterDao.xml
  60. 63
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  61. 36
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSuggestionDao.xml
  62. 12
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml
  63. 56
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ParameterFormDTO.java
  64. 39
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ParameterResultDTO.java
  65. 16
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ParameterKeyConstant.java
  66. 46
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/CustomerProjectParameterController.java
  67. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java
  68. 29
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.java
  69. 127
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java
  70. 3
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml
  71. 28
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/AllIssueFormDTO.java
  72. 24
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationDetailFormDTO.java
  73. 24
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationHistoryFormDTO.java
  74. 43
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplicationListFormDTO.java
  75. 51
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailCopyResultDTO.java
  76. 56
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailResultDTO.java
  77. 43
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationHistoryResultDTO.java
  78. 48
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationListResultDTO.java
  79. 34
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupClosedListResultDTO.java
  80. 43
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupShiftProjectListResultDTO.java
  81. 34
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupVotingListResultDTO.java
  82. 55
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java
  83. 114
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/GroupIssueController.java
  84. 8
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java
  85. 73
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/GroupIssueService.java
  86. 219
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/GroupIssueServiceImpl.java
  87. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java
  88. 9
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java
  89. 13
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  90. 25
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml
  91. 7
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml
  92. 34
      epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/PublishSuggestionFormDTO.java
  93. 8
      epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueDetailResultDTO.java
  94. 26
      epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/PublishSuggestionResultDTO.java
  95. 14
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java
  96. 9
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java
  97. 35
      epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  98. 1
      epmet-user/epmet-user-server/pom.xml
  99. 3
      epmet-user/epmet-user-server/src/main/resources/bootstrap.yml

4
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","基层治理:议题管理:议题审核","审核(通过或驳回)议题"),
/**
* 徽章
*/

2
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, "您还未进入指定的签到范围~"),
// 活动报名失败,弹窗:志愿者认证

128
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

109
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

97
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

24
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;
}

24
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;
}

43
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;
}

3
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;

47
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;
}

23
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;
}
}

28
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;
}

33
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;
}
}

54
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();
}
}

44
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;
}

41
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;
}

48
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 = "";
}
}

41
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;
}

55
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;
}

16
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;
}

22
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;
}

50
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<String> topicImgs;
public TopicInfoResultDTO() {
this.publishedUser = "";
this.publishedTime = NumConstant.ZERO_L;
this.topicContent = "";
this.topicImgs = new ArrayList<>();
}
}

109
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<ApplicationDetailResultDTO> applicationDetail(@RequestBody ApplicationDetailFormDTO applicationDetailFormDTO);
/**
* @Description 话题转议题申请详情- 审核历史查询
* @Param applicationHistoryFormDTO
* @author zxc
* @date 2020/11/17 10:45 上午
*/
@PostMapping("/gov/issue/issueapplication/applicationhistory")
Result<ApplicationHistoryResultDTO> applicationHistory(@RequestBody ApplicationHistoryFormDTO applicationHistoryFormDTO);
/**
* @Description 待审核||已驳回 申请列表
* @Param applicationListFormDTO
* @author zxc
* @date 2020/11/17 10:45 上午
*/
@PostMapping("/gov/issue/issueapplication/applicationlist")
Result<List<ApplicationListResultDTO>> applicationList(@RequestBody ApplicationListFormDTO applicationListFormDTO);
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
@ -64,4 +100,69 @@ public interface GovIssueOpenFeignClient {
*/
@PostMapping("/gov/issue/issue/shiftissuetopic")
Result<List<MyShiftIssueTopicsResultDTO>> myShiftIssueTopics(@RequestBody MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO);
/**
* 小组表决中议题
* @author zhaoqifeng
* @date 2020/11/17 14:58
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO>>
*/
@PostMapping("/gov/issue/issue/groupvotinglist")
Result<List<GroupVotingListResultDTO>> getVotingListByGroup(@RequestBody AllIssueFormDTO formDTO);
/**
* 小组已转项目议题
* @author zhaoqifeng
* @date 2020/11/17 14:58
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO>>
*/
@PostMapping("/gov/issue/issue/groupshiftprojectlist")
Result<List<GroupShiftProjectListResultDTO>> getShiftProjectListByGroup(@RequestBody AllIssueFormDTO formDTO);
/**
* 小组已关闭议题
* @author zhaoqifeng
* @date 2020/11/17 14:58
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO>>
*/
@PostMapping("/gov/issue/issue/groupclosedlist")
Result<List<GroupClosedListResultDTO>> 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<IssueSuggestionDTO> 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<SaveIssueSuggestionResultDTO> 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<List<IssueApplicationResDTO>> 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<List<ApplicationHistoryResDTO>> queryByIssueApplicationId(@RequestBody IssueApplicationIdFormDTO formDTO);
}

111
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<ApplicationDetailResultDTO> applicationDetail(ApplicationDetailFormDTO applicationDetailFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"applicationDetail",applicationDetailFormDTO);
}
@Override
public Result<ApplicationHistoryResultDTO> applicationHistory(ApplicationHistoryFormDTO applicationHistoryFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"applicationHistory",applicationHistoryFormDTO);
}
@Override
public Result<List<ApplicationListResultDTO>> applicationList(ApplicationListFormDTO applicationListFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"applicationList",applicationListFormDTO);
}
@Override
public Result<List<MyPartIssuesResultDTO>> myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"myPartIssues",myPartIssuesFormDTO);
@ -42,4 +63,86 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient
public Result<List<MyShiftIssueTopicsResultDTO>> myShiftIssueTopics(MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"myShiftIssueTopics",myShiftIssueTopicsFormDTO);
}
/**
* 小组表决中议题
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO>>
* @author zhaoqifeng
* @date 2020/11/17 14:58
*/
@Override
public Result<List<GroupVotingListResultDTO>> getVotingListByGroup(AllIssueFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getVotingListByGroup", formDTO);
}
/**
* 小组已转项目议题
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO>>
* @author zhaoqifeng
* @date 2020/11/17 14:58
*/
@Override
public Result<List<GroupShiftProjectListResultDTO>> getShiftProjectListByGroup(AllIssueFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getShiftProjectListByGroup", formDTO);
}
/**
* 小组已关闭议题
*
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO>>
* @author zhaoqifeng
* @date 2020/11/17 14:58
*/
@Override
public Result<List<GroupClosedListResultDTO>> 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<IssueSuggestionDTO> 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<SaveIssueSuggestionResultDTO> 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<List<IssueApplicationResDTO>> 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<List<ApplicationHistoryResDTO>> queryByIssueApplicationId(IssueApplicationIdFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryByIssueApplicationId", formDTO);
}
}

3
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";
}

139
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<PageData<IssueApplicationDTO>> page(@RequestParam Map<String, Object> params){
PageData<IssueApplicationDTO> page = issueApplicationService.page(params);
return new Result<PageData<IssueApplicationDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<IssueApplicationDTO> get(@PathVariable("id") String id){
IssueApplicationDTO data = issueApplicationService.get(id);
return new Result<IssueApplicationDTO>().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<ApplicationDetailResultDTO> applicationDetail(@RequestBody ApplicationDetailFormDTO applicationDetailFormDTO){
return new Result<ApplicationDetailResultDTO>().ok(issueApplicationService.applicationDetail(applicationDetailFormDTO));
}
/**
* @Description 话题转议题申请详情- 审核历史查询
* @Param applicationHistoryFormDTO
* @author zxc
* @date 2020/11/17 10:45 上午
*/
@PostMapping("applicationhistory")
public Result<ApplicationHistoryResultDTO> applicationHistory(@RequestBody ApplicationHistoryFormDTO applicationHistoryFormDTO){
return new Result<ApplicationHistoryResultDTO>().ok(issueApplicationService.applicationHistory(applicationHistoryFormDTO));
}
/**
* @Description 待审核||已驳回 申请列表
* @Param applicationListFormDTO
* @author zxc
* @date 2020/11/17 10:45 上午
*/
@PostMapping("applicationlist")
public Result<List<ApplicationListResultDTO>> applicationList(@RequestBody ApplicationListFormDTO applicationListFormDTO){
return new Result<List<ApplicationListResultDTO>>().ok(issueApplicationService.applicationList(applicationListFormDTO));
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.IssueApplicationDTO>>
* @param formDTO
* @author yinzuomei
* @description 分页按条件查询issue_application
* @Date 2020/11/18 16:26
**/
@PostMapping("listissueapp")
public Result<List<IssueApplicationResDTO>> listIssueApp(@RequestBody IssueAppQueryFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,IssueAppQueryFormDTO.Required.class);
List<IssueApplicationResDTO> list=issueApplicationService.listIssueApp(formDTO);
return new Result<List<IssueApplicationResDTO>>().ok(list);
}
}

98
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<PageData<IssueApplicationHistoryDTO>> page(@RequestParam Map<String, Object> params){
PageData<IssueApplicationHistoryDTO> page = issueApplicationHistoryService.page(params);
return new Result<PageData<IssueApplicationHistoryDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<IssueApplicationHistoryDTO> get(@PathVariable("id") String id){
IssueApplicationHistoryDTO data = issueApplicationHistoryService.get(id);
return new Result<IssueApplicationHistoryDTO>().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<List<ApplicationHistoryResDTO>> queryByIssueApplicationId(@RequestBody IssueApplicationIdFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return new Result<List<ApplicationHistoryResDTO>>().ok(issueApplicationHistoryService.queryByIssueApplicationId(formDTO.getIssueApplicationId()));
}
}

57
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<List<IssueApplicationResDTO>> queryIssueAppliationList(@RequestBody IssueAppQueryFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO,IssueAppQueryFormDTO.Required.class,IssueAppQueryFormDTO.GovFormDTO.class);
return new Result<List<IssueApplicationResDTO>>().ok(issueApplicationService.listIssueApp(formDTO));
}
/**
* @param formDTO
* @author yinzuomei
* @description 话题转议题申请详情- 审核历史查询
* @Date 2020/11/18 17:40
**/
@PostMapping("applicationhistory")
public Result<List<ApplicationHistoryResDTO>> queryApplicationHistory(@RequestBody IssueApplicationIdFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return new Result<List<ApplicationHistoryResDTO>>().ok(issueApplicationHistoryService.queryByIssueApplicationId(formDTO.getIssueApplicationId()));
}
}

42
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<List<ShiftProjectListResultDTO>> getShiftProjectList(@RequestBody ShiftProjectListFromDTO fromDTO) {
return new Result<List<ShiftProjectListResultDTO>>().ok(issueService.getShiftProjectList(fromDTO));
}
/**
* @Description 话题转议题 供群组话题服务调用
* @param issueShiftedFromTopicFormDTO
@ -179,5 +185,41 @@ public class IssueController {
ValidatorUtils.validateEntity(myShiftIssueTopicsFormDTO, MyShiftIssueTopicsFormDTO.MyShiftIssueTopics.class);
return new Result<List<MyShiftIssueTopicsResultDTO>>().ok(issueService.myShiftIssueTopics(myShiftIssueTopicsFormDTO));
}
/**
* 小组表决中议题
* @author zhaoqifeng
* @date 2020/11/17 14:58
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO>>
*/
@PostMapping("groupvotinglist")
public Result<List<GroupVotingListResultDTO>> getVotingListByGroup(@RequestBody AllIssueFormDTO formDTO) {
return new Result<List<GroupVotingListResultDTO>>().ok(issueService.getVotingListByGroup(formDTO));
}
/**
* 小组已转项目议题
* @author zhaoqifeng
* @date 2020/11/17 14:58
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO>>
*/
@PostMapping("groupshiftprojectlist")
public Result<List<GroupShiftProjectListResultDTO>> getShiftProjectListByGroup(@RequestBody AllIssueFormDTO formDTO) {
return new Result<List<GroupShiftProjectListResultDTO>>().ok(issueService.getShiftProjectListByGroup(formDTO));
}
/**
* 小组已关闭议题
* @author zhaoqifeng
* @date 2020/11/17 14:58
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO>>
*/
@PostMapping("groupclosedlist")
public Result<List<GroupClosedListResultDTO>> getClosedListByGroup(@RequestBody AllIssueFormDTO formDTO) {
return new Result<List<GroupClosedListResultDTO>>().ok(issueService.getClosedListByGroup(formDTO));
}
}

46
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<com.epmet.dto.result.ParameterResultDTO>
*/
@PostMapping("reviewinit")
public Result<ParameterResultDTO> reviewInit(@RequestBody ParameterFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, DefaultGroup.class);
ParameterResultDTO result = issueCustomerParameterService.reviewInit(formDTO);
return new Result<ParameterResultDTO>().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();
}
}

87
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueSuggestionDTO> queryUserIssueSuggestion(@RequestBody UserIssueSuggestionFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
IssueSuggestionDTO issueSuggestionDTO=issueSuggestionService.queryUserIssueSuggestion(formDTO);
return new Result<IssueSuggestionDTO>().ok(issueSuggestionDTO);
}
/**
* @param dto
* @author yinzuomei
* @description 保存居民端用户对议题的建议或意见
* @Date 2020/11/18 13:15
**/
@PostMapping("save")
public Result<SaveIssueSuggestionResultDTO> saveIssueSuggestion(@RequestBody IssueSuggestionDTO dto) {
SaveIssueSuggestionResultDTO resultDTO = issueSuggestionService.saveIssueSuggestion(dto);
return new Result<SaveIssueSuggestionResultDTO>().ok(resultDTO);
}
/**
* @param formDTO
* @author yinzuomei
* @description 议题建议列表
* @Date 2020/11/18 14:15
**/
@PostMapping("list")
public Result<List<IssueSuggestionResDTO>> listIssueSug(@RequestBody EvaluationListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
List<IssueSuggestionResDTO> list = issueSuggestionService.listIssueSug(formDTO);
return new Result<List<IssueSuggestionResDTO>>().ok(list);
}
}

55
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueApplicationEntity> {
/**
* @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<IssueApplicationResDTO> selectList(IssueAppQueryFormDTO formDTO);
}

43
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueApplicationHistoryEntity> {
/**
* @param issueApplicationId
* @author yinzuomei
* @description 根据issue_application.id查询审核历史
* @Date 2020/11/18 16:59
**/
List<ApplicationHistoryResDTO> selectListByIssueApplicationId(String issueApplicationId);
}

22
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<IssueCustomerParameterEntity> {
/**
* 获取客户配置
* @author zhaoqifeng
* @date 2020/11/18 17:32
* @param customerId
* @return java.util.List<com.epmet.dto.IssueCustomerParameterDTO>
*/
List<IssueCustomerParameterDTO> selectParamByCustomer(@Param("customerId") String customerId);
/**
* 删除客户配置
* @author zhaoqifeng
* @date 2020/11/18 17:33
* @param customerId
* @return int
*/
int deleteParamByCustomer(@Param("customerId") String customerId);
}

31
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<IssueEntity> {
* @date 2020/11/13 3:42 下午
*/
List<MyShiftIssueTopicsResultDTO> myShiftIssueTopics(@Param("topicIds") List<String> topicIds,@Param("customerId") String customerId);
/**
* 根据话题ID查找表决中议题列表
* @author zhaoqifeng
* @date 2020/5/13 16:27
* @param formDTO 参数
* @return java.util.List<com.epmet.entity.IssueEntity>
*/
List<GroupVotingListResultDTO> selectVotingListByTopic(AllIssueFormDTO formDTO);
/**
* 根据话题ID查找已转项目议题列表
* @author zhaoqifeng
* @date 2020/5/13 16:27
* @param formDTO 参数
* @return java.util.List<com.epmet.entity.IssueEntity>
*/
List<IssueEntity> selectShiftIssueByTopic(AllIssueFormDTO formDTO);
/**
* 根据话题ID查找已转项目议题列表
* @author zhaoqifeng
* @date 2020/5/13 16:27
* @param formDTO 参数
* @return java.util.List<com.epmet.entity.IssueEntity>
*/
List<GroupClosedListResultDTO> selectClosedListByTopic(AllIssueFormDTO formDTO);
}

54
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueSuggestionEntity> {
/**
* @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<IssueSuggestionResDTO> selectListIssueSugByIssueId(String issueId);
}

11
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<IssueVoteDetailEntity> {
List<MyPartIssuesResultDTO> myPartIssues(@Param("userId")String userId);
List<MyPartIssuesResultDTO> myPartIssuesByTopicId(@Param("topicIds")List<String> 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);
}

83
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

65
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

66
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}

47
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}
}

47
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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;
}
}

104
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueApplicationHistoryEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IssueApplicationHistoryDTO>
* @author generator
* @date 2020-11-17
*/
PageData<IssueApplicationHistoryDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IssueApplicationHistoryDTO>
* @author generator
* @date 2020-11-17
*/
List<IssueApplicationHistoryDTO> list(Map<String, Object> 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<ApplicationHistoryResDTO> queryByIssueApplicationId(String issueApplicationId);
}

136
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueApplicationEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<IssueApplicationDTO>
* @author generator
* @date 2020-11-17
*/
PageData<IssueApplicationDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<IssueApplicationDTO>
* @author generator
* @date 2020-11-17
*/
List<IssueApplicationDTO> list(Map<String, Object> 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<ApplicationListResultDTO> applicationList(ApplicationListFormDTO applicationListFormDTO);
/**
* @return java.util.List<com.epmet.dto.IssueApplicationDTO>
* @param formDTO
* @author yinzuomei
* @description 分页按条件查询issue_application
* @Date 2020/11/18 16:26
**/
List<IssueApplicationResDTO> listIssueApp(IssueAppQueryFormDTO formDTO);
}

8
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 {
}

29
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<IssueCustomer
* @date 2020-05-11
*/
void delete(String[] ids);
/**
* 议题发布审核-初始化
* @author zhaoqifeng
* @date 2020/11/18 17:29
* @param formDTO
* @return com.epmet.dto.result.ParameterResultDTO
*/
ParameterResultDTO reviewInit(ParameterFormDTO formDTO);
/**
* 议题发布审核-保存
* @author zhaoqifeng
* @date 2020/11/18 17:29
* @param formDTO
* @return void
*/
void reviewSave(ParameterFormDTO formDTO);
/**
* 议题发布审核-恢复默认
* @author zhaoqifeng
* @date 2020/11/18 17:29
* @param formDTO
* @return void
*/
void reviewDefault(ParameterFormDTO formDTO);
}

31
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java

@ -8,6 +8,10 @@ import com.epmet.dto.result.*;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
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.GroupShiftProjectListResultDTO;
import com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import java.util.List;
@ -245,4 +249,31 @@ public interface IssueService extends BaseService<IssueEntity> {
*/
List<MyShiftIssueTopicsResultDTO> myShiftIssueTopics(MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO);
/**
* 小组表决中议题
* @author zhaoqifeng
* @date 2020/11/17 14:59
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO>
*/
List<GroupVotingListResultDTO> getVotingListByGroup(AllIssueFormDTO formDTO);
/**
* 小组已转项目议题
* @author zhaoqifeng
* @date 2020/11/17 14:59
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO>
*/
List<GroupShiftProjectListResultDTO> getShiftProjectListByGroup(AllIssueFormDTO formDTO);
/**
* 小组已关闭议题
* @author zhaoqifeng
* @date 2020/11/17 14:59
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO>
*/
List<GroupClosedListResultDTO> getClosedListByGroup(AllIssueFormDTO formDTO);
}

61
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueSuggestionEntity> {
/**
* @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<IssueSuggestionResDTO> listIssueSug(EvaluationListFormDTO formDTO);
}

111
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueApplicationHistoryDao, IssueApplicationHistoryEntity> implements IssueApplicationHistoryService {
@Override
public PageData<IssueApplicationHistoryDTO> page(Map<String, Object> params) {
IPage<IssueApplicationHistoryEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IssueApplicationHistoryDTO.class);
}
@Override
public List<IssueApplicationHistoryDTO> list(Map<String, Object> params) {
List<IssueApplicationHistoryEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IssueApplicationHistoryDTO.class);
}
private QueryWrapper<IssueApplicationHistoryEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IssueApplicationHistoryEntity> 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<ApplicationHistoryResDTO> queryByIssueApplicationId(String issueApplicationId) {
return baseDao.selectListByIssueApplicationId(issueApplicationId);
}
}

155
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueApplicationDao, IssueApplicationEntity> implements IssueApplicationService {
@Override
public PageData<IssueApplicationDTO> page(Map<String, Object> params) {
IPage<IssueApplicationEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, IssueApplicationDTO.class);
}
@Override
public List<IssueApplicationDTO> list(Map<String, Object> params) {
List<IssueApplicationEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, IssueApplicationDTO.class);
}
private QueryWrapper<IssueApplicationEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IssueApplicationEntity> 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<com.epmet.dto.IssueApplicationDTO>
* @author yinzuomei
* @description 分页按条件查询issue_application
* @Date 2020/11/18 16:26
**/
@Override
public List<IssueApplicationResDTO> 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<ApplicationListResultDTO> applicationList(ApplicationListFormDTO applicationListFormDTO) {
return null;
}
}

17
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 {
}

67
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<IssueCust
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 议题发布审核-初始化
*
* @param formDTO
* @return com.epmet.dto.result.ParameterResultDTO
* @author zhaoqifeng
* @date 2020/11/18 17:29
*/
@Override
public ParameterResultDTO reviewInit(ParameterFormDTO formDTO) {
ParameterResultDTO result = new ParameterResultDTO();
List<IssueCustomerParameterDTO> 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());
}
}

75
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<IssueDao, IssueEntity> imp
return result;
}
/**
* 小组表决中议题
*
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO>
* @author zhaoqifeng
* @date 2020/11/17 14:59
*/
@Override
public List<GroupVotingListResultDTO> getVotingListByGroup(AllIssueFormDTO formDTO) {
//查询条件
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
formDTO.setPageNo(pageIndex);
return baseDao.selectVotingListByTopic(formDTO);
}
/**
* 小组已转项目议题
*
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.GroupShiftProjectListResultDTO>
* @author zhaoqifeng
* @date 2020/11/17 14:59
*/
@Override
public List<GroupShiftProjectListResultDTO> getShiftProjectListByGroup(AllIssueFormDTO formDTO) {
List<GroupShiftProjectListResultDTO> resultList = new ArrayList<>();
//查询条件
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
formDTO.setPageNo(pageIndex);
List<IssueEntity> issueList = baseDao.selectShiftIssueByTopic(formDTO);
if (CollectionUtils.isEmpty(issueList)) {
return resultList;
}
//遍历获取所有的议题Id
List<String> issueIds = issueList.stream().map(IssueEntity::getId).collect(Collectors.toList());
ShiftProjectsFromDTO shiftProjectsFromDTO = new ShiftProjectsFromDTO();
shiftProjectsFromDTO.setIssueIds(issueIds);
List<ShiftProjectResultDTO> 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<com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO>
* @author zhaoqifeng
* @date 2020/11/17 14:59
*/
@Override
public List<GroupClosedListResultDTO> getClosedListByGroup(AllIssueFormDTO formDTO) {
//查询条件
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
formDTO.setPageNo(pageIndex);
return baseDao.selectClosedListByTopic(formDTO);
}
}

173
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
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
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<IssueSuggestionDao, IssueSuggestionEntity> 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<SyncScanResult> 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<IssueSuggestionResDTO> listIssueSug(EvaluationListFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<IssueSuggestionResDTO> list = baseDao.selectListIssueSugByIssueId(formDTO.getIssueId());
//用户信息公开的userId集合
Set<String> 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<List<UserResiInfoResultDTO>> userInfoRes = epmetUserFeignClient.getUserResiInfoList(new UserResiInfoListFormDTO(new ArrayList<>(userIds)));
if (userInfoRes.success() && !CollectionUtils.isEmpty(userInfoRes.getData())) {
Map<String, UserResiInfoResultDTO> 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;
}
}

37
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='话题转议题审核历史表';

16
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='居民端用户对议题建议或意见表';

42
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationDao.xml

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IssueApplicationDao">
<select id="applicationDetail" resultType="com.epmet.resi.group.dto.group.result.ApplicationDetailResultDTO">
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>
<!-- 分页按条件查询issue_application -->
<select id="selectList" resultType="com.epmet.dto.result.IssueApplicationResDTO" parameterType="com.epmet.dto.form.IssueAppQueryFormDTO">
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'
<if test="applyStatus != null and applyStatus.trim() != ''">
AND ia.APPLY_STATUS = #{applyStatus}
</if>
<if test="gridId != null and gridId.trim() != ''">
AND ia.GRID_ID = #{gridId}
</if>
<if test="groupId != null and groupId.trim() != ''">
AND ia.GROUP_ID = #{groupId}
</if>
ORDER BY
ia.UPDATED_TIME DESC
</select>
</mapper>

22
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationHistoryDao.xml

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IssueApplicationHistoryDao">
<!-- 根据issue_application.id查询审核历史 -->
<select id="selectListByIssueApplicationId" resultType="com.epmet.dto.result.ApplicationHistoryResDTO">
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
</select>
</mapper>

12
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueCustomerParameterDao.xml

@ -17,6 +17,18 @@
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteParamByCustomer">
DELETE FROM issue_customer_parameter
WHERE CUSTOMER_ID = #{customerId}
</delete>
<select id="selectParamByCustomer" resultType="com.epmet.dto.IssueCustomerParameterDTO">
SELECT PARAMETER_KEY,
PARAMETER_NAME,
PARAMETER_VALUE
FROM
issue_customer_parameter
WHERE CUSTOMER_ID = #{customerId}
</select>
</mapper>

63
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>
<select id="selectIssueListByTopic" resultType="com.epmet.entity.IssueEntity">
SELECT
*
FROM
issue
WHERE
DEL_FLAG = '0'
AND GRID_ID = #{gridId}
AND ISSUE_STATUS = 'shift_project'
ORDER BY UPDATED_TIME DESC
</select>
<select id="selectShiftIssueByTopic" resultType="com.epmet.entity.IssueEntity">
SELECT
ID,
IFNULL(ISSUE_TITLE, '') AS issueTitle
FROM
issue
WHERE
DEL_FLAG = '0'
AND SOURCE_TYPE = 'resi_topic'
<foreach item="topic" collection="topicIds" separator="OR" open="AND (" close=")" index="">
SOURCE_ID = #{topic}
</foreach>
AND ISSUE_STATUS = 'shift_project'
ORDER BY UPDATED_TIME DESC
LIMIT #{pageNo}, #{pageSize}
</select>
<select id="selectVotingListByTopic" resultType="com.epmet.resi.group.dto.group.result.GroupVotingListResultDTO">
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'
<foreach item="topic" collection="topicIds" separator="OR" open="AND (" close=")" index="">
SOURCE_ID = #{topic}
</foreach>
AND ISSUE_STATUS = 'voting'
ORDER BY CREATED_TIME DESC
LIMIT #{pageNo}, #{pageSize}
</select>
<select id="selectClosedListByTopic" resultType="com.epmet.resi.group.dto.group.result.GroupClosedListResultDTO">
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'
<foreach item="topic" collection="topicIds" separator="OR" open="AND (" close=")" index="">
SOURCE_ID = #{topic}
</foreach>
AND ISSUE_STATUS = 'closed'
ORDER BY UPDATED_TIME DESC
LIMIT #{pageNo}, #{pageSize}
</select>
<!-- 个人中心-我发起的议题列表-表决中 -->
<select id="myPubIssuesAuditing" resultType="com.epmet.dto.result.MyPubIssuesAuditingResultDTO">

36
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueSuggestionDao.xml

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.IssueSuggestionDao">
<!-- 查询用户对于某个议题的想法 返回一条记录 -->
<select id="selectUserIssueSuggestion" parameterType="com.epmet.dto.form.UserIssueSuggestionFormDTO" resultType="com.epmet.dto.IssueSuggestionDTO">
SELECT
*
FROM
issue_suggestion i
WHERE
i.DEL_FLAG = '0'
AND i.ISSUE_ID = #{issueId}
AND i.CREATED_BY=#{userId}
</select>
<!-- 查询议题建议 -->
<select id="selectListIssueSugByIssueId" resultType="com.epmet.dto.result.IssueSuggestionResDTO">
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
</select>
</mapper>

12
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml

@ -103,4 +103,16 @@
</foreach>
ORDER BY i.CREATED_TIME DESC
</select>
<!-- 查询用户对某个议题的表决信息 -->
<select id="selectUserIssueDet" parameterType="map" resultType="com.epmet.dto.IssueVoteDetailDTO">
SELECT
*
FROM
issue_vote_detail ivd
WHERE
ivd.DEL_FLAG = '0'
AND ivd.ISSUE_ID =#{issueId}
AND ivd.CREATED_BY =#{userId}
</select>
</mapper>

56
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;
}

39
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;
}

16
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 = "设定核算单位天结束时间";
}

46
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<com.epmet.dto.result.ParameterResultDTO>
*/
@PostMapping("remindinit")
public Result<ParameterResultDTO> remindInit(@RequestBody ParameterFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, DefaultGroup.class);
ParameterResultDTO result = customerProjectParameterService.remindInit(formDTO);
return new Result<ParameterResultDTO>().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();
}
}

9
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/CustomerProjectParameterDao.java

@ -70,4 +70,13 @@ public interface CustomerProjectParameterDao extends BaseDao<CustomerProjectPara
CustomerProjectParameterDTO getDefaultPushTime();
CustomerProjectParameterDTO getPushTimeConfig(@Param("customerId") String customerId);
/**
* 删除旧数据
* @author zhaoqifeng
* @date 2020/11/18 17:01
* @param customerId
* @return int
*/
int deleteByCustomer(@Param("customerId") String customerId);
}

29
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/CustomerProjectParameterService.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.CustomerProjectParameterDTO;
import com.epmet.dto.form.ParameterFormDTO;
import com.epmet.dto.result.ParameterResultDTO;
import com.epmet.entity.CustomerProjectParameterEntity;
import java.util.List;
@ -137,4 +139,31 @@ public interface CustomerProjectParameterService extends BaseService<CustomerPro
* @return com.epmet.dto.CustomerProjectParameterDTO
*/
CustomerProjectParameterDTO getPushTimeConfig(String customerId);
/**
* 滞留提醒-初始化
* @author zhaoqifeng
* @date 2020/11/18 15:33
* @param formDTO
* @return com.epmet.dto.result.ParameterResultDTO
*/
ParameterResultDTO remindInit(ParameterFormDTO formDTO);
/**
* 滞留提醒-保存
* @author zhaoqifeng
* @date 2020/11/18 15:33
* @param formDTO
* @return void
*/
void remindSave(ParameterFormDTO formDTO);
/**
* 滞留提醒-恢复默认
* @author zhaoqifeng
* @date 2020/11/18 15:33
* @param formDTO
* @return void
*/
void remindDefault(ParameterFormDTO formDTO);
}

127
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/CustomerProjectParameterServiceImpl.java

@ -23,16 +23,27 @@ 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.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.constant.ParameterKeyConstant;
import com.epmet.dao.CustomerProjectParameterDao;
import com.epmet.dto.CustomerProjectParameterDTO;
import com.epmet.dto.form.ParameterFormDTO;
import com.epmet.dto.result.ParameterResultDTO;
import com.epmet.entity.CustomerProjectParameterEntity;
import com.epmet.redis.CustomerProjectParameterRedis;
import com.epmet.service.CustomerProjectParameterService;
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 org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -157,4 +168,120 @@ public class CustomerProjectParameterServiceImpl extends BaseServiceImpl<Custome
return baseDao.getPushTimeConfig(customerId);
}
/**
* 滞留提醒-初始化
*
* @param formDTO
* @return com.epmet.dto.result.ParameterResultDTO
* @author zhaoqifeng
* @date 2020/11/18 15:33
*/
@Override
public ParameterResultDTO remindInit(ParameterFormDTO formDTO) {
ParameterResultDTO result = new ParameterResultDTO();
List<CustomerProjectParameterDTO> 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<CustomerProjectParameterEntity> 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());
}
}

3
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/CustomerProjectParameterDao.xml

@ -17,6 +17,9 @@
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="deleteByCustomer">
DELETE FROM customer_project_parameter WHERE CUSTOMER_ID = #{customerId}
</delete>
<select id="selectParameterValueByKey" resultType="java.lang.String" parameterType="com.epmet.entity.CustomerProjectParameterEntity">
select
PARAMETER_VALUE

28
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<String> topicIds;
}

24
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;
}

24
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;
}

43
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;
}

51
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();
}
}

56
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();
}
}

43
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;
}

48
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 = "";
}
}

34
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;
}

43
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<String> currentHandleDepartMent;
}

34
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;
}

55
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<String> topicImgs;
@JsonIgnore
private String topicUserId;
public TopicInfoResultDTO() {
this.topicId = "";
this.publishedUser = "";
this.publishedTime = NumConstant.ZERO_L;
this.topicContent = "";
this.topicImgs = new ArrayList<>();
}
}

114
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<ApplicationDetailCopyResultDTO> applicationDetail(@RequestBody ApplicationDetailFormDTO applicationDetailFormDTO){
ValidatorUtils.validateEntity(applicationDetailFormDTO, ApplicationDetailFormDTO.ApplicationDetail.class);
return new Result<ApplicationDetailCopyResultDTO>().ok(groupIssueService.applicationDetail(applicationDetailFormDTO));
}
/**
* @Description 话题转议题申请详情- 审核历史查询
* @Param applicationHistoryFormDTO
* @author zxc
* @date 2020/11/17 10:45 上午
*/
@PostMapping("applicationhistory")
public Result<List<ApplicationHistoryResultDTO>> applicationHistory(@RequestBody ApplicationHistoryFormDTO applicationHistoryFormDTO){
ValidatorUtils.validateEntity(applicationHistoryFormDTO, ApplicationHistoryFormDTO.ApplicationHistory.class);
return new Result<List<ApplicationHistoryResultDTO>>().ok(groupIssueService.applicationHistory(applicationHistoryFormDTO));
}
/**
* @Description 待审核||已驳回 申请列表
* @Param applicationListFormDTO
* @author zxc
* @date 2020/11/17 10:45 上午
*/
@PostMapping("applicationlist")
public Result<List<ApplicationListResultDTO>> applicationList(@RequestBody ApplicationListFormDTO applicationListFormDTO){
ValidatorUtils.validateEntity(applicationListFormDTO, ApplicationListFormDTO.ApplicationList.class);
return new Result<List<ApplicationListResultDTO>>().ok(groupIssueService.applicationList(applicationListFormDTO));
}
/**
* 表决中列表
* @author zhaoqifeng
* @date 2020/11/17 13:52
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.VotingListResultDTO>>
*/
@PostMapping("votinglist")
public Result<List<GroupVotingListResultDTO>> votingList(@RequestBody AllIssueFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
List<GroupVotingListResultDTO> list = groupIssueService.votingList(formDTO);
return new Result<List<GroupVotingListResultDTO>>().ok(list);
}
/**
* 已转项目列表
* @author zhaoqifeng
* @date 2020/11/17 13:53
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.ShiftProjectListResultDTO>>
*/
@PostMapping("shiftproject")
public Result<List<GroupShiftProjectListResultDTO>> shiftProjectList(@RequestBody AllIssueFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
List<GroupShiftProjectListResultDTO> list = groupIssueService.shiftProjectList(formDTO);
return new Result<List<GroupShiftProjectListResultDTO>>().ok(list);
}
/**
* 已关闭列表
* @author zhaoqifeng
* @date 2020/11/17 13:54
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.resi.group.dto.group.result.ClosedListResultDTO>>
*/
@PostMapping("closedlist")
public Result<List<GroupClosedListResultDTO>> closedList(@RequestBody AllIssueFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
List<GroupClosedListResultDTO> list = groupIssueService.closedList(formDTO);
return new Result<List<GroupClosedListResultDTO>>().ok(list);
}
}

8
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<ResiGroupEntity> {
@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

73
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<ApplicationHistoryResultDTO> applicationHistory(ApplicationHistoryFormDTO applicationHistoryFormDTO);
/**
* @Description 待审核||已驳回 申请列表
* @Param applicationListFormDTO
* @author zxc
* @date 2020/11/17 10:45 上午
*/
List<ApplicationListResultDTO> applicationList(ApplicationListFormDTO applicationListFormDTO);
/**
* 表决中列表
* @author zhaoqifeng
* @date 2020/11/17 13:56
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.VotingListResultDTO>
*/
List<GroupVotingListResultDTO> votingList(AllIssueFormDTO formDTO);
/**
* 已转项目列表
* @author zhaoqifeng
* @date 2020/11/17 13:56
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.ShiftProjectListResultDTO>
*/
List<GroupShiftProjectListResultDTO> shiftProjectList(AllIssueFormDTO formDTO);
/**
* 已关闭列表
* @author zhaoqifeng
* @date 2020/11/17 13:56
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.ClosedListResultDTO>
*/
List<GroupClosedListResultDTO> closedList(AllIssueFormDTO formDTO);
}

219
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<ApplicationDetailResultDTO> result = govIssueOpenFeignClient.applicationDetail(applicationDetailFormDTO);
if (!result.success()){
throw new RenException("查询待审核||已驳回申请详情失败......");
}
if (null==result.getData()){
return new ApplicationDetailCopyResultDTO();
}
List<String> userIds = new ArrayList<>();
ApplicationDetailResultDTO data = result.getData();
userIds.add(data.getUserId());
TopicInfoResultDTO topicInfoResultDTO = resiGroupDao.selectTopicInfo(data.getTopicId());
userIds.add(topicInfoResultDTO.getTopicUserId());
Result<List<UserBaseInfoResultDTO>> 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<String> gridIds = new ArrayList<>();
gridIds.add(data.getGridId());
Result<List<AllGridsByUserIdResultDTO>> 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<ApplicationHistoryResultDTO> applicationHistory(ApplicationHistoryFormDTO applicationHistoryFormDTO) {
Result<List<ApplicationHistoryResDTO>> result = govIssueOpenFeignClient.queryByIssueApplicationId(new IssueApplicationIdFormDTO(applicationHistoryFormDTO.getIssueApplicationId()));
if (result.success() && CollectionUtils.isNotEmpty(result.getData())) {
List<ApplicationHistoryResultDTO> 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<ApplicationListResultDTO> applicationList(ApplicationListFormDTO applicationListFormDTO) {
IssueAppQueryFormDTO issueAppQueryFormDTO = ConvertUtils.sourceToTarget(applicationListFormDTO, IssueAppQueryFormDTO.class);
Result<List<IssueApplicationResDTO>> result = govIssueOpenFeignClient.listIssueApp(issueAppQueryFormDTO);
if (result.success() && CollectionUtils.isNotEmpty(result.getData())) {
List<ApplicationListResultDTO> list = ConvertUtils.sourceToTarget(result.getData(), ApplicationListResultDTO.class);
return list;
}
return new ArrayList<>();
}
/**
* 表决中列表
*
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.VotingListResultDTO>
* @author zhaoqifeng
* @date 2020/11/17 13:56
*/
@Override
public List<GroupVotingListResultDTO> votingList(AllIssueFormDTO formDTO) {
//查找小组内所有话题ID
List<String> topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId());
formDTO.setTopicIds(topicIds);
Result<List<GroupVotingListResultDTO>> result = govIssueOpenFeignClient.getVotingListByGroup(formDTO);
if(!result.success()) {
throw new RenException(result.getCode(), result.getMsg());
}
return result.getData();
}
/**
* 已转项目列表
*
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.ShiftProjectListResultDTO>
* @author zhaoqifeng
* @date 2020/11/17 13:56
*/
@Override
public List<GroupShiftProjectListResultDTO> shiftProjectList(AllIssueFormDTO formDTO) {
//查找小组内所有话题ID
List<String> topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId());
formDTO.setTopicIds(topicIds);
Result<List<GroupShiftProjectListResultDTO>> result = govIssueOpenFeignClient.getShiftProjectListByGroup(formDTO);
if(!result.success()) {
throw new RenException(result.getCode(), result.getMsg());
}
return result.getData();
}
/**
* 已关闭列表
*
* @param formDTO
* @return java.util.List<com.epmet.resi.group.dto.group.result.ClosedListResultDTO>
* @author zhaoqifeng
* @date 2020/11/17 13:56
*/
@Override
public List<GroupClosedListResultDTO> closedList(AllIssueFormDTO formDTO) {
//查找小组内所有话题ID
List<String> topicIds = resiTopicService.getTopicIdsByGroup(formDTO.getGroupId());
formDTO.setTopicIds(topicIds);
Result<List<GroupClosedListResultDTO>> result = govIssueOpenFeignClient.getClosedListByGroup(formDTO);
if(!result.success()) {
throw new RenException(result.getCode(), result.getMsg());
}
return result.getData();
}
}

9
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<ResiTopicEntity> {
* @date 2020/11/17 3:34 下午
*/
List<String> selectMyPartTopic(MyPartIssueFormDTO myPartIssueFormDTO);
/**
* 获取小组内话题ID
* @author zhaoqifeng
* @date 2020/11/17 14:19
* @param groupId
* @return java.util.List<java.lang.String>
*/
List<String> selectTopicIdsByGroup(@Param("groupId") String groupId);
}

9
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<ResiTopicEntity> {
* @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<java.lang.String>
*/
List<String> getTopicIdsByGroup(String groupId);
}

13
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<ResiTopicDao, ResiTopi
myPartIssueResultDTO.setTopicIds(topicIds);
return myPartIssueResultDTO;
}
/**
* 获取小组内话题ID
*
* @param groupId
* @return java.util.List<java.lang.String>
* @author zhaoqifeng
* @date 2020/11/17 14:18
*/
@Override
public List<String> getTopicIdsByGroup(String groupId) {
return baseDao.selectTopicIdsByGroup(groupId);
}
}

25
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml

@ -435,4 +435,29 @@
</foreach>
</select>
<!-- 查询话题信息 -->
<resultMap id="selectTopicInfoMap" type="com.epmet.resi.group.dto.group.result.TopicInfoResultDTO">
<result property="publishedTime" column="publishedTime"/>
<result property="topicContent" column="topicContent"/>
<result property="topicId" column="topicId"/>
<result property="topicUserId" column="topicUserId"/>
<collection property="topicImgs" ofType="java.lang.String">
<result column="imgUrl"/>
<result column="id"/>
</collection>
</resultMap>
<select id="selectTopicInfo" resultMap="selectTopicInfoMap">
SELECT
rt.ID AS topicId,
rt.CREATED_BY AS topicUserId,
UNIX_TIMESTAMP(rt.CREATED_TIME) AS publishedTime,
rt.TOPIC_CONTENT as topicContent,
ta.ATTACHMENT_URL AS imgUrl
FROM resi_topic rt
LEFT JOIN resi_topic_attachment ta ON ta.TOPIC_ID = rt.ID
WHERE rt.DEL_FLAG = '0'
AND ta.DEL_FLAG = '0'
AND rt.ID = #{topicId}
</select>
</mapper>

7
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml

@ -520,5 +520,12 @@
AND rt.CREATED_BY != #{userId}
AND rtc.CREATED_BY = #{userId}
</select>
<select id="selectTopicIdsByGroup" resultType="java.lang.String">
select ID
FROM resi_topic
WHERE del_flag = 0
AND GROUP_ID = #{groupId}
AND STATUS != 'hidden'
</select>
</mapper>

34
epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/form/PublishSuggestionFormDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 居民端-议题发表建议 入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/11/18 12:35
*/
@Data
public class PublishSuggestionFormDTO implements Serializable {
private static final long serialVersionUID = 2545427013095892610L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "议题id不能为空", groups = {AddUserInternalGroup.class})
private String issueId;
@NotBlank(message = "是否匿名不能为空", groups = {AddUserInternalGroup.class})
private Boolean publicFlag;
@Length(max = 500, message = "内容不能超过500字", groups = {AddUserShowGroup.class})
private String suggestion;
}

8
epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/IssueDetailResultDTO.java

@ -60,5 +60,13 @@ public class IssueDetailResultDTO implements Serializable {
*/
private String projectId = "";
/**
* 对议题的想法
*/
private String issueIdea;
/**
* true已发表过想法false未发表想法
*/
private Boolean publishIdeaFlag;
}

26
epmet-module/resi-hall/resi-hall-client/src/main/java/com/epmet/dto/result/PublishSuggestionResultDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 居民端-议题发表建议 返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/11/18 13:08
*/
@Data
public class PublishSuggestionResultDTO implements Serializable {
private static final long serialVersionUID = -2752255960631605369L;
private String issueId;
/**
* issue_suggestion表主键
*/
private String suggestionId;
public PublishSuggestionResultDTO(String issueId, String suggestionId) {
this.issueId = issueId;
this.suggestionId = suggestionId;
}
}

14
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/controller/IssueController.java

@ -1,8 +1,6 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -222,5 +220,17 @@ public class IssueController {
return new Result<List<ProcessListResultDTO>>().ok(issueService.processList(issueId));
}
/**
* @param formDTO
* @author yinzuomei
* @description 居民端-议题发表建议
* @Date 2020/11/18 13:09
**/
@PostMapping("publishsuggestion")
public Result<PublishSuggestionResultDTO> publisSuggestion(@RequestBody PublishSuggestionFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,PublishSuggestionFormDTO.AddUserShowGroup.class,PublishSuggestionFormDTO.AddUserInternalGroup.class);
PublishSuggestionResultDTO resultDTO=issueService.publisSuggestion(formDTO);
return new Result<PublishSuggestionResultDTO>().ok(resultDTO);
}
}

9
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/IssueService.java

@ -1,11 +1,9 @@
package com.epmet.service;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -112,4 +110,11 @@ public interface IssueService {
*/
List<ShiftProjectListResultDTO> getShiftProjectList(ShiftProjectListFromDTO formDTO);
/**
* @param formDTO
* @author yinzuomei
* @description 居民端-议题发表建议
* @Date 2020/11/18 13:11
**/
PublishSuggestionResultDTO publisSuggestion(PublishSuggestionFormDTO formDTO);
}

35
epmet-module/resi-hall/resi-hall-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -1,11 +1,14 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constat.HallConstat;
import com.epmet.dto.IssueSuggestionDTO;
import com.epmet.dto.form.CheckVoteFormDTO;
import com.epmet.dto.TopicInfoDTO;
import com.epmet.dto.form.*;
@ -38,6 +41,10 @@ public class IssueServiceImpl implements IssueService {
private GovIssueFeignClient govIssueFeignClient;
@Autowired
private GovProjectFeignClient govProjectFeignClient;
@Autowired
private GovIssueOpenFeignClient govIssueOpenFeignClient;
@Autowired
private LoginUserUtil loginUserUtil;
/**
* @param issueDetail
@ -96,6 +103,14 @@ public class IssueServiceImpl implements IssueService {
//已关闭议题,无需判断
issueDetailResult.setProjectStatus(true);
}
Result<IssueSuggestionDTO> issueSuggestionDTOResult=govIssueOpenFeignClient.queryIssueSuggestion(new UserIssueSuggestionFormDTO(loginUserUtil.getLoginUserId(),issueDetail.getIssueId()));
if(!issueSuggestionDTOResult.success()||null==issueSuggestionDTOResult.getData()){
issueDetailResult.setPublishIdeaFlag(false);
issueDetailResult.setIssueIdea(StrConstant.EPMETY_STR);
}else{
issueDetailResult.setPublishIdeaFlag(true);
issueDetailResult.setIssueIdea(issueSuggestionDTOResult.getData().getSuggestion());
}
return issueDetailResult;
}
@ -285,6 +300,26 @@ public class IssueServiceImpl implements IssueService {
return resultList;
}
/**
* @param formDTO
* @author yinzuomei
* @description 居民端-议题发表建议
* @Date 2020/11/18 13:11
**/
@Override
public PublishSuggestionResultDTO publisSuggestion(PublishSuggestionFormDTO formDTO) {
IssueSuggestionDTO issueSuggestionDTO = new IssueSuggestionDTO();
issueSuggestionDTO.setSuggestion(formDTO.getSuggestion());
issueSuggestionDTO.setIssueId(formDTO.getIssueId());
issueSuggestionDTO.setPublicFlag(formDTO.getPublicFlag() == true ? NumConstant.ONE : NumConstant.ZERO);
issueSuggestionDTO.setCreatedBy(loginUserUtil.getLoginUserId());
Result<SaveIssueSuggestionResultDTO> result = govIssueOpenFeignClient.saveIssueSuggestion(issueSuggestionDTO);
if (result.success() && null != result.getData()) {
return new PublishSuggestionResultDTO(result.getData().getIssueId(), result.getData().getSuggestionId());
}
throw new RenException(result.getCode());
}
/**
* @Description 议题处理进展
* @param issueId

1
epmet-user/epmet-user-server/pom.xml

@ -201,6 +201,7 @@
</dingTalk.robot.webHook>
<dingTalk.robot.secret>SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19
</dingTalk.robot.secret>
<openapi.scan.server.url>https://epmet-dev.elinkservice.cn/api/epmetscan/api</openapi.scan.server.url>
</properties>
</profile>
<profile>

3
epmet-user/epmet-user-server/src/main/resources/bootstrap.yml

@ -144,4 +144,5 @@ openapi:
url: @openapi.scan.server.url@
method:
imgSyncScan: /imgSyncScan
textSyncScan: /textSyncScan
textSyncScan: /textSyncScan

Loading…
Cancel
Save