Browse Source

政府端待办事项(reddot)接口、查询网格列表接口开发及修改,涉及各业务接口修改

master
yinzuomei 5 years ago
parent
commit
debc462e8c
  1. 22
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  2. 31
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java
  3. 29
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java
  4. 24
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java
  5. 28
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/RedDotResultDTO.java
  6. 30
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/constant/WorkGrassRootsFunctionConstant.java
  7. 48
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/RemindController.java
  8. 15
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestFormDTO1.java
  9. 15
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestResultDTO1.java
  10. 29
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
  11. 29
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java
  12. 24
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java
  13. 21
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java
  14. 23
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java
  15. 27
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java
  16. 13
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java
  17. 11
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java
  18. 24
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/RemindService.java
  19. 174
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java
  20. 24
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java
  21. 22
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/GovIssueRedisKeys.java
  22. 15
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  23. 33
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java
  24. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  25. 18
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  26. 24
      epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java
  27. 37
      epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/StaffGridResultDTO.java
  28. 6
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java
  29. 29
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java
  30. 30
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java
  31. 41
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java
  32. 23
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java
  33. 25
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java
  34. 29
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java
  35. 7
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java
  36. 151
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java
  37. 25
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java
  38. 4
      epmet-module/resi-group/resi-group-server/pom.xml
  39. 53
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/ResiGroupRedisKeys.java
  40. 478
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
  41. 15
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestFormDTO2.java
  42. 15
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestResultDTO2.java
  43. 69
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java
  44. 30
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  45. 104
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  46. 7
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java
  47. 5
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java
  48. 5
      epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml
  49. 25
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java
  50. 25
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java
  51. 35
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/ResiPartyMemberRedisKeys.java
  52. 14
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberInfoController.java
  53. 9
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java
  54. 11
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java
  55. 18
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java
  56. 13
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java
  57. 10
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java
  58. 36
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java
  59. 168
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/redis/ResiPartyMemberRedis.java

22
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -174,28 +174,6 @@ public class RedisKeys {
return rootPrefix.concat("resiregister:confirm:").concat(userId).concat("-").concat(mobile).concat("-*");
}
/**
* @Description 小组缓存信息key
* @Param 组Id
* @return epmet:resi:group:groupId
* @Author wangc
* @Date 2020.04.13 11:27
**/
public static String getResiGroupInfoKey(String groupId){
return rootPrefix.concat("resi:group:").concat(groupId);
}
/**
* @Description 组成员信息缓存key
* @Param 组Id 用户Id
* @return epmet:resi:group:member:groupId:userId
* @Author wangc
* @Date 2020.04.13 13:40
**/
public static String getResiGroupMemberInfoKey(String groupId, String userId){
return rootPrefix.concat("resi:group:member:").concat(groupId).concat(":").concat(userId);
}
/**
* @param phone 手机号
* @param smsCode 短信验证码

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

@ -13,6 +13,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.support.atomic.RedisAtomicLong;
import org.springframework.stereotype.Component;
import java.util.Collection;
@ -210,4 +211,34 @@ public class RedisUtils {
setString(key, value, DEFAULT_EXPIRE);
}
/**
* @param key
* @return java.lang.Long
* @Author yinzuomei
* @Description key 中储存的数字值+1 返回结果
* @Date 2020/5/12 18:55
**/
public Long incrementAndGet(String key) {
RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory());
//前者,先+1,再返回
Long count = entityIdCounter.incrementAndGet();
if (count == 0) {
System.out.println("返回值=0");
count = entityIdCounter.incrementAndGet();
}
return count;
}
/**
* @param key
* @return java.lang.Long
* @Author yinzuomei
* @Description 将key中储存的数字值-1 返回结果
* @Date 2020/5/13 9:39
**/
public Long decrementAndGet(String key) {
RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory());
Long count = entityIdCounter.decrementAndGet();
return count;
}
}

29
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/RedDotFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description 待办提醒红点入参
* @Author yinzuomei
* @Date 2020/5/13 14:22
*/
@Data
public class RedDotFormDTO implements Serializable {
private static final long serialVersionUID = -3108932695005624852L;
/**
* token中获取不能为空
*/
@NotBlank(message = "staffId不能为空(异常:TokenDto中userId为空)")
private String staffId;
/**
* 网格ID
*/
@NotBlank(message = "网格id不能为空")
private String gridId;
}

24
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 政府端基层治理群组管理议题管理居民管理党员认证查询待办数量feign统一返参
* @Author yinzuomei
* @Date 2020/5/13 21:43
*/
@Data
public class GridProcessingCountResultDTO implements Serializable {
/**
* 网格id
*/
private String gridId;
/**
* 待审核的小组总数
*/
private Long count;
}

28
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/RedDotResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description 待办提醒红点返参
* @Author yinzuomei
* @Date 2020/5/13 14:23
*/
@Data
public class RedDotResultDTO implements Serializable {
private static final long serialVersionUID = -7872984015211318329L;
/**
* 其它网格是否有待办事项true,false
*/
private Boolean otherGridRedDot;
/**
* 需要显示的功能key群组管理work_grassroots_group居民管理work_grassroots_resi党员认证work_grassroots_partyauth议题管理work_grassroots_issue
*/
private List<String> functionList;
}

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

@ -0,0 +1,30 @@
package com.epmet.constant;
/**
* @Description 基层治理菜单key用于是否显示红点提示 待办提醒红点接口反参用
* @Author yinzuomei
* @Date 2020/5/13 14:47
*/
public class WorkGrassRootsFunctionConstant {
/**
* 群组管理
*/
public static final String WORK_GRASSROOTS_GROUP="work_grassroots_group";
/**
* 居民管理
*/
public static final String WORK_GRASSROOTS_RESI="work_grassroots_resi";
/**
* 党员认证
*/
public static final String WORK_GRASSROOTS_PARTYAUTH="work_grassroots_partyauth";
/**
* 议题管理
*/
public static final String WORK_GRASSROOTS_ISSUE="work_grassroots_issue";
}

48
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/RemindController.java

@ -0,0 +1,48 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.RedDotFormDTO;
import com.epmet.dto.result.RedDotResultDTO;
import com.epmet.service.RemindService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Description 基层治理待办事项提醒
* @Author yinzuomei
* @Date 2020/5/13 14:17
*/
@RestController
@RequestMapping("remind")
public class RemindController {
@Autowired
private RemindService remindService;
/**
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.RedDotResultDTO>
* @param formDTO
* @Author yinzuomei
* @Description 根据网格id查询基层治理下网格各功能菜单是否显示红点以及除当前网格外其他网格是否有待办事项
* @Date 2020/5/13 14:28
**/
@PostMapping("reddot")
public Result<RedDotResultDTO> queryGridRedDot(@LoginUser TokenDto tokenDto, @RequestBody RedDotFormDTO formDTO){
formDTO.setStaffId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO);
RedDotResultDTO redDotResultDTO=remindService.queryGridRedDot(formDTO);
return new Result<RedDotResultDTO>().ok(redDotResultDTO);
}
@GetMapping("test")
public Result<TestResultDTO1> test( ){
TestFormDTO1 testFormDTO1=new TestFormDTO1();
testFormDTO1.setId("111");
testFormDTO1.setName("啊啊啊");
TestResultDTO1 testResultDTO1=remindService.test(testFormDTO1);
return new Result<TestResultDTO1>().ok(testResultDTO1);
}
}

15
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestFormDTO1.java

@ -0,0 +1,15 @@
package com.epmet.controller;
import lombok.Data;
/**
* @Description 测试feign
* @Author yinzuomei
* @Date 2020/5/13 18:23
*/
@Data
public class TestFormDTO1 {
private String id;
private String name;
}

15
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/TestResultDTO1.java

@ -0,0 +1,15 @@
package com.epmet.controller;
import lombok.Data;
/**
* @Description 测试feign
* @Author yinzuomei
* @Date 2020/5/13 18:23
*/
@Data
public class TestResultDTO1 {
private String resultId;
private String resultName;
}

29
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java

@ -0,0 +1,29 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.fallback.GovIssueFeignClientFallBack;
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;
/**
* @Description 议题管理服务
* @Author yinzuomei
* @Date 2020/5/13 15:45
*/
@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class)
public interface GovIssueFeignClient {
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查询网格下表决中的议题
* @Date 2020/5/13 15:47
**/
@PostMapping(value = "/gov/issue/issue/queryvotingissuecount",consumes = MediaType.APPLICATION_JSON_VALUE)
Result queryVotingIssueCount(@RequestBody List<String> gridIdList);
}

29
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java

@ -0,0 +1,29 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
/**
* @Description
* @Author sun
*/
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgFeignClientFallBack.class)
public interface GovOrgFeignClient {
/**
* @param userId
* @return
* @Description 根据userId查询该用户涉及的所有网格列表
* @Author sun
*/
@GetMapping(value = "/gov/org/customergrid/getmygrids/{userId}")
Result<List<CustomerGridByUserIdResultDTO>> getMyGrids(@PathVariable("userId") String userId);
}

24
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java

@ -2,20 +2,22 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.controller.TestFormDTO1;
import com.epmet.controller.TestResultDTO1;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.fallback.ResiGroupFeignClientFallBack;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO;
import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO;
import com.epmet.resi.group.dto.group.result.*;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
import com.epmet.resi.group.dto.topic.form.ResiTopicDetailFormDTO;
import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO;
import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO;
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;
@ -137,4 +139,16 @@ public interface ResiGroupFeignClient {
@PostMapping("/resi/group/comment/getcommentlistoftopicgov")
Result<List<ResiCommentResultDTO>> getCommentListOfTopicGov(ResiQueryCommentFormDTO queryCommentFormDTO);
}
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查询网格下待审核的小组总数
* @Date 2020/5/13 15:49
**/
@PostMapping(value = "/resi/group/group/groupprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridProcessingCountResultDTO>> queryGroupProcessingCount(@RequestBody List<String> gridIdList);
@PostMapping(value = "/resi/group/group/test",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<TestResultDTO1> test(@RequestBody TestFormDTO1 testFormDTO1);
}

21
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java

@ -6,6 +6,7 @@ import com.epmet.dto.form.CertifiedDetailFormDTO;
import com.epmet.dto.form.CertifiedFormDTO;
import com.epmet.dto.result.CertifiedDetailResultDTO;
import com.epmet.dto.result.CertifiedResultDTO;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.fallback.ResiPartymemberFeignClientFallBack;
import com.epmet.resi.partymember.dto.partymember.form.*;
import com.epmet.resi.partymember.dto.partymember.result.*;
@ -148,4 +149,24 @@ public interface ResiPartymemberFeignClient {
@PostMapping("/resi/partymember/confirm/rejecteddetail")
Result<RejectedDetailResultDTO> rejectedDetail(@RequestBody RejectedDetailFromDTO fromDTO);
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查询网格下待审核的热心居民数
* @Date 2020/5/13 15:41
**/
@PostMapping(value = "/resi/partymember/resiwarmheartedapply/queryresiprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridProcessingCountResultDTO>> queryResiProcessingCount(@RequestBody List<String> gridIdList);
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查询网格下待审核的党员数
* @Date 2020/5/13 15:41
**/
@PostMapping(value = "/resi/partymember/partymemberbaseinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridProcessingCountResultDTO>> queryPartyMemberProcessingCount(@RequestBody List<String> gridIdList);
}

23
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java

@ -0,0 +1,23 @@
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.feign.GovIssueFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description 议题管理服务
* @Author yinzuomei
* @Date 2020/5/13 15:45
*/
@Component
public class GovIssueFeignClientFallBack implements GovIssueFeignClient {
@Override
public Result queryVotingIssueCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList);
}
}

27
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java

@ -0,0 +1,27 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.feign.GovOrgFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description
* @Author sun
*/
@Component
public class GovOrgFeignClientFallBack implements GovOrgFeignClient {
@Override
public Result<List<CustomerGridByUserIdResultDTO>> getMyGrids(String userId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getMyGrids", userId);
}
}

13
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java

@ -3,6 +3,9 @@ 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.controller.TestFormDTO1;
import com.epmet.controller.TestResultDTO1;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.resi.group.dto.comment.form.ResiQueryCommentFormDTO;
import com.epmet.resi.group.dto.comment.result.ResiCommentResultDTO;
@ -107,4 +110,14 @@ public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient {
public Result<List<ResiCommentResultDTO>> getCommentListOfTopicGov(ResiQueryCommentFormDTO queryCommentFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getCommentListOfTopicGov", queryCommentFormDTO);
}
@Override
public Result<List<GridProcessingCountResultDTO>> queryGroupProcessingCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "queryGroupProcessingCount", gridIdList);
}
@Override
public Result<TestResultDTO1> test(TestFormDTO1 testFormDTO1) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "test", testFormDTO1);
}
}

