Browse Source

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

dev_shibei_match
yinzuomei 5 years ago
parent
commit
1499ae5973
  1. 8
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java
  2. 16
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java
  3. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  4. 49
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java
  5. 1
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/fact/FactIndexController.java
  6. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
  7. 7
      epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml
  8. 34
      epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java
  9. 6
      epmet-module/gov-grid/gov-grid-server/pom.xml
  10. 7
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java
  11. 42
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java
  12. 1
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiTopicServiceImpl.java
  13. 35
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueOpenConstant.java
  14. 17
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueDTO.java
  15. 24
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationDetailFormDTO.java
  16. 24
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationHistoryFormDTO.java
  17. 43
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/ApplicationListFormDTO.java
  18. 25
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MyPartIssuesFormDTO.java
  19. 35
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MyPubIssuesAuditingFormDTO.java
  20. 38
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MyShiftIssueTopicsFormDTO.java
  21. 54
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationDetailResultDTO.java
  22. 41
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationHistoryResultDTO.java
  23. 48
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/ApplicationListResultDTO.java
  24. 2
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProjectResultDTO.java
  25. 41
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java
  26. 53
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPubIssuesAuditingResultDTO.java
  27. 50
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyShiftIssueTopicsResultDTO.java
  28. 50
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/TopicInfoResultDTO.java
  29. 95
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java
  30. 52
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java
  31. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java
  32. 39
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationController.java
  33. 53
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  34. 14
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java
  35. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationDao.java
  36. 32
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  37. 9
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java
  38. 30
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationService.java
  39. 41
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  40. 10
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java
  41. 40
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationServiceImpl.java
  42. 86
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  43. 25
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java
  44. 2
      epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml
  45. 11
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueApplicationDao.xml
  46. 63
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  47. 16
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml
  48. 15
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/constant/OrgInfoConstant.java
  49. 31
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgInfoFormDTO.java
  50. 33
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyElementTreeResultDTO.java
  51. 34
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgInfoResultDTO.java
  52. 19
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  53. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  54. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerGridConstant.java
  55. 37
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java
  56. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java
  57. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java
  58. 4
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  59. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java
  60. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  61. 27
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  62. 22
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  63. 8
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml
  64. 51
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  65. 6
      epmet-module/gov-project/gov-project-client/pom.xml
  66. 8
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java
  67. 10
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectRelatedPersonnelDTO.java
  68. 20
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectByCreateTopicUserFormDTO.java
  69. 53
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPartProjectsResultDTO.java
  70. 46
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPubIssuesClosedResultDTO.java
  71. 48
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPubIssuesShiftProjectResultDTO.java
  72. 19
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOfCreateTopicUserResultDTO.java
  73. 39
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
  74. 27
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
  75. 43
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  76. 18
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  77. 10
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectRelatedPersonnelEntity.java
  78. 6
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectRelatedPersonnelExcel.java
  79. 19
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  80. 86
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  81. 14
      epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.4__alter_project_related_personnel.sql
  82. 40
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  83. 2
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectRelatedPersonnelDao.xml
  84. 6
      epmet-module/resi-group/resi-group-client/pom.xml
  85. 23
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupInfoFormDTO.java
  86. 48
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailCopyResultDTO.java
  87. 8
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailResultDTO.java
  88. 19
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupInfoResultDTO.java
  89. 5
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java
  90. 6
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java
  91. 6
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupMemberListResultDTO.java
  92. 20
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/MyCreateTopicsFormDTO.java
  93. 30
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CustomerPageFormDTO.java
  94. 14
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicIdListFormDTO.java
  95. 6
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovHiddenTopicInfoResultDTO.java
  96. 6
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicInfoResultDTO.java
  97. 28
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/IssueGridResultDTO.java
  98. 16
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyCreateTopicsResultDTO.java
  99. 28
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ParticipatedTopicUnitResultDTO.java
  100. 5
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java

8
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/AppClientConstant.java

@ -54,4 +54,12 @@ public interface AppClientConstant {
* app类型-工作端
*/
String APP_WORK = "work";
/**
* 来源类型-话题topic
*/
String TOPIC = "topic";
/**
* 来源类型-议题issue
*/
String ISSUE = "issue";
}

16
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java

@ -88,6 +88,12 @@ public enum RequirePermissionEnum {
WORK_GRASSROOTS_ISSUE_REJECTED_LIST("work_grassroots_issue_rejected_list","基层治理:议题管理:已驳回","已驳回议题申请列表"),
WORK_GRASSROOTS_ISSUE_AUDIT("work_grassroots_issue_audit","基层治理:议题管理:议题审核","审核(通过或驳回)议题"),
/**
* 徽章
*/
WORK_GRASSROOTS_BADGE_AUDIT("work_grassroots_badge_audit","基层治理:徽章审核:徽章审核","徽章审核"),
WORK_GRASSROOTS_BADGE_AUDITING_LIST("work_grassroots_badge_auditing_list","基层治理:徽章审核:待审核列表","待审核徽章列表"),
/**
* 工作-项目跟踪
*/
@ -142,7 +148,15 @@ public enum RequirePermissionEnum {
* 爱心互助-自定义配置
*/
MORE_HEART_CUSTOMIZED_VIEW("more_heart_customized_view","更多:爱心互助:自定义配置:查看","更多-爱心互助-自定义配置-查看"),
MORE_HEART_CUSTOMIZED_SAVE("more_heart_customized_save","更多:爱心互助:自定义配置:保存修改","更多-爱心互助-自定义配置-保存修改");
MORE_HEART_CUSTOMIZED_SAVE("more_heart_customized_save","更多:爱心互助:自定义配置:保存修改","更多-爱心互助-自定义配置-保存修改"),
/**
* 徽章管理
*/
MORE_BADGE_MANAGE_LIST("more_badge_manage_list","更多:徽章:徽章管理:列表","徽章列表"),
MORE_BADGE_MANAGE_CREATE("more_badge_manage_create","更多:徽章:徽章管理:添加","添加徽章"),
MORE_BADGE_MANAGE_EDIT("more_badge_manage_edit","更多:徽章:徽章管理:编辑","编辑徽章"),
MORE_BADGE_MANAGE_DELETE("more_badge_manage_delete","更多:徽章:徽章管理:删除","删除徽章");
private String key;
private String name;

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java

@ -41,6 +41,7 @@ public enum EpmetErrorCode {
MOBILE_GET_CODE_ERROR(8104,"获取验证码失败"),
MESSAGE_SMS_SEND_ERROR(8105, "短信发送失败"),
NOT_DEL_GRID(8106,"该网格存在工作人员,不允许删除"),
THE_MOBILE_HAS_BEEN_USED(8207, "该手机号已注册,请更换手机号"),
ORG_IS_NOT_NULL(8107,"党组织关系不能为空"),
CANNOT_DELETE_PARTY_BRANCH(8108,"当前支部存在党员,不允许删除"),
@ -95,6 +96,10 @@ public enum EpmetErrorCode {
SIGN_IN_TIME_NO(8513, "签到时间还未到~"),
SIGN_IN_TIME_END(8514, "签到时间已结束~"),
//徽章管理
DUPLICATE_BADGE_NAME(8515, "徽章名已存在"),
DUPLICATE_PARTY_BADGE_NAME(8516, "不可删除党员徽章"),
// 该错误不会提示给前端,只是后端传输错误信息用。
ACCESS_SQL_FILTER_MISSION_ARGS(8701, "缺少生成权限过滤SQL所需参数"),
OPER_ADD_CUSTOMER_ROOT_AGENCY_ERROR(8702, "添加客户根级组织失败"),
@ -110,6 +115,8 @@ public enum EpmetErrorCode {
OPER_CUSTOMER_FOOTBAR_EXISTS(8712, "footbar已存在"),
OPER_CUSTOMER_FOOTBAR_NOT_FOUND(8713, "footbar不存在"),
OPER_EXT_APP_SECRET_RESET_FAIL(8714, "秘钥更新失败"),
OPER_UPLOAD_IMG_TYPE_ERROR(8715, "请上传PNG格式的图片"),
OPER_UPLOAD_IMG_SIZE_ERROR(8716, "请上传200*200的图片"),
USER_LIST_ROLES_BY_KEY_FAIL(8715, "根据角色key查询角色列表失败"),
// 党建声音 前端提示 88段

49
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java

@ -9,16 +9,23 @@
package com.epmet.commons.tools.redis;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.*;
import org.springframework.data.redis.support.atomic.RedisAtomicLong;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* Redis工具类
@ -159,6 +166,14 @@ public class RedisUtils {
redisTemplate.opsForHash().delete(key, fields);
}
public void rightPush(String key, Object value, long expire){
redisTemplate.opsForList().rightPush(key, value);
if (expire != NOT_EXPIRE) {
expire(key, expire);
}
}
public void leftPush(String key, Object value) {
leftPush(key, value, DEFAULT_EXPIRE);
}
@ -171,10 +186,40 @@ public class RedisUtils {
}
}
public Object lindex(String key,Long index){
return redisTemplate.opsForList().index(key,index);
public Object lindex(String key,Long index){ return redisTemplate.opsForList().index(key,index);
}
public <T> List<T> lrange(String key,long start,long end,Class<T> clazz){
List<Object> content = redisTemplate.opsForList().range(key,start,end);
if(CollectionUtils.isEmpty(content)) return null;
return content.stream().map( o -> {
try {
T target = clazz.newInstance();
BeanUtils.copyProperties(o, target);
return target;
}catch (Exception e){throw new RenException("convert error");}
}).collect(Collectors.toList());
}
/**
* @Description Redis lrem :
* 根据参数 count 的值移除列表中与参数 value 相等的元素
* COUNT 的值可以是以下几种
* count > 0 : 从表头开始向表尾搜索移除与 value 相等的元素数量为 count
* count < 0 : 从表尾开始向表头搜索移除与 value 相等的元素数量为 count 的绝对值
* count = 0 : 移除表中所有与 value 相等的值
* 返回值 :
* 被移除元素的数量
* 列表不存在时返回 0
* @param key
* @param count
* @param o 这里的Object需要重写equals(FIXME 注意序列化)
* @return long
* @author wangc
* @date 2020.11.05 10:22
*/
public long lrem(String key,long count,Object o){ return redisTemplate.opsForList().remove(key,count,o);}
public Object rightPop(String key) {
return redisTemplate.opsForList().rightPop(key);
}

1
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/fact/FactIndexController.java

@ -63,6 +63,7 @@ public class FactIndexController {
* @Description 按月查询各项指标数据
* @author sun
*/
@PostMapping("index/ablitylist")
public Result<List<AblityListResultDTO>> ablityList(@RequestBody AblityListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, AblityListFormDTO.AddUserInternalGroup.class);

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java

@ -740,13 +740,4 @@ public class DemoController {
log.info("影响行数="+updateNum);
return new Result();
}
@Autowired
private ScreenGrassrootsGovernDataAbsorptionService wc;
@PostMapping("wc")
public Result wc(@RequestBody ScreenCentralZoneDataFormDTO param){
wc.difficultyDataHub(param);
return new Result();
}
}

7
epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml

@ -173,6 +173,13 @@
<appender-ref ref="WARN_FILE"/>
<appender-ref ref="ERROR_FILE"/>
</root>
<!-- 屏蔽logger -->
<logger name="org.springframework" level="INFO"/>
<logger name="org.apache" level="WARN"/>
<logger name="org.mybatis.spring" level="WARN"/>
<logger name="io.netty" level="WARN"/>
<logger name="org.redisson.connection" level="WARN"/>
<logger name="org.hibernate.validator" level="WARN"/>
</springProfile>
</configuration>

34
epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java

@ -10,6 +10,7 @@ package com.epmet.controller;
import com.epmet.cloud.CloudStorageConfig;
import com.epmet.cloud.OssFactory;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
@ -39,6 +40,9 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
@ -223,6 +227,36 @@ public class OssController {
return ossService.uploadImg(file);
}
@PostMapping("uploadimg/badgeicon")
public Result<UploadImgResultDTO> badgeIcon(@RequestParam("file") MultipartFile file) throws IOException {
// 校验文件类型
if (!MediaType.IMAGE_PNG_VALUE.equals(file.getContentType())) {
log.error("uploadArticleImg file type:{} is not support 2 upload", file.getContentType());
throw new RenException(EpmetErrorCode.OPER_UPLOAD_IMG_TYPE_ERROR.getCode()
, EpmetErrorCode.OPER_UPLOAD_IMG_TYPE_ERROR.getMsg());
}
// 校验文件体积,不超过2m
long maxSize = 2 * 1024 * 1024;
long size = file.getSize();
if (size > maxSize) {
throw new RenException(EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getCode()
, EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getMsg());
}
BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
int width = bufferedImage.getWidth();
int height = bufferedImage.getHeight();
if (width != 200 || height != 200) {
throw new RenException(EpmetErrorCode.OPER_UPLOAD_IMG_SIZE_ERROR.getCode()
, EpmetErrorCode.OPER_UPLOAD_IMG_SIZE_ERROR.getMsg());
}
return ossService.uploadImg(file);
}
/**
* @param byteFile fileName
* @Description 外挂-文件上传

6
epmet-module/gov-grid/gov-grid-server/pom.xml

@ -63,6 +63,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-user-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

7
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java

@ -26,5 +26,12 @@ public class WorkGrassRootsFunctionConstant {
* 议题管理
*/
public static final String WORK_GRASSROOTS_ISSUE="work_grassroots_issue";
/**
* 徽章审核
*/
public static final String WORK_GRASSROOTS_BADGE="work_grassroots_badge";
}

42
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java

@ -1,19 +1,16 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.WorkGrassRootsFunctionConstant;
import com.epmet.controller.TestFormDTO1;
import com.epmet.controller.TestResultDTO1;
import com.epmet.dto.form.RedDotFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.GridAuditingBadgeCountResultDTO;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.dto.result.RedDotResultDTO;
import com.epmet.feign.GovIssueFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.feign.ResiPartymemberFeignClient;
import com.epmet.feign.*;
import com.epmet.service.RemindService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -44,6 +41,9 @@ public class RemindServiceImpl implements RemindService {
@Autowired
private GovIssueFeignClient govIssueFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public RedDotResultDTO queryGridRedDot(RedDotFormDTO formDTO) {
RedDotResultDTO redDotResultDTO = new RedDotResultDTO();
@ -88,10 +88,14 @@ public class RemindServiceImpl implements RemindService {
if (this.getWorkGrassRootsIssue(gridIdList)) {
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_ISSUE);
}
if(this.getWorkGrassRootsBadge(gridIdList)){
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_BADGE);
}
return functionList;
}
//群组管理: work_grassroots_group
public Boolean getWorkGrassRootsGroup(List<String> gridIdList) {
Result<List<GridProcessingCountResultDTO>> groupProcessingCountResult = resiGroupFeignClient.queryGroupProcessingCount(gridIdList);
@ -104,8 +108,7 @@ public class RemindServiceImpl implements RemindService {
}
}
}else{
logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(),
groupProcessingCountResult.getMsg()));
logger.error(String.format("查询群组管理待办事项数失败,%s",groupProcessingCountResult.getMsg()));
}
return false;
}
@ -123,8 +126,7 @@ public class RemindServiceImpl implements RemindService {
}
}
} else {
logger.error(String.format("调用%s服务,查询网格%s待审核热心居民数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), resiGroupProcessingCountResult.getCode(),
resiGroupProcessingCountResult.getMsg()));
logger.error(String.format("查询网格内待审核热心居民数失败,%s",resiGroupProcessingCountResult.getMsg()));
}
return false;
}
@ -142,8 +144,7 @@ public class RemindServiceImpl implements RemindService {
}
}
}else{
logger.error(String.format("调用%s服务,查询网格%s待审核党员数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), partyMemberProcessingCountResult.getCode(),
partyMemberProcessingCountResult.getMsg()));
logger.error(String.format("查询网格内待审核党员总数失败,%s",partyMemberProcessingCountResult.getMsg()));
}
return false;
}
@ -161,12 +162,27 @@ public class RemindServiceImpl implements RemindService {
}
}
}else{
logger.error(String.format("调用%s服务,查询网格%s表决中议题总数失败code%s,msg:", ServiceConstant.GOV_ISSUE_SERVER, gridIdList.get(0), issueResult.getCode(),
issueResult.getMsg()));
logger.error("查询网格表决中议题总数失败,%s",issueResult.getMsg());
}
return false;
}
//徽章审核
private boolean getWorkGrassRootsBadge(List<String> gridIdList) {
Result<List<GridAuditingBadgeCountResultDTO>> badgeResult = epmetUserOpenFeignClient.queryGridAuditingBadgeCount(gridIdList);
if (badgeResult.success()) {
for (String gridId : gridIdList) {
for (GridAuditingBadgeCountResultDTO gridAuditingBadgeCountResultDTO : badgeResult.getData()) {
if (gridId.equals(gridAuditingBadgeCountResultDTO.getGridId()) && gridAuditingBadgeCountResultDTO.getCount() > 0) {
return true;
}
}
}
}else{
logger.error(String.format("查询网格待审核徽章申请失败,%s",badgeResult.getMsg()));
}
return false;
}
@Override
public TestResultDTO1 test(TestFormDTO1 testFormDTO1) {
Result<TestResultDTO1> resultDTO1Result = resiGroupFeignClient.test(testFormDTO1);

1
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/ResiTopicServiceImpl.java

@ -79,6 +79,7 @@ public class ResiTopicServiceImpl implements ResiTopicService {
govTopic.setTopicRealseTime(top.getReleaseTime());
govTopic.setTopicFirstPhoto(top.getFirstPhoto());
govTopic.setTopicState(top.getStatus());
govTopic.setBadgeList(top.getBadgeList());
topicsResult.add(govTopic);
});
}

35
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueOpenConstant.java

@ -0,0 +1,35 @@
package com.epmet.constant;
/**
* 议题相关常亮其它服务可用
*
* @author yinzuomei@elink-cn.com
* @date 2020/11/11 14:10
*/
public interface IssueOpenConstant {
/**
* 议题状态-表决中
*/
String ISSUE_VOTING = "voting";
/**
* 议题状态-已转项目
*/
String ISSUE_SHIFT_PROJECT = "shift_project";
/**
* 议题状态-已关闭
*/
String ISSUE_CLOSED = "closed";
/**
* 议题解决类型-已解决
*/
String ISSUE_RESOLVED = "resolved";
/**
* 议题解决类型-未解决
*/
String ISSUE_UNRESOLVED = "unresolved";
/**
* 议题来源类型 eg:resi_topic
*/
String SOURCE_TYPE_RT="resi_topic";
}

17
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueDTO.java

@ -17,9 +17,10 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
@ -143,4 +144,18 @@ public class IssueDTO implements Serializable {
*/
private Date updatedTime;
/**
* 转项目日期 服务间调用日期一致性
*/
private Long shiftedTimeStamp;
/**
* 关闭日期
*/
private Long closedTimeStamp;
/**
* 议题转项目后-对应的项目id
*/
private String projectId;
}

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

25
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MyPartIssuesFormDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/11/10 10:04 上午
*/
@Data
public class MyPartIssuesFormDTO implements Serializable {
private static final long serialVersionUID = 265005061427415836L;
public interface MyPartIssues{}
/**
* 用户ID
*/
@NotBlank(message = "userId不能为空",groups = MyPartIssues.class)
private String userId;
}

35
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MyPubIssuesAuditingFormDTO.java

@ -0,0 +1,35 @@
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/11 9:06 上午
*/
@Data
public class MyPubIssuesAuditingFormDTO implements Serializable {
private static final long serialVersionUID = 8417818340366917358L;
public interface MyPubIssuesAuditing{}
@NotNull(message = "页码不能为空",groups = MyPubIssuesAuditing.class)
private Integer pageNo;
@NotNull(message = "每页数量不能为空",groups = MyPubIssuesAuditing.class)
private Integer pageSize;
/**
* 拓展参数前端不传值内部传输用
*/
private String userId;
/**
* 拓展参数前端不传值内部传输用
*/
private String issueStatus;
}

38
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/MyShiftIssueTopicsFormDTO.java

@ -0,0 +1,38 @@
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/13 3:30 下午
*/
@Data
public class MyShiftIssueTopicsFormDTO implements Serializable {
private static final long serialVersionUID = -3943178729586797400L;
public interface MyShiftIssueTopics{}
/**
* 页码
*/
@NotNull(message = "页码不能为空",groups = {MyShiftIssueTopics.class})
private Integer pageNo;
/**
* 每页数量
*/
@NotNull(message = "每页数量不能为空",groups = {MyShiftIssueTopics.class})
private Integer pageSize;
@NotBlank(message = "客户ID不能为空",groups = {MyShiftIssueTopics.class})
private String customerId;
private String userId;
}

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

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

2
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueProjectResultDTO.java