11
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java

@ -7,6 +7,7 @@ import com.epmet.dto.form.CertifiedDetailFormDTO;
import com.epmet.dto.form.CertifiedFormDTO;
import com.epmet.dto.result.CertifiedDetailResultDTO;
import com.epmet.dto.result.CertifiedResultDTO;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.ResiPartymemberFeignClient;
import com.epmet.resi.partymember.dto.partymember.form.*;
import com.epmet.resi.partymember.dto.partymember.result.*;
@ -89,4 +90,14 @@ public class ResiPartymemberFeignClientFallBack implements ResiPartymemberFeignC
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "rejectedDetail", fromDTO);
}
@Override
public Result<List<GridProcessingCountResultDTO>> queryResiProcessingCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryResiProcessingCount", gridIdList);
}
@Override
public Result<List<GridProcessingCountResultDTO>> queryPartyMemberProcessingCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryPartyMemberProcessingCount", gridIdList);
}
}

24
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/RemindService.java

@ -0,0 +1,24 @@
package com.epmet.service;
import com.epmet.controller.TestFormDTO1;
import com.epmet.controller.TestResultDTO1;
import com.epmet.dto.form.RedDotFormDTO;
import com.epmet.dto.result.RedDotResultDTO;
/**
* @Description 基层治理待办事项提醒
* @Author yinzuomei
* @Date 2020/5/13 14:26
*/
public interface RemindService {
/**
* @return com.epmet.dto.result.RedDotResultDTO
* @param formDTO
* @Author yinzuomei
* @Description 根据网格id查询基层治理下网格各功能菜单是否显示红点以及除当前网格外其他网格是否有待办事项
* @Date 2020/5/13 14:34
**/
RedDotResultDTO queryGridRedDot(RedDotFormDTO formDTO);
TestResultDTO1 test(TestFormDTO1 testFormDTO1);
}

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

@ -0,0 +1,174 @@
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.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.service.RemindService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @Description 基层治理待办事项提醒
* @Author yinzuomei
* @Date 2020/5/13 14:27
*/
@Service
public class RemindServiceImpl implements RemindService {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ResiGroupFeignClient resiGroupFeignClient;
@Autowired
private ResiPartymemberFeignClient resiPartymemberFeignClient;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private GovIssueFeignClient govIssueFeignClient;
@Override
public RedDotResultDTO queryGridRedDot(RedDotFormDTO formDTO) {
RedDotResultDTO redDotResultDTO = new RedDotResultDTO();
redDotResultDTO.setOtherGridRedDot(false);
redDotResultDTO.setFunctionList(getRedDotFunctionList(formDTO.getGridId()));
Result<List<CustomerGridByUserIdResultDTO>> govOrgResult = govOrgFeignClient.getMyGrids(formDTO.getStaffId());
if (!govOrgResult.success()) {
logger.error(String.format("调用gov-org-server服务查询工作人员网格列表失败返回结果", govOrgResult.toString()));
}
List<CustomerGridByUserIdResultDTO> gridList = govOrgResult.getData();
for (CustomerGridByUserIdResultDTO gridInfo : gridList) {
if(formDTO.getGridId().equals(gridInfo)){
//查询非当前网格的
break;
}
//其他网格,只要存在有待办事项的网格,就需要在工作首页网格名称后面显示红点
List<String> functionList = this.getRedDotFunctionList(gridInfo.getGridId());
if (null != functionList && functionList.size() > 0) {
redDotResultDTO.setOtherGridRedDot(true);
break;
}
}
return redDotResultDTO;
}
public List<String> getRedDotFunctionList(String gridId) {
List<String> functionList = new ArrayList<>();
List<String> gridIdList = new ArrayList<>();
gridIdList.add(gridId);
if (this.getWorkGrassRootsGroup(gridIdList)) {
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_GROUP);
}
if (this.getWorkGrassRootsResi(gridIdList)) {
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_RESI);
}
if (getWorkGrassRootsPartyAuth(gridIdList)) {
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_PARTYAUTH);
}
if (getWorkGrassRootsIssue(gridIdList)) {
functionList.add(WorkGrassRootsFunctionConstant.WORK_GRASSROOTS_ISSUE);
}
return functionList;
}
//群组管理: work_grassroots_group
public Boolean getWorkGrassRootsGroup(List<String> gridIdList) {
Result<List<GridProcessingCountResultDTO>> groupProcessingCountResult = resiGroupFeignClient.queryGroupProcessingCount(gridIdList);
if (groupProcessingCountResult.success()) {
for (String gridId : gridIdList) {
for (GridProcessingCountResultDTO GridProcessingCountResultDTO : groupProcessingCountResult.getData()) {
if (gridId.equals(GridProcessingCountResultDTO.getGridId()) && GridProcessingCountResultDTO.getCount() > 0) {
return true;
}
}
}
}
logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(),
groupProcessingCountResult.getMsg()));
return false;
}
//居民管理:work_grassroots_resi,
//查询网格下
public Boolean getWorkGrassRootsResi(List<String> gridIdList) {
Result<List<GridProcessingCountResultDTO>> resiGroupProcessingCountResult = resiPartymemberFeignClient.queryResiProcessingCount(gridIdList);
if (resiGroupProcessingCountResult.success()) {
for (String gridId : gridIdList) {
for (GridProcessingCountResultDTO GridProcessingCountResultDTO : resiGroupProcessingCountResult.getData()) {
if (gridId.equals(GridProcessingCountResultDTO.getGridId()) && GridProcessingCountResultDTO.getCount() > 0) {
return true;
}
}
}
}
logger.error(String.format("调用%s服务,查询网格%s待审核热心居民数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), resiGroupProcessingCountResult.getCode(),
resiGroupProcessingCountResult.getMsg()));
return false;
}
//党员认证:work_grassroots_partyauth,
//查询网格下是否存在待审核的党员
public Boolean getWorkGrassRootsPartyAuth(List<String> gridIdList) {
Result<List<GridProcessingCountResultDTO>> partyMemberProcessingCountResult = resiPartymemberFeignClient.queryPartyMemberProcessingCount(gridIdList);
if (partyMemberProcessingCountResult.success()) {
for (String gridId : gridIdList) {
for (GridProcessingCountResultDTO GridProcessingCountResultDTO : partyMemberProcessingCountResult.getData()) {
if (gridId.equals(GridProcessingCountResultDTO.getGridId()) && GridProcessingCountResultDTO.getCount() > 0) {
return true;
}
}
}
}
logger.error(String.format("调用%s服务,查询网格%s待审核党员数失败code%s,msg:", ServiceConstant.RESI_PARTYMEMBER_SERVER, gridIdList.get(0), partyMemberProcessingCountResult.getCode(),
partyMemberProcessingCountResult.getMsg()));
return false;
}
//议题管理: work_grassroots_issue
//查询网格下是否存在表决中的议题
public Boolean getWorkGrassRootsIssue(List<String> gridIdList) {
Result<List<GridProcessingCountResultDTO>> issueResult = govIssueFeignClient.queryVotingIssueCount(gridIdList);
if (issueResult.success()) {
for (String gridId : gridIdList) {
for (GridProcessingCountResultDTO GridProcessingCountResultDTO : issueResult.getData()) {
if (gridId.equals(GridProcessingCountResultDTO.getGridId()) && GridProcessingCountResultDTO.getCount() > 0) {
return true;
}
}
}
}
logger.error(String.format("调用%s服务,查询网格%s表决中议题总数失败code%s,msg:", ServiceConstant.GOV_ISSUE_SERVER, gridIdList.get(0), issueResult.getCode(),
issueResult.getMsg()));
return false;
}
@Override
public TestResultDTO1 test(TestFormDTO1 testFormDTO1) {
Result<TestResultDTO1> resultDTO1Result = resiGroupFeignClient.test(testFormDTO1);
if (resultDTO1Result.success()) {
logger.info("gov-grid服务,接收返参:" + JSON.toJSONString(resultDTO1Result.getData()));
return resultDTO1Result.getData();
}
return new TestResultDTO1();
}
}

24
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/GridVotingIssueCountResultDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 网格下表决中的议题总数列表
* @Author yinzuomei
* @Date 2020/5/13 22:49
*/
@Data
public class GridVotingIssueCountResultDTO implements Serializable {
/**
* 网格id
*/
private String gridId;
/**
* 表决中的议题总数
*/
private Long count;
}

22
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/constant/GovIssueRedisKeys.java

@ -0,0 +1,22 @@
package com.epmet.constant;
/**
* @Description gov-issue-server模块redis key
* @Author yinzuomei
* @Date 2020/5/13 23:00
*/
public class GovIssueRedisKeys {
/**
* 党群e事通redis前缀
*/
private static String rootPrefix = "epmet:";
/**
* 政府工作段小程序基层治理-议题管理(表决中议题总数)红点key
*/
public static String getWorkGrassrootsIssueRedDotKey(String gridId) {
return rootPrefix.concat(String.format("gov:wxmp:work:grassroots:issue:%s",gridId));
}
}

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

@ -4,6 +4,7 @@ import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
@ -12,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @Description 居民端党群议事
* @Author yinzuomei
@ -36,5 +39,17 @@ public class IssueController {
return new Result<IssueResultDTO>().ok(issueService.detail(issueDetail));
}
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.GridVotingIssueCountResultDTO>>
* @Author yinzuomei
* @Description 传入网格id列表查询出每个网格下表决中的议题总数
* @Date 2020/5/13 22:52
**/
@PostMapping("queryvotingissuecount")
public Result<List<GridVotingIssueCountResultDTO>> queryVotingIssueCount(@RequestBody List<String> gridIdList) {
List<GridVotingIssueCountResultDTO> list = issueService.queryVotingIssueCount(gridIdList);
return new Result<List<GridVotingIssueCountResultDTO>>().ok(list);
}
}

33
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/redis/GovIssueRedis.java

@ -0,0 +1,33 @@
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.constant.GovIssueRedisKeys;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Description gov-issue-server模块redis
* @Author yinzuomei
* @Date 2020/5/13 22:57
*/
@Component
public class GovIssueRedis {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private RedisUtils redisUtils;
public Long queryVotingIssueCount(String gridId) {
Long auditingGroupCount = 0L;
try {
String workGrassrootsGroupRedDotKey = GovIssueRedisKeys.getWorkGrassrootsIssueRedDotKey(gridId);
auditingGroupCount = (Long) redisUtils.get(workGrassrootsGroupRedDotKey);
} catch (Exception e) {
logger.error(String.format("网格id%s,查询网格下表决中议题总数异常%s", gridId, e.getMessage()));
e.printStackTrace();
}
return auditingGroupCount;
}
}

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

@ -3,9 +3,12 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.entity.IssueEntity;
import java.util.List;
/**
* @Author zxc
* @CreateTime 2020/5/11 9:44
@ -28,4 +31,12 @@ public interface IssueService extends BaseService<IssueEntity> {
**/
void closeIssue(CloseIssueFormDTO formDTO);
/**
* @param gridIdList
* @return java.util.List<com.epmet.dto.result.GridVotingIssueCountResultDTO>
* @Author yinzuomei
* @Description 传入网格id列表查询出每个网格下表决中的议题总数
* @Date 2020/5/13 22:53
**/
List<GridVotingIssueCountResultDTO> queryVotingIssueCount(List<String> gridIdList);
}

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

@ -14,12 +14,14 @@ import com.epmet.dto.form.CloseIssueFormDTO;
import com.epmet.dto.form.IssueDetailFormDTO;
import com.epmet.dto.form.UserMessageFormDTO;
import com.epmet.dto.result.AgencyGridResultDTO;
import com.epmet.dto.result.GridVotingIssueCountResultDTO;
import com.epmet.dto.result.IssueResultDTO;
import com.epmet.entity.IssueEntity;
import com.epmet.entity.IssueProcessEntity;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.feign.MessageFeignClient;
import com.epmet.feign.ResiGroupFeignClient;
import com.epmet.redis.GovIssueRedis;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
@ -47,6 +49,8 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
private ResiGroupFeignClient resiGroupFeignClient;
@Autowired
private MessageFeignClient messageFeignClient;
@Autowired
private GovIssueRedis govIssueRedis;
/**
* @Description 议题详情
@ -104,6 +108,20 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
throw new RenException(IssueConstant.SAVE_MSG_EXCEPTION);
}
}
@Override
public List<GridVotingIssueCountResultDTO> queryVotingIssueCount(List<String> gridIdList) {
List<GridVotingIssueCountResultDTO> list=new ArrayList<>();
for(String gridId:gridIdList){
GridVotingIssueCountResultDTO gridVotingIssueCountResultDTO=new GridVotingIssueCountResultDTO();
gridVotingIssueCountResultDTO.setGridId(gridId);
Long auditingCount=govIssueRedis.queryVotingIssueCount(gridId);
gridVotingIssueCountResultDTO.setCount(auditingCount);
list.add(gridVotingIssueCountResultDTO);
}
return list;
}
/**
* @Description 关闭议题给话题创建人和议题发起人发送消息
* @author sun

24
epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/GridProcessingCountResultDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 政府端基层治理群组管理议题管理居民管理党员认证查询待办数量feign统一返参
* @Author yinzuomei
* @Date 2020/5/13 21:43
*/
@Data
public class GridProcessingCountResultDTO implements Serializable {
/**
* 网格id
*/
private String gridId;
/**
* 待审核的小组总数
*/
private Long count;
}