@ -1,6 +1,7 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
@ -26,6 +27,7 @@ public class IssueProjectResultDTO implements Serializable {
/**
* 议题转项目时间(项目表创建时间)
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date shiftedTime;
}

41
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPartIssuesResultDTO.java

@ -0,0 +1,41 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/11/10 9:50 上午
*/
@Data
public class MyPartIssuesResultDTO implements Serializable {
private static final long serialVersionUID = 2081387920547808112L;
private String issueId;
/**
* 建议
*/
private String suggestion;
/**
* 议题标题
*/
private String issueTitle;
/**
* 转议题时间
*/
private Long shiftIssueTime;
/**
* 发表网格名称
*/
private String topicReleaseGridName;
@JsonIgnore
private String gridId;
}

53
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyPubIssuesAuditingResultDTO.java

@ -0,0 +1,53 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/11/11 9:17 上午
*/
@Data
public class MyPubIssuesAuditingResultDTO implements Serializable {
private static final long serialVersionUID = -659855213089511649L;
/**
* 议题id
*/
private String issueId;
/**
* 议题标题
*/
private String issueTitle;
/**
* 议题建议
*/
private String suggestion;
/**
* 转议题时间
*/
private Long shiftIssueTime;
/**
* 议题来源的小组名
*/
private String topicReleaseGroupName;
/**
* 议题来源的网格名
*/
private String topicReleaseGridName;
@JsonIgnore
private String gridId;
@JsonIgnore
private String topicId;
}

50
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/MyShiftIssueTopicsResultDTO.java

@ -0,0 +1,50 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/11/13 3:31 下午
*/
@Data
public class MyShiftIssueTopicsResultDTO implements Serializable {
private static final long serialVersionUID = -703102629653169023L;
/**
* 话题ID
*/
private String topicId;
/**
* 转议题时间
*/
private Long shiftIssueTime;
/**
* 建议
*/
private String suggestion;
/**
* 议题标题
*/
private String issueTitle;
/**
* 话题发表网格名称
*/
private String releaseGridName;
/**
* 议题ID
*/
private String issueId;
@JsonIgnore
private String gridId;
}

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

95
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java

@ -1,7 +1,22 @@
package com.epmet.feign;
import com.epmet.commons.tools.utils.Result;
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 org.springframework.cloud.openfeign.FeignClient;
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.commons.tools.utils.Result;
import com.epmet.dto.IssueApplicationDTO;
import com.epmet.dto.IssueApplicationHistoryDTO;
import com.epmet.dto.IssueSuggestionDTO;
@ -10,6 +25,18 @@ import com.epmet.dto.form.IssueApplicationIdFormDTO;
import com.epmet.dto.form.UserIssueSuggestionFormDTO;
import com.epmet.dto.result.SaveIssueSuggestionResultDTO;
import com.epmet.feign.fallback.GovIssueOpenFeignClientFallBack;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import com.epmet.resi.mine.dto.from.MyShiftIssueTopicsFormDTO;
import com.epmet.resi.mine.dto.result.MyShiftIssueTopicsResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
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;
@ -28,7 +55,75 @@ import java.util.List;
* @date 2020/6/4 13:37
*/
@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueOpenFeignClientFallBack.class)
// @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
* @author zxc
* @date 2020/11/10 10:01 上午
*/
@PostMapping("/gov/issue/issuevotestatistical/mypartissues")
Result<List<MyPartIssuesResultDTO>> myPartIssues(@RequestBody MyPartIssuesFormDTO myPartIssuesFormDTO);
/**
* @Description 个人中心-我发起的议题列表-表决中
* @Param tokenDto
* @Param myPubIssuesAuditingFormDTO
* @author zxc
* @date 2020/11/11 9:24 上午
*/
@PostMapping("/gov/issue/issue/mypubissuesauditing")
Result<List<MyPubIssuesAuditingResultDTO>> myPubIssuesAuditing(@RequestBody MyPubIssuesAuditingFormDTO myPubIssuesAuditingFormDTO);
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.IssueDTO>>
* @param formDTO
* @author yinzuomei
* @description 查询我发起的议题可根据状态查询
* @Date 2020/11/11 14:13
**/
@PostMapping(value = "/gov/issue/issue/getmypubissues", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<IssueDTO>> getMyPubIssues(@RequestBody MyPubIssuesAuditingFormDTO formDTO);
/**
* @Description 个人中心-我发表的话题列表-已转议题列表
* @Param myShiftIssueTopicsFormDTO
* @author zxc
* @date 2020/11/13 4:58 下午
*/
@PostMapping("/gov/issue/issue/shiftissuetopic")
Result<List<MyShiftIssueTopicsResultDTO>> myShiftIssueTopics(@RequestBody MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO);
/**
* 小组表决中议题
* @author zhaoqifeng

52
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java

@ -1,5 +1,16 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.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.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
@ -11,6 +22,14 @@ import com.epmet.dto.form.IssueApplicationIdFormDTO;
import com.epmet.dto.form.UserIssueSuggestionFormDTO;
import com.epmet.dto.result.SaveIssueSuggestionResultDTO;
import com.epmet.feign.GovIssueOpenFeignClient;
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.mine.dto.from.MyShiftIssueTopicsFormDTO;
import com.epmet.resi.mine.dto.result.MyShiftIssueTopicsResultDTO;
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;
@ -27,6 +46,39 @@ 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);
}
@Override
public Result<List<MyPubIssuesAuditingResultDTO>> myPubIssuesAuditing(MyPubIssuesAuditingFormDTO myPubIssuesAuditingFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"myPubIssuesAuditing",myPubIssuesAuditingFormDTO);
}
@Override
public Result<List<IssueDTO>> getMyPubIssues(MyPubIssuesAuditingFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"getMyPubIssues",formDTO);
}
@Override
public Result<List<MyShiftIssueTopicsResultDTO>> myShiftIssueTopics(MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER,"myShiftIssueTopics",myShiftIssueTopicsFormDTO);
}
/**
* 小组表决中议题
*

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/IssueConstant.java

@ -93,4 +93,6 @@ public interface IssueConstant {
String BEIJING_TIME_ZONE = "+8";
String REVIEW_ISSUE = "议题评论失败,评论内容为:%s";
String GRID = "grid";
}

39
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueApplicationController.java

@ -26,6 +26,12 @@ 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.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.*;
@ -83,6 +89,39 @@ public class IssueApplicationController {
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

53
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java

@ -1,16 +1,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.*;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.excel.IssueExcel;
import com.epmet.resi.group.dto.group.form.AllIssueFormDTO;
@ -20,12 +13,12 @@ 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;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
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 javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* @Description 居民端党群议事
@ -156,6 +149,42 @@ public class IssueController {
return new Result<Integer>().ok(issueService.checkTopicShiftIssue(formDTO));
}
/**
* @Description 个人中心-我发起的议题列表-表决中
* @Param myPubIssuesAuditingFormDTO
* @author zxc
* @date 2020/11/11 9:24 上午
*/
@PostMapping("mypubissuesauditing")
public Result<List<MyPubIssuesAuditingResultDTO>> myPubIssuesAuditing(@RequestBody MyPubIssuesAuditingFormDTO myPubIssuesAuditingFormDTO){
return new Result<List<MyPubIssuesAuditingResultDTO>>().ok(issueService.myPubIssuesAuditing(myPubIssuesAuditingFormDTO));
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.IssueDTO>>
* @param formDTO
* @author yinzuomei
* @description 查询我发起的议题可根据状态查询
* @Date 2020/11/11 14:49
**/
@PostMapping("getmypubissues")
public Result<List<IssueDTO>> getMyPubIssues(@RequestBody MyPubIssuesAuditingFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return new Result<List<IssueDTO>>().ok(issueService.getMyPubIssues(formDTO));
}
/**
* @Description 个人中心-我发表的话题列表-已转议题列表
* @Param myShiftIssueTopicsFormDTO
* @author zxc
* @date 2020/11/13 4:58 下午
*/
@PostMapping("shiftissuetopic")
public Result<List<MyShiftIssueTopicsResultDTO>> myShiftIssueTopics(@RequestBody MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO){
ValidatorUtils.validateEntity(myShiftIssueTopicsFormDTO, MyShiftIssueTopicsFormDTO.MyShiftIssueTopics.class);
return new Result<List<MyShiftIssueTopicsResultDTO>>().ok(issueService.myShiftIssueTopics(myShiftIssueTopicsFormDTO));
}
/**
* 小组表决中议题
* @author zhaoqifeng

14
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueVoteStatisticalController.java

@ -29,6 +29,8 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.dto.IssueVoteStatisticalDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.form.MyPartIssuesFormDTO;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.dto.result.VoteResultDTO;
import com.epmet.dto.result.VotingTrendResultDTO;
import com.epmet.excel.IssueVoteStatisticalExcel;
@ -145,4 +147,16 @@ public class IssueVoteStatisticalController {
return new Result();
}
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
@PostMapping("mypartissues")
public Result<List<MyPartIssuesResultDTO>> myPartIssues(@RequestBody MyPartIssuesFormDTO myPartIssuesFormDTO){
ValidatorUtils.validateEntity(myPartIssuesFormDTO, MyPartIssuesFormDTO.MyPartIssues.class);
return new Result<List<MyPartIssuesResultDTO>>().ok(issueVoteStatisticalService.myPartIssues(myPartIssuesFormDTO));
}
}

11
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueApplicationDao.java

@ -21,6 +21,8 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IssueApplicationDTO;
import com.epmet.dto.form.IssueAppQueryFormDTO;
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;
@ -34,6 +36,15 @@ import java.util.List;
@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

32
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -148,6 +148,38 @@ public interface IssueDao extends BaseDao<IssueEntity> {
*/
Integer checkTopicShiftIssue(TopicInfoFormDTO formDTO);
/**
* @Description 个人中心-我发起的议题列表-表决中
* @Param myPubIssuesAuditingFormDTO
* @author zxc
* @date 2020/11/11 9:24 上午
*/
List<MyPubIssuesAuditingResultDTO> myPubIssuesAuditing(@Param("userId")String userId);
/**
* @return java.util.List<com.epmet.dto.IssueDTO>
* @param pageNo
* @param pageSize
* @param userId 当前用户
* @param issueStatus 议题状态 表决中voting 已转项目shift_project 已关闭closed
* @author yinzuomei
* @description 查询我发起的议题可根据状态查询
* @Date 2020/11/11 15:11
**/
List<IssueDTO> selectMyPubIssues(@Param("pageNo") Integer pageNo,
@Param("pageSize") Integer pageSize,
@Param("userId") String userId,
@Param("issueStatus") String issueStatus);
/**
* @Description 个人中心-我发表的话题列表-已转议题列表
* @Param tokenDto
* @Param myShiftIssueTopicsResultDTO
* @author zxc
* @date 2020/11/13 3:42 下午
*/
List<MyShiftIssueTopicsResultDTO> myShiftIssueTopics(@Param("topicIds") List<String> topicIds,@Param("customerId") String customerId);
/**
* 根据话题ID查找表决中议题列表

9
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java

@ -21,6 +21,7 @@ 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;
import com.epmet.entity.IssueVoteDetailEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -75,6 +76,14 @@ public interface IssueVoteDetailDao extends BaseDao<IssueVoteDetailEntity> {
List<IssueAttitudeCountResultDTO> getVotingSummaryList(@Param("ids")Set<String> ids);
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
List<MyPartIssuesResultDTO> myPartIssues(@Param("userId")String userId);
/**
* @return com.epmet.dto.IssueVoteDetailDTO
* @param userId

30
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueApplicationService.java

@ -22,6 +22,12 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueApplicationDTO;
import com.epmet.dto.form.IssueAppQueryFormDTO;
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;
@ -94,6 +100,30 @@ public interface IssueApplicationService extends BaseService<IssueApplicationEnt
*/
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

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

@ -2,23 +2,10 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IssueDTO;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.result.DepartmentStaffListResultDTO;
import com.epmet.dto.result.GridIdResultDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.DepartmentStaffListFormDTO;
import com.epmet.dto.form.CommonIssueListFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.result.*;
import com.epmet.dto.form.IssueShiftedFromTopicFormDTO;
import com.epmet.entity.IssueEntity;
import com.epmet.resi.group.dto.group.form.AllIssueFormDTO;
@ -26,7 +13,6 @@ 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 org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -237,6 +223,33 @@ public interface IssueService extends BaseService<IssueEntity> {
*/
Integer checkTopicShiftIssue(TopicInfoFormDTO formDTO);
/**
* @Description 个人中心-我发起的议题列表-表决中
* @Param myPubIssuesAuditingFormDTO
* @author zxc
* @date 2020/11/11 9:24 上午
*/
List<MyPubIssuesAuditingResultDTO> myPubIssuesAuditing(MyPubIssuesAuditingFormDTO myPubIssuesAuditingFormDTO);
/**
* @return java.util.List<com.epmet.dto.IssueDTO>
* @param formDTO
* @author yinzuomei
* @description 查询我发起的议题可根据状态查询
* @Date 2020/11/11 14:57
**/
List<IssueDTO> getMyPubIssues(MyPubIssuesAuditingFormDTO formDTO);
/**
* @Description 个人中心-我发表的话题列表-已转议题列表
* @Param tokenDto
* @Param myShiftIssueTopicsResultDTO
* @author zxc
* @date 2020/11/13 3:42 下午
*/
List<MyShiftIssueTopicsResultDTO> myShiftIssueTopics(MyShiftIssueTopicsFormDTO myShiftIssueTopicsFormDTO);
/**
* 小组表决中议题
* @author zhaoqifeng

10
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueVoteStatisticalService.java

@ -23,7 +23,9 @@ import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.IssueVoteStatisticalDTO;
import com.epmet.dto.form.EvaluationListFormDTO;
import com.epmet.dto.form.IssueIdFormDTO;
import com.epmet.dto.form.MyPartIssuesFormDTO;
import com.epmet.dto.result.EvaluationListResultDTO;
import com.epmet.dto.result.MyPartIssuesResultDTO;
import com.epmet.dto.result.VoteResultDTO;
import com.epmet.dto.result.VotingTrendResultDTO;
import com.epmet.entity.IssueVoteStatisticalEntity;
@ -159,4 +161,12 @@ public interface IssueVoteStatisticalService extends BaseService<IssueVoteStatis
* @date 2020.05.21 09:09
**/
void syncVotingCacheToDbByParams(String issueId,String gridId,String statisticalId);
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
List<MyPartIssuesResultDTO> myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO);
}

40
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueApplicationServiceImpl.java

@ -27,6 +27,12 @@ import com.epmet.dao.IssueApplicationDao;
import com.epmet.dto.IssueApplicationDTO;
import com.epmet.dto.form.IssueAppQueryFormDTO;
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;
@ -111,4 +117,38 @@ public class IssueApplicationServiceImpl extends BaseServiceImpl<IssueApplicatio
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;
}
}