37
epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/result/StaffGridResultDTO.java

@ -0,0 +1,37 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 政府端工作人员的所有网格返参
* @Author yinzuomei
* @Date 2020/5/13 13:45
*/
@Data
public class StaffGridResultDTO implements Serializable {
private static final long serialVersionUID = 5576720099807706663L;
/**
* 网格直属组织ID
*/
private String agencyId;
/**
* 网格ID
*/
private String gridId;
/**
* 网格名称
*/
private String gridName;
/**
* 待办事项标记true显示,false不显示
*/
private Boolean redDot;
}

6
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffAgencyController.java

@ -25,6 +25,7 @@ import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.form.SwitchGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.dto.result.StaffGridResultDTO;
import com.epmet.service.StaffAgencyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
@ -54,8 +55,9 @@ public class StaffAgencyController {
* @Author sun
*/
@PostMapping("getmygrids")
public Result<List<CustomerGridByUserIdResultDTO>> getMyGrids(@LoginUser TokenDto tokenDTO) {
return staffAgencyService.getMyGrids(tokenDTO);
public Result<List<StaffGridResultDTO>> getMyGrids(@LoginUser TokenDto tokenDTO) {
List<StaffGridResultDTO> list=staffAgencyService.getMyGrids(tokenDTO.getUserId());
return new Result<List<StaffGridResultDTO>>().ok(list);
}
/**

29
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/GovIssueFeignClient.java

@ -0,0 +1,29 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.feign.fallback.GovIssueFeignClientFallBack;
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;
/**
* @Description 议题管理服务
* @Author yinzuomei
* @Date 2020/5/13 15:45
*/
@FeignClient(name = ServiceConstant.GOV_ISSUE_SERVER, fallback = GovIssueFeignClientFallBack.class)
public interface GovIssueFeignClient {
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查询网格下表决中的议题
* @Date 2020/5/13 15:47
**/
@PostMapping(value = "/gov/issue/issue/queryvotingissuecount",consumes = MediaType.APPLICATION_JSON_VALUE)
Result queryVotingIssueCount(@RequestBody List<String> gridIdList);
}

30
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java

@ -0,0 +1,30 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.fallback.ResiGroupFeignClientFallBack;
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;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/17 15:24
*/
@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupFeignClientFallBack.class)
public interface ResiGroupFeignClient {
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查询网格下待审核的小组总数
* @Date 2020/5/13 15:49
**/
@PostMapping(value = "/resi/group/group/groupprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridProcessingCountResultDTO>> queryGroupProcessingCount(@RequestBody List<String> gridIdList);
}

41
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/ResiPartymemberFeignClient.java

@ -0,0 +1,41 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.fallback.ResiPartymemberFeignClientFallBack;
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;
/**
* 调用epmet-user服务
*
* @author 赵奇风
*/
@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = ResiPartymemberFeignClientFallBack.class)
public interface ResiPartymemberFeignClient {
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查询网格下待审核的热心居民数
* @Date 2020/5/13 15:41
**/
@PostMapping(value = "/resi/partymember/resiwarmheartedapply/queryresiprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridProcessingCountResultDTO>> queryResiProcessingCount(@RequestBody List<String> gridIdList);
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查询网格下待审核的党员数
* @Date 2020/5/13 15:41
**/
@PostMapping(value = "/resi/partymember/partymemberbaseinfo/getworkgrassrootspartyauth",consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridProcessingCountResultDTO>> queryPartyMemberProcessingCount(@RequestBody List<String> gridIdList);
}

23
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/GovIssueFeignClientFallBack.java

@ -0,0 +1,23 @@
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.feign.GovIssueFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description 议题管理服务
* @Author yinzuomei
* @Date 2020/5/13 15:45
*/
@Component
public class GovIssueFeignClientFallBack implements GovIssueFeignClient {
@Override
public Result queryVotingIssueCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryVotingIssueCount", gridIdList);
}
}

25
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java

@ -0,0 +1,25 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.ResiGroupFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/17 15:27
*/
@Component
public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient {
@Override
public Result<List<GridProcessingCountResultDTO>> queryGroupProcessingCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "queryGroupProcessingCount", gridIdList);
}
}

29
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/ResiPartymemberFeignClientFallBack.java

@ -0,0 +1,29 @@
package com.epmet.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.feign.ResiPartymemberFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/4/16 17:01
*/
@Component
public class ResiPartymemberFeignClientFallBack implements ResiPartymemberFeignClient {
@Override
public Result<List<GridProcessingCountResultDTO>> queryResiProcessingCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryResiProcessingCount", gridIdList);
}
@Override
public Result<List<GridProcessingCountResultDTO>> queryPartyMemberProcessingCount(List<String> gridIdList) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryPartyMemberProcessingCount", gridIdList);
}
}

7
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffAgencyService.java

@ -23,6 +23,7 @@ import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.form.SwitchGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.dto.result.StaffGridResultDTO;
import java.util.List;
@ -34,12 +35,12 @@ import java.util.List;
public interface StaffAgencyService {
/**
* @param tokenDTO
* @param staffId
* @return
* @Description 根据userId查询该用户涉及的所有网格列表
* @Description 根据staffId查询该工作人员的所有网格列表
* @Author sun
*/
Result<List<CustomerGridByUserIdResultDTO>> getMyGrids(TokenDto tokenDTO);
List<StaffGridResultDTO> getMyGrids(String staffId);
/**
* 获取最近一次登录的客户信息

151
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java

@ -25,10 +25,10 @@ import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.form.StaffGridVisitedFormDTO;
import com.epmet.dto.form.SwitchGridFormDTO;
import com.epmet.dto.result.CustomerGridByUserIdResultDTO;
import com.epmet.dto.result.GridProcessingCountResultDTO;
import com.epmet.dto.result.LatestCustomerResultDTO;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.service.AccessService;
import com.epmet.dto.result.StaffGridResultDTO;
import com.epmet.feign.*;
import com.epmet.service.StaffAgencyService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -36,6 +36,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -51,27 +52,153 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
@Autowired
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
private AccessService accessService;
private ResiGroupFeignClient resiGroupFeignClient;
@Autowired
private ResiPartymemberFeignClient resiPartymemberFeignClient;
@Autowired
private GovIssueFeignClient govIssueFeignClient;
/**
* @param tokenDTO
* @param staffId
* @return
* @Description 根据userId查询该用户涉及的所有网格列表
* @Author sun
*/
@Override
public Result<List<CustomerGridByUserIdResultDTO>> getMyGrids(TokenDto tokenDTO) {
return govOrgFeignClient.getMyGrids(tokenDTO.getUserId());
public List<StaffGridResultDTO> getMyGrids(String staffId) {
//1、获取拥有的所有网格
Result<List<CustomerGridByUserIdResultDTO>> govOrgResult = govOrgFeignClient.getMyGrids(staffId);
if (!govOrgResult.success() || (null == govOrgResult.getData() || govOrgResult.getData().size() < 1)) {
logger.error(String.format("调用gov-org-server服务查询工作人员网格列表失败返回结果", govOrgResult.toString()));
return new ArrayList<>();
}
List<StaffGridResultDTO> gridList = ConvertUtils.sourceToTarget(govOrgResult.getData(), StaffGridResultDTO.class);
if (null == gridList || gridList.isEmpty()) {
return gridList;
}
//2、获取网格id列表
List<String> gridIds = new ArrayList<>();
for (StaffGridResultDTO staffGridResultDTO : gridList) {
//默认不显示红点
staffGridResultDTO.setRedDot(false);
gridIds.add(staffGridResultDTO.getGridId());
}
//获取各个网格每个菜单的待办数量
List<GridProcessingCountResultDTO> groupProcessingList = this.getGroupCountList(gridIds);
List<GridProcessingCountResultDTO> resiProcessingList = this.getResiCountList(gridIds);
List<GridProcessingCountResultDTO> partyMemberProcessingList = this.getPartyMemberCountList(gridIds);
List<GridProcessingCountResultDTO> issueProcessingList = this.getIssueCountList(gridIds);
for (StaffGridResultDTO staffGridInfo : gridList) {
if (this.checkGroupProcessing(staffGridInfo.getGridId(), groupProcessingList)) {
staffGridInfo.setRedDot(true);
break;
}
if (this.checkResiProcessing(staffGridInfo.getGridId(), resiProcessingList)) {
staffGridInfo.setRedDot(true);
break;
}
if (this.checkPartyMemberProcessing(staffGridInfo.getGridId(), partyMemberProcessingList)) {
staffGridInfo.setRedDot(true);
break;
}
if (this.checkIssueProcessing(staffGridInfo.getGridId(), issueProcessingList)) {
staffGridInfo.setRedDot(true);
break;
}
}
return gridList;
}
private boolean checkIssueProcessing(String gridId, List<GridProcessingCountResultDTO> issueProcessingList) {
boolean flag = false;
for (GridProcessingCountResultDTO gridProcessingCountResultDTO : issueProcessingList) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) {
flag = true;
break;
}
}
return flag;
}
private boolean checkPartyMemberProcessing(String gridId, List<GridProcessingCountResultDTO> partyMemberProcessingList) {
boolean flag = false;
for (GridProcessingCountResultDTO gridProcessingCountResultDTO : partyMemberProcessingList) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) {
flag = true;
break;
}
}
return flag;
}
private boolean checkResiProcessing(String gridId, List<GridProcessingCountResultDTO> resiProcessingList) {
boolean flag = false;
for (GridProcessingCountResultDTO gridProcessingCountResultDTO : resiProcessingList) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) {
flag = true;
break;
}
}
return flag;
}
private boolean checkGroupProcessing(String gridId, List<GridProcessingCountResultDTO> groupProcessingList) {
boolean flag = false;
for (GridProcessingCountResultDTO gridProcessingCountResultDTO : groupProcessingList) {
if (gridId.equals(gridProcessingCountResultDTO.getGridId()) && gridProcessingCountResultDTO.getCount() > 0) {
flag = true;
break;
}
}
return flag;
}
private List<GridProcessingCountResultDTO> getIssueCountList(List<String> gridIdList) {
List<GridProcessingCountResultDTO> list = new ArrayList<>();
Result<List<GridProcessingCountResultDTO>> issueResult = govIssueFeignClient.queryVotingIssueCount(gridIdList);
if (issueResult.success() && null != issueResult.getData() && issueResult.getData().size() > 0) {
list.addAll(issueResult.getData());
}
return list;
}
private List<GridProcessingCountResultDTO> getPartyMemberCountList(List<String> gridIdList) {
List<GridProcessingCountResultDTO> list = new ArrayList<>();
Result<List<GridProcessingCountResultDTO>> partyAuthResult = resiPartymemberFeignClient.queryPartyMemberProcessingCount(gridIdList);
if (partyAuthResult.success() && null != partyAuthResult.getData() && partyAuthResult.getData().size() > 0) {
list.addAll(partyAuthResult.getData());
}
return list;
}
private List<GridProcessingCountResultDTO> getResiCountList(List<String> gridIdList) {
List<GridProcessingCountResultDTO> list = new ArrayList<>();
Result<List<GridProcessingCountResultDTO>> resiCount = resiPartymemberFeignClient.queryResiProcessingCount(gridIdList);
if (resiCount.success() && null != resiCount.getData() && resiCount.getData().size() > 0) {
list.addAll(resiCount.getData());
}
return list;
}
private List<GridProcessingCountResultDTO> getGroupCountList(List<String> gridIdList) {
List<GridProcessingCountResultDTO> list = new ArrayList<>();
Result<List<GridProcessingCountResultDTO>> groupProcessingCountResult = resiGroupFeignClient.queryGroupProcessingCount(gridIdList);
if (groupProcessingCountResult.success() && null != groupProcessingCountResult.getData() && groupProcessingCountResult.getData().size() > 0) {
list.addAll(groupProcessingCountResult.getData());
}
return list;
}
@Override
public Result<LatestCustomerResultDTO> getLatestCustomer(TokenDto tokenDTO) {
return govOrgFeignClient.getLatestCustomer(tokenDTO.getUserId());
}
/**
* @return Result<CustomerGridByUserIdResultDTO>
* @Description 得到工作人员最后一次登录的网格
* @Param LatestGridFormDTO -> staffId ; customerId
* @return Result<CustomerGridByUserIdResultDTO>
* @Author wangc
* @Date 2020.04.23 11:14
**/
@ -79,12 +206,12 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
public Result<CustomerGridByUserIdResultDTO> getLatestGrid(LatestGridFormDTO latestGridFormDTO) {
Result<CustomerGridByUserIdResultDTO> latestGridResult =
epmetUserFeignClient.getStaffLatestGrid(latestGridFormDTO);
if(latestGridResult.success() && null != latestGridResult.getData() && StringUtils.isNotBlank(latestGridResult.getData().getGridId())){
if (latestGridResult.success() && null != latestGridResult.getData() && StringUtils.isNotBlank(latestGridResult.getData().getGridId())) {
return latestGridResult;
}else{
} else {
Result<CustomerGridByUserIdResultDTO> staffGridResult =
govOrgFeignClient.getStaffGrid(latestGridFormDTO);
if(staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())){
govOrgFeignClient.getStaffGrid(latestGridFormDTO);
if (staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())) {
return staffGridResult;
}
}

25
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/GroupProcessingCountResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.resi.group.dto.group;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 网格待审核小组数
* @Author yinzuomei
* @Date 2020/5/13 21:29
*/
@Data
public class GroupProcessingCountResultDTO implements Serializable {
/**
* 网格id
*/
private String gridId;
/**
* 待审核的小组总数
*/
private Long count;
}

4
epmet-module/resi-group/resi-group-server/pom.xml

@ -118,7 +118,7 @@
<spring.datasource.druid.username>epmet_resi_group_user</spring.datasource.druid.username>
<spring.datasource.druid.password>EpmEt-db-UsEr</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.index>1</spring.redis.index>
<spring.redis.host>192.168.1.130</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
@ -148,7 +148,7 @@
<spring.datasource.druid.username>epmet</spring.datasource.druid.username>
<spring.datasource.druid.password>elink@833066</spring.datasource.druid.password>
<!-- redis配置 -->
<spring.redis.index>0</spring.redis.index>
<spring.redis.index>1</spring.redis.index>
<spring.redis.host>r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com</spring.redis.host>
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>EpmEtrEdIs!q@w</spring.redis.password>

53
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/ResiGroupRedisKeys.java

@ -0,0 +1,53 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.modules.constant;
/**
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public class ResiGroupRedisKeys {
/**
* 党群e事通redis前缀
*/
private static String rootPrefix = "epmet:";
/**
* @Description 小组缓存信息key
* @Param 组Id
* @return epmet:resi:group:groupId
* @Author wangc
* @Date 2020.04.13 11:27
**/
public static String getResiGroupInfoKey(String groupId){
return rootPrefix.concat("resi:group:").concat(groupId);
}
/**
* @Description 组成员信息缓存key
* @Param 组Id 用户Id
* @return epmet:resi:group:member:groupId:userId
* @Author wangc
* @Date 2020.04.13 13:40
**/
public static String getResiGroupMemberInfoKey(String groupId, String userId){
return rootPrefix.concat("resi:group:member:").concat(groupId).concat(":").concat(userId);
}
/**
* 政府工作段小程序基层治理-群组管理(待审核待测小组)红点key eg:epmet:gov:wxmp:work:grassroots:group:XX网格id
*/
public static String getWorkGrassrootsGroupRedDotKey(String gridId) {
return rootPrefix.concat(String.format("gov:wxmp:work:grassroots:group:%s",gridId));
}
}