86
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -17,6 +17,7 @@ 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;
@ -34,19 +35,25 @@ 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.GroupInfoFormDTO;
import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO;
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.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO;
import com.epmet.resi.group.dto.topic.form.TopicIdListFormDTO;
import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO;
import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO;
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient;
import com.epmet.service.IssueProcessService;
import com.epmet.service.IssueProjectRelationService;
import com.epmet.service.IssueService;
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;
@ -54,6 +61,7 @@ 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;
@ -83,6 +91,10 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
private IssueProjectRelationDao issueProjectRelationDao;
@Autowired
private IssueVoteDetailRedis issueVoteDetailRedis;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private ResiGroupOpenFeignClient resiGroupOpenFeignClient;
protected static final Logger logger = LoggerFactory.getLogger(IssueServiceImpl.class);
@ -846,6 +858,80 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return baseDao.checkTopicShiftIssue(formDTO);
}
/**
* @Description 个人中心-我发起的议题列表-表决中
* @Param myPubIssuesAuditingFormDTO
* @author zxc
* @date 2020/11/11 9:24 上午
*/
@Override
public List<MyPubIssuesAuditingResultDTO> myPubIssuesAuditing(MyPubIssuesAuditingFormDTO form) {
List<MyPubIssuesAuditingResultDTO> list = new ArrayList<>();
PageInfo<MyPubIssuesAuditingResultDTO> result = PageHelper.startPage(form.getPageNo(),form.getPageSize()).doSelectPageInfo(() -> baseDao.myPubIssuesAuditing(form.getUserId()));
if (!CollectionUtils.isEmpty(result.getList())){
list = result.getList();
Result<List<AllGridsByUserIdResultDTO>> gridNameList = govOrgOpenFeignClient.getGridListByGridIds(list.stream().map(m -> m.getGridId()).collect(Collectors.toList()));
if (!gridNameList.success()){
throw new RenException("查询议题来源网格名称失败......");
}
list.forEach(l -> gridNameList.getData().stream().filter(o -> l.getGridId().equals(o.getGridId())).forEach(o -> l.setTopicReleaseGridName(o.getGridName())));
Result<List<GroupInfoResultDTO>> groupNameList = resiGroupOpenFeignClient.selectGroupInfo(new GroupInfoFormDTO(list.stream().map(m -> m.getTopicId()).collect(Collectors.toList())));
if (!groupNameList.success()){
throw new RenException("查询议题来源小组名称失败......");
}
list.forEach(l -> groupNameList.getData().stream().filter(g -> l.getTopicId().equals(g.getTopicId())).forEach(g -> l.setTopicReleaseGroupName(g.getTopicGroupName())));
}
return list;
}
/**
* @param formDTO
* @return java.util.List<com.epmet.dto.IssueDTO>
* @author yinzuomei
* @description 查询我发起的议题可根据状态查询
* @Date 2020/11/11 14:57
**/
@Override
public List<IssueDTO> getMyPubIssues(MyPubIssuesAuditingFormDTO formDTO) {
formDTO.setPageNo(null == formDTO.getPageNo() ? NumConstant.ZERO :
(formDTO.getPageNo() - NumConstant.ONE)*formDTO.getPageSize()
);
return baseDao.selectMyPubIssues(formDTO.getPageNo(),formDTO.getPageSize(),formDTO.getUserId(),formDTO.getIssueStatus());
}
/**
* @Description 个人中心-我发表的话题列表-已转议题列表
* @Param tokenDto
* @Param myShiftIssueTopicsResultDTO
* @author zxc
* @date 2020/11/13 3:42 下午
*/
@Override
public List<MyShiftIssueTopicsResultDTO> myShiftIssueTopics(MyShiftIssueTopicsFormDTO form) {
TopicIdListFormDTO formDTO = new TopicIdListFormDTO();
formDTO.setUserId(form.getUserId());
Result<List<String>> listResult = resiGroupOpenFeignClient.selectMyCreateTopic(formDTO);
if (!listResult.success()){
throw new RenException("查询我创建的话题失败......");
}
if(CollectionUtils.isEmpty(listResult.getData())){
logger.debug("查询我创建的话题集合为空");
return new ArrayList<>();
}
List<String> topicIds = listResult.getData();
PageInfo<MyShiftIssueTopicsResultDTO> resultPage = PageHelper.startPage(form.getPageNo(), form.getPageSize()).doSelectPageInfo(() -> baseDao.myShiftIssueTopics(topicIds, form.getCustomerId()));
if (CollectionUtils.isEmpty(resultPage.getList())){
return new ArrayList<>();
}
List<MyShiftIssueTopicsResultDTO> result = resultPage.getList();
Result<List<AllGridsByUserIdResultDTO>> gridListByGridIds = govOrgOpenFeignClient.getGridListByGridIds(result.stream().map(m -> m.getGridId()).collect(Collectors.toList()));
if (!gridListByGridIds.success()){
throw new RenException("查询话题所属网格名称失败......");
}
result.forEach(r -> gridListByGridIds.getData().stream().filter(f -> r.getGridId().equals(f.getGridId())).forEach(f -> r.setReleaseGridName(f.getGridName())));
return result;
}
/**
* 小组表决中议题
*

25
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java

@ -40,6 +40,7 @@ import com.epmet.dto.result.*;
import com.epmet.entity.IssueEntity;
import com.epmet.entity.IssueVoteStatisticalEntity;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.redis.IssueVoteDetailRedis;
import com.epmet.redis.IssueVoteStatisticalRedis;
@ -51,6 +52,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDate;
import java.time.LocalDateTime;
@ -86,6 +88,8 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
private ResiGroupFeignClient resiGroupFeignClient;
@Autowired
private IssueVoteDetailService issueVoteDetailService;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Override
public PageData<IssueVoteStatisticalDTO> page(Map<String, Object> params) {
@ -532,4 +536,25 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl<IssueVoteSt
}
/**
* @Description 个人中心-我参与的议题列表
* @Param myPartIssuesFormDTO
* @author zxc
* @date 2020/11/10 10:01 上午
*/
@Override
public List<MyPartIssuesResultDTO> myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) {
List<MyPartIssuesResultDTO> myPartIssuesResult = issueVoteDetailDao.myPartIssues(myPartIssuesFormDTO.getUserId());
if (CollectionUtils.isEmpty(myPartIssuesResult)){
return new ArrayList<>();
}
List<String> orgIds = myPartIssuesResult.stream().map(m -> m.getGridId()).collect(Collectors.toList());
Result<List<AllGridsByUserIdResultDTO>> listResult = govOrgOpenFeignClient.getGridListByGridIds(orgIds);
if (!listResult.success()){
throw new RenException("查询议题来源网格名称失败......");
}
myPartIssuesResult.forEach(m -> listResult.getData().stream().filter(l -> m.getGridId().equals(l.getGridId())).forEach(l -> m.setTopicReleaseGridName(l.getGridName())));
return myPartIssuesResult;
}
}

2
epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml

@ -139,7 +139,7 @@
</appender>
<!-- 开发、测试环境 -->
<springProfile name="dev,test">
<springProfile name="dev,test,local">
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="INFO"/>
<logger name="com.epmet.dao" level="INFO"/>

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

@ -3,6 +3,17 @@
<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
FROM issue_application
WHERE DEL_FLAG = '0'
AND ID = #{issueApplicationId}
</select>
<!-- 分页按条件查询issue_application -->
<select id="selectList" resultType="com.epmet.dto.IssueApplicationDTO" parameterType="com.epmet.dto.form.IssueAppQueryFormDTO">
SELECT

63
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

@ -441,4 +441,67 @@
LIMIT #{pageNo}, #{pageSize}
</select>
<!-- 个人中心-我发起的议题列表-表决中 -->
<select id="myPubIssuesAuditing" resultType="com.epmet.dto.result.MyPubIssuesAuditingResultDTO">
SELECT
i.ID AS issueId,
i.SUGGESTION,
i.ISSUE_TITLE,
i.SOURCE_ID AS topicId,
i.GRID_ID AS gridId,
UNIX_TIMESTAMP(i.CREATED_TIME) AS shiftIssueTime
FROM issue i
WHERE i.DEL_FLAG = '0'
AND i.ISSUE_STATUS = 'voting'
AND i.CREATED_BY = #{userId}
ORDER BY i.CREATED_TIME DESC
</select>
<!-- 查询我发起的议题(可根据状态查询)-->
<select id="selectMyPubIssues" parameterType="map" resultType="com.epmet.dto.IssueDTO">
SELECT
i.*,
UNIX_TIMESTAMP(i.CLOSED_TIME) AS closedTimeStamp,
UNIX_TIMESTAMP(i.SHIFTED_TIME) AS shiftedTimeStamp,
m.PROJECT_ID
FROM
issue i
left join issue_project_relation m
on(i.id=m.ISSUE_ID and m.del_flag='0')
WHERE
i.DEL_FLAG = '0'
AND i.CREATED_BY = #{userId}
<if test ='null != issueStatus and "" != issueStatus'>
and i.ISSUE_STATUS=#{issueStatus}
</if>
<if test="issueStatus == 'shift_project'">
ORDER BY
m.CREATED_TIME DESC
</if>
<if test="issueStatus == 'closed'">
ORDER BY
i.CLOSED_TIME DESC
</if>
LIMIT #{pageNo}, #{pageSize}
</select>
<!-- 个人中心-我发表的话题列表-已转议题列表 -->
<select id="myShiftIssueTopics" resultType="com.epmet.dto.result.MyShiftIssueTopicsResultDTO">
SELECT
ID AS issueId,
SOURCE_ID AS topicId,
UNIX_TIMESTAMP(CREATED_TIME) AS shiftIssueTime,
SUGGESTION,
ISSUE_TITLE,
GRID_ID
FROM issue
WHERE DEL_FLAG = '0'
AND ISSUE_STATUS != 'shift_project'
AND CUSTOMER_ID = #{customerId}
AND
<foreach collection="topicIds" item="topicId" separator=" OR ">
SOURCE_ID = #{topicId}
</foreach>
ORDER BY CREATED_TIME DESC
</select>
</mapper>

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

@ -72,6 +72,22 @@
attitude
</select>
<!-- 个人中心-我参与的议题列表 -->
<select id="myPartIssues" resultType="com.epmet.dto.result.MyPartIssuesResultDTO">
SELECT
vd.ISSUE_ID,
i.SUGGESTION,
i.ISSUE_TITLE,
i.GRID_ID AS gridId,
UNIX_TIMESTAMP(i.CREATED_TIME) AS shiftIssueTime
FROM issue_vote_detail vd
LEFT JOIN issue i ON i.ID = vd.ISSUE_ID
WHERE i.DEL_FLAG = '0'
AND vd.DEL_FLAG = '0'
AND vd.CREATED_BY = #{userId}
ORDER BY i.CREATED_TIME DESC
</select>
<!-- 查询用户对某个议题的表决信息 -->
<select id="selectUserIssueDet" parameterType="map" resultType="com.epmet.dto.IssueVoteDetailDTO">
SELECT

15
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/constant/OrgInfoConstant.java

@ -0,0 +1,15 @@
package com.epmet.constant;
/**
* @Author zxc
* @DateTime 2020/11/10 5:18 下午
*/
public interface OrgInfoConstant {
String AGENCY = "agency";
String GRID = "grid";
String DEPT = "dept";
}

31
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/OrgInfoFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/11/10 2:13 下午
*/
@Data
@AllArgsConstructor
public class OrgInfoFormDTO implements Serializable {
private static final long serialVersionUID = 4480485864711053393L;
/**
* org的类型 agency机关grid网格dept部门
*/
private String orgType;
/**
* orgId集合
*/
private List<String> orgIds;
public OrgInfoFormDTO() {
}
}

33
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencyElementTreeResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
/**
* @description:
* @author: liushaowen
* @date: 2020/11/6 13:54
*/
@Data
public class AgencyElementTreeResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Set<String> defaultKeys;
private List<Agency> list;
@Data
public static class Agency{
private String id;
private String label;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<AgencyElementTreeResultDTO.Agency> children;
}
}

34
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/OrgInfoResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/11/10 2:15 下午
*/
@Data
public class OrgInfoResultDTO implements Serializable {
private static final long serialVersionUID = 7478605833438304330L;
private String orgId;
private String orgName;
/**
* orgType 为空时此字段为空
*/
private String agencyId;
private String pid;
private String pids;
private String allParentName;
private String organizationName;
private String level;
}

19
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -275,4 +275,23 @@ public interface GovOrgOpenFeignClient {
*/
@PostMapping("/gov/org/customeragency/organizetree/{agencyId}")
Result<OrganizeTreeResultDTO> organizeTree(@PathVariable("agencyId") String agencyId);
/**
* @Description 查询org信息
* @Param orgInfoFormDTO
* @author zxc
* @date 2020/11/10 2:55 下午
*/
@PostMapping("/gov/org/grid/selectorginfo")
Result<List<OrgInfoResultDTO>> selectOrgInfo(@RequestBody OrgInfoFormDTO orgInfoFormDTO);
/**
* @param gridIdList
* @return
* @Description 根据网格Id集合获取网格列表信息
* @Author sun
*/
@PostMapping("/gov/org/customergrid/getgridlistbygridids")
Result<List<AllGridsByUserIdResultDTO>> getGridListByGridIds(List<String> gridIdList);
}

10
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -161,4 +161,14 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
public Result<OrganizeTreeResultDTO> organizeTree(String agencyId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "organizeTree", agencyId);
}
@Override
public Result<List<OrgInfoResultDTO>> selectOrgInfo(OrgInfoFormDTO orgInfoFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "selectOrgInfo", orgInfoFormDTO);
}
@Override
public Result<List<AllGridsByUserIdResultDTO>> getGridListByGridIds(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridListByGridIds", gridIdList);
}
}

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerGridConstant.java

@ -10,4 +10,10 @@ public interface CustomerGridConstant {
* 根据网格Id未查询到网格信息
*/
String SELECT_EXCEPTION = "根据网格Id未查询到网格信息";
String AGENCY = "agency";
String DEPT = "dept";
String GRID = "grid";
}

37
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java

@ -17,7 +17,9 @@
package com.epmet.controller;
import com.baomidou.mybatisplus.extension.api.R;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
@ -32,12 +34,16 @@ import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.excel.CustomerAgencyExcel;
import com.epmet.service.CustomerAgencyService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
@ -243,6 +249,37 @@ public class CustomerAgencyController {
return new Result<StaffInAgencyListResultDTO>().ok(customerAgencyService.staffInAgencyList(tokenDTO.getUserId()));
}
/**
* @Description 对外接口根据customerId返回Element UI中Tree结构的agency列表
* @param map
* @return com.epmet.commons.tools.utils.Result
* @Author liushaowen
* @Date 2020/11/6 13:51
*/
@PostMapping("getagencyelementtreelist")
public Result<List<AgencyElementTreeResultDTO.Agency>> getAgencyElementTreeList(@RequestBody Map<String,String> map){
String customerId = map.get("customerId");
if (StringUtils.isBlank(customerId)){
throw new RenException("customerId不能为空");
}
return new Result<List<AgencyElementTreeResultDTO.Agency>>().ok(customerAgencyService.getAgencyElementTree(customerId).getList());
}
/**
* @Description 对外接口根据customerId返回Element UI中Tree结构的agency keys
* @param map
* @return com.epmet.commons.tools.utils.Result
* @Author liushaowen
* @Date 2020/11/6 13:51
*/
@PostMapping("getagencyelementtreekeys")
public Result<Set<String>> getAgencyElementTreeKeys(@RequestBody Map<String,String> map){
String customerId = map.get("customerId");
if (StringUtils.isBlank(customerId)){
throw new RenException("customerId不能为空");
}
return new Result<Set<String>>().ok(customerAgencyService.getAgencyElementTree(customerId).getDefaultKeys());
}
/**
* @Description 对外接口-根据组织Id获取组织信息
* @author sun

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java

@ -154,4 +154,15 @@ public class GridController {
List<GridByStaffResultDTO> grids = customerGridService.listGridsbystaffid(staffId);
return new Result<List<GridByStaffResultDTO>>().ok(grids);
}
/**
* @Description 查询org信息
* @Param orgInfoFormDTO
* @author zxc
* @date 2020/11/10 2:55 下午
*/
@PostMapping("selectorginfo")
public Result<List<OrgInfoResultDTO>> selectOrgInfo(@RequestBody OrgInfoFormDTO orgInfoFormDTO){
return new Result<List<OrgInfoResultDTO>>().ok(customerGridService.selectOrgInfo(orgInfoFormDTO));
}
}

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java