478
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java

@ -17,17 +17,16 @@
package com.epmet.modules.group.controller;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.modules.group.redis.ResiGroupRedis;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.utils.ModuleConstant;
import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -43,252 +42,273 @@ import java.util.List;
@RestController
@RequestMapping("group")
public class ResiGroupController {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private ResiGroupService resiGroupService;
@Autowired
private ResiGroupService resiGroupService;
/**
* @param tokenDto
* @param myGroupFormDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.MyGroupResultDTO>>
* @Author yinzuomei
* @Description 我的小组查询包含我创建的小组+我加入的小组以各组的最新话题时间有近到远排序
* @Date 2020/3/28 20:36
**/
@PostMapping("getmygroup")
public Result<List<MyGroupResultDTO>> getMyGroup(@LoginUser TokenDto tokenDto, @RequestBody MyGroupFormDTO myGroupFormDTO) {
myGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(myGroupFormDTO);
return resiGroupService.getMyGroup(myGroupFormDTO);
}
/**
* @param tokenDto
* @param myGroupFormDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.MyGroupResultDTO>>
* @Author yinzuomei
* @Description 我的小组查询包含我创建的小组+我加入的小组以各组的最新话题时间有近到远排序
* @Date 2020/3/28 20:36
**/
@PostMapping("getmygroup")
public Result<List<MyGroupResultDTO>> getMyGroup(@LoginUser TokenDto tokenDto, @RequestBody MyGroupFormDTO myGroupFormDTO) {
myGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(myGroupFormDTO);
List<MyGroupResultDTO> myGroupList = resiGroupService.getMyGroup(myGroupFormDTO);
return new Result<List<MyGroupResultDTO>>().ok(myGroupList);
}
/**
* @param tokenDto
* @param recommendGroupFormDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.RecommendGroupResultDTO>>
* @Author yinzuomei
* @Description 推荐组列表查询
* @Date 2020/3/28 19:52
**/
@PostMapping("getrecommendgroup")
public Result<List<RecommendGroupResultDTO>> getRecommendGroup(@LoginUser TokenDto tokenDto,
/**
* @param tokenDto
* @param recommendGroupFormDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.RecommendGroupResultDTO>>
* @Author yinzuomei
* @Description 推荐组列表查询
* @Date 2020/3/28 19:52
**/
@PostMapping("getrecommendgroup")
public Result<List<RecommendGroupResultDTO>> getRecommendGroup(@LoginUser TokenDto tokenDto,
@RequestBody RecommendGroupFormDTO recommendGroupFormDTO) {
recommendGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(recommendGroupFormDTO);
return resiGroupService.getRecommendGroup(recommendGroupFormDTO);
}
recommendGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(recommendGroupFormDTO);
List<RecommendGroupResultDTO> recommendGroupList = resiGroupService.getRecommendGroup(recommendGroupFormDTO);
return new Result<List<RecommendGroupResultDTO>>().ok(recommendGroupList);
}
/**
* @param tokenDto
* @param createdFormDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.CreatedResultDTO>>
* @Author yinzuomei
* @Description 我创建的小组
* @Date 2020/3/28 21:59
**/
@PostMapping("getcreated")
public Result<List<CreatedResultDTO>> getCreated(@LoginUser TokenDto tokenDto,
/**
* @param tokenDto
* @param createdFormDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.result.CreatedResultDTO>>
* @Author yinzuomei
* @Description 我创建的小组
* @Date 2020/3/28 21:59
**/
@PostMapping("getcreated")
public Result<List<CreatedResultDTO>> getCreated(@LoginUser TokenDto tokenDto,
@RequestBody CreatedFormDTO createdFormDTO) {
createdFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(createdFormDTO);
return resiGroupService.getCreated(createdFormDTO);
}
createdFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(createdFormDTO);
List<CreatedResultDTO> createdGroupList = resiGroupService.getCreated(createdFormDTO);
return new Result<List<CreatedResultDTO>>().ok(createdGroupList);
}
/**
* @param tokenDto
* @param modifyGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 修改组信息
* @Date 2020/3/28 22:20
**/
@PostMapping("modifygroup")
public Result modifyGroup(@LoginUser TokenDto tokenDto, @RequestBody ModifyGroupFormDTO modifyGroupFormDTO) {
modifyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(modifyGroupFormDTO);
return resiGroupService.modifyGroup(modifyGroupFormDTO);
}
/**
* @param tokenDto
* @param modifyGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 修改组信息
* @Date 2020/3/28 22:20
**/
@PostMapping("modifygroup")
public Result modifyGroup(@LoginUser TokenDto tokenDto, @RequestBody ModifyGroupFormDTO modifyGroupFormDTO) {
modifyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(modifyGroupFormDTO);
resiGroupService.modifyGroup(modifyGroupFormDTO);
return new Result();
}
/**
* @param tokenDto
* @param groupSummarizeFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查看小组管理界面信息
* @Date 2020/3/29 17:32
**/
@PostMapping("getgroupsummarize")
public Result<GroupSummarizeResultDTO> getGroupSummarize(@LoginUser TokenDto tokenDto,
/**
* @param tokenDto
* @param groupSummarizeFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 查看小组管理界面信息
* @Date 2020/3/29 17:32
**/
@PostMapping("getgroupsummarize")
public Result<GroupSummarizeResultDTO> getGroupSummarize(@LoginUser TokenDto tokenDto,
@RequestBody GroupSummarizeFormDTO groupSummarizeFormDTO) {
groupSummarizeFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(groupSummarizeFormDTO);
return resiGroupService.getGroupSummarize(groupSummarizeFormDTO);
}
groupSummarizeFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(groupSummarizeFormDTO);
GroupSummarizeResultDTO groupSummarizeResultDTO = resiGroupService.getGroupSummarize(groupSummarizeFormDTO);
return new Result<GroupSummarizeResultDTO>().ok(groupSummarizeResultDTO);
}
/**
* @param tokenDto
* @param applyCreateGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 创建小组
* @Date 2020/3/29 19:26
**/
@PostMapping("applycreategroup")
public Result applyCreateGroup(@LoginUser TokenDto tokenDto,
/**
* @param tokenDto
* @param applyCreateGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 创建小组
* @Date 2020/3/29 19:26
**/
@PostMapping("applycreategroup")
public Result applyCreateGroup(@LoginUser TokenDto tokenDto,
@RequestBody ApplyCreateGroupFormDTO applyCreateGroupFormDTO) {
applyCreateGroupFormDTO.setUserId(tokenDto.getUserId());
applyCreateGroupFormDTO.setApp(tokenDto.getApp());
ValidatorUtils.validateEntity(applyCreateGroupFormDTO);
return resiGroupService.applyCreateGroup(applyCreateGroupFormDTO);
}
applyCreateGroupFormDTO.setUserId(tokenDto.getUserId());
applyCreateGroupFormDTO.setApp(tokenDto.getApp());
ValidatorUtils.validateEntity(applyCreateGroupFormDTO);
resiGroupService.applyCreateGroup(applyCreateGroupFormDTO);
return new Result();
}
/**
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 加入小组界面初始化
* 只有已经注册过的居民才可以加入小组
* @Date 2020/3/30 10:11
**/
@PostMapping("initapplygroup")
public Result initApplyGroup(@LoginUser TokenDto tokenDto,
/**
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 加入小组界面初始化
* 只有已经注册过的居民才可以加入小组
* @Date 2020/3/30 10:11
**/
@PostMapping("initapplygroup")
public Result initApplyGroup(@LoginUser TokenDto tokenDto,
@RequestBody InitApplyGroupFormDTO initApplyGroupFormDTO) {
if (null == tokenDto) {
logger.error(ModuleConstant.USER_NOT_NULL);
throw new RenException(ModuleConstant.USER_NOT_NULL);
}
initApplyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(initApplyGroupFormDTO);
return resiGroupService.initApplyGroup(initApplyGroupFormDTO);
}
initApplyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(initApplyGroupFormDTO);
resiGroupService.initApplyGroup(initApplyGroupFormDTO);
return new Result();
}
/**
* @param tokenDto
* @param initApplyCreatedGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 创建小组界面初始化 只有党员和热心居民才能创建小组
* @Date 2020/3/30 15:44
**/
@PostMapping("initapplycreategroup")
public Result initApplyCreatedGroup(@LoginUser TokenDto tokenDto,
/**
* @param tokenDto
* @param initApplyCreatedGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 创建小组界面初始化 只有党员和热心居民才能创建小组
* @Date 2020/3/30 15:44
**/
@PostMapping("initapplycreategroup")
public Result initApplyCreatedGroup(@LoginUser TokenDto tokenDto,
@RequestBody InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO) {
if (null == tokenDto) {
logger.error(ModuleConstant.USER_NOT_NULL);
throw new RenException(ModuleConstant.USER_NOT_NULL);
}
initApplyCreatedGroupFormDTO.setUserId(tokenDto.getUserId());
initApplyCreatedGroupFormDTO.setApp(tokenDto.getApp());
ValidatorUtils.validateEntity(initApplyCreatedGroupFormDTO);
return resiGroupService.initApplyCreatedGroup(initApplyCreatedGroupFormDTO);
}
initApplyCreatedGroupFormDTO.setUserId(tokenDto.getUserId());
initApplyCreatedGroupFormDTO.setApp(tokenDto.getApp());
ValidatorUtils.validateEntity(initApplyCreatedGroupFormDTO);
resiGroupService.initApplyCreatedGroup(initApplyCreatedGroupFormDTO);
return new Result();
}
/**
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 审核(同意)群申请-测试用后面会放到政府端
* @Date 2020/3/31 12:31
**/
@PostMapping("agreeapplygroup")
public Result agreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) {
agreeApplyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(agreeApplyGroupFormDTO);
return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO);
}
/**
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 审核(同意)群申请-测试用后面会放到政府端 已废弃
* @Date 2020/3/31 12:31
**/
@PostMapping("agreeapplygroup")
public Result agreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) {
agreeApplyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(agreeApplyGroupFormDTO);
return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO);
}
/**
* @param tokenDto
* @param disAgreeApplyGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 审核(拒绝)群申请-测试用后面会放到政府端
* @Date 2020/3/31 13:23
**/
@PostMapping("disagreeapplygroup")
public Result disagreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) {
disAgreeApplyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO);
return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO);
}
/**
* @param tokenDto
* @param disAgreeApplyGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 审核(拒绝)群申请-测试用后面会放到政府端 已废弃
* @Date 2020/3/31 13:23
**/
@PostMapping("disagreeapplygroup")
public Result disagreeApplyGroup(@LoginUser TokenDto tokenDto, @RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) {
disAgreeApplyGroupFormDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO);
return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO);
}
/**
* 小组审核历史列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("audited")
public Result<List<GroupAuditedResultDTO>> audited(@RequestBody GroupAuditedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiGroupService.audited(formDTO);
}
/**
* 小组审核历史列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("audited")
public Result<List<GroupAuditedResultDTO>> audited(@RequestBody GroupAuditedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiGroupService.audited(formDTO);
}
/**
* 本网格小组列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("groupsingrid")
public Result<List<GroupsInGridResultDTO>> getGroupsInGrid(@RequestBody GroupAuditedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiGroupService.getGroupsInGrid(formDTO);
}
/**
* 本网格小组列表
*
* @param formDTO 参数
* @return Result<List < GroupAuditedResultDTO>>
*/
@PostMapping("groupsingrid")
public Result<List<GroupsInGridResultDTO>> getGroupsInGrid(@RequestBody GroupAuditedFromDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
return resiGroupService.getGroupsInGrid(formDTO);
}
/**
* 小组管理界面信息
*
* @param formDTO 参数
* @return Result<GovGroupSummarizeResultDTO>
*/
@PostMapping("getgovgroupsummarize")
public Result<GovGroupSummarizeResultDTO> getGovGroupSummarize(@RequestBody GovGroupSummarizeFromDTO formDTO) {
return resiGroupService.getGovGroupSummarize(formDTO);
}
/**
* 小组管理界面信息
*
* @param formDTO 参数
* @return Result<GovGroupSummarizeResultDTO>
*/
@PostMapping("getgovgroupsummarize")
public Result<GovGroupSummarizeResultDTO> getGovGroupSummarize(@RequestBody GovGroupSummarizeFromDTO formDTO) {
return resiGroupService.getGovGroupSummarize(formDTO);
}
/**
* @Description 得到小组待审核列表用户信息不注入TokenDTO通过外部服务调用直接传入参数
* @Param ApplyingGroupsFormDTO.class
* @return Result<List<ApplyingGroupResultDTO>>
* @Author wangc
* @Date 2020.04.20 13:59
**/
@PostMapping("getapplyinggroups")
public Result<List<ApplyingGroupResultDTO>> getApplyingGroups(@RequestBody ApplyingGroupsFormDTO applyingGroupsFormDTO){
ValidatorUtils.validateEntity(applyingGroupsFormDTO);
return resiGroupService.getApplyingGroups(applyingGroupsFormDTO);
}
/**
* @return Result<List < ApplyingGroupResultDTO>>
* @Description 得到小组待审核列表用户信息不注入TokenDTO通过外部服务调用直接传入参数
* @Param ApplyingGroupsFormDTO.class
* @Author wangc
* @Date 2020.04.20 13:59
**/
@PostMapping("getapplyinggroups")
public Result<List<ApplyingGroupResultDTO>> getApplyingGroups(@RequestBody ApplyingGroupsFormDTO applyingGroupsFormDTO) {
ValidatorUtils.validateEntity(applyingGroupsFormDTO);
return resiGroupService.getApplyingGroups(applyingGroupsFormDTO);
}
/**
* @Description 得到待审核/未审核小组信息的详情
* @Param CommonGroupIdFromDTO -> String groupId; String userId
* @return Result<ApplyingGroupDetailResult2DTO>
* @Author wangc
* @Date 2020.04.20 14:08
**/
@PostMapping("getapplyinggroupdetail")
public Result<ApplyingGroupDetailResult2DTO> getApplyingGroupDetail(@RequestBody CommonGroupIdFromDTO groupIdFromDTO){
ValidatorUtils.validateEntity(groupIdFromDTO);
return resiGroupService.getApplyingGroupDetail(groupIdFromDTO);
}
/**
* @return Result<ApplyingGroupDetailResult2DTO>
* @Description 得到待审核/未审核小组信息的详情
* @Param CommonGroupIdFromDTO -> String groupId; String userId
* @Author wangc
* @Date 2020.04.20 14:08
**/
@PostMapping("getapplyinggroupdetail")
public Result<ApplyingGroupDetailResult2DTO> getApplyingGroupDetail(@RequestBody CommonGroupIdFromDTO groupIdFromDTO) {
ValidatorUtils.validateEntity(groupIdFromDTO);
return resiGroupService.getApplyingGroupDetail(groupIdFromDTO);
}
@PostMapping("agreeapplying")
public Result agreeApplying( @RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) {
ValidatorUtils.validateEntity(agreeApplyGroupFormDTO);
return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO);
}
@PostMapping("agreeapplying")
public Result agreeApplying(@RequestBody AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) {
ValidatorUtils.validateEntity(agreeApplyGroupFormDTO);
return resiGroupService.agreeApplyGroup(agreeApplyGroupFormDTO);
}
/**
* @Description 建组申请-审核驳回-供外部服务调用当前用户Id需要调用时一并传入
* @Param DisAgreeApplyGroupFormDTO
* @return Result
* @Author wangc
* @Date 2020.04.20 14:26
**/
@PostMapping("disagreeapplying")
public Result disagreeApplying(@RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) {
ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO);
return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO);
}
/**
* @return Result
* @Description 建组申请-审核驳回-供外部服务调用当前用户Id需要调用时一并传入
* @Param DisAgreeApplyGroupFormDTO
* @Author wangc
* @Date 2020.04.20 14:26
**/
@PostMapping("disagreeapplying")
public Result disagreeApplying(@RequestBody DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) {
ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO);
return resiGroupService.disagreeApplyGroup(disAgreeApplyGroupFormDTO);
}
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO>>
* @Author yinzuomei
* @Description 传入网格id列表返回每个网格的待审核小组总数
* @Date 2020/5/13 21:33
**/
@PostMapping("groupprocessingcount")
public Result<List<GroupProcessingCountResultDTO>> queryGroupProcessingCount(@RequestBody List<String> gridIdList) {
List<GroupProcessingCountResultDTO> list = resiGroupService.queryGroupProcessingCount(gridIdList);
return new Result<List<GroupProcessingCountResultDTO>>().ok(list);
}
@PostMapping("test")
public Result<TestResultDTO2> test(@RequestBody TestFormDTO2 formDTO2) {
System.out.println("group接收到入参:" + JSON.toJSONString(formDTO2));
TestResultDTO2 resultDTO2 = new TestResultDTO2();
resultDTO2.setResultId("group");
resultDTO2.setResultName("group返参");
return new Result<TestResultDTO2>().ok(resultDTO2);
}
}