@ -176,6 +176,16 @@ public interface CustomerAgencyDao extends BaseDao<CustomerAgencyEntity> {
**/
AgencyResultDTO selectAgencyByStaffId(@Param("staffId") String staffId);
/**
* @Description 返回elementTree结构的agency树
* @param customerId
* @param pid
* @return java.util.List<com.epmet.dto.result.AgencyElementTreeResultDTO.Agency>
* @Author liushaowen
* @Date 2020/11/6 14:57
*/
List<AgencyElementTreeResultDTO.Agency> getAgencyElementTree(@Param("customerId") String customerId,@Param("pid") String pid);
/**
* @Description 外挂-获取当前组织及部门网格数据递归查询所有下级数据
* @author sun

4
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -242,4 +242,8 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
* @return java.util.List<com.epmet.entity.CustomerGridEntity>
*/
List<CustomerGridEntity> selectGridByStaff(@Param("staffId") String staffId);
List<OrgInfoResultDTO> selectOrgInfoByAgency(@Param("orgIds")List<String> orgIds);
List<OrgInfoResultDTO> selectOrgInfoByGrid(@Param("orgIds")List<String> orgIds);
List<OrgInfoResultDTO> selectOrgInfoByDept(@Param("orgIds")List<String> orgIds);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java

@ -214,6 +214,15 @@ public interface CustomerAgencyService extends BaseService<CustomerAgencyEntity>
**/
StaffInAgencyListResultDTO staffInAgencyList(String staffId);
/**
* @Description 运营端-返回element ui - tree 结构agency列表
* @param customerId
* @return com.epmet.dto.result.AgencyElementTreeResultDTO
* @Author liushaowen
* @Date 2020/11/6 14:02
*/
AgencyElementTreeResultDTO getAgencyElementTree(String customerId);
/**
* @Description 对外接口-根据组织Id获取组织信息
* @author sun

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java

@ -33,6 +33,7 @@ import com.epmet.dto.result.SelectGridNameByGridIdResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerGridEntity;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
@ -268,4 +269,12 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @return void
*/
void updateGrid(String staffId);
/**
* @Description 查询org信息
* @Param orgInfoFormDTO
* @author zxc
* @date 2020/11/10 2:55 下午
*/
List<OrgInfoResultDTO> selectOrgInfo(OrgInfoFormDTO orgInfoFormDTO);
}

27
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -994,6 +994,33 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
return resultDTO;
}
/**
* @param customerId
* @return com.epmet.dto.result.AgencyElementTreeResultDTO
* @Description 运营端-返回element ui - tree 结构agency列表
* @Author liushaowen
* @Date 2020/11/6 14:02
*/
@Override
public AgencyElementTreeResultDTO getAgencyElementTree(String customerId) {
List<AgencyElementTreeResultDTO.Agency> agencyList = baseDao.getAgencyElementTree(customerId, "0");
Set<String> defaultKeys = new HashSet<>();
traversalAgencyList(agencyList,0,defaultKeys);
AgencyElementTreeResultDTO dto = new AgencyElementTreeResultDTO();
dto.setList(agencyList);
dto.setDefaultKeys(defaultKeys);
return dto;
}
private void traversalAgencyList(List<AgencyElementTreeResultDTO.Agency> agencyList,int times,Set<String> set){
if (agencyList.size() > 0 && times < 2){
for (AgencyElementTreeResultDTO.Agency list : agencyList) {
set.add(list.getId());
times++;
traversalAgencyList(list.getChildren(),times,set);
}
}
}
/**
* @Description 对外接口-根据组织Id获取组织信息
* @author sun

22
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -666,4 +666,26 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
}
}
/**
* @Description 查询org信息
* @Param orgInfoFormDTO
* @author zxc
* @date 2020/11/10 2:55 下午
*/
@Override
public List<OrgInfoResultDTO> selectOrgInfo(OrgInfoFormDTO orgInfoFormDTO) {
List<OrgInfoResultDTO> result;
if (orgInfoFormDTO.getOrgType().equals(CustomerGridConstant.AGENCY)){
// 机关
result = baseDao.selectOrgInfoByAgency(orgInfoFormDTO.getOrgIds());
}else if (orgInfoFormDTO.getOrgType().equals(CustomerGridConstant.GRID)){
//网格
result = baseDao.selectOrgInfoByGrid(orgInfoFormDTO.getOrgIds());
}else {
// 部门
result = baseDao.selectOrgInfoByDept(orgInfoFormDTO.getOrgIds());
}
return result;
}
}

8
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml

@ -373,4 +373,12 @@
</select>
<!-- sql递归 查询组织、组织下部门、组织下网格基本信息及递归查询下级信息 end-->
<resultMap id="elementTreeAgency" type="com.epmet.dto.result.AgencyElementTreeResultDTO$Agency">
<id column="ID" property="id"></id>
<result column="ORGANIZATION_NAME" property="label"></result>
<collection property="children" select="getAgencyElementTree" column="{pid=id,customerId=customer_id}"></collection>
</resultMap>
<select id="getAgencyElementTree" resultMap="elementTreeAgency">
select id,organization_name,customer_id from customer_agency where pid = #{pid} and customer_id = #{customerId}
</select>
</mapper>

51
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -490,4 +490,55 @@
AND g.DEL_FLAG = '0'
AND sg.USER_ID = #{staffId}
</select>
<select id="selectOrgInfoByDept" resultType="com.epmet.dto.result.OrgInfoResultDTO">
SELECT
cd.ID AS orgId,
cd.DEPARTMENT_NAME AS orgName,
cd.AGENCY_ID AS agencyId,
ca.PID,
ca.PIDS,
ca.ORGANIZATION_NAME
FROM customer_department cd
LEFT JOIN customer_agency ca ON ca.ID = cd.AGENCY_ID
WHERE cd.DEL_FLAG = '0'
AND ca.DEL_FLAG = '0'
AND
<foreach collection="orgIds" item="orgId" separator=" OR ">
cd.ID = #{orgId}
</foreach>
</select>
<select id="selectOrgInfoByGrid" resultType="com.epmet.dto.result.OrgInfoResultDTO">
SELECT
cg.ID AS orgId,
cg.GRID_NAME AS orgName,
cg.PID AS agencyId,
ca.PID,
ca.PIDS,
ca.ORGANIZATION_NAME
FROM customer_grid cg
LEFT JOIN customer_agency ca ON ca.ID = cg.PID
WHERE cg.DEL_FLAG = '0'
AND ca.DEL_FLAG = '0'
AND
<foreach collection="orgIds" item="orgId" separator=" OR ">
cg.ID = #{orgId}
</foreach>
</select>
<select id="selectOrgInfoByAgency" resultType="com.epmet.dto.result.OrgInfoResultDTO">
SELECT
ID AS orgId,
ORGANIZATION_NAME AS orgName,
PID,
PIDS,
ALL_PARENT_NAME,
ORGANIZATION_NAME,
`LEVEL`
FROM customer_agency
WHERE DEL_FLAG = '0'
AND
<foreach collection="orgIds" item="orgId" separator=" OR ">
ID = #{orgId}
</foreach>
</select>
</mapper>

6
epmet-module/gov-project/gov-project-client/pom.xml

@ -17,5 +17,11 @@
<artifactId>epmet-commons-tools</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>resi-mine-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

8
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java

@ -17,9 +17,11 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import java.util.List;
/**
@ -113,4 +115,8 @@ public class ProjectDTO implements Serializable {
*/
private Date updatedTime;
/**
* 当前处理部门名称列表
*/
private List<String> currentDepartmentNameList;
}

10
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectRelatedPersonnelDTO.java

@ -58,6 +58,16 @@ public class ProjectRelatedPersonnelDTO implements Serializable {
*/
private String userId;
/**
* 来源类型(话题:topic 议题:issue)
*/
private String sourceType;
/**
* 来源Id(话题或议题Id)
*/
private String sourceId;
/**
* 删除标识
*/

20
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectByCreateTopicUserFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class ProjectByCreateTopicUserFormDTO {
public interface ListByUserGroup {}
@NotBlank(message = "客户ID不能为空", groups = { ListByUserGroup.class })
private String customerId;
@NotBlank(message = "用户ID不能为空", groups = { ListByUserGroup.class })
private String userId;
private Integer pageNo = 1;
private Integer pageSize = 10;
}

53
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPartProjectsResultDTO.java

@ -0,0 +1,53 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 个人中心-我参与的项目列表-接口返参
* @Auth sun
*/
@Data
public class MyPartProjectsResultDTO implements Serializable {
private static final long serialVersionUID = 2081387920547808112L;
/**
* 项目id
*/
private String projectId;
/**
* 话题发表于哪个网格
*/
private String topicReleaseGridName;
/**
* 项目标题
*/
private String projectTitle;
/**
* 当前处理部门
*/
private List<String> departmentNameList;
/**
* 转项目时间时间戳
*/
private Long shiftProjectTime;
/**
* 议题Id用户数据整合使用(项目出自哪个网格"组织-网格")
*/
//@JsonIgnore
private String issueId;
/**
* 项目状态(待处理 pending结案closed)用于查询当前处理部门信息
*/
//@JsonIgnore
private String status;
}

46
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPubIssuesClosedResultDTO.java

@ -0,0 +1,46 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 个人中心-我发起的议题列表-已关闭返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/11/11 13:39
*/
@Data
public class MyPubIssuesClosedResultDTO implements Serializable {
private static final long serialVersionUID = -265465326846671555L;
/**
* 议题id
*/
private String issueId;
/**
* 议题标题
*/
private String issueTitle;
/**
* 建议
*/
private String suggestion;
/**
* 议题关闭时间时间戳
*/
private Long closedTime;
/**
* 话题发表于哪个组
*/
private String topicReleaseGroupName;
/**
* 话题发表于哪个网格
*/
private String topicReleaseGridName;
}

48
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/MyPubIssuesShiftProjectResultDTO.java

@ -0,0 +1,48 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 个人中心-我发起的议题列表-已转项目 返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/11/11 12:18
*/
@Data
public class MyPubIssuesShiftProjectResultDTO implements Serializable {
private static final long serialVersionUID = -7183751225506622772L;
/**
* 项目id
*/
private String projectId;
/**
* 话题发表网格id
*/
private String topicReleaseGridName;
/**
* 当前处理部门名称列表
*/
private List<String> departmentNameList;
/**
* 项目标题
*/
private String projectTitle;
/**
* 转项目时间时间戳
*/
private Long shiftProjectTime;
/**
* 话题发表于哪个组
*/
private String topicReleaseGroupName;
private String issueId;
}

19
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectOfCreateTopicUserResultDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.result;
import lombok.Data;
import java.util.List;
@Data
public class ProjectOfCreateTopicUserResultDTO {
private String topicId;
private String projectId;
private String issueId;
private String gridId;
private Long shiftProjectTime;
private List<String> departmentNameList;
private String projectTitle;
private String releaseGridId;
}

39
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java

@ -1,16 +1,18 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.ProcessListFormDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.ProcessListFormDTO;
import com.epmet.dto.form.ProjectByCreateTopicUserFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.dto.result.ProcessAndCurrentDeptResultDTO;
import com.epmet.dto.result.ProcesslistResultDTO;
import org.springframework.cloud.openfeign.FeignClient;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.dto.result.ProjectOfCreateTopicUserResultDTO;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallback;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -22,6 +24,7 @@ import java.util.List;
* @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:32
*/
// @FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectOpenFeignClientFallback.class,url = "localhost:8102")
@FeignClient(name = ServiceConstant.GOV_PROJECT_SERVER, fallback = GovProjectOpenFeignClientFallback.class)
public interface GovProjectOpenFeignClient {
/**
@ -46,4 +49,30 @@ public interface GovProjectOpenFeignClient {
@PostMapping("gov/project/trace/processlistnotrule")
Result<ProcessAndCurrentDeptResultDTO> getProcessList(@RequestBody ProcessListFormDTO fromDTO);
/**
* @Description 根据议题Id集合查询对应的项目信息
* @author sun
*/
@PostMapping("gov/project/project/issuetoprojectlist")
Result<List<MyPartProjectsResultDTO>> issueToProjectList(MyPartProjectsFormDTO formDTO);
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.ProjectDTO>>
* @param projectIds 项目id数组
* @author yinzuomei
* @description 根据项目id查询项目基本信息
* @Date 2020/11/11 17:40
**/
@PostMapping("gov/project/project/queryprojectinfobyids")
Result<List<ProjectDTO>> queryProjectInfoByIds(@RequestBody List<String> projectIds);
/**
* @Description 根据话题创建人查询项目列表
* @return
* @author wxz
* @date 2020.11.13 11:09
*/
@PostMapping("gov/project/project/list-by-createtopic-userid")
Result<List<ProjectOfCreateTopicUserResultDTO>> listProjectsByCreateTopicUserId(@RequestBody ProjectByCreateTopicUserFormDTO form);
}

27
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java

@ -5,11 +5,14 @@ import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.ProcessListFormDTO;
import com.epmet.dto.form.ProjectByCreateTopicUserFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.dto.result.ProcessAndCurrentDeptResultDTO;
import com.epmet.dto.result.ProcesslistResultDTO;
import com.epmet.dto.result.ProjectOfCreateTopicUserResultDTO;
import com.epmet.feign.GovProjectOpenFeignClient;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.stereotype.Component;
import java.util.List;
@ -44,4 +47,26 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli
public Result<ProcessAndCurrentDeptResultDTO> getProcessList(ProcessListFormDTO fromDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "getProcessList", fromDTO);
}
@Override
public Result<List<MyPartProjectsResultDTO>> issueToProjectList(MyPartProjectsFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "issueToProjectList", formDTO);
}
/**
* @param projectIds 项目id数组
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.ProjectDTO>>
* @author yinzuomei
* @description 根据项目id查询项目基本信息
* @Date 2020/11/11 17:40
**/
@Override
public Result<List<ProjectDTO>> queryProjectInfoByIds(List<String> projectIds) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "queryProjectInfoByIds", projectIds);
}
@Override
public Result<List<ProjectOfCreateTopicUserResultDTO>> listProjectsByCreateTopicUserId(ProjectByCreateTopicUserFormDTO form) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "listProjectsByCreateTopicUserId", form);
}
}

43
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java

@ -18,8 +18,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.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ExcelUtils;
@ -27,18 +25,13 @@ 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.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectFormDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.IssueProjectResultDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.dto.result.PendProjectListResultDTO;
import com.epmet.dto.result.ShiftProjectResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.excel.ProjectExcel;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import com.epmet.service.ProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -183,4 +176,32 @@ public class ProjectController {
projectService.projectProcessCostTimeDataCompensation();
return new Result();
}
/**
* @param formDTO
* @Author sun
* @Description 根据议题Id集合查询对应的项目信息
**/
@PostMapping("issuetoprojectlist")
public Result<List<MyPartProjectsResultDTO>> issueToProjectList(@RequestBody MyPartProjectsFormDTO formDTO) {
return new Result<List<MyPartProjectsResultDTO>>().ok(projectService.issueToProjectList(formDTO));
}
@PostMapping("queryprojectinfobyids")
public Result<List<ProjectDTO>> queryProjectInfoByIds(@RequestBody List<String> projectIds){
return new Result<List<ProjectDTO>>().ok(projectService.queryProjectInfoByIds(projectIds));
}
/**
* @Description
* @return
* @author wxz
* @date 2020.11.13 09:49
*/
@PostMapping("list-by-createtopic-userid")
public Result<List<ProjectOfCreateTopicUserResultDTO>> listProjectsByCreateTopicUserId(@RequestBody ProjectByCreateTopicUserFormDTO form) {
ValidatorUtils.validateEntity(form, ProjectByCreateTopicUserFormDTO.ListByUserGroup.class);
List<ProjectOfCreateTopicUserResultDTO> projects = projectService.listProjectsByCreateTopicUserId(form.getUserId(), form.getCustomerId(), form.getPageNo(), form.getPageSize());
return new Result().ok(projects);
}
}

18
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java

@ -24,7 +24,9 @@ import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.result.LatestListResultDTO;
import com.epmet.dto.result.MyPartProjectsResultDTO;
import com.epmet.dto.result.ProjectDetailResultDTO;
import com.epmet.dto.result.ProjectOfCreateTopicUserResultDTO;
import com.epmet.entity.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -130,4 +132,20 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @date 2020.10.26 11:20
*/
List<String> selectAllCustomerIds();
/**
* @Author sun
* @Description 根据议题ID集合查询对应的项目基本信息
**/
List<MyPartProjectsResultDTO> selectIssueProjectList(@Param("customerId") String customerId, @Param("issueList") List<String> issueList,
@Param("pageIndex") int pageIndex, @Param("pageSize") Integer pageSize);
/**
* @Description 根据话题创建人查询项目列表
* @return
* @author wxz
* @date 2020.11.13 09:38
*/
List<ProjectOfCreateTopicUserResultDTO> listProjectsByCreateTopicUserId(@Param("userId") String userId,
@Param("customerId") String customerId);
}

10
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectRelatedPersonnelEntity.java

@ -58,4 +58,14 @@ public class ProjectRelatedPersonnelEntity extends BaseEpmetEntity {
*/
private String userId;
/**
* 来源类型(话题:topic 议题:issue)
*/
private String sourceType;
/**
* 来源Id(话题或议题Id)
*/
private String sourceId;
}

6
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectRelatedPersonnelExcel.java

@ -46,6 +46,12 @@ public class ProjectRelatedPersonnelExcel {
@Excel(name = "用户ID")
private String userId;
@Excel(name = "来源类型")
private String sourceType;
@Excel(name = "来源ID")
private String sourceId;
@Excel(name = "删除标识")
private String delFlag;

19
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

@ -19,11 +19,11 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.ProjectEntity;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import java.util.List;
import java.util.Map;
@ -216,4 +216,21 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @date 2020.10.26 10:54
*/
void projectProcessCostTimeDataCompensation();
/**
* @param formDTO
* @Author sun
* @Description 根据议题Id集合查询对应的项目信息
**/
List<MyPartProjectsResultDTO> issueToProjectList(MyPartProjectsFormDTO formDTO);
List<ProjectDTO> queryProjectInfoByIds(List<String> projectIds);
/**
* @Description 查询用户的项目列表
* @return
* @author wxz
* @date 2020.11.13 09:12
*/
List<ProjectOfCreateTopicUserResultDTO> listProjectsByCreateTopicUserId(String userId, String customerId, Integer pageNo, Integer pageSize);
}

86
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -42,7 +42,9 @@ import com.epmet.dto.result.*;
import com.epmet.entity.*;
import com.epmet.feign.*;
import com.epmet.redis.ProjectRedis;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import com.epmet.service.*;
import com.github.pagehelper.PageHelper;
import org.apache.commons.collections4.CollectionUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.ListUtils;
@ -687,6 +689,18 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return detentionDays.getData().get(NumConstant.ZERO).getDetentionDays();
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户下已结案项目列表按结案时间倒序(结案时间结案说明处理部门)
**/
@Override
public List<LatestListResultDTO> getClosedProjectList(LatestListFormDTO formDTO) {
return baseDao.selectClosedProjectList(formDTO);
}
/**
* @param formDTO
* @return
@ -803,7 +817,7 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
//7:初始化机关-项目时间关联数据
Date current = new Date();
Date current = new Date();
List<String> projectStaffIds = entityList.stream().map(ProjectStaffEntity::getId).distinct().collect(Collectors.toList());
if(!CollectionUtils.isEmpty(projectStaffIds)){
List<ProjectOrgRelationEntity> container = new LinkedList<>();
@ -826,8 +840,12 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
entity1.setApp(AppClientConstant.APP_RESI);
entity1.setGridId(issueDTO.getGridId());
entity1.setUserId(formDTO.getTopicDTO().getCreatedBy());
entity1.setSourceType(AppClientConstant.TOPIC);
entity1.setSourceId(formDTO.getTopicDTO().getId());
ProjectRelatedPersonnelEntity entity2 = ConvertUtils.sourceToTarget(entity1,ProjectRelatedPersonnelEntity.class);
entity2.setUserId(issueDTO.getCreatedBy());
entity2.setSourceType(AppClientConstant.ISSUE);
entity2.setSourceId(issueDTO.getId());
list.add(entity1);
list.add(entity2);
projectRelatedPersonnelService.insertBatch(list);
@ -841,18 +859,6 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return issueProjectResultDTO;
}
/**
* @param formDTO
* @return
* @Author sun
* @Description 获取客户下已结案项目列表按结案时间倒序(结案时间结案说明处理部门)
**/
@Override
public List<LatestListResultDTO> getClosedProjectList(LatestListFormDTO formDTO) {
return baseDao.selectClosedProjectList(formDTO);
}
@Override
public void response(ProjectResponseFormDTO formDTO) {
//公开回复内容审核
@ -1362,4 +1368,58 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
ProjectOrgPeriodResultDTO target = dest.get(seq);
if(null != target) target.setPeriodTillReplyFirstly(staffResponseTraceUnit.getCreatedTime());
}
/**
* @param formDTO
* @Author sun
* @Description 根据议题Id集合查询对应的项目信息
**/
@Override
public List<MyPartProjectsResultDTO> issueToProjectList(MyPartProjectsFormDTO formDTO) {
//1.根据议题ID集合查询对应的项目基本信息
int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize();
List<MyPartProjectsResultDTO> list = baseDao.selectIssueProjectList(formDTO.getCustomerId(), formDTO.getIssueList(), pageIndex, formDTO.getPageSize());
//2.使用已有方法查询项目当前处理部门信息
list.forEach(l -> {
if (ProjectConstant.CLOSED.equals(l.getStatus())) {
l.setDepartmentNameList(new ArrayList<String>());
} else {
ProjectDTO dto = new ProjectDTO();
dto.setId(l.getProjectId());
l.setDepartmentNameList(baseDao.selectDepartmentNameList(dto));
}
});
return list;
}
@Override
public List<ProjectDTO> queryProjectInfoByIds(List<String> projectIds) {
List<ProjectEntity> entityList=baseDao.selectBatchIds(projectIds);
List<ProjectDTO> projectDTOList=ConvertUtils.sourceToTarget(entityList, ProjectDTO.class);
//2.使用已有方法查询项目当前处理部门信息
projectDTOList.forEach(l -> {
if (ProjectConstant.CLOSED.equals(l.getStatus())) {
l.setCurrentDepartmentNameList(new ArrayList<String>());
} else {
ProjectDTO dto = new ProjectDTO();
dto.setId(l.getId());
l.setCurrentDepartmentNameList(baseDao.selectDepartmentNameList(dto));
}
});
return projectDTOList;
}
@Override
public List<ProjectOfCreateTopicUserResultDTO> listProjectsByCreateTopicUserId(String userId, String customerId, Integer pageNo, Integer pageSize) {
PageHelper.startPage(pageNo, pageSize);
List<ProjectOfCreateTopicUserResultDTO> projects = baseDao.listProjectsByCreateTopicUserId(userId, customerId);
projects.stream().forEach(p -> {
ProjectDTO dto = new ProjectDTO();
dto.setId(p.getProjectId());
List<String> depts = baseDao.selectDepartmentNameList(dto);
p.setDepartmentNameList(depts);
});
return projects;
}
}