15
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestFormDTO2.java

@ -0,0 +1,15 @@
package com.epmet.modules.group.controller;
import lombok.Data;
/**
* @Description 测试feign
* @Author yinzuomei
* @Date 2020/5/13 18:30
*/
@Data
public class TestFormDTO2 {
private String id;
private String name;
}

15
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestResultDTO2.java

@ -0,0 +1,15 @@
package com.epmet.modules.group.controller;
import lombok.Data;
/**
* @Description 测试feign
* @Author yinzuomei
* @Date 2020/5/13 18:30
*/
@Data
public class TestResultDTO2 {
private String resultId;
private String resultName;
}

69
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java

@ -19,9 +19,9 @@ package com.epmet.modules.group.redis;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.modules.constant.ResiGroupRedisKeys;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.group.service.ResiGroupStatisticalService;
import com.epmet.resi.group.constant.TopicConstant;
@ -30,6 +30,8 @@ import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalDTO;
import com.epmet.resi.group.dto.group.ResiGroupStatisticalInfoRedisDTO;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -43,6 +45,7 @@ import java.util.*;
*/
@Component
public class ResiGroupRedis {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private RedisUtils redisUtils;
@ -65,7 +68,7 @@ public class ResiGroupRedis {
**/
public void set(ResiGroupInfoRedisDTO groupInfoRedis){
if(null != groupInfoRedis && StringUtils.isNotBlank(groupInfoRedis.getGroupId())){
redisUtils.set(RedisKeys.getResiGroupInfoKey(groupInfoRedis.getGroupId()), groupInfoRedis);
redisUtils.set(ResiGroupRedisKeys.getResiGroupInfoKey(groupInfoRedis.getGroupId()), groupInfoRedis);
}
}
@ -80,7 +83,7 @@ public class ResiGroupRedis {
if(StringUtils.isNotBlank(groupId)){
ResiGroupInfoRedisDTO groupCache = (ResiGroupInfoRedisDTO)
redisUtils.get(RedisKeys.getResiGroupInfoKey(groupId));
redisUtils.get(ResiGroupRedisKeys.getResiGroupInfoKey(groupId));
if(null == groupCache || StringUtils.isBlank(groupCache.getGroupId())){
//如果缓存中没有该组信息,从数据库中查询并放入缓存
ResiGroupDTO groupMySql = groupService.get(groupId);
@ -143,4 +146,64 @@ public class ResiGroupRedis {
return null;
}
/**
* @param gridId
* @return java.lang.Long
* @Author yinzuomei
* @Description 当前网格带审核小组数量key eg:epmet:gov:wxmp:work:grassroots:group:xx网格id
* 居民端创建小组提交成功后该redis值+1,目的政府端基层治理-群组管理显示红点提醒工作人员有待办事项
* @Date 2020/5/13 9:50
**/
public Long addWorkGrassrootsGroupRedDotValue(String gridId) {
Long auditingGroupCount = 0L;
try {
String workGrassrootsGroupRedDotKey = ResiGroupRedisKeys.getWorkGrassrootsGroupRedDotKey(gridId);
auditingGroupCount = redisUtils.incrementAndGet(workGrassrootsGroupRedDotKey);
logger.info(String.format("居民端创建小组提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsGroupRedDotKey, auditingGroupCount));
} catch (Exception e) {
logger.error(String.format("居民端创建小组提交,更新redis-reddot值异常%s",e.getMessage()));
e.printStackTrace();
}
return auditingGroupCount;
}
/**
* @param gridId
* @return java.lang.Long
* @Author yinzuomei 当前网格带审核小组数量key eg:epmet:gov:wxmp:work:grassroots:group:xx网格id
* @Description 政府端工作人员审核建组申请之后(同意或驳回)该redis值-1
* @Date 2020/5/13 12:58
**/
public Long subtractWorkGrassrootsPartyAuthRedDotValue(String gridId) {
Long auditingGroupCount = 0L;
try {
String workGrassrootsGroupRedDotKey = ResiGroupRedisKeys.getWorkGrassrootsGroupRedDotKey(gridId);
auditingGroupCount = redisUtils.decrementAndGet(workGrassrootsGroupRedDotKey);
logger.info(String.format("政府端(wxmp)同意建组,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsGroupRedDotKey, auditingGroupCount));
} catch (Exception e) {
logger.error(String.format("政府端(wxmp)同意建组,更新redis-reddot值异常%s", e.getMessage()));
e.printStackTrace();
}
return auditingGroupCount;
}
/**
* @return java.lang.Long
* @param gridId
* @Author yinzuomei
* @Description 获取某网格下待审核小组总数
* @Date 2020/5/13 21:40
**/
public Long getWorkGrassrootsGroupRedDotValue(String gridId) {
Long auditingGroupCount = 0L;
try {
String workGrassrootsGroupRedDotKey = ResiGroupRedisKeys.getWorkGrassrootsGroupRedDotKey(gridId);
auditingGroupCount = (Long) redisUtils.get(workGrassrootsGroupRedDotKey);
} catch (Exception e) {
logger.error(String.format("网格id%s,查询网格下待审核小组总数异常%s", gridId, e.getMessage()));
e.printStackTrace();
}
return auditingGroupCount;
}
}

30
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java

@ -23,6 +23,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.group.entity.ResiGroupEntity;
import com.epmet.resi.group.dto.UserRoleDTO;
import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
@ -105,7 +106,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Description 我的小组查询包含我创建的小组+我加入的小组以各组的最新话题时间有近到远排序
* @Date 2020/3/28 20:37
**/
Result<List<MyGroupResultDTO>> getMyGroup(MyGroupFormDTO myGroupFormDTO);
List<MyGroupResultDTO> getMyGroup(MyGroupFormDTO myGroupFormDTO);
/**
* @param recommendGroupFormDTO
@ -114,7 +115,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Description 推荐组列表查询
* @Date 2020/3/28 19:53
**/
Result<List<RecommendGroupResultDTO>> getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO);
List<RecommendGroupResultDTO> getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO);
/**
* @param createdFormDTO
@ -123,7 +124,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Description 我创建的小组
* @Date 2020/3/28 22:01
**/
Result<List<CreatedResultDTO>> getCreated(CreatedFormDTO createdFormDTO);
List<CreatedResultDTO> getCreated(CreatedFormDTO createdFormDTO);
/**
* @param modifyGroupFormDTO
@ -132,7 +133,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Description 修改组信息
* @Date 2020/3/28 22:27
**/
Result modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO);
void modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO);
/**
* @param groupSummarizeFormDTO
@ -141,7 +142,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Description 查看小组管理界面信息
* @Date 2020/3/29 17:52
**/
Result<GroupSummarizeResultDTO> getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO);
GroupSummarizeResultDTO getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO);
/**
* @param applyCreateGroupFormDTO
@ -150,7 +151,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Description 创建小组
* @Date 2020/3/29 19:26
**/
Result applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO);
void applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO);
/**
* @param initApplyGroupFormDTO
@ -159,7 +160,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Description 加入小组界面初始化
* @Date 2020/3/30 10:17
**/
Result initApplyGroup(InitApplyGroupFormDTO initApplyGroupFormDTO);
void initApplyGroup(InitApplyGroupFormDTO initApplyGroupFormDTO);
/**
* @param initApplyCreatedGroupFormDTO
@ -168,13 +169,13 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Description 校验用户是否是热心居民或者党员
* @Date 2020/3/30 15:50
**/
Result initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO);
void initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO);
/**
* @param agreeApplyGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 审核(同意)群申请-测试用后面会放到政府端
* @Description 审核(同意)群申请
* @Date 2020/3/31 12:44
**/
Result agreeApplyGroup(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO);
@ -183,7 +184,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @param disAgreeApplyGroupFormDTO
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 审核拒绝群申请-测试用后面会放到政府端
* @Description 审核拒绝群申请
* @Date 2020/3/31 13:22
**/
Result disagreeApplyGroup(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO);
@ -241,4 +242,13 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @Date 2020.04.19 23:32
**/
Result<ApplyingGroupDetailResult2DTO> getApplyingGroupDetail(CommonGroupIdFromDTO groupId);
/**
* @param gridIdList
* @return java.util.List<com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO>
* @Author yinzuomei
* @Description 传入网格id列表返回每个网格的待审核小组总数
* @Date 2020/5/13 21:37
**/
List<GroupProcessingCountResultDTO> queryGroupProcessingCount(List<String> gridIdList);
}