14
epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.4__alter_project_related_personnel.sql

@ -0,0 +1,14 @@
ALTER TABLE `project_related_personnel` ADD COLUMN `SOURCE_TYPE` VARCHAR (32) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '来源类型(话题:topic 议题:issue)' AFTER `GRID_ID`,
ADD COLUMN `SOURCE_ID` VARCHAR (64) CHARACTER
SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '来源Id(话题或议题Id)' AFTER `SOURCE_TYPE`;
-- 更改项目库的字符集
alter table customer_project_parameter convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table project convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table project_org_relation convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table project_process convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table project_related_personnel convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table project_satisfaction_detail convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table project_satisfaction_statistics convert to character set utf8mb4 collate utf8mb4_general_ci;
alter table project_staff convert to character set utf8mb4 collate utf8mb4_general_ci;

40
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -206,4 +206,44 @@
DEL_FLAG = '0'
</select>
<select id="selectIssueProjectList" resultType="com.epmet.dto.result.MyPartProjectsResultDTO">
SELECT
id AS "projectId",
title AS "projectTitle",
UNIX_TIMESTAMP(created_time) AS "shiftProjectTime",
origin_id AS "issueId",
status AS "status"
FROM
project
WHERE
del_flag = '0'
AND origin = 'issue'
AND customer_id = #{customerId}
<foreach collection="issueList" item="issueId" open="AND( " separator=" OR " index="index" close=")">
origin_id = #{issueId}
</foreach>
ORDER BY CREATED_TIME DESC
LIMIT #{pageIndex}, #{pageSize}
</select>
<select id="listProjectsByCreateTopicUserId"
resultType="com.epmet.dto.result.ProjectOfCreateTopicUserResultDTO">
select
rp.SOURCE_ID as topicId,
unix_timestamp(p.CREATED_TIME) as shiftProjectTime,
p.id as projectId,
rp.GRID_ID gridId,
p.TITLE as projectTitle,
rp.GRID_ID releaseGridId,
rp2.SOURCE_ID as issueId
from project_related_personnel rp
inner join project p on (rp.PROJECT_ID = p.ID and p.DEL_FLAG = 0)
left join project_related_personnel rp2 on (rp.PROJECT_ID = rp2.PROJECT_ID and rp2.SOURCE_TYPE = 'issue')
where rp.USER_ID = #{userId}
and p.CUSTOMER_ID=#{customerId}
and p.DEL_FLAG=0
and rp.SOURCE_TYPE = 'topic'
order by p.CREATED_TIME desc
</select>
</mapper>

2
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectRelatedPersonnelDao.xml

@ -8,6 +8,8 @@
<result property="projectId" column="PROJECT_ID"/>
<result property="app" column="APP"/>
<result property="gridId" column="GRID_ID"/>
<result property="sourceId" column="SOURCE_ID"/>
<result property="sourceType" column="SOURCE_TYPE"/>
<result property="userId" column="USER_ID"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>

6
epmet-module/resi-group/resi-group-client/pom.xml

@ -26,6 +26,12 @@
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>resi-mine-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

23
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupInfoFormDTO.java

@ -0,0 +1,23 @@
package com.epmet.resi.group.dto.group.form;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2020/11/11 1:30 下午
*/
@Data
@AllArgsConstructor
public class GroupInfoFormDTO implements Serializable {
private static final long serialVersionUID = -7940077760343241658L;
private List<String> topicIds;
public GroupInfoFormDTO() {
}
}

48
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailCopyResultDTO.java

@ -0,0 +1,48 @@
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 TopicInfoResultDTO topicInfo;
public ApplicationDetailCopyResultDTO() {
this.issueApplicationId = "";
this.issueTitle = "";
this.gridName = "";
this.issuePublisher = "";
this.topicInfo = new TopicInfoResultDTO();
}
}

8
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplicationDetailResultDTO.java

@ -1,5 +1,6 @@
package com.epmet.resi.group.dto.group.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
@ -38,7 +39,14 @@ public class ApplicationDetailResultDTO implements Serializable {
*/
private TopicInfoResultDTO topicInfo;
private String gridId;
private String topicId;
private String userId;
public ApplicationDetailResultDTO() {
this.issueApplicationId = "";
this.issueTitle = "";
this.gridName = "";
this.issuePublisher = "";

19
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupInfoResultDTO.java

@ -0,0 +1,19 @@
package com.epmet.resi.group.dto.group.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/11/11 1:31 下午
*/
@Data
public class GroupInfoResultDTO implements Serializable {
private static final long serialVersionUID = 5508197256307317314L;
private String topicId;
private String topicGroupName;
}

5
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/TopicInfoResultDTO.java

@ -1,6 +1,7 @@
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;
@ -41,7 +42,11 @@ public class TopicInfoResultDTO implements Serializable {
*/
private List<String> topicImgs;
@JsonIgnore
private String topicUserId;
public TopicInfoResultDTO() {
this.topicId = "";
this.publishedUser = "";
this.publishedTime = NumConstant.ZERO_L;
this.topicContent = "";

6
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java

@ -3,6 +3,7 @@ package com.epmet.resi.group.dto.member.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
@ -45,4 +46,9 @@ public class ApplyingMemberResultDTO implements Serializable {
* 入群被拒 - rejected
*/
private String status;
/**
* 用户徽章Url列表
*/
private List<String> badgeList;
}

6
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/GroupMemberListResultDTO.java

@ -4,6 +4,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* @Description
@ -43,4 +44,9 @@ public class GroupMemberListResultDTO implements Serializable {
* 审核通过 - approved 已禁言 - silent
*/
private String status;
/**
* 用户徽章列表
*/
private List<String> badgeList;
}

20
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/MyCreateTopicsFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.resi.group.dto.topic;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class MyCreateTopicsFormDTO {
@NotBlank(message = "客户id不能为空")
private String customerId;
@NotBlank(message = "用户id不能为空")
private String userId;
private Integer pageSize = 10;
private Integer pageNo = 1;
}

30
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CustomerPageFormDTO.java

@ -0,0 +1,30 @@
package com.epmet.resi.group.dto.topic.form;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 客户Id 用户Id 分页
* @ClassName CustomerPageFormDTO
* @Auth wangc
* @Date 2020-11-11 23:15
*/
@Data
public class CustomerPageFormDTO implements Serializable {
private static final long serialVersionUID = 8678047078015445193L;
@NotBlank(message = "客户Id不能为空")
private String customerId;
@NotBlank(message = "用户Id不能为空")
private String userId;
@Min(1)
private Integer pageNo;
@Min(1)
private Integer pageSize;
}

14
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicIdListFormDTO.java

@ -0,0 +1,14 @@
package com.epmet.resi.group.dto.topic.form;
import lombok.Data;
/**
* @Author zxc
* @DateTime 2020/11/13 4:27 下午
*/
@Data
public class TopicIdListFormDTO{
private String userId;
}

6
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovHiddenTopicInfoResultDTO.java

@ -5,6 +5,7 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Description
@ -51,4 +52,9 @@ public class GovHiddenTopicInfoResultDTO implements Serializable {
* 话题的第一张图片地址
* */
private String topicFirstPhoto;
/**
* 徽章Url集合
*/
private List<String> badgeList;
}

6
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/GovTopicInfoResultDTO.java

@ -5,6 +5,7 @@ import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
@ -57,4 +58,9 @@ public class GovTopicInfoResultDTO implements Serializable {
* 话题的状态
* */
private String topicState;
/**
* 徽章Url集合
*/
private List<String> badgeList;
}

28
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/IssueGridResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.resi.group.dto.topic.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description 话题对应的议题及所属网格数据
* @Auth sun
*/
@Data
public class IssueGridResultDTO implements Serializable {
private static final long serialVersionUID = -3495808492616727671L;
/**
* 网格Id
* */
private String gridId;
/**
* 议题Id
* */
private String issueId;
}

16
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyCreateTopicsResultDTO.java

@ -0,0 +1,16 @@
package com.epmet.resi.group.dto.topic.result;
import lombok.Data;
@Data
public class MyCreateTopicsResultDTO {
private String topicId;
private String groupId;
private Long releaseTime;
private String topicContent;
private String releaseGroupName;
private String releaseGridId;
private String releaseGridName;
}

28
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ParticipatedTopicUnitResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.resi.group.dto.topic.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 个人中心 参与过的话题返参DTO
* @ClassName ParticipatedTopicUnitResultDTO
* @Auth wangc
* @Date 2020-11-11 23:00
*/
@Data
public class ParticipatedTopicUnitResultDTO implements Serializable {
private static final long serialVersionUID = 1392205563783715932L;
private String topicId;
private String groupId;
private String topicReleaseGridName;
private String topicContent;
private Long releaseTime;
private String topicReleaseGroupName;
}

5
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicDetailResultDTO.java

@ -56,4 +56,9 @@ public class ResiTopicDetailResultDTO implements Serializable {
* */
private List<String> topicImgs;
/**
* 徽章Url集合
*/
private List<String> badgeList;
}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save