104
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -118,7 +118,6 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
@Autowired
private EpmetMessageFeignClient epmetMessageFeignClient;
@Override
public PageData<ResiGroupDTO> page(Map<String, Object> params) {
IPage<ResiGroupEntity> page = baseDao.selectPage(
@ -179,11 +178,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
* @Date 2020/3/28 20:37
**/
@Override
public Result<List<MyGroupResultDTO>> getMyGroup(MyGroupFormDTO myGroupFormDTO) {
public List<MyGroupResultDTO> getMyGroup(MyGroupFormDTO myGroupFormDTO) {
int pageIndex = (myGroupFormDTO.getPageNo() - NumConstant.ONE) * myGroupFormDTO.getPageSize();
myGroupFormDTO.setPageNo(pageIndex);
List<MyGroupResultDTO> myGroupList = baseDao.selectListMyGroup(myGroupFormDTO);
return new Result<List<MyGroupResultDTO>>().ok(myGroupList);
return myGroupList;
}
/**
@ -194,7 +193,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
* @Date 2020/3/28 19:53
**/
@Override
public Result<List<RecommendGroupResultDTO>> getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO) {
public List<RecommendGroupResultDTO> getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO) {
int pageIndex = (recommendGroupFormDTO.getPageNo() - NumConstant.ONE) * recommendGroupFormDTO.getPageSize();
recommendGroupFormDTO.setPageNo(pageIndex);
//显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以最新话题的时间有近到远排序
@ -206,7 +205,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
recommendGroupResultDTO.setStatus(groupMemeberOperationDTO.getOperateStatus());
}
}
return new Result<List<RecommendGroupResultDTO>>().ok(recommendGroupList);
return recommendGroupList;
}
/**
@ -217,11 +216,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
* @Date 2020/3/28 22:01
**/
@Override
public Result<List<CreatedResultDTO>> getCreated(CreatedFormDTO createdFormDTO) {
public List<CreatedResultDTO> getCreated(CreatedFormDTO createdFormDTO) {
int pageIndex = (createdFormDTO.getPageNo() - NumConstant.ONE) * createdFormDTO.getPageSize();
createdFormDTO.setPageNo(pageIndex);
List<CreatedResultDTO> createdResultDTOList = baseDao.selectListMyCreated(createdFormDTO);
return new Result<List<CreatedResultDTO>>().ok(createdResultDTOList);
return createdResultDTOList;
}
/**
@ -233,24 +232,24 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
**/
@Transactional(rollbackFor = Exception.class)
@Override
public Result modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO) {
public void modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO) {
//校验是否是群主
ResiGroupMemberDTO groupMemberDTO = resiGroupMemberService.getResiGroupMember(modifyGroupFormDTO.getGroupId(), modifyGroupFormDTO.getUserId());
if (null == groupMemberDTO || ModuleConstant.GROUP_MEMBER.equals(groupMemberDTO.getGroupLeaderFlag())) {
logger.error(ModuleConstant.REJECT_MODIFYGROUPINFO);
return new Result().error();
logger.error(String.format("修改组信息:%s",ModuleConstant.REJECT_MODIFYGROUPINFO));
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode());
}
if (StringUtils.isBlank(modifyGroupFormDTO.getGroupHeadPhoto())
&& StringUtils.isBlank(modifyGroupFormDTO.getGroupName())
&& StringUtils.isBlank(modifyGroupFormDTO.getGroupIntroduction())) {
return new Result();
logger.info("小组信息未发生变更,无需更改");
return;
}
int updatedRows = baseDao.modifyGroupInfo(modifyGroupFormDTO);
if (1 == updatedRows) {
return new Result().ok(ModuleConstant.UPDATE_SUCCESS);
logger.info(ModuleConstant.UPDATE_FAILED);
}
logger.error(ModuleConstant.UPDATE_FAILED);
throw new RenException(ModuleConstant.UPDATE_FAILED);
}
/**
@ -261,20 +260,20 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
* @Date 2020/3/29 17:52
**/
@Override
public Result<GroupSummarizeResultDTO> getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO) {
public GroupSummarizeResultDTO getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO) {
GroupSummarizeResultDTO groupSummarizeResultDTO = baseDao.selectGroupSummarize(groupSummarizeFormDTO);
if (null == groupSummarizeResultDTO) {
logger.error(ModuleConstant.GETGROUPSUMMARIZE_FAILED);
return new Result<GroupSummarizeResultDTO>().error();
logger.error(String.format("查看小组管理界面信息异常%s",ModuleConstant.GETGROUPSUMMARIZE_FAILED));
return new GroupSummarizeResultDTO();
}
//获取组长信息
Result<UserResiInfoResultDTO> groupLeaderUserInfo = this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId());
if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) {
groupSummarizeResultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName());
} else {
logger.info("组长注册信息查询失败" + groupLeaderUserInfo.getMsg());
logger.warn("组长注册信息查询失败" + groupLeaderUserInfo.getMsg());
}
return new Result<GroupSummarizeResultDTO>().ok(groupSummarizeResultDTO);
return groupSummarizeResultDTO;
}
/**
@ -309,11 +308,12 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
**/
@Transactional(rollbackFor = Exception.class)
@Override
public Result applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) {
public void applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) {
//1、校验是否同名
List<ResiGroupEntity> resiGroupEntityList = this.getResiGroupEntityList(applyCreateGroupFormDTO);
if (null != resiGroupEntityList && resiGroupEntityList.size() > 0) {
return new Result().error(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode());
logger.error(String.format("创建小组异常:%s",EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg()));
throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode());
}
//2、插入一条待审核的组信息
ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO);
@ -324,7 +324,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
applyCreateGroupFormDTO.getCustomerId(),
applyCreateGroupFormDTO.getGridId());
if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) {
return new Result().error(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode());
logger.error(String.format("创建小组异常:%s",EpmetErrorCode.CANNOT_CREATE_GROUP.getMsg()));
throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode());
}
String roleName = "";
if(NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())){
@ -392,7 +393,17 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
resiGroupStatisticalService.save(resiGroupStatisticalDTO);
//发送消息:创建小组
sendMsgResi2Gov(UserMessageConstant.CREATE_GROUP_APPLYING_MSG_TITLE,msg,applyCreateGroupFormDTO.getGridId(),applyCreateGroupFormDTO.getUserId(),applyCreateGroupFormDTO.getCustomerId());
return new Result();
//更新政府端:工作-基层治理-群组管理reddot
resiGroupRedis.addWorkGrassrootsGroupRedDotValue(applyCreateGroupFormDTO.getGridId());
}
private void setWorkGrassrootsGroupRedDot(String gridId) {
try{
}catch(Exception e){
e.printStackTrace();
}
}
/**
@ -415,24 +426,15 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
* @Date 2020/3/30 10:17
**/
@Override
public Result initApplyGroup(InitApplyGroupFormDTO initApplyGroupFormDTO) {
if (StringUtils.isBlank(initApplyGroupFormDTO.getCustomerId())) {
logger.error(ModuleConstant.CUSTOMERID_NOT_NULL);
throw new RenException(ModuleConstant.CUSTOMERID_NOT_NULL);
}
if (StringUtils.isBlank(initApplyGroupFormDTO.getUserId())) {
logger.error(ModuleConstant.USER_NOT_NULL);
throw new RenException(ModuleConstant.USER_NOT_NULL);
}
public void initApplyGroup(InitApplyGroupFormDTO initApplyGroupFormDTO) {
UserResiInfoFormDTO resiUserInfoFormDTO = new UserResiInfoFormDTO();
resiUserInfoFormDTO.setUserId(initApplyGroupFormDTO.getUserId());
resiUserInfoFormDTO.setCustomerId(initApplyGroupFormDTO.getCustomerId());
Result<UserResiInfoResultDTO> result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO);
if (!result.success() || null == result.getData() || StringUtils.isBlank(result.getData().getRegMobile())) {
logger.info("居民注册信息查询失败");
return new Result().error(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode());
logger.error("加入小组界面初始化,居民注册信息查询失败");
throw new RenException(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode());
}
return new Result();
}
private ResiGroupEntity structureResiGroupEntity(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) {
@ -455,23 +457,15 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
* @Date 2020/3/30 15:50
**/
@Override
public Result initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO) {
if (StringUtils.isBlank(initApplyCreatedGroupFormDTO.getCustomerId())) {
logger.error(ModuleConstant.CUSTOMERID_NOT_NULL);
throw new RenException(ModuleConstant.CUSTOMERID_NOT_NULL);
}
if (StringUtils.isBlank(initApplyCreatedGroupFormDTO.getUserId())) {
logger.error(ModuleConstant.USER_NOT_NULL);
throw new RenException(ModuleConstant.USER_NOT_NULL);
}
public void initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO) {
UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(initApplyCreatedGroupFormDTO.getApp(),
initApplyCreatedGroupFormDTO.getUserId(),
initApplyCreatedGroupFormDTO.getCustomerId(),
initApplyCreatedGroupFormDTO.getGridId());
if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) {
return new Result().error(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode());
logger.error(String.format("创建小组界面初始化,用户非党员、非热心居民,请求参数%S",initApplyCreatedGroupFormDTO.toString()));
throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode());
}
return new Result();
}
/**
@ -554,7 +548,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
if(!epmetMessageFeignClient.saveUserMessage(userMessageFormDTO).success()){
logger.warn(String.format(ModuleConstant.FAILED_SEND_MESSAGE,String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName())));
}
//更新政府端:工作-基层治理-党员认证reddot
resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(resiGroupDTO.getGridId());
return new Result();
}
@ -598,7 +593,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
if(!epmetMessageFeignClient.saveUserMessage(userMessageFormDTO).success()){
logger.warn(String.format(ModuleConstant.FAILED_SEND_MESSAGE,String.format(UserMessageConstant.DISAGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName(),disAgreeApplyGroupFormDTO.getRejectReason())));
}
//更新政府端:工作-基层治理-党员认证reddot
resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(resiGroupDTO.getGridId());
return new Result();
}
@ -786,6 +782,20 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
return new Result<ApplyingGroupDetailResult2DTO>().ok(ConvertUtils.sourceToTarget(detail, ApplyingGroupDetailResult2DTO.class));
}
@Override
public List<GroupProcessingCountResultDTO> queryGroupProcessingCount(List<String> gridIdList) {
List<GroupProcessingCountResultDTO> list=new ArrayList<>();
for(String gridId:gridIdList){
GroupProcessingCountResultDTO resultDTO=new GroupProcessingCountResultDTO();
resultDTO.setGridId(gridId);
Long auditingCount=resiGroupRedis.getWorkGrassrootsGroupRedDotValue(gridId);
resultDTO.setCount(auditingCount);
list.add(resultDTO);
}
return list;
}
/**
* @Description 给加入此网格的网格长发送消息
* @param msg

7
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java

@ -26,6 +26,7 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.modules.constant.ResiGroupRedisKeys;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.service.ResiGroupService;
import com.epmet.modules.member.service.ResiGroupMemberService;
@ -79,7 +80,7 @@ public class ResiGroupMemberRedis {
if(null != memberInfoRedis
&& StringUtils.isNotBlank(memberInfoRedis.getUserId())
&& StringUtils.isNotBlank(memberInfoRedis.getGroupId())){
redisUtils.set(RedisKeys.getResiGroupMemberInfoKey(memberInfoRedis.getGroupId(),memberInfoRedis.getUserId()),memberInfoRedis);
redisUtils.set(ResiGroupRedisKeys.getResiGroupMemberInfoKey(memberInfoRedis.getGroupId(),memberInfoRedis.getUserId()),memberInfoRedis);
}
}
@ -94,7 +95,7 @@ public class ResiGroupMemberRedis {
public ResiGroupMemberInfoRedisDTO get(String groupId ,String userId){
ResiGroupMemberInfoRedisDTO memberCache =
(ResiGroupMemberInfoRedisDTO) redisUtils.get(RedisKeys.getResiGroupMemberInfoKey(groupId,userId));
(ResiGroupMemberInfoRedisDTO) redisUtils.get(ResiGroupRedisKeys.getResiGroupMemberInfoKey(groupId,userId));
//如果缓存中没有该成员数据
if(null == memberCache || StringUtils.isNotBlank(memberCache.getUserId())){
Map<String,Object> param = new HashMap<>();
@ -152,7 +153,7 @@ public class ResiGroupMemberRedis {
**/
public ResiGroupMemberInfoRedisResultDTO getKeys(String groupId){
Set<String> groupMemberKeys =
redisUtils.keys(RedisKeys.getResiGroupMemberInfoKey(groupId,"*"));
redisUtils.keys(ResiGroupRedisKeys.getResiGroupMemberInfoKey(groupId,"*"));
Map<String,ResiGroupMemberInfoRedisDTO> memberMap = new HashMap<>(NumConstant.ONE_HUNDRED);
for(String key : groupMemberKeys){
ResiGroupMemberInfoRedisDTO member = (ResiGroupMemberInfoRedisDTO)redisUtils.get(key);

5
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java

@ -34,6 +34,7 @@ import com.epmet.dto.form.UserResiInfoListFormDTO;
import com.epmet.dto.result.IssueInitiatorResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.modules.constant.GroupMemberConstant;
import com.epmet.modules.constant.ResiGroupRedisKeys;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.group.dao.ResiGroupDao;
import com.epmet.modules.group.dao.ResiGroupStatisticalDao;
@ -741,7 +742,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
//2.读取用户缓存信息
ResiGroupMemberInfoRedisResultDTO memberRedis = resiGroupMemberRedis.getKeys(groupId);
if (null != memberRedis && null != memberRedis.getMemberKeys() && null != memberRedis.getMemberMap()) {
String keyPrefix = RedisKeys.getResiGroupMemberInfoKey(groupId, "");
String keyPrefix = ResiGroupRedisKeys.getResiGroupMemberInfoKey(groupId, "");
for (ResiTopicInfoResultDTO topic : topics) {
//缓存中有该用户的key
if (memberRedis.getMemberKeys().contains(keyPrefix.concat(topic.getUserId()))) {
@ -812,7 +813,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl<ResiTopicDao, ResiTopi
//2.读取用户缓存信息
ResiGroupMemberInfoRedisResultDTO memberRedis = resiGroupMemberRedis.getKeys(groupId);
if (null != memberRedis && null != memberRedis.getMemberKeys() && null != memberRedis.getMemberMap()) {
String keyPrefix = RedisKeys.getResiGroupMemberInfoKey(groupId, "");
String keyPrefix = ResiGroupRedisKeys.getResiGroupMemberInfoKey(groupId, "");
for (ResiTopicIncludeIssueInfoResultDTO topic : topics) {
//缓存中有该用户的key
if (memberRedis.getMemberKeys().contains(keyPrefix.concat(topic.getUserId()))) {

5
epmet-module/resi-hall/resi-hall-server/resi-hall-server.iml

@ -7,6 +7,10 @@
<facet type="web" name="Web">
<configuration>
<webroots />
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
@ -16,6 +20,7 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />

25
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyAuthProcessingCountResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.resi.partymember.dto.partymember.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 网格待审核党员数
* @Author yinzuomei
* @Date 2020/5/13 22:15
*/
@Data
public class PartyAuthProcessingCountResultDTO implements Serializable {
private static final long serialVersionUID = 1595766019917829995L;
/**
* 网格id
*/
private String gridId;
/**
* 待审核党员申请总数
*/
private Long count;
}

25
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/warmhearted/result/ResiProcessingCountResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.resi.partymember.dto.warmhearted.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 网格待审核热心居民数
* @Author yinzuomei
* @Date 2020/5/13 22:16
*/
@Data
public class ResiProcessingCountResultDTO implements Serializable {
private static final long serialVersionUID = 4002474433059912113L;
/**
* 网格id
*/
private String gridId;
/**
* 待审核党员申请总数
*/
private Long count;
}

35
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/ResiPartyMemberRedisKeys.java

@ -0,0 +1,35 @@
/**
* Copyright (c) 2018 人人开源 All rights reserved.
* <p>
* https://www.renren.io
* <p>
* 版权所有侵权必究
*/
package com.epmet.constant;
/**
* @author Mark sunlightcs@gmail.com
* @since 1.0.0
*/
public class ResiPartyMemberRedisKeys {
/**
* 党群e事通redis前缀
*/
private static String rootPrefix = "epmet:";
/**
* 政府工作段小程序基层治理-居民管理待审核的热心居民红点key eg:epmet:gov:wxmp:work:grassroots:resi:XX网格id
*/
public static String getWorkGrassrootsResiRedDotKey(String gridId) {
return rootPrefix.concat(String.format("gov:wxmp:work:grassroots:resi:%s",gridId));
}
/**
* 政府工作段小程序基层治理-党员认证待审核的党员红点key eg:epmet:gov:wxmp:work:grassroots:resi:XX网格id
*/
public static String getWorkGrassrootsPartyAuthRedDotKey(String gridId) {
return rootPrefix.concat(String.format("gov:wxmp:work:grassroots:partyauth:%s",gridId));
}
}

14
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberInfoController.java

@ -32,6 +32,7 @@ import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.CertifiedDetailFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.CertifiedFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.CertifiedDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyAuthProcessingCountResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -118,4 +119,17 @@ public class PartymemberInfoController {
return new Result<CertifiedDetailResultDTO>().ok(partymemberInfoService.certifiedDetail(formDTO));
}
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.partymember.dto.partymember.result.PartyAuthProcessingCountResultDTO>>
* @Author yinzuomei
* @Description 传入网格id列表返回各个网格对应的待审核党员总数
* @Date 2020/5/13 22:37
**/
@PostMapping("getworkgrassrootspartyauth")
public Result<List<PartyAuthProcessingCountResultDTO>> queryPartyMemberProcessingCount(@RequestBody List<String> gridIdList) {
List<PartyAuthProcessingCountResultDTO> list = partymemberInfoService.queryPartyMemberProcessingCount(gridIdList);
return new Result<List<PartyAuthProcessingCountResultDTO>>().ok(list);
}
}

9
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberInfoService.java

@ -26,6 +26,7 @@ import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.CertifiedDetailFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.CertifiedFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.CertifiedDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyAuthProcessingCountResultDTO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -137,4 +138,12 @@ public interface PartymemberInfoService extends BaseService<PartymemberInfoEntit
*/
CertifiedDetailResultDTO certifiedDetail(CertifiedDetailFormDTO formDTO);
/**
* @param gridIdList
* @return java.util.List<com.epmet.resi.partymember.dto.partymember.result.PartyAuthProcessingCountResultDTO>
* @Author yinzuomei
* @Description 传入网格id列表返回各个网格对应的待审核党员总数
* @Date 2020/5/13 22:37
**/
List<PartyAuthProcessingCountResultDTO> queryPartyMemberProcessingCount(List<String> gridIdList);
}

11
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java

@ -22,8 +22,7 @@ import com.epmet.modules.feign.GovOrgFeignClient;
import com.epmet.modules.partymember.entity.*;
import com.epmet.modules.partymember.redis.PartymemberInfoRedis;
import com.epmet.modules.partymember.service.*;
import com.epmet.modules.warmhearted.constant.ResiWarmUserMessageConstant;
import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity;
import com.epmet.redis.ResiPartyMemberRedis;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO;
@ -78,7 +77,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
private EpmetMessageFeignClient messageFeignClient;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private ResiPartyMemberRedis resiPartyMemberRedis;
@Override
@Transactional(rollbackFor = Exception.class)
public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) {
@ -269,6 +269,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
}
auditMessage(ConvertUtils.sourceToTarget(partyMemberInfo, PartymemberInfoEntity.class), PartyMemberMessageConstant.MEMBER_APPLY_MSG);
//更新政府端:工作-基层治理-党员认证reddot
resiPartyMemberRedis.addWorkGrassrootsPartyAuthRedDotValue(infoDTO.getGridId());
return new Result();
}
@ -302,7 +304,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
} else {
auditMessage(partyMemberInfoEntity, PartyMemberMessageConstant.AUDIT_REJECT_MSG);
}
//更新政府端:工作-基层治理-党员认证reddot
resiPartyMemberRedis.subtractWorkGrassrootsPartyAuthRedDotValue(manualEntity.getGridId());
return new Result();
}

18
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberInfoServiceImpl.java

@ -36,10 +36,12 @@ import com.epmet.modules.partymember.dao.PartymemberInfoDao;
import com.epmet.modules.partymember.entity.PartymemberInfoEntity;
import com.epmet.modules.partymember.redis.PartymemberInfoRedis;
import com.epmet.modules.partymember.service.PartymemberInfoService;
import com.epmet.redis.ResiPartyMemberRedis;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.CertifiedDetailFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.CertifiedFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.CertifiedDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyAuthProcessingCountResultDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -69,7 +71,8 @@ public class PartymemberInfoServiceImpl extends BaseServiceImpl<PartymemberInfoD
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private ResiPartyMemberRedis resiPartyMemberRedis;
@Override
public PageData<PartymemberInfoDTO> page(Map<String, Object> params) {
IPage<PartymemberInfoEntity> page = baseDao.selectPage(
@ -199,5 +202,18 @@ public class PartymemberInfoServiceImpl extends BaseServiceImpl<PartymemberInfoD
return certifiedDetail;
}
@Override
public List<PartyAuthProcessingCountResultDTO> queryPartyMemberProcessingCount(List<String> gridIdList) {
List<PartyAuthProcessingCountResultDTO> list = new ArrayList<>();
for (String gridId : gridIdList) {
PartyAuthProcessingCountResultDTO partyAuthProcessingCountResultDTO = new PartyAuthProcessingCountResultDTO();
partyAuthProcessingCountResultDTO.setGridId(gridId);
Long auditingPartyMember = resiPartyMemberRedis.queryPartyAuthProcessingCount(gridId);
partyAuthProcessingCountResultDTO.setCount(auditingPartyMember);
list.add(partyAuthProcessingCountResultDTO);
}
return list;
}
}

13
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/controller/ResiWarmheartedApplyController.java

@ -31,6 +31,7 @@ import com.epmet.modules.warmhearted.excel.ResiWarmheartedApplyExcel;
import com.epmet.modules.warmhearted.service.ResiWarmheartedApplyService;
import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.*;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiProcessingCountResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO;
@ -162,4 +163,16 @@ public class ResiWarmheartedApplyController {
return resiWarmheartedApplyService.getDetail(formDTO);
}
/**
* @param gridIdList
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.partymember.dto.warmhearted.result.ResiProcessingCountResultDTO>>
* @Author yinzuomei
* @Description 传入网格id列表返回每个列表下对应的待审核居民总数
* @Date 2020/5/13 22:25
**/
@PostMapping("queryresiprocessingcount")
public Result<List<ResiProcessingCountResultDTO>> queryResiProcessingCount(@RequestBody List<String> gridIdList) {
List<ResiProcessingCountResultDTO> list = resiWarmheartedApplyService.queryResiProcessingCount(gridIdList);
return new Result<List<ResiProcessingCountResultDTO>>().ok(list);
}
}

10
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/ResiWarmheartedApplyService.java

@ -23,6 +23,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity;
import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.*;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiProcessingCountResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO;
@ -158,4 +159,13 @@ public interface ResiWarmheartedApplyService extends BaseService<ResiWarmhearted
* @author sun
*/
Result<ResiWarmAuditResultDTO> getDetail(ResiWarmGetDetailFormDTO formDTO);
/**
* @param gridIdList
* @return java.util.List<com.epmet.resi.partymember.dto.warmhearted.result.ResiProcessingCountResultDTO>
* @Author yinzuomei
* @Description 传入网格id列表返回每个列表下对应的待审核居民总数
* @Date 2020/5/13 22:25
**/
List<ResiProcessingCountResultDTO> queryResiProcessingCount(List<String> gridIdList);
}

36
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/warmhearted/service/impl/ResiWarmheartedApplyServiceImpl.java

@ -46,11 +46,12 @@ import com.epmet.modules.warmhearted.constant.ResiWarmheartedConstant;
import com.epmet.modules.warmhearted.constant.ResiWarmheartedVisitConstant;
import com.epmet.modules.warmhearted.dao.ResiWarmheartedApplyDao;
import com.epmet.modules.warmhearted.entity.ResiWarmheartedApplyEntity;
import com.epmet.modules.warmhearted.redis.ResiWarmheartedApplyRedis;
import com.epmet.modules.warmhearted.service.ResiWarmheartedApplyService;
import com.epmet.modules.warmhearted.service.ResiWarmheartedVisitService;
import com.epmet.redis.ResiPartyMemberRedis;
import com.epmet.resi.partymember.dto.warmhearted.ResiWarmheartedApplyDTO;
import com.epmet.resi.partymember.dto.warmhearted.form.*;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiProcessingCountResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmAuditResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedAuditedResultDTO;
import com.epmet.resi.partymember.dto.warmhearted.result.ResiWarmheartedResultDTO;
@ -78,8 +79,6 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
private static final Logger logger = LoggerFactory.getLogger(ResiWarmheartedApplyServiceImpl.class);
@Autowired
private ResiWarmheartedApplyRedis resiWarmheartedApplyRedis;
@Autowired
private ResiWarmheartedVisitService resiWarmheartedVisitService;
@Autowired
private ResiWarmheartedApplyDao resiWarmheartedApplyDao;
@ -89,6 +88,8 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
private EpmetMessageFeignClient epmetMessageFeignClient;
@Autowired
private GovOrgFeignClient govOrgFeignClient;
@Autowired
private ResiPartyMemberRedis resiPartyMemberRedis;
@Override
public PageData<ResiWarmheartedApplyDTO> page(Map<String, Object> params) {
@ -210,6 +211,8 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
}
result.setCode(NumConstant.ZERO);
result.setMsg(ResiWarmheartedVisitConstant.RESI_WARM_SUBMIT);
//更新政府端:工作-基层治理-居民管理reddot
resiPartyMemberRedis.addWorkGrassrootsResiRedDotValue(formDTO.getGridId());
}
return result;
}
@ -371,8 +374,8 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
//0:先校验数据是否是未审核状态,防止接口测试调用多次
ResiWarmheartedApplyEntity entity = baseDao.selectById(formDTO.getApplyId());
if (null == entity || !ResiWarmheartedVisitConstant.UNDER_AUDITTING.equals(entity.getAuditStatus())) {
result.error(ResiWarmheartedVisitConstant.AUDIT_EXCEPTION);
return result;
logger.error(String.format("政府端-热心居民申请-审核通过错误,applyId=%s,错误提示:%s",ResiWarmheartedVisitConstant.AUDIT_EXCEPTION));
throw new RenException(ResiWarmheartedVisitConstant.AUDIT_EXCEPTION);
}
//1:更新热心居民申请表数据
//审核状态-通过
@ -380,15 +383,15 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
int num = baseDao.updateById(entity);
//2:审核通过的添加热心居民的角色
if (num < NumConstant.ONE) {
result.error(ResiWarmheartedVisitConstant.UPDATE_EXCEPTION);
return result;
logger.error(String.format("政府端-热心居民申请-审核通过错误,applyId=%s,错误提示:%s",ResiWarmheartedVisitConstant.UPDATE_EXCEPTION));
throw new RenException(ResiWarmheartedVisitConstant.UPDATE_EXCEPTION);
}
//查询需要添加热心居民角色的userId
UserRoleDTO dto = new UserRoleDTO();
dto.setCustomerId(entity.getCustomerId());
dto.setUserId(entity.getUserId());
//所属端-居民端
dto.setApp(AppClientConstant.APP_RESI);
//所属端-居民端
//角色-热心居民
dto.setRoleKey(EpmetRoleKeyConstant.WARMHEARTED);
//角色表新增网格Id
@ -396,6 +399,8 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
result = epmetUserFeignClient.saveUserRole(dto);
//3:为申请人发送审核通过消息提示
result = auditMessage(entity, ResiWarmUserMessageConstant.AUDIT_APPROVE_MSG);
//4:更新政府端:工作-基层治理-居民管理reddot
resiPartyMemberRedis.subtractWorkGrassrootsResiRedDotValue(entity.getGridId());
return result;
}
/**
@ -450,6 +455,8 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
//2:为申请人发送审核驳回消息提示
//查询申请信息
auditMessage(entity, ResiWarmUserMessageConstant.AUDIT_REJECT_MSG);
//3:更新政府端:工作-基层治理-居民管理reddot
resiPartyMemberRedis.subtractWorkGrassrootsResiRedDotValue(entity.getGridId());
return result;
}
@ -491,4 +498,17 @@ public class ResiWarmheartedApplyServiceImpl extends BaseServiceImpl<ResiWarmhea
resultDTO.setStreet(userInfo.getStreet());
return result.ok(resultDTO);
}
@Override
public List<ResiProcessingCountResultDTO> queryResiProcessingCount(List<String> gridIdList) {
List<ResiProcessingCountResultDTO> list = new ArrayList<>();
for (String gridId : gridIdList) {
ResiProcessingCountResultDTO resiProcessingCountResultDTO = new ResiProcessingCountResultDTO();
resiProcessingCountResultDTO.setGridId(gridId);
Long auditingResi = resiPartyMemberRedis.queryResiProcessingCount(gridId);
resiProcessingCountResultDTO.setCount(auditingResi);
list.add(resiProcessingCountResultDTO);
}
return list;
}
}

168
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/redis/ResiPartyMemberRedis.java

@ -0,0 +1,168 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.constant.ResiPartyMemberRedisKeys;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 本模块redis所有操作放这
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-03-30
*/
@Component
public class ResiPartyMemberRedis {
private Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set() {
}
public String get(String id) {
return null;
}
/**
* @param gridId
* @return java.lang.Long
* @Author yinzuomei
* @Description 居民端热心居民申请成功该redis值+1,目的政府端基层治理-居民管理显示红点提醒工作人员有待办事项
* @Date 2020/5/13 10:55
**/
public Long addWorkGrassrootsResiRedDotValue(String gridId) {
Long auditingResiWarmHeartedCount = 0L;
try {
String workGrassrootsResiRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsResiRedDotKey(gridId);
auditingResiWarmHeartedCount = redisUtils.incrementAndGet(workGrassrootsResiRedDotKey);
logger.info(String.format("居民端热心居民申请提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsResiRedDotKey, auditingResiWarmHeartedCount));
} catch (Exception e) {
logger.error(String.format("居民端热心居民申请提交,更新redis-reddot值异常%s", e.getMessage()));
e.printStackTrace();
}
return auditingResiWarmHeartedCount;
}
/**
* @param gridId
* @return java.lang.Long
* @Author yinzuomei keyeg: epmet:gov:wxmp:work:grassroots:partyauth:XX网格id
* @Description 政府端小程序审核热心居民申请同意或拒绝更新该redis值-1
* @Date 2020/5/13 13:11
**/
public Long subtractWorkGrassrootsResiRedDotValue(String gridId) {
Long auditingPartyMemberCount = 0L;
try {
String workGrassrootsPartyAuthRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsResiRedDotKey(gridId);
auditingPartyMemberCount = redisUtils.incrementAndGet(workGrassrootsPartyAuthRedDotKey);
logger.info(String.format("政府端(wxmp)审核热心居民申请,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsPartyAuthRedDotKey, auditingPartyMemberCount));
} catch (Exception e) {
logger.error(String.format("政府端(wxmp)审核热心居民申请,更新redis-reddot值异常%s", e.getMessage()));
e.printStackTrace();
}
return auditingPartyMemberCount;
}
/**
* @param gridId
* @return java.lang.Long
* @Author yinzuomei keyeg: epmet:gov:wxmp:work:grassroots:partyauth:XX网格id
* @Description 居民端党员自动认证失败且填写了补充信息提交成功后该redis值+1,目的政府端基层治理-党员认证显示红点提醒工作人员有待办事项
* @Date 2020/5/13 10:56
**/
public Long addWorkGrassrootsPartyAuthRedDotValue(String gridId) {
Long auditingPartyMemberCount = 0L;
try {
String workGrassrootsPartyAuthRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsPartyAuthRedDotKey(gridId);
auditingPartyMemberCount = redisUtils.incrementAndGet(workGrassrootsPartyAuthRedDotKey);
logger.info(String.format("居民端党员认证补充信息提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsPartyAuthRedDotKey, auditingPartyMemberCount));
} catch (Exception e) {
logger.error(String.format("居民端党员认证补充信息提交,更新redis-reddot值异常%s", e.getMessage()));
e.printStackTrace();
}
return auditingPartyMemberCount;
}
/**
* @param gridId
* @return java.lang.Long
* @Author yinzuomei keyeg: epmet:gov:wxmp:work:grassroots:partyauth:XX网格id
* @Description 政府端审批党员认证申请成功后更新该redis值-1
* @Date 2020/5/13 10:56
**/
public Long subtractWorkGrassrootsPartyAuthRedDotValue(String gridId) {
Long auditingPartyMemberCount = 0L;
try {
String workGrassrootsPartyAuthRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsPartyAuthRedDotKey(gridId);
auditingPartyMemberCount = redisUtils.incrementAndGet(workGrassrootsPartyAuthRedDotKey);
logger.info(String.format("居民端党员认证补充信息提交,更新redis-reddot值成功,key[%s],Value[%s]", workGrassrootsPartyAuthRedDotKey, auditingPartyMemberCount));
} catch (Exception e) {
logger.error(String.format("居民端党员认证补充信息提交,更新redis-reddot值异常%s", e.getMessage()));
e.printStackTrace();
}
return auditingPartyMemberCount;
}
/**
* @param gridId
* @return java.lang.Long
* @Author yinzuomei
* @Description 查询网格下待审核热心居民总数
* @Date 2020/5/13 22:44
**/
public Long queryResiProcessingCount(String gridId) {
Long auditingResiWarmHeartedCount = 0L;
try {
String workGrassrootsResiRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsResiRedDotKey(gridId);
auditingResiWarmHeartedCount = (Long) redisUtils.get(workGrassrootsResiRedDotKey);
} catch (Exception e) {
logger.error(String.format("网格id%s,查询网格下待审核热心居民总数异常%s", gridId, e.getMessage()));
e.printStackTrace();
}
return auditingResiWarmHeartedCount;
}
/**
* @param gridId
* @return java.lang.Long
* @Author yinzuomei
* @Description 查询网格下待审核党员总数
* @Date 2020/5/13 22:44
**/
public Long queryPartyAuthProcessingCount(String gridId) {
Long auditingParyMember = 0L;
try {
String workGrassrootsResiRedDotKey = ResiPartyMemberRedisKeys.getWorkGrassrootsPartyAuthRedDotKey(gridId);
auditingParyMember = (Long) redisUtils.get(workGrassrootsResiRedDotKey);
} catch (Exception e) {
logger.error(String.format("网格id%s,查询网格下待审核党员总数异常%s", gridId, e.getMessage()));
e.printStackTrace();
}
return auditingParyMember;
}
}
Loading…
Cancel
Save