Browse Source

Merge branches 'dev' and 'dev_data_stats' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev_data_stats

dev_shibei_match
yinzuomei 5 years ago
parent
commit
a0b9c3cdaa
  1. 38
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java
  2. 8
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  3. 212
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java
  4. 26
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigOpeDefaultScopesFormDTO.java
  5. 18
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigRoleDefaultOpesFormDTO.java
  6. 16
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/AccessConfigOpeDefaultScopesResultDTO.java
  7. 20
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java
  8. 11
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java
  9. 1
      epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java
  10. 2
      epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml
  11. 4
      epmet-module/gov-access/gov-access-server/pom.xml
  12. 56
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessConfigController.java
  13. 64
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java
  14. 7
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java
  15. 53
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java
  16. 3
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleOperationDefaultEntity.java
  17. 11
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessConfigService.java
  18. 78
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java
  19. 81
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java
  20. 12
      epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml
  21. 77
      epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDefaultDao.xml
  22. 18
      epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml
  23. 6
      epmet-module/gov-grid/gov-grid-client/pom.xml
  24. 31
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/DeletePartyMemberFormDTO.java
  25. 50
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchAddFormDTO.java
  26. 40
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchEditFormDTO.java
  27. 24
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchIdFormDTO.java
  28. 29
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchListFormDTO.java
  29. 24
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyMemberIdFormDTO.java
  30. 42
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/SaveOrUpdateParyMemberFormDTO.java
  31. 20
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchAddResultDTO.java
  32. 48
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchInfoResultDTO.java
  33. 29
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchListResultDTO.java
  34. 17
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberIdResultDTO.java
  35. 72
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoDetailResultDTO.java
  36. 30
      epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoResultDTO.java
  37. 2
      epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml
  38. 4
      epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml
  39. 2
      epmet-module/gov-grid/gov-grid-server/pom.xml
  40. 179
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/PartyBranchManageController.java
  41. 104
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/PartyBranchManageService.java
  42. 219
      epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/PartyBranchManageServiceImpl.java
  43. 4
      epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml
  44. 2
      epmet-module/gov-issue/gov-issue-server/pom.xml
  45. 2
      epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml
  46. 2
      epmet-module/gov-mine/gov-mine-server/pom.xml
  47. 111
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerPartyBranchDTO.java
  48. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListPartyBranchFormDTO.java
  49. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridInfoResultDTO.java
  50. 8
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/LatestCustomerResultDTO.java
  51. 29
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ListPartyBranchResultDTO.java
  52. 10
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java
  53. 93
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  54. 40
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  55. 2
      epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml
  56. 2
      epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml
  57. 2
      epmet-module/gov-org/gov-org-server/pom.xml
  58. 132
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerPartyBranchController.java
  59. 41
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerPartyBranchDao.java
  60. 66
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerPartyBranchEntity.java
  61. 71
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerPartyBranchExcel.java
  62. 47
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerPartyBranchRedis.java
  63. 115
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerPartyBranchService.java
  64. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  65. 137
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerPartyBranchServiceImpl.java
  66. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java
  67. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java
  68. 45
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerPartyBranchDao.xml
  69. 4
      epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml
  70. 2
      epmet-module/gov-project/gov-project-server/pom.xml
  71. 6
      epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddArticleTagsFormDTO.java
  72. 2
      epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml
  73. 4
      epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml
  74. 2
      epmet-module/gov-voice/gov-voice-server/pom.xml
  75. 2
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java
  76. 10
      epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java
  77. 5
      epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleTagsDao.xml
  78. 2
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  79. 10
      epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java
  80. 81
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartyBranchMembersDTO.java
  81. 101
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberAuthRecordDTO.java
  82. 31
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/DelPartyMemberBaseInfoFormDTO.java
  83. 64
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/PartyMemberBaseInfoAddFormDTO.java
  84. 56
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyMemberBaseInfoDetailResultDTO.java
  85. 31
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartymemberBaseInfoResultDTO.java
  86. 64
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/ResiPartyMemberOpenFeignClient.java
  87. 35
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/fallback/ResiPartyMemberOpenFeignClientFallback.java
  88. 2
      epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml
  89. 2
      epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml
  90. 2
      epmet-module/resi-partymember/resi-partymember-server/pom.xml
  91. 5
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java
  92. 94
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyBranchMembersController.java
  93. 94
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberAuthRecordController.java
  94. 61
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberBaseInfoController.java
  95. 36
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartyBranchMembersDao.java
  96. 41
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberAuthRecordDao.java
  97. 29
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberBaseInfoDao.java
  98. 51
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/PartyBranchMembersEntity.java
  99. 71
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/PartymemberAuthRecordEntity.java
  100. 62
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/PartyBranchMembersExcel.java

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

@ -76,23 +76,23 @@ public enum RequirePermissionEnum {
/**
* 基层治理-议题管理
*/
WORK_GRASSROOTS_ISSUE_VOTINGLIST("work_grassroots_issue_voting_list","表决中","表决中议题列表查询"),
WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST("work_grassroots_issue_shifted_project_list", "已转项目列表查询","已转项目议题列表查询"),
WORK_GRASSROOTS_ISSUE_CLOSED_LIST("work_grassroots_issue_closed_list","已关闭","已关闭议题列表查询"),
WORK_GRASSROOTS_ISSUE_DETAIL("work_grassroots_issue_detail", "议题详情","议题详情界面所有的api添加此校验"),
WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT("work_grassroots_issue_shift_project", "转项目","转项目(选择处理部门api也需要添加此校验)"),
WORK_GRASSROOTS_ISSUE_CLOSE("work_grassroots_issue_close","关闭议题","关闭议题"),
WORK_GRASSROOTS_ISSUE_VOTINGLIST("work_grassroots_issue_voting_list","基层治理:议题管理:表决中","表决中议题列表查询"),
WORK_GRASSROOTS_ISSUE_SHIFTED_PROJECT_LIST("work_grassroots_issue_shifted_project_list", "基层治理:议题管理:已转项目列表查询","已转项目议题列表查询"),
WORK_GRASSROOTS_ISSUE_CLOSED_LIST("work_grassroots_issue_closed_list","基层治理:议题管理:已关闭","已关闭议题列表查询"),
WORK_GRASSROOTS_ISSUE_DETAIL("work_grassroots_issue_detail", "基层治理:议题管理:议题详情","议题详情界面所有的api添加此校验"),
WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT("work_grassroots_issue_shift_project", "基层治理:议题管理:转项目","转项目(选择处理部门api也需要添加此校验)"),
WORK_GRASSROOTS_ISSUE_CLOSE("work_grassroots_issue_close","基层治理:议题管理:关闭议题","关闭议题"),
/**
* 工作-项目跟踪
*/
WORK_PROJECT_TRACE_PENDING_LIST("work_project_trace_pending_list","待处理","待处理的项目,列表查询"),
WORK_PROJECT_TRACE_CREATED_LIST("work_project_trace_created_list","我发起","我发起的项目,列表查询"),
WORK_PROJECT_TRACE_INVOLVED_LIST("work_project_trace_involved_list","我参与","我参与的项目,列表查询"),
WORK_PROJECT_TRACE_DETAIL("work_project_trace_detail","项目详情","项目详情界面所有的api添加此校验"),
WORK_PROJECT_TRACE_CLOSE("work_project_trace_close","结案","结案"),
WORK_PROJECT_TRACE_TRANSFER("work_project_trace_transfer","转其他部门","转其他部门(选择处理部门api也需要添加此校验)"),
WORK_PROJECT_TRACE_RETURN("work_project_trace_return","退回","退回"),
WORK_PROJECT_TRACE_PENDING_LIST("work_project_trace_pending_list","项目跟踪:待处理","待处理的项目,列表查询"),
WORK_PROJECT_TRACE_CREATED_LIST("work_project_trace_created_list","项目跟踪:我发起","我发起的项目,列表查询"),
WORK_PROJECT_TRACE_INVOLVED_LIST("work_project_trace_involved_list","项目跟踪:我参与","我参与的项目,列表查询"),
WORK_PROJECT_TRACE_DETAIL("work_project_trace_detail","项目跟踪:项目详情","项目详情界面所有的api添加此校验"),
WORK_PROJECT_TRACE_CLOSE("work_project_trace_close","项目跟踪:结案","结案"),
WORK_PROJECT_TRACE_TRANSFER("work_project_trace_transfer","项目跟踪:转其他部门","转其他部门(选择处理部门api也需要添加此校验)"),
WORK_PROJECT_TRACE_RETURN("work_project_trace_return","项目跟踪:退回","退回"),
/**
* 党务工作-党建声音
@ -106,7 +106,17 @@ public enum RequirePermissionEnum {
WORK_PARTY_VOICE_PUBLISH("work_party_voice_publish", "党建声音:创建文章", ""),
WORK_PARTY_VOICE_EDIT("work_party_voice_edit", "党建声音:重新编辑", ""),
WORK_PARTY_VOICE_OFFLINE("work_party_voice_offline", "党建声音:下线文章", ""),
WORK_PARTY_VOICE_OPERATION_LIST("work_party_voice_operation_list","党建声音:查看文章操作记录","");
WORK_PARTY_VOICE_OPERATION_LIST("work_party_voice_operation_list","党建声音:查看文章操作记录",""),
/**
* 基层治理-支部管理
*/
WORK_GRASSROOTS_PARTY_BRANCH_ADD("work_grassroots_party_branch_add","基层治理:支部管理:添加党支部","支部管理-添加党支部"),
WORK_GRASSROOTS_PARTY_BRANCH_EDIT("work_grassroots_party_branch_edit","基层治理:支部管理:编辑党支部","支部管理-编辑党支部信息"),
WORK_GRASSROOTS_PARTY_BRANCH_DELETE("work_grassroots_party_branch_delete","基层治理:支部管理:删除党支部","支部管理-删除党支部"),
WORK_GRASSROOTS_PARTY_MEMBER_ADD("work_grassroots_party_member_add","基层治理:支部管理:添加党员","支部管理-添加党员"),
WORK_GRASSROOTS_PARTY_MEMBER_EDIT("work_grassroots_party_member_edit","基层治理:支部管理:编辑党员","支部管理-编辑党员"),
WORK_GRASSROOTS_PARTY_MEMBER_DELETE("work_grassroots_party_member_delete","基层治理:支部管理:删除党员","支部管理-删除党员");
private String key;

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

@ -37,7 +37,13 @@ public enum EpmetErrorCode {
MOBILE_GET_CODE_ERROR(8104,"获取验证码失败"),
MESSAGE_SMS_SEND_ERROR(8105, "短信发送失败"),
NOT_DEL_GRID(8106,"该网格存在工作人员,不允许删除"),
ORG_IS_NOT_NULL(8107,"党组织关系不能为空"),
CANNOT_DELETE_PARTY_BRANCH(8108,"当前支部存在党员,不允许删除"),
IDCARDNO_ALREADY_EXITS(8109,"系统已存在相同身份证号码,请重新输入"),
IDCARDNO_ERROR(8110,"身份证号格式错误,请重新输入"),
CANNOT_DELETE_PARTY_MEMBER(8111,"该用户已注册党员,不允许删除"),
CANNOT_AUDIT_WARM(8201, "请完善居民信息"),
NOT_DEL_AGENCY(8202, "该机关存在下级机关,不允许删除"),
@ -89,7 +95,7 @@ public enum EpmetErrorCode {
return epmetErrorCodeEnum.getMsg();
}
}
return null;
return EpmetErrorCode.SERVER_ERROR.getMsg();
}
public int getCode(){

212
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/IdCardNoValidatorUtils.java

@ -0,0 +1,212 @@
package com.epmet.commons.tools.validator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Hashtable;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.util.regex.Pattern.*;
/**
* 身份证号校验
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 9:59
*/
public class IdCardNoValidatorUtils {
private static Logger logger = LoggerFactory.getLogger(IdCardNoValidatorUtils.class);
/**
* 身份证验证
*
* @param idCardNo
* @return 校验信息correct为成功失败会返回对应的失败原因
*/
public static boolean checkIsIdCardNo(String idCardNo) {
String[] wf = {"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
String[] checkCode = {"7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"};
String iDCardNo = "";
try {
//判断号码的长度 15位或18位
if (idCardNo.length() != 15 && idCardNo.length() != 18) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证号码长度应该为15位或18位"));
return false;
}
if (idCardNo.length() == 18) {
String lastStr = idCardNo.substring(idCardNo.length() - 1);
if (!Character.isDigit(lastStr.charAt(0))) {
if (Character.isLowerCase(lastStr.charAt(0))) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "18身份证号最后一位字母需要大写"));
return false;
}
} else {
logger.info(String.format("身份证号%s最后一位为数字"));
}
}
if (idCardNo.length() == 18) {
iDCardNo = idCardNo.substring(0, 17);
} else if (idCardNo.length() == 15) {
iDCardNo = idCardNo.substring(0, 6) + "19" + idCardNo.substring(6, 15);
}
if (isStrNum(iDCardNo) == false) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证15位号码都应为数字;18位号码除最后一位外,都应为数字"));
return false;
}
//判断出生年月
String strYear = iDCardNo.substring(6, 10);// 年份
String strMonth = iDCardNo.substring(10, 12);// 月份
String strDay = iDCardNo.substring(12, 14);// 月份
if (isStrDate(strYear + "-" + strMonth + "-" + strDay) == false) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证生日无效"));
return false;
}
GregorianCalendar gc = new GregorianCalendar();
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");
if ((gc.get(Calendar.YEAR) - Integer.parseInt(strYear)) > 150 || (gc.getTime().getTime() - s.parse(strYear + "-" + strMonth + "-" + strDay).getTime()) < 0) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证生日不在有效范围"));
return false;
}
if (Integer.parseInt(strMonth) > 12 || Integer.parseInt(strMonth) == 0) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证月份无效"));
return false;
}
if (Integer.parseInt(strDay) > 31 || Integer.parseInt(strDay) == 0) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证日期无效"));
return false;
}
//判断地区码
Hashtable h = GetAreaCode();
if (h.get(iDCardNo.substring(0, 2)) == null) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证地区编码错误"));
return false;
}
//判断最后一位
int theLastOne = 0;
for (int i = 0; i < 17; i++) {
theLastOne = theLastOne + Integer.parseInt(String.valueOf(iDCardNo.charAt(i))) * Integer.parseInt(checkCode[i]);
}
int modValue = theLastOne % 11;
String strVerifyCode = wf[modValue];
iDCardNo = iDCardNo + strVerifyCode;
if (idCardNo.length() == 18 && !iDCardNo.equals(idCardNo)) {
logger.error(String.format("校验身份证号:%s错误:%s", idCardNo, "身份证无效,不是合法的身份证号码"));
return false;
}
} catch (Exception e) {
logger.error(String.format("校验身份证号方法异常"));
e.printStackTrace();
}
return true;
}
/**
* 地区代码
*
* @return Hashtable
*/
private static Hashtable GetAreaCode() {
Hashtable<String, String> hashtable = new Hashtable<String, String>();
hashtable.put("11", "北京");
hashtable.put("12", "天津");
hashtable.put("13", "河北");
hashtable.put("14", "山西");
hashtable.put("15", "内蒙古");
hashtable.put("21", "辽宁");
hashtable.put("22", "吉林");
hashtable.put("23", "黑龙江");
hashtable.put("31", "上海");
hashtable.put("32", "江苏");
hashtable.put("33", "浙江");
hashtable.put("34", "安徽");
hashtable.put("35", "福建");
hashtable.put("36", "江西");
hashtable.put("37", "山东");
hashtable.put("41", "河南");
hashtable.put("42", "湖北");
hashtable.put("43", "湖南");
hashtable.put("44", "广东");
hashtable.put("45", "广西");
hashtable.put("46", "海南");
hashtable.put("50", "重庆");
hashtable.put("51", "四川");
hashtable.put("52", "贵州");
hashtable.put("53", "云南");
hashtable.put("54", "西藏");
hashtable.put("61", "陕西");
hashtable.put("62", "甘肃");
hashtable.put("63", "青海");
hashtable.put("64", "宁夏");
hashtable.put("65", "新疆");
hashtable.put("71", "台湾");
hashtable.put("81", "香港");
hashtable.put("82", "澳门");
hashtable.put("91", "国外");
return hashtable;
}
/**
* 判断字符串是否为数字
*
* @param str
* @return
*/
private static boolean isStrNum(String str) {
Pattern pattern = compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if (isNum.matches()) {
return true;
} else {
return false;
}
}
/**
* 判断字符串是否为日期格式
*
* @param strDate
* @return
*/
public static boolean isStrDate(String strDate) {
Pattern pattern = compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
Matcher m = pattern.matcher(strDate);
if (m.matches()) {
return true;
} else {
return false;
}
}
//根据身份证号判断性别 1男2女0未知
public static String getGender(String idCard) {
String gender = "0";
if (!IdCardNoValidatorUtils.checkIsIdCardNo(idCard)) {
return gender;
}
if (idCard.length() == 18) {
if (Integer.parseInt(idCard.substring(16).substring(0, 1)) % 2 == 0) {
gender = "2";
} else {
gender = "1";
}
} else if (idCard.length() == 15) {
String usex = idCard.substring(14, 15);
if (Integer.parseInt(usex) % 2 == 0) {
gender = "2";
} else {
gender = "1";
}
}
return gender;
}
}

26
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigOpeDefaultScopesFormDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 权限配置-操作默认范围form dto
*/
@Data
public class AccessConfigOpeDefaultScopesFormDTO {
public interface ListOpeDefaultScopesGroup {}
public interface SaveOpeDefaultScopesGroup {}
@NotBlank(message = "角色Key不能为空", groups = { ListOpeDefaultScopesGroup.class, SaveOpeDefaultScopesGroup.class })
private String roleKey;
@NotBlank(message = "操作Key不能为空", groups = { ListOpeDefaultScopesGroup.class, SaveOpeDefaultScopesGroup.class })
private String operationKey;
private List<String> scopeKeys;
}

18
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/form/AccessConfigRoleDefaultOpesFormDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* 角色默认操作权限列表from DTO
*/
@Data
public class AccessConfigRoleDefaultOpesFormDTO {
@NotBlank(message = "角色Key不能为空")
private String roleKey;
private List<String> operationKeys;
}

16
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/AccessConfigOpeDefaultScopesResultDTO.java

@ -0,0 +1,16 @@
package com.epmet.dto.result;
import lombok.Data;
/**
* 权限配置-操作的默认范围result dto
*/
@Data
public class AccessConfigOpeDefaultScopesResultDTO {
private String scopeKey;
private String scopeName;
private String scopeIndex;
private String operationKey;
private String roleKey;
private Boolean assigned;
}

20
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/OperationScopeDefaultResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
@Data
public class OperationScopeDefaultResultDTO {
private String roleKey;
/**
* 操作key
*/
private String operationKey;
/**
* 范围key
*/
private String scopeKey;
}

11
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/RoleOperationDefaultResultDTO.java

@ -18,7 +18,6 @@
package com.epmet.dto.result;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
@ -48,4 +47,14 @@ public class RoleOperationDefaultResultDTO implements Serializable {
*/
private String operationKey;
/**
* 操作名称
*/
private String operationName;
/**
* 是否已经具有该操作权限
*/
private Boolean assigned;
}

1
epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/feign/GovAccessFeignClient.java

@ -8,6 +8,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
//@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallBack.class, url = "http://localhost:8099")
@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = GovAccessFeignClientFallBack.class)
public interface GovAccessFeignClient {

2
epmet-module/gov-access/gov-access-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-access-server:
container_name: gov-access-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.29
image: 192.168.1.130:10080/epmet-cloud-dev/gov-access-server:0.3.32
ports:
- "8099:8099"
network_mode: host # 使用现有网络

4
epmet-module/gov-access/gov-access-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.29</version>
<version>0.3.32</version>
<parent>
<artifactId>gov-access</artifactId>
<groupId>com.epmet</groupId>
@ -120,7 +120,7 @@
<spring.redis.port>6379</spring.redis.port>
<spring.redis.password>123456</spring.redis.password>
<!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled>
<nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace>

56
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessConfigController.java

@ -2,12 +2,13 @@ package com.epmet.controller;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.AccessConfigOpesFormDTO;
import com.epmet.dto.form.AccessConfigOptionsFormDTO;
import com.epmet.dto.form.AccessConfigSaveConfigDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO;
import com.epmet.dto.result.AccessConfigOpesResultDTO;
import com.epmet.dto.result.AccessConfigOptionsResultDTO;
import com.epmet.dto.result.RoleOperationDefaultResultDTO;
import com.epmet.service.AccessConfigService;
import oracle.jdbc.proxy.annotation.Post;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -22,7 +23,18 @@ public class AccessConfigController {
private AccessConfigService accessConfigService;
/**
* 列出角色的操作列表(及该操作的scope范围)
* 根据roleKey查询角色默认操作列表(包括assigned字段标识该角色是否已经具有该操作权限)
* @param roleKey
* @return
*/
@PostMapping("roledefaultops/{roleKey}")
public Result listRoleDefaultOps(@PathVariable("roleKey") String roleKey) {
List<RoleOperationDefaultResultDTO> defaultOps = accessConfigService.listRoleDefaultOpsByRoleKey(roleKey);
return new Result().ok(defaultOps);
}
/**
* 根据角色ID列出角色的操作列表(及该操作的scope范围)
* @param roleId
* @return
*/
@ -68,4 +80,40 @@ public class AccessConfigController {
return new Result();
}
/**
* 保存角色默认操作权限列表
* @param form
* @return
*/
@PostMapping("roledefaultopes/save")
public Result saveRoleDefaultOperations(@RequestBody AccessConfigRoleDefaultOpesFormDTO form) {
ValidatorUtils.validateEntity(form);
accessConfigService.saveRoleDefaultOperations(form.getRoleKey(), form.getOperationKeys());
return new Result();
}
/**
* 查询操作的默认范围列表
* @param form
* @return
*/
@PostMapping("opedefaultscopes/list")
public Result listOpeDefaultScopes(@RequestBody AccessConfigOpeDefaultScopesFormDTO form) {
ValidatorUtils.validateEntity(form, AccessConfigOpeDefaultScopesFormDTO.ListOpeDefaultScopesGroup.class);
List<AccessConfigOpeDefaultScopesResultDTO> scopes = accessConfigService.listOpeDefaultScopes4Role(form.getRoleKey(), form.getOperationKey());
return new Result().ok(scopes);
}
/**
* 保存操作的默认范围配置
* @param form
* @return
*/
@PostMapping("opedefaultscopes/save")
public Result saveOpeDefaultScopes(@RequestBody AccessConfigOpeDefaultScopesFormDTO form) {
ValidatorUtils.validateEntity(form, AccessConfigOpeDefaultScopesFormDTO.SaveOpeDefaultScopesGroup.class);
accessConfigService.saveOpeDefaultScopes(form.getRoleKey(), form.getOperationKey(), form.getScopeKeys());
return new Result();
}
}

64
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/OperationScopeDefaultDao.java

@ -0,0 +1,64 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO;
import com.epmet.dto.result.OperationScopeDefaultResultDTO;
import com.epmet.entity.OperationScopeDefaultEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 默认操作范围表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Mapper
public interface OperationScopeDefaultDao extends BaseDao<OperationScopeDefaultEntity> {
List<OperationScopeDefaultEntity> listAllValid();
/**
* 根据角色key和操作key查询默认操作权限列表
* @param roleKey
* @return
*/
List<OperationScopeDefaultResultDTO> listDefaultOpeScopes(@Param("roleKey") String roleKey);
/**
* 查询操作的默认范围
* @param roleKey
* @param operationKey
* @return
*/
List<AccessConfigOpeDefaultScopesResultDTO> listOpeDefaultScopes4Config(
@Param("roleKey") String roleKey,
@Param("operationKey") String operationKey);
List<OperationScopeDefaultEntity> listOpeDefaultScopesByRoleAndOpeKey(
@Param("roleKey") String roleKey,
@Param("operationKey") String operationKey);
int delete(
@Param("roleKey") String roleKey,
@Param("operationKey") String operationKey,
@Param("scopeKey") String scopeKey);
}

7
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/dao/RoleOperationDefaultDao.java

@ -18,6 +18,7 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO;
import com.epmet.dto.result.RoleOperationDefaultResultDTO;
import com.epmet.entity.RoleOperationDefaultEntity;
import org.apache.ibatis.annotations.Mapper;
@ -47,4 +48,10 @@ public interface RoleOperationDefaultDao extends BaseDao<RoleOperationDefaultEnt
* @return
*/
List<RoleOperationDefaultResultDTO> listByRoleKey(@Param("roleKey") String roleKey);
List<RoleOperationDefaultResultDTO> listRoleDefaultOpsByRoleKey(@Param("roleKey") String roleKey);
int deleteByRoleKeyAndOpeKey(
@Param("roleKey") String roleKey,
@Param("operationKey") String operationKey);
}

53
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/OperationScopeDefaultEntity.java

@ -0,0 +1,53 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 默认操作范围表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("operation_scope_default")
public class OperationScopeDefaultEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
private String roleKey;
/**
* 操作key
*/
private String operationKey;
/**
* 范围key
*/
private String scopeKey;
}

3
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/entity/RoleOperationDefaultEntity.java

@ -18,12 +18,13 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("role_operation_default")
public class RoleOperationDefaultEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;

11
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessConfigService.java

@ -1,7 +1,10 @@
package com.epmet.service;
import com.epmet.dto.form.AccessConfigRoleDefaultOpesFormDTO;
import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO;
import com.epmet.dto.result.AccessConfigOpesResultDTO;
import com.epmet.dto.result.AccessConfigOptionsResultDTO;
import com.epmet.dto.result.RoleOperationDefaultResultDTO;
import java.util.List;
import java.util.Set;
@ -14,4 +17,12 @@ public interface AccessConfigService {
AccessConfigOptionsResultDTO listScopeOptionsForAccessConfig(String roleId, String operationKey);
void saveConfig(String roleId, String operationKey, Set<String> scopeKeys);
List<RoleOperationDefaultResultDTO> listRoleDefaultOpsByRoleKey(String roleKey);
void saveRoleDefaultOperations(String roleKey, List<String> operationKeys);
List<AccessConfigOpeDefaultScopesResultDTO> listOpeDefaultScopes4Role(String roleKey, String operationKey);
void saveOpeDefaultScopes(String roleKey, String operationKey, List<String> scopeKeys);
}

78
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessConfigServiceImpl.java

@ -4,6 +4,8 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.dao.*;
import com.epmet.dto.result.*;
import com.epmet.entity.OperationScopeDefaultEntity;
import com.epmet.entity.RoleOperationDefaultEntity;
import com.epmet.entity.RoleOperationEntity;
import com.epmet.entity.RoleScopeEntity;
import com.epmet.redis.RoleOpeScopeRedis;
@ -30,9 +32,15 @@ public class AccessConfigServiceImpl implements AccessConfigService {
@Autowired
private RoleOperationDao roleOperationDao;
@Autowired
private RoleOperationDefaultDao roleOperationDefaultDao;
@Autowired
private RoleScopeDao roleScopeDao;
@Autowired
private OperationScopeDefaultDao operationScopeDefaultDao;
@Override
public List<AccessConfigOpesResultDTO> listOpesByRole(String roleId) {
return roleOperationDao.listOpesForAccessConfig(roleId);
@ -118,4 +126,74 @@ public class AccessConfigServiceImpl implements AccessConfigService {
// 清空redis缓存
roleOpeScopeRedis.delRoleAllOpeScopes(roleId);
}
@Override
public List<RoleOperationDefaultResultDTO> listRoleDefaultOpsByRoleKey(String roleKey) {
return roleOperationDefaultDao.listRoleDefaultOpsByRoleKey(roleKey);
}
/**
*
* @param roleKey
* @param operationKeys
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void saveRoleDefaultOperations(String roleKey, List<String> operationKeys) {
List<RoleOperationDefaultResultDTO> opesExists = roleOperationDefaultDao.listByRoleKey(roleKey);
Set<String> opeKeysExists = opesExists.stream().map(ope -> ope.getOperationKey()).collect(Collectors.toSet());
// 过滤出删掉的
Set<String> deletedOpes = opeKeysExists.stream().filter(oke -> !operationKeys.contains(oke)).collect(Collectors.toSet());
// 过滤出新增的
Set<String> newOpes = operationKeys.stream().filter(okn -> !opeKeysExists.contains(okn)).collect(Collectors.toSet());
for (String deletedOpe : deletedOpes) {
roleOperationDefaultDao.deleteByRoleKeyAndOpeKey(roleKey, deletedOpe);
}
for (String newOpe : newOpes) {
RoleOperationDefaultEntity entity = new RoleOperationDefaultEntity();
entity.setRoleKey(roleKey);
entity.setOperationKey(newOpe);
roleOperationDefaultDao.insert(entity);
}
}
/**
* 查询默认的
* @param roleKey
* @param operationKey
* @return
*/
@Override
public List<AccessConfigOpeDefaultScopesResultDTO> listOpeDefaultScopes4Role(String roleKey, String operationKey) {
return operationScopeDefaultDao.listOpeDefaultScopes4Config(roleKey, operationKey);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void saveOpeDefaultScopes(String roleKey, String operationKey, List<String> submitScopeKeys) {
List<OperationScopeDefaultEntity > exists = operationScopeDefaultDao.listOpeDefaultScopesByRoleAndOpeKey(roleKey, operationKey);
Set<String> existsScopeKeys = exists.stream().map(ope -> ope.getScopeKey()).collect(Collectors.toSet());
// 删掉的
Set<String> deleteds = existsScopeKeys.stream().filter(esk -> !submitScopeKeys.contains(esk)).collect(Collectors.toSet());
// 新增的
Set<String> addeds = submitScopeKeys.stream().filter(ssk -> !existsScopeKeys.contains(ssk)).collect(Collectors.toSet());
for (String scopeKey : deleteds) {
operationScopeDefaultDao.delete(roleKey, operationKey, scopeKey);
}
for (String scopeKey : addeds) {
OperationScopeDefaultEntity entity = new OperationScopeDefaultEntity();
entity.setOperationKey(operationKey);
entity.setRoleKey(roleKey);
entity.setScopeKey(scopeKey);
operationScopeDefaultDao.insert(entity);
}
}
}

81
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/RoleOperationServiceImpl.java

@ -23,13 +23,18 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.dao.OperationScopeDefaultDao;
import com.epmet.dao.RoleOperationDao;
import com.epmet.dao.RoleOperationDefaultDao;
import com.epmet.dao.RoleScopeDao;
import com.epmet.dto.RoleOperationDTO;
import com.epmet.dto.form.InitDefaultOperationsFormDTO;
import com.epmet.dto.result.OperationScopeDefaultResultDTO;
import com.epmet.dto.result.RoleOperationDefaultResultDTO;
import com.epmet.dto.result.RoleOperationResultDTO;
import com.epmet.entity.OperationScopeDefaultEntity;
import com.epmet.entity.RoleOperationEntity;
import com.epmet.entity.RoleScopeEntity;
import com.epmet.service.RoleOperationService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -37,9 +42,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 角色能进行那些操作
@ -56,6 +59,12 @@ public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao,
@Autowired
private RoleOperationDao roleOperationDao;
@Autowired
private OperationScopeDefaultDao operationScopeDefaultDao;
@Autowired
private RoleScopeDao roleScopeDao;
@Override
public PageData<RoleOperationDTO> page(Map<String, Object> params) {
IPage<RoleOperationEntity> page = baseDao.selectPage(
@ -116,7 +125,6 @@ public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao,
@Override
@Transactional
public void initDefaultOperationsForRoles(List<InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO> roles) {
//roleOperationDefaultDao.listAllValid();
for (InitDefaultOperationsFormDTO.InitDefaultOpesRoleDTO role : roles) {
String roleId = role.getRoleId();
String roleKey = role.getRoleKey();
@ -124,6 +132,7 @@ public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao,
if (!CollectionUtils.isEmpty(defaultOperations)) {
// 有的角色并没有配置默认的操作权限,应该忽略
initDefaultOperationsForRole(roleId, defaultOperations);
initDefaultOperationScopesForRole(roleId, roleKey, defaultOperations);
}
}
}
@ -142,4 +151,68 @@ public class RoleOperationServiceImpl extends BaseServiceImpl<RoleOperationDao,
}
}
/**
* 为角色初始化操作范围
* 传入的map为所有操作的默认操作范围但是具体要为该角色初始化哪一些操作是由operations参数决定的并不是map中所有操作都会被初始化给该role
* @param roleId 角色ID
* @param operations 该角色可以做的操作列表
*/
public void initDefaultOperationScopesForRole(String roleId, String roleKey, List<RoleOperationDefaultResultDTO> operations) {
HashMap<String, Set<String>> opeScopeMap = listDefaultOpeScopesMap(roleKey);
for (RoleOperationDefaultResultDTO operation : operations) {
// 该角色,该操作的操作范围列表
Set<String> scopeKeys4ThisOpe = opeScopeMap.get(operation.getOperationKey());
if (!CollectionUtils.isEmpty(scopeKeys4ThisOpe)) {
for (String scopeKey : scopeKeys4ThisOpe) {
RoleScopeEntity roleScopeEntity = new RoleScopeEntity();
roleScopeEntity.setOperationKey(operation.getOperationKey());
roleScopeEntity.setRoleId(roleId);
roleScopeEntity.setScopeKey(scopeKey);
roleScopeDao.insert(roleScopeEntity);
}
}
}
}
private HashMap<String, Set<String>> listDefaultOpeScopesMap(String roleKey) {
List<OperationScopeDefaultResultDTO> defaultScopes = operationScopeDefaultDao.listDefaultOpeScopes(roleKey);
return convertScopeDefaultDto2Map(defaultScopes);
}
/**
* 将默认范围entity转换为map
* @param entities
* @return
*/
private HashMap<String, Set<String>> convertScopeDefaultEntity2Map(List<OperationScopeDefaultEntity> entities) {
HashMap<String, Set<String>> map = new HashMap<>();
for (OperationScopeDefaultEntity entity : entities) {
Set<String> scopes = map.get(entity.getOperationKey());
if (scopes == null) {
scopes = new HashSet<>();
map.put(entity.getOperationKey(), scopes);
}
scopes.add(entity.getScopeKey());
}
return map;
}
/**
* 将默认范围dto转换为map
* @param dtos
* @return
*/
private HashMap<String, Set<String>> convertScopeDefaultDto2Map(List<OperationScopeDefaultResultDTO> dtos) {
HashMap<String, Set<String>> map = new HashMap<>();
for (OperationScopeDefaultResultDTO dto : dtos) {
Set<String> scopes = map.get(dto.getOperationKey());
if (scopes == null) {
scopes = new HashSet<>();
map.put(dto.getOperationKey(), scopes);
}
scopes.add(dto.getScopeKey());
}
return map;
}
}

12
epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDao.xml

@ -32,6 +32,16 @@
<!--查询角色所有operation及其范围-->
<select id="listAllRoleOperationScopesByRoleId" resultType="com.epmet.dto.result.RoleOpeScopeResultDTO">
SELECT rs.ROLE_ID, rs.OPERATION_KEY, rs.SCOPE_KEY, os.SCOPE_INDEX, os.SERIES, os.SORT
FROM role_scope rs
INNER JOIN operation_scope os ON (rs.SCOPE_KEY = os.SCOPE_KEY)
WHERE rs.DEL_FLAG = 0
AND rs.ROLE_ID = #{roleId}
ORDER BY rs.OPERATION_KEY ASC
</select>
<!--查询角色所有operation及其范围,old方式-->
<!--<select id="listAllRoleOperationScopesByRoleId" resultType="com.epmet.dto.result.RoleOpeScopeResultDTO">
SELECT t.*, os.SCOPE_INDEX, os.SERIES, os.SORT
FROM (
SELECT ope.ROLE_ID,
@ -48,7 +58,7 @@
ORDER BY OPERATION_KEY ASC
) t
INNER JOIN operation_scope os ON (t.SCOPE_KEY = os.SCOPE_KEY)
</select>
</select>-->
<select id="getDefaultScopeKeyForOperation" resultType="java.lang.String">
SELECT def.SCOPE_KEY

77
epmet-module/gov-access/gov-access-server/src/main/resources/mapper/OperationScopeDefaultDao.xml

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.OperationScopeDefaultDao">
<resultMap type="com.epmet.entity.OperationScopeDefaultEntity" id="operationScopeDefaultMap">
<result property="id" column="ID"/>
<result property="roleKey" column="ROLE_KEY"/>
<result property="operationKey" column="OPERATION_KEY"/>
<result property="scopeKey" column="SCOPE_KEY"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<delete id="delete">
DELETE
FROM operation_scope_default
WHERE ROLE_KEY = #{roleKey}
AND OPERATION_KEY = #{operationKey}
AND SCOPE_KEY = #{scopeKey}
</delete>
<select id="listAllValid" resultType="com.epmet.entity.OperationScopeDefaultEntity">
SELECT *
FROM operation_scope_default WHERE DEL_FLAG=0
</select>
<!--根据角色key和操作key查询默认操作权限列表-->
<select id="listDefaultOpeScopes" resultType="com.epmet.dto.result.OperationScopeDefaultResultDTO">
SELECT id,
role_key,
operation_key,
scope_key,
del_flag,
revision,
created_by,
created_time,
updated_by,
updated_time
FROM operation_scope_default
WHERE ROLE_KEY = #{roleKey}
</select>
<!--查询操作的默认范围-->
<select id="listOpeDefaultScopes4Config"
resultType="com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO">
SELECT os.SCOPE_KEY,
os.SCOPE_NAME,
os.SCOPE_INDEX,
rs.OPERATION_KEY,
rs.ROLE_KEY,
CASE
WHEN rs.ROLE_KEY IS NULL
THEN FALSE
ELSE TRUE
END AS assigned
FROM operation_scope os
LEFT JOIN operation_scope_default rs
ON (os.SCOPE_KEY = rs.SCOPE_KEY AND rs.DEL_FLAG = 0 AND rs.ROLE_KEY = #{roleKey} AND
OPERATION_KEY = #{operationKey})
WHERE os.DEL_FLAG = 0
ORDER BY os.SORT ASC
</select>
<select id="listOpeDefaultScopesByRoleAndOpeKey" resultType="com.epmet.entity.OperationScopeDefaultEntity">
SELECT *
FROM operation_scope_default
WHERE ROLE_KEY = #{roleKey}
AND OPERATION_KEY = #{operationKey}
</select>
</mapper>

18
epmet-module/gov-access/gov-access-server/src/main/resources/mapper/RoleOperationDefaultDao.xml

@ -15,6 +15,11 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!--根据角色key和操作key删除-->
<delete id="deleteByRoleKeyAndOpeKey">
DELETE FROM role_operation_default WHERE ROLE_KEY = #{roleKey} AND OPERATION_KEY = #{operationKey}
</delete>
<select id="listAllValid" resultType="com.epmet.dto.result.RoleOperationDefaultResultDTO">
SELECT o.ID, d.ROLE_KEY, o.OPERATION_KEY
FROM role_operation_default d
@ -33,5 +38,16 @@
AND o.DEL_FLAG = 0
</select>
<select id="listRoleDefaultOpsByRoleKey" resultType="com.epmet.dto.result.RoleOperationDefaultResultDTO">
SELECT o.OPERATION_KEY,
o.OPERATION_NAME,
CASE
WHEN d.ROLE_KEY IS NOT NULL THEN TRUE
ELSE FALSE END AS assigned
FROM operation o
LEFT JOIN role_operation_default d ON (o.OPERATION_KEY = d.OPERATION_KEY AND d.DEL_FLAG = '0'
AND d.ROLE_KEY = #{roleKey})
WHERE o.DEL_FLAG = '0'
ORDER BY o.OPERATION_KEY ASC
</select>
</mapper>

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

@ -19,6 +19,12 @@
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-commons-tools</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>

31
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/DeletePartyMemberFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 删除党员入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 18:05
*/
@Data
public class DeletePartyMemberFormDTO implements Serializable {
private static final long serialVersionUID = 2325963253025239121L;
public interface AddUserInternalGroup {}
/**
* 党员id
*/
@NotBlank(message = "党员id不能为空",groups = {PartyMemberIdFormDTO.AddUserInternalGroup.class})
private String partyMemberId;
/**
* 党支部id
*/
@NotBlank(message = "党支部id不能为空",groups = {PartyMemberIdFormDTO.AddUserInternalGroup.class})
private String partyBranchId;
}

50
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchAddFormDTO.java

@ -0,0 +1,50 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 添加党支部入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 12:35
*/
@Data
public class PartyBranchAddFormDTO implements Serializable {
private static final long serialVersionUID = -8102877381223078842L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
/**
* 客户id
*/
@NotBlank(message = "客户id不能为空", groups = {AddUserInternalGroup.class})
private String customerId;
/**
* 网格id
*/
@NotBlank(message = "网格id不能为空", groups = {AddUserInternalGroup.class})
private String gridId;
/**
* 党支部名称
*/
@NotBlank(message = "请输入支部名称", groups = {AddUserShowGroup.class})
@Length(max = 20, message = "支部名称不能超过20个字", groups = AddUserShowGroup.class)
private String partyBranchName;
/**
* 党支部概要信息
*/
@Length(max = 500, message = "支部概要信息不能超过500个字", groups = AddUserShowGroup.class)
private String profile;
}

40
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchEditFormDTO.java

@ -0,0 +1,40 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 修改党支部信息入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 14:00
*/
@Data
public class PartyBranchEditFormDTO implements Serializable {
private static final long serialVersionUID = -6739109166420798965L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "党支部id不能为空", groups = {AddUserInternalGroup.class})
private String partyBranchId;
/**
* 党支部名称
*/
@NotBlank(message = "请输入支部名称", groups = {AddUserShowGroup.class})
@Length(max = 20, message = "支部名称不能超过20个字", groups = AddUserShowGroup.class)
private String partyBranchName;
/**
* 党支部概要信息
*/
@NotBlank(message = "请输入支部概要信息", groups = {AddUserShowGroup.class})
@Length(max = 500, message = "支部概要信息不能超过500个字", groups = AddUserShowGroup.class)
private String profile;
}

24
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyBranchIdFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 党支部id
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 17:02
*/
@Data
public class PartyBranchIdFormDTO implements Serializable {
private static final long serialVersionUID = 5321430865413383354L;
public interface AddUserInternalGroup {
}
/**
* 党支部id
*/
@NotBlank(message = "党支部id不能为空",groups = {AddUserInternalGroup.class})
private String partyBranchId;
}

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

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 3党支部列表查询入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 16:11
*/
@Data
public class PartyBranchListFormDTO implements Serializable {
public interface AddUserInternalGroup {
}
/**
* 客户id
*/
@NotBlank(message = "客户id不能为空", groups = {PartyBranchListFormDTO.AddUserInternalGroup.class})
private String customerId;
/**
* 网格id
*/
@NotBlank(message = "网格id不能为空", groups = {PartyBranchListFormDTO.AddUserInternalGroup.class})
private String gridId;
}

24
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/PartyMemberIdFormDTO.java

@ -0,0 +1,24 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 党员id
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 14:48
*/
@Data
public class PartyMemberIdFormDTO implements Serializable {
private static final long serialVersionUID = 3088195909670495675L;
public interface AddUserInternalGroup {}
/**
* 党员id
*/
@NotBlank(message = "党员id不能为空",groups = {AddUserInternalGroup.class})
private String partyMemberId;
}

42
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/form/SaveOrUpdateParyMemberFormDTO.java

@ -0,0 +1,42 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 新增修改党员入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 22:15
*/
@Data
public class SaveOrUpdateParyMemberFormDTO implements Serializable {
private static final long serialVersionUID = -6896349967046364830L;
public interface UpdatePatyMemberGroup {
}
public interface SavePatyMemberGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "党支部id不能为空", groups = {SavePatyMemberGroup.class})
private String partyBranchId;
@NotBlank(message = "姓名不能为空", groups = {AddUserShowGroup.class})
private String name;
@NotBlank(message = "身份证不能为空", groups = {AddUserShowGroup.class})
private String idCard;
@NotBlank(message = "手机号不能为空", groups = {AddUserShowGroup.class})
private String mobile;
@NotBlank(message = "党员id不能为空", groups = {UpdatePatyMemberGroup.class})
private String partyMemberId;
}

20
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchAddResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 添加党支部返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 12:45
*/
@Data
public class PartyBranchAddResultDTO implements Serializable {
private static final long serialVersionUID = 5610858988982913682L;
/**
* 党支部id
*/
private String partyBranchId;
}

48
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchInfoResultDTO.java

@ -0,0 +1,48 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 党支部详情信息返参
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 21:45
*/
@Data
public class PartyBranchInfoResultDTO implements Serializable {
private static final long serialVersionUID = 1184531127569286576L;
/**
* 党支部id
*/
private String partyBranchId;
/**
* 党支部名称
*/
private String partyBranchName;
/**
* 党支部概要
*/
private String profile;
/**
* 党支部所属网格名称
*/
private String gridName;
/**
* 党支部所属网格id
*/
private String gridId;
public PartyBranchInfoResultDTO(){
this.partyBranchId="";
this.partyBranchName="";
this.profile="";
this.gridName="";
}
}

29
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyBranchListResultDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 3党支部列表查询返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 16:13
*/
@Data
public class PartyBranchListResultDTO implements Serializable {
private static final long serialVersionUID = 8342529186641647970L;
/**
* 支部id
*/
private String partyBranchId;
/**
* 支部名称
*/
private String partyBranchName;
/**
* 党员总数
*/
private Integer totalPartyMember;
}

17
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberIdResultDTO.java

@ -0,0 +1,17 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 党员id:添加党员后返参修改党员后返参
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 22:13
*/
@Data
public class PartyMemberIdResultDTO implements Serializable {
private static final long serialVersionUID = 7467454908831748131L;
private String partyMemberId;
}

72
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoDetailResultDTO.java

@ -0,0 +1,72 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 党员信息详情返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 15:19
*/
@Data
public class PartyMemberInfoDetailResultDTO implements Serializable {
private static final long serialVersionUID = -4887670791276512339L;
/**
* 党员id
*/
private String partyMemberId;
/**
* 姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 1男2女0未知
*/
private String gender;
/**
* true已激活false未激活
*/
private Boolean status;
/**
* 返回账号于2019年10月31日在海泊桥社区-第一网格激活
*/
private String activeDesc;
/**
* 党支部名称机关-网格-支部名
*/
private String partyBranchName;
/**
* 党支部id
*/
private String partyBranchId;
public PartyMemberInfoDetailResultDTO(){
this.partyMemberId="";
this.name="";
this.idCard="";
this.mobile="";
this.gender="";
this.status=Boolean.FALSE;
this.activeDesc="";
this.partyBranchName="";
this.partyBranchId="";
}
}

30
epmet-module/gov-grid/gov-grid-client/src/main/java/com/epmet/dto/result/PartyMemberInfoResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 党员列表返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 10:04
*/
@Data
public class PartyMemberInfoResultDTO implements Serializable {
private static final long serialVersionUID = 627412197353847930L;
/**
* 党员id
*/
private String partyMemberId;
/**
* 姓名
*/
private String name;
/**
* 性别1男2女0未知
*/
private String gender;
}

2
epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-grid-server:
container_name: gov-grid-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.30
image: 192.168.1.130:10080/epmet-cloud-dev/gov-grid-server:0.3.36
ports:
- "8097:8097"
network_mode: host # 使用现有网络

4
epmet-module/gov-grid/gov-grid-server/deploy/docker-compose-test.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-grid-server:
container_name: gov-grid-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.30
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-grid-server:0.3.36
ports:
- "8097:8097"
network_mode: host # 使用现有网络
@ -14,4 +14,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 400M
memory: 350M

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

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.30</version>
<version>0.3.36</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-grid</artifactId>

179
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/PartyBranchManageController.java

@ -0,0 +1,179 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.service.PartyBranchManageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 基层治理-支部管理
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 12:25
*/
@RestController
@RequestMapping("partybranch")
public class PartyBranchManageController {
@Autowired
private PartyBranchManageService partyBranchManageService;
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.PartyBranchAddResultDTO>
* @author yinzuomei
* @description 添加党支部
* @Date 2020/6/17 12:47
**/
@PostMapping("add")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_BRANCH_ADD)
public Result<PartyBranchAddResultDTO> addPartyBranch(@RequestBody PartyBranchAddFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, PartyBranchAddFormDTO.AddUserShowGroup.class, PartyBranchAddFormDTO.AddUserInternalGroup.class);
PartyBranchAddResultDTO partyBranchAddResultDTO = partyBranchManageService.addPartyBranch(formDTO);
return new Result<PartyBranchAddResultDTO>().ok(partyBranchAddResultDTO);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.PartyBranchAddResultDTO>
* @author yinzuomei
* @description 修改党支部信息
* @Date 2020/6/17 15:31
**/
@PostMapping("edit")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_BRANCH_EDIT)
public Result<PartyBranchAddResultDTO> editPartyBranch(@RequestBody PartyBranchEditFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, PartyBranchEditFormDTO.AddUserShowGroup.class, PartyBranchEditFormDTO.AddUserInternalGroup.class);
partyBranchManageService.editPartyBranch(formDTO);
PartyBranchAddResultDTO partyBranchAddResultDTO = new PartyBranchAddResultDTO();
partyBranchAddResultDTO.setPartyBranchId(formDTO.getPartyBranchId());
return new Result<PartyBranchAddResultDTO>().ok(partyBranchAddResultDTO);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.dto.result.PartyBranchListResultDTO>>
* @author yinzuomei
* @description 党支部列表查询
* @Date 2020/6/17 16:15
**/
@PostMapping("list")
public Result<List<PartyBranchListResultDTO>> listPartyBranch(@RequestBody PartyBranchListFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, PartyBranchListFormDTO.AddUserInternalGroup.class);
return new Result<List<PartyBranchListResultDTO>>().ok(partyBranchManageService.listPartyBranch(formDTO));
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author yinzuomei
* @description 删除党支部
* @Date 2020/6/17 18:23
**/
@PostMapping("delete")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_BRANCH_DELETE)
public Result deleteBranch(@RequestBody PartyBranchIdFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
partyBranchManageService.deleteBranch(formDTO.getPartyBranchId());
return new Result();
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.PartyBranchInfoResultDTO>
* @author yinzuomei
* @description 5党支部详情信息查询
* @Date 2020/6/17 21:49
**/
@PostMapping("info")
public Result<PartyBranchInfoResultDTO> queryPartyBranchInfo(@RequestBody PartyBranchIdFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO,PartyBranchIdFormDTO.AddUserInternalGroup.class);
PartyBranchInfoResultDTO partyBranchInfoResultDTO = partyBranchManageService.queryPartyBranchInfo(formDTO.getPartyBranchId());
return new Result<PartyBranchInfoResultDTO>().ok(partyBranchInfoResultDTO);
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List>
* @param formDTO
* @author yinzuomei
* @description 6党员列表查询
* @Date 2020/6/18 0:17
**/
@PostMapping("/partymember/list")
public Result<List<PartyMemberInfoResultDTO>> listPartyMember(@RequestBody PartyBranchIdFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,PartyBranchIdFormDTO.AddUserInternalGroup.class);
List<PartyMemberInfoResultDTO> list=partyBranchManageService.listPartyMember(formDTO.getPartyBranchId());
return new Result<List<PartyMemberInfoResultDTO>>().ok(list);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.PartyMemberIdResultDTO>
* @author yinzuomei
* @description 7添加党员
* @Date 2020/6/17 22:25
**/
@PostMapping("/partymember/add")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_MEMBER_ADD)
public Result<PartyMemberIdResultDTO> addPartyMember(@RequestBody SaveOrUpdateParyMemberFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SaveOrUpdateParyMemberFormDTO.AddUserShowGroup.class
, SaveOrUpdateParyMemberFormDTO.SavePatyMemberGroup.class);
PartyMemberIdResultDTO partyMemberIdResultDTO = new PartyMemberIdResultDTO();
partyMemberIdResultDTO.setPartyMemberId(partyBranchManageService.addPartyMember(formDTO));
return new Result<PartyMemberIdResultDTO>().ok(partyMemberIdResultDTO);
}
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.PartyMemberIdResultDTO>
* @author yinzuomei
* @description 8编辑党员
* @Date 2020/6/17 23:29
**/
@PostMapping("/partymember/edit")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_MEMBER_EDIT)
public Result<PartyMemberIdResultDTO> editPartyMember(@RequestBody SaveOrUpdateParyMemberFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, SaveOrUpdateParyMemberFormDTO.AddUserShowGroup.class
, SaveOrUpdateParyMemberFormDTO.UpdatePatyMemberGroup.class);
PartyMemberIdResultDTO partyMemberIdResultDTO = new PartyMemberIdResultDTO();
partyMemberIdResultDTO.setPartyMemberId(partyBranchManageService.editPartyMember(formDTO));
return new Result<PartyMemberIdResultDTO>().ok(partyMemberIdResultDTO);
}
/**
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.PartyMemberInfoDetailResultDTO>
* @param formDTO
* @author yinzuomei
* @description 10党员详情
* @Date 2020/6/18 15:25
**/
@PostMapping("/partymember/detail")
public Result<PartyMemberInfoDetailResultDTO> queryPartyMemberDetail(@RequestBody PartyMemberIdFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO, PartyMemberIdFormDTO.AddUserInternalGroup.class);
return new Result<PartyMemberInfoDetailResultDTO>().ok(partyBranchManageService.queryPartyMemberDetail(formDTO.getPartyMemberId()));
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param deletePartyMemberFormDTO
* @author yinzuomei
* @description 删除党员
* @Date 2020/6/18 17:51
**/
@PostMapping("partymember/delete")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_PARTY_MEMBER_DELETE)
public Result deletePartyMember(@RequestBody DeletePartyMemberFormDTO deletePartyMemberFormDTO){
ValidatorUtils.validateEntity(deletePartyMemberFormDTO, DeletePartyMemberFormDTO.AddUserInternalGroup.class);
partyBranchManageService.deletePartyMember(deletePartyMemberFormDTO);
return new Result();
}
}

104
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/PartyBranchManageService.java

@ -0,0 +1,104 @@
package com.epmet.service;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import java.util.List;
/**
* 基层治理-支部管理
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 12:47
*/
public interface PartyBranchManageService {
/**
* @param formDTO
* @return com.epmet.dto.result.PartyBranchAddResultDTO
* @author yinzuomei
* @description 添加党支部
* @Date 2020/6/17 13:24
**/
PartyBranchAddResultDTO addPartyBranch(PartyBranchAddFormDTO formDTO);
/**
* @param formDTO
* @return com.epmet.dto.result.PartyBranchAddResultDTO
* @author yinzuomei
* @description 修改党支部信息
* @Date 2020/6/17 14:30
**/
void editPartyBranch(PartyBranchEditFormDTO formDTO);
/**
* @param formDTO
* @return java.util.List<com.epmet.dto.result.PartyBranchListResultDTO>
* @author yinzuomei
* @description 党支部列表查询
* @Date 2020/6/17 16:15
**/
List<PartyBranchListResultDTO> listPartyBranch(PartyBranchListFormDTO formDTO);
/**
* @return void
* @param partyBranchId
* @author yinzuomei
* @description 删除党支部
* @Date 2020/6/17 17:04
**/
void deleteBranch(String partyBranchId);
/**
* @return com.epmet.dto.result.PartyBranchInfoResultDTO
* @param partyBranchId
* @author yinzuomei
* @description 5党支部详情信息查询
* @Date 2020/6/17 21:49
**/
PartyBranchInfoResultDTO queryPartyBranchInfo(String partyBranchId);
/**
* @return java.util.List<com.epmet.dto.result.PartyMemberInfoResultDTO>
* @param partyBranchId
* @author yinzuomei
* @description 党员列表查询
* @Date 2020/6/18 10:06
**/
List<PartyMemberInfoResultDTO> listPartyMember(String partyBranchId);
/**
* @return java.lang.String
* @param formDTO
* @author yinzuomei
* @description 7添加党员
* @Date 2020/6/17 22:26
**/
String addPartyMember(SaveOrUpdateParyMemberFormDTO formDTO);
/**
* @return java.lang.String
* @param formDTO
* @author yinzuomei
* @description 8编辑党员
* @Date 2020/6/17 23:29
**/
String editPartyMember(SaveOrUpdateParyMemberFormDTO formDTO);
/**
* @param partyMemberId
* @return com.epmet.dto.result.PartyMemberInfoDetailResultDTO
* @author yinzuomei
* @description 10党员详情根据党员id查询党员详情
* @Date 2020/6/18 15:25
**/
PartyMemberInfoDetailResultDTO queryPartyMemberDetail(String partyMemberId);
/**
* @return void
* @param deletePartyMemberFormDTO
* @author yinzuomei
* @description 删除党员
* @Date 2020/6/18 17:51
**/
void deletePartyMember(DeletePartyMemberFormDTO deletePartyMemberFormDTO);
}

219
epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/PartyBranchManageServiceImpl.java

@ -0,0 +1,219 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerPartyBranchDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberBaseInfoAddFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartymemberBaseInfoResultDTO;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import com.epmet.service.PartyBranchManageService;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 基层治理-支部管理
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 13:23
*/
@Service
public class PartyBranchManageServiceImpl implements PartyBranchManageService {
private Logger logger = LogManager.getLogger(PartyBranchManageServiceImpl.class);
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
@Override
public PartyBranchAddResultDTO addPartyBranch(PartyBranchAddFormDTO formDTO) {
CustomerPartyBranchDTO customerPartyBranchDTO = ConvertUtils.sourceToTarget(formDTO, CustomerPartyBranchDTO.class);
customerPartyBranchDTO.setTotalPartyMember(0);
PartyBranchAddResultDTO partyBranchAddResultDTO = new PartyBranchAddResultDTO();
Result<String> result = govOrgOpenFeignClient.savePartyBranch(customerPartyBranchDTO);
if (result.success()) {
partyBranchAddResultDTO.setPartyBranchId(result.getData());
} else {
logger.error("添加党支部错误,调用gov-org-server接口返回失败");
}
return partyBranchAddResultDTO;
}
@Override
public void editPartyBranch(PartyBranchEditFormDTO formDTO) {
CustomerPartyBranchDTO customerPartyBranchDTO = ConvertUtils.sourceToTarget(formDTO, CustomerPartyBranchDTO.class);
customerPartyBranchDTO.setId(formDTO.getPartyBranchId());
Result<String> result = govOrgOpenFeignClient.updatePartyBranch(customerPartyBranchDTO);
if (result.success()) {
logger.info("修改党支部信息成功");
}
}
@Override
public List<PartyBranchListResultDTO> listPartyBranch(PartyBranchListFormDTO formDTO) {
ListPartyBranchFormDTO listPartyBranchFormDTO = ConvertUtils.sourceToTarget(formDTO, ListPartyBranchFormDTO.class);
Result<List<ListPartyBranchResultDTO>> result = govOrgOpenFeignClient.listPartyBranch(listPartyBranchFormDTO);
List<ListPartyBranchResultDTO> resultList=result.getData();
if (result.success()) {
List<PartyBranchListResultDTO> list = ConvertUtils.sourceToTarget(resultList, PartyBranchListResultDTO.class);
return list;
} else {
logger.error(String.format("党支部列表查询失败入参:"), JSON.toJSONString(formDTO));
}
return new ArrayList<>();
}
@Override
public void deleteBranch(String partyBranchId) {
Result<CustomerPartyBranchDTO> customerPartyBranchDTOResult = govOrgOpenFeignClient.getPartyBranchById(partyBranchId);
if (!customerPartyBranchDTOResult.success()||null==customerPartyBranchDTOResult.getData()) {
logger.error(String.format("查询党支部信息失败入参:partyBranchId=%s",partyBranchId));
return;
}else{
if (null != customerPartyBranchDTOResult.getData() && customerPartyBranchDTOResult.getData().getTotalPartyMember() > 0) {
throw new RenException(EpmetErrorCode.CANNOT_DELETE_PARTY_BRANCH.getCode());
}
}
Result delteResult=govOrgOpenFeignClient.deletePartyBranchById(partyBranchId);
if(!delteResult.success()){
logger.error(String.format("删除党支部失败入参:partyBranchId=%s",partyBranchId));
}
}
@Override
public PartyBranchInfoResultDTO queryPartyBranchInfo(String partyBranchId) {
PartyBranchInfoResultDTO partyBranchInfo = new PartyBranchInfoResultDTO();
Result<CustomerPartyBranchDTO> customerPartyBranchDTOResult = govOrgOpenFeignClient.getPartyBranchById(partyBranchId);
if (!customerPartyBranchDTOResult.success() || null == customerPartyBranchDTOResult.getData()) {
logger.error(String.format("党支部详情信息查询异常,partyBranchId=%s", partyBranchId));
return partyBranchInfo;
}
partyBranchInfo.setPartyBranchId(partyBranchId);
partyBranchInfo.setPartyBranchName(customerPartyBranchDTOResult.getData().getPartyBranchName());
partyBranchInfo.setProfile(customerPartyBranchDTOResult.getData().getProfile());
partyBranchInfo.setGridId(customerPartyBranchDTOResult.getData().getGridId());
Result<GridInfoResultDTO> gridInfoResult = govOrgOpenFeignClient.queryGridInfo(customerPartyBranchDTOResult.getData().getGridId());
if (gridInfoResult.success() && null != gridInfoResult.getData() && StringUtils.isNotBlank(gridInfoResult.getData().getParentAgencyName())) {
partyBranchInfo.setGridName(String.format("%s-%s", gridInfoResult.getData().getParentAgencyName(), gridInfoResult.getData().getGridName()));
} else {
logger.error(String.format("查询网格基本信息失败,gridId=%s", customerPartyBranchDTOResult.getData().getGridId()));
}
return partyBranchInfo;
}
@Override
public List<PartyMemberInfoResultDTO> listPartyMember(String partyBranchId) {
Result<List<PartymemberBaseInfoResultDTO>> result = resiPartyMemberOpenFeignClient.listPartyMemberBaseInfo(partyBranchId);
if (result.success()) {
List<PartyMemberInfoResultDTO> list = ConvertUtils.sourceToTarget(result.getData(), PartyMemberInfoResultDTO.class);
return list;
}
logger.error("党员列表查询失败");
return new ArrayList<>();
}
@Override
public String addPartyMember(SaveOrUpdateParyMemberFormDTO formDTO) {
//1、查询党支部信息
Result<CustomerPartyBranchDTO> customerPartyBranchResult = govOrgOpenFeignClient.getPartyBranchById(formDTO.getPartyBranchId());
if (!customerPartyBranchResult.success() || null == customerPartyBranchResult.getData()) {
throw new RenException("党支部信息获取失败");
}
//2、构造党员入参
CustomerPartyBranchDTO customerPartyBranch = customerPartyBranchResult.getData();
PartyMemberBaseInfoAddFormDTO partyMemberBaseInfoAddFormDTO = this.getPartyMemberBaseInfoAddFormDTO(formDTO, customerPartyBranch);
Result<String> result = resiPartyMemberOpenFeignClient.addPartyMemberBaseInfo(partyMemberBaseInfoAddFormDTO);
//3、党支部总人数+1
if (result.success() && StringUtils.isNotBlank(result.getData())) {
//党支部总人数+1
customerPartyBranch.setTotalPartyMember(customerPartyBranch.getTotalPartyMember() + 1);
Result<String> updatePartyBranchResult = govOrgOpenFeignClient.updatePartyBranch(customerPartyBranch);
if (updatePartyBranchResult.success()) {
logger.info(String.format("党支部(%s)总人数+1", formDTO.getPartyBranchId()));
}
} else {
logger.error("添加党员异常");
throw new RenException(result.getCode());
}
return result.getData();
}
@Override
public String editPartyMember(SaveOrUpdateParyMemberFormDTO formDTO) {
PartymemberBaseInfoDTO partymemberBaseInfoDTO = new PartymemberBaseInfoDTO();
partymemberBaseInfoDTO.setIdCard(formDTO.getIdCard().trim());
partymemberBaseInfoDTO.setName(formDTO.getName().trim());
partymemberBaseInfoDTO.setMobile(formDTO.getMobile().trim());
partymemberBaseInfoDTO.setId(formDTO.getPartyMemberId());
Result<String> updateResult = resiPartyMemberOpenFeignClient.update(partymemberBaseInfoDTO);
if (updateResult.success() && StringUtils.isNotBlank(updateResult.getData())) {
logger.info("修改党员信息成功");
return updateResult.getData();
}else{
logger.error("修改党员信息失败");
throw new RenException(updateResult.getCode());
}
}
@Override
public PartyMemberInfoDetailResultDTO queryPartyMemberDetail(String partyMemberId) {
PartyMemberInfoDetailResultDTO partyMemberInfoDetailResultDTO=new PartyMemberInfoDetailResultDTO();
Result<PartyMemberBaseInfoDetailResultDTO> partyMemberResult=resiPartyMemberOpenFeignClient.queryPartyMemberBaseInfoById(partyMemberId);
if(partyMemberResult.success()&&null!=partyMemberResult.getData()){
partyMemberInfoDetailResultDTO=ConvertUtils.sourceToTarget(partyMemberResult.getData(),PartyMemberInfoDetailResultDTO.class);
Result<CustomerPartyBranchDTO> partyBranchDTOResult=govOrgOpenFeignClient.getPartyBranchById(partyMemberResult.getData().getPartyBranchId());
if(partyBranchDTOResult.success()){
String agencyName=partyBranchDTOResult.getData().getAgencyName();
String gridName=partyBranchDTOResult.getData().getGridName();
String branchName=partyBranchDTOResult.getData().getPartyBranchName();
partyMemberInfoDetailResultDTO.setPartyBranchName(String.format("%s-%s-%s",agencyName,gridName,branchName));
return partyMemberInfoDetailResultDTO;
}else{
logger.error("党员详情查询异常");
}
}
return partyMemberInfoDetailResultDTO ;
}
@Override
public void deletePartyMember(DeletePartyMemberFormDTO deletePartyMemberFormDTO) {
DelPartyMemberBaseInfoFormDTO formDTO = ConvertUtils.sourceToTarget(deletePartyMemberFormDTO, DelPartyMemberBaseInfoFormDTO.class);
Result result = resiPartyMemberOpenFeignClient.deltePartyMemberBaseInfo(formDTO);
if (!result.success()) {
throw new RenException(result.getCode());
}
//党支部总人数-1
Result decrResult = govOrgOpenFeignClient.decrPartyBranchMember(deletePartyMemberFormDTO.getPartyBranchId());
if (decrResult.success()) {
logger.info("删除党员成功,党支部总人数已-1");
}
}
private PartyMemberBaseInfoAddFormDTO getPartyMemberBaseInfoAddFormDTO(SaveOrUpdateParyMemberFormDTO formDTO,
CustomerPartyBranchDTO customerPartyBranchDTO) {
PartyMemberBaseInfoAddFormDTO partyMemberBaseInfoAddFormDTO=new PartyMemberBaseInfoAddFormDTO();
partyMemberBaseInfoAddFormDTO.setBranchId(formDTO.getPartyBranchId());
partyMemberBaseInfoAddFormDTO.setIdCard(formDTO.getIdCard().trim());
partyMemberBaseInfoAddFormDTO.setMobile(formDTO.getMobile().trim());
partyMemberBaseInfoAddFormDTO.setName(formDTO.getName().trim());
partyMemberBaseInfoAddFormDTO.setBranch(customerPartyBranchDTO.getPartyBranchName());
partyMemberBaseInfoAddFormDTO.setOrganization(customerPartyBranchDTO.getAgencyName());
partyMemberBaseInfoAddFormDTO.setCustomerId(customerPartyBranchDTO.getCustomerId());
return partyMemberBaseInfoAddFormDTO;
}
}

4
epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-test.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-issue-server:
container_name: gov-issue-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.42
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-issue-server:0.3.43
ports:
- "8101:8101"
network_mode: host # 使用现有网络
@ -14,4 +14,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 400M
memory: 350M

2
epmet-module/gov-issue/gov-issue-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.42</version>
<version>0.3.43</version>
<parent>
<artifactId>gov-issue</artifactId>
<groupId>com.epmet</groupId>

2
epmet-module/gov-mine/gov-mine-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-mine-server:
container_name: gov-mine-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.27
image: 192.168.1.130:10080/epmet-cloud-dev/gov-mine-server:0.3.29
ports:
- "8098:8098"
network_mode: host # 使用现有网络

2
epmet-module/gov-mine/gov-mine-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.27</version>
<version>0.3.29</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-mine</artifactId>

111
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerPartyBranchDTO.java

@ -0,0 +1,111 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 党支部信息
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
public class CustomerPartyBranchDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 支部名称
*/
private String partyBranchName;
/**
* 概要
*/
private String profile;
/**
* 党支部所属网格id
*/
private String gridId;
/**
* 客户id
*/
private String customerId;
/**
* 党员总数
*/
private Integer totalPartyMember;
/**
* 删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 网格名称
*/
private String gridName;
/**
* 网格所属机关id
*/
private String agencyId;
/**
* 网格所属机关名字
*/
private String agencyName;
}

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/ListPartyBranchFormDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 党支部列表查询
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 16:27
*/
@Data
public class ListPartyBranchFormDTO implements Serializable {
private static final long serialVersionUID = -5693132528876149747L;
/**
* 客户id
*/
@NotBlank(message = "客户id不能为空")
private String customerId;
/**
* 网格id
*/
@NotBlank(message = "网格id不能为空")
private String gridId;
}

10
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/GridInfoResultDTO.java

@ -77,5 +77,15 @@ public class GridInfoResultDTO implements Serializable {
* 省级组织名称
*/
private String proviceName;
/**
* 网格所属机关id
*/
private String parentAgencyId;
/**
* 网格所属机关名称
*/
private String parentAgencyName;
}

8
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/LatestCustomerResultDTO.java

@ -21,9 +21,15 @@ public class LatestCustomerResultDTO implements Serializable {
*/
private String customerName;
/**
* 用户所属组织id任意一条
* 用户所属组织id
*/
private String agencyId;
/**
* 用户所属组织名称
*/
private String agencyName;
/**
* 工作人员头像
*/

29
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ListPartyBranchResultDTO.java

@ -0,0 +1,29 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* 党支部列表查询返参
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 16:30
*/
@Data
public class ListPartyBranchResultDTO implements Serializable {
private static final long serialVersionUID = 2306892144298853581L;
/**
* 支部id
*/
private String partyBranchId;
/**
* 支部名称
*/
private String partyBranchName;
/**
* 党员总数
*/
private Integer totalPartyMember;
}

10
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java

@ -40,4 +40,14 @@ public class MineResultDTO implements Serializable {
* 角色
*/
private List<String> roleList;
/**
* 我所属的机关id
*/
private String agencyId;
/**
* 我所属的机关名称
*/
private String myAgencyName;
}

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

@ -1,16 +1,20 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerPartyBranchDTO;
import com.epmet.dto.form.ListPartyBranchFormDTO;
import com.epmet.dto.result.ArticleGridResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dto.result.ListPartyBranchResultDTO;
import com.epmet.dto.result.PublishAgencyListResultDTO;
import com.epmet.feign.fallback.GovOrgOpenFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.*;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.feign.fallback.GovOrgOpenFeignClientFallback;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -18,14 +22,13 @@ import com.epmet.feign.fallback.GovOrgOpenFeignClientFallback;
* @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:37
*/
// @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgOpenFeignClientFallback.class, url =
// "localhost:8092")
// @FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgOpenFeignClientFallback.class, url = "localhost:8092")
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallback = GovOrgOpenFeignClientFallback.class)
public interface GovOrgOpenFeignClient {
/**
* 根据Id查询agency
*
*
* @param agencyId
* @return
*/
@ -34,7 +37,7 @@ public interface GovOrgOpenFeignClient {
/**
* 根据staffId查询所属的组织机构
*
*
* @param staffId
* @return
*/
@ -58,4 +61,74 @@ public interface GovOrgOpenFeignClient {
**/
@PostMapping(value = "gov/org/customeragency/getpublishagencylist/{staffId}", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<PublishAgencyListResultDTO> getPublishAgencyList(@PathVariable("staffId") String staffId);
/**
* @param customerPartyBranchDTO
* @return com.epmet.commons.tools.utils.Result
* @author yinzuomei
* @description 添加党支部
* @Date 2020/6/17 13:36
**/
@PostMapping(value = "gov/org/customerpartybranch/save", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<String> savePartyBranch(@RequestBody CustomerPartyBranchDTO customerPartyBranchDTO);
/**
* @param customerPartyBranchDTO
* @return com.epmet.commons.tools.utils.Result<java.lang.String>
* @author yinzuomei
* @description 修改党支部信息
* @Date 2020/6/17 15:31
**/
@PutMapping(value = "gov/org/customerpartybranch/update", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<String> updatePartyBranch(@RequestBody CustomerPartyBranchDTO customerPartyBranchDTO);
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author yinzuomei
* @description 根据客户id网格id查询党支部列表
* @Date 2020/6/17 16:28
**/
@PostMapping(value = "gov/org/customerpartybranch/listpartybranch", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<List<ListPartyBranchResultDTO>> listPartyBranch(@RequestBody ListPartyBranchFormDTO formDTO);
/**
* @param partyBranchId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.CustomerPartyBranchDTO>
* @author yinzuomei
* @description 根据党支部id,查询党支部信息
* @Date 2020/6/17 18:01
**/
@GetMapping(value = "gov/org/customerpartybranch/get/{id}")
Result<CustomerPartyBranchDTO> getPartyBranchById(@PathVariable("id") String partyBranchId);
/**
* @return com.epmet.commons.tools.utils.Result
* @param partyBranchId
* @author yinzuomei
* @description 根据党支部id,删除党支部存在党员的不允许删除
* @Date 2020/6/17 18:08
**/
@GetMapping(value = "gov/org/customerpartybranch/delete/{id}")
Result deletePartyBranchById(@PathVariable("id") String partyBranchId);
/**
* @param gridId
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.GridInfoResultDTO>
* @Author yinzuomei
* @Description 根据网格id查询所属组织信息
* @Date 2020/4/26 23:16
**/
@GetMapping("/gov/org/customergrid/getGridInfo/{gridId}")
Result<GridInfoResultDTO> queryGridInfo(@PathVariable("gridId") String gridId);
/**
* @return com.epmet.commons.tools.utils.Result
* @param partyBranchId
* @author yinzuomei
* @description 党支部宗人数-1
* @Date 2020/6/18 18:28
**/
@GetMapping(value = "gov/org/customerpartybranch/decrPartyBranchMember/{partyBranchId}")
Result decrPartyBranchMember(@PathVariable("partyBranchId") String partyBranchId);
}

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

@ -4,11 +4,17 @@ 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.CustomerPartyBranchDTO;
import com.epmet.dto.form.ListPartyBranchFormDTO;
import com.epmet.dto.result.ArticleGridResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dto.result.ListPartyBranchResultDTO;
import com.epmet.dto.result.PublishAgencyListResultDTO;
import com.epmet.feign.GovOrgOpenFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
*
@ -37,4 +43,38 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getPublishAgencyList", staffId);
}
@Override
public Result<String> savePartyBranch(CustomerPartyBranchDTO customerPartyBranchDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "save", customerPartyBranchDTO);
}
@Override
public Result<String> updatePartyBranch(CustomerPartyBranchDTO customerPartyBranchDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "update", customerPartyBranchDTO);
}
@Override
public Result<List<ListPartyBranchResultDTO>> listPartyBranch(ListPartyBranchFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "listpartybranch", formDTO);
}
@Override
public Result<CustomerPartyBranchDTO> getPartyBranchById(String partyBranchId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "get", partyBranchId);
}
@Override
public Result deletePartyBranchById(String partyBranchId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "deleteById", partyBranchId);
}
@Override
public Result<GridInfoResultDTO> queryGridInfo(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridInfo",gridId);
}
@Override
public Result decrPartyBranchMember(String partyBranchId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "decrPartyBranchMember",partyBranchId);
}
}

2
epmet-module/gov-org/gov-org-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-org-server:
container_name: gov-org-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.66
image: 192.168.1.130:10080/epmet-cloud-dev/gov-org-server:0.3.69
ports:
- "8092:8092"
network_mode: host # 使用现有网络

2
epmet-module/gov-org/gov-org-server/deploy/docker-compose-test.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-org-server:
container_name: gov-org-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.66
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-org-server:0.3.67
ports:
- "8092:8092"
network_mode: host # 使用现有网络

2
epmet-module/gov-org/gov-org-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.66</version>
<version>0.3.69</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>gov-org</artifactId>

132
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerPartyBranchController.java

@ -0,0 +1,132 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.controller;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.CustomerPartyBranchDTO;
import com.epmet.dto.form.ListPartyBranchFormDTO;
import com.epmet.dto.result.ListPartyBranchResultDTO;
import com.epmet.excel.CustomerPartyBranchExcel;
import com.epmet.service.CustomerPartyBranchService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 党支部信息
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@RestController
@RequestMapping("customerpartybranch")
public class CustomerPartyBranchController {
@Autowired
private CustomerPartyBranchService customerPartyBranchService;
@GetMapping("page")
public Result<PageData<CustomerPartyBranchDTO>> page(@RequestParam Map<String, Object> params){
PageData<CustomerPartyBranchDTO> page = customerPartyBranchService.page(params);
return new Result<PageData<CustomerPartyBranchDTO>>().ok(page);
}
@GetMapping("get/{id}")
public Result<CustomerPartyBranchDTO> get(@PathVariable("id") String id){
CustomerPartyBranchDTO data = customerPartyBranchService.get(id);
return new Result<CustomerPartyBranchDTO>().ok(data);
}
@PostMapping("save")
public Result<String> save(@RequestBody CustomerPartyBranchDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
return new Result<String>().ok(customerPartyBranchService.save(dto));
}
@PutMapping("update")
public Result update(@RequestBody CustomerPartyBranchDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
customerPartyBranchService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
customerPartyBranchService.delete(ids);
return new Result();
}
@GetMapping("delete/{id}")
public Result deleteById(@PathVariable("id") String id){
CustomerPartyBranchDTO data = customerPartyBranchService.get(id);
if(null!=data&&data.getTotalPartyMember()>0){
throw new RenException(EpmetErrorCode.CANNOT_DELETE_PARTY_BRANCH.getCode());
}
customerPartyBranchService.deleteById(id);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<CustomerPartyBranchDTO> list = customerPartyBranchService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, CustomerPartyBranchExcel.class);
}
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<com.epmet.dto.form.ListPartyBranchFormDTO>>
* @param formDTO
* @author yinzuomei
* @description 党支部列表查询,供gov-grid服务调用
* @Date 2020/6/17 16:33
**/
@PostMapping("listpartybranch")
public Result<List<ListPartyBranchResultDTO>> listpartybranch(@RequestBody ListPartyBranchFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
return new Result<List<ListPartyBranchResultDTO>>().ok(customerPartyBranchService.listpartybranch(formDTO));
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param partyBranchId
* @author yinzuomei
* @description 党支部人数-1
* @Date 2020/6/18 18:31
**/
@GetMapping("decrPartyBranchMember/{partyBranchId}")
public Result decrPartyBranchMember(@PathVariable("partyBranchId") String partyBranchId){
customerPartyBranchService.decrPartyBranchMember(partyBranchId);
return new Result();
}
}

41
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerPartyBranchDao.java

@ -0,0 +1,41 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.ListPartyBranchFormDTO;
import com.epmet.dto.result.ListPartyBranchResultDTO;
import com.epmet.entity.CustomerPartyBranchEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 党支部信息
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Mapper
public interface CustomerPartyBranchDao extends BaseDao<CustomerPartyBranchEntity> {
//根据客户id、网格id查询党支部列表
List<ListPartyBranchResultDTO> selectListPartyBranchResultDTO(ListPartyBranchFormDTO formDTO);
//党支部人数-1
int decrPartyBranchMember(String partyBranchId);
}

66
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerPartyBranchEntity.java

@ -0,0 +1,66 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 党支部信息
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("customer_party_branch")
public class CustomerPartyBranchEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 支部名称
*/
private String partyBranchName;
/**
* 概要
*/
private String profile;
/**
* 党支部所属网格id
*/
private String gridId;
/**
* 客户id
*/
private String customerId;
/**
* 党员总数
*/
private Integer totalPartyMember;
}

71
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/CustomerPartyBranchExcel.java

@ -0,0 +1,71 @@
/**
* 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.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 党支部信息
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
public class CustomerPartyBranchExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "支部名称")
private String partyBranchName;
@Excel(name = "概要")
private String profile;
@Excel(name = "党支部所属网格id")
private String gridId;
@Excel(name = "客户id")
private String customerId;
@Excel(name = "党员总数")
private Integer totalPartymember;
@Excel(name = "删除标识")
private String delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
}

47
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/CustomerPartyBranchRedis.java

@ -0,0 +1,47 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.redis;
import com.epmet.commons.tools.redis.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 党支部信息
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Component
public class CustomerPartyBranchRedis {
@Autowired
private RedisUtils redisUtils;
public void delete(Object[] ids) {
}
public void set(){
}
public String get(String id){
return null;
}
}

115
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerPartyBranchService.java

@ -0,0 +1,115 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.CustomerPartyBranchDTO;
import com.epmet.dto.form.ListPartyBranchFormDTO;
import com.epmet.dto.result.ListPartyBranchResultDTO;
import com.epmet.entity.CustomerPartyBranchEntity;
import java.util.List;
import java.util.Map;
/**
* 党支部信息
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
public interface CustomerPartyBranchService extends BaseService<CustomerPartyBranchEntity> {
/**
* 默认分页
*
* @param params
* @return PageData<CustomerPartyBranchDTO>
* @author generator
* @date 2020-06-17
*/
PageData<CustomerPartyBranchDTO> page(Map<String, Object> params);
/**
* 默认查询
*
* @param params
* @return java.util.List<CustomerPartyBranchDTO>
* @author generator
* @date 2020-06-17
*/
List<CustomerPartyBranchDTO> list(Map<String, Object> params);
/**
* 单条查询
*
* @param id
* @return CustomerPartyBranchDTO
* @author generator
* @date 2020-06-17
*/
CustomerPartyBranchDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2020-06-17
*/
String save(CustomerPartyBranchDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2020-06-17
*/
void update(CustomerPartyBranchDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2020-06-17
*/
void delete(String[] ids);
/**
* @return java.util.List<com.epmet.dto.form.ListPartyBranchFormDTO>
* @param formDTO
* @author yinzuomei
* @description 党支部列表查询,供gov-grid服务调用
* @Date 2020/6/17 16:33
**/
List<ListPartyBranchResultDTO> listpartybranch(ListPartyBranchFormDTO formDTO);
/**
* @return void
* @param partyBranchId
* @author yinzuomei
* @description 党支部人数-1
* @Date 2020/6/18 18:31
**/
void decrPartyBranchMember(String partyBranchId);
}

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

@ -27,7 +27,6 @@ import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.CustomerAgencyDao;
@ -452,6 +451,8 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
gridInfoResultDTO.setGridId(gridId);
gridInfoResultDTO.setCustomerId(customerGridDTO.getCustomerId());
gridInfoResultDTO.setGridName(customerGridDTO.getGridName());
gridInfoResultDTO.setParentAgencyId(customerGridDTO.getPid());
gridInfoResultDTO.setParentAgencyName(customerAgencyService.get(customerGridDTO.getPid()).getOrganizationName());
String pids=customerGridDTO.getPids();
String[] pidArray = pids.split(":");
for(String agencyId:pidArray){

137
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerPartyBranchServiceImpl.java

@ -0,0 +1,137 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.CustomerPartyBranchDao;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerPartyBranchDTO;
import com.epmet.dto.form.ListPartyBranchFormDTO;
import com.epmet.dto.result.ListPartyBranchResultDTO;
import com.epmet.entity.CustomerPartyBranchEntity;
import com.epmet.redis.CustomerPartyBranchRedis;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerGridService;
import com.epmet.service.CustomerPartyBranchService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 党支部信息
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Service
public class CustomerPartyBranchServiceImpl extends BaseServiceImpl<CustomerPartyBranchDao, CustomerPartyBranchEntity> implements CustomerPartyBranchService {
@Autowired
private CustomerPartyBranchRedis customerPartyBranchRedis;
@Autowired
private CustomerGridService customerGridService;
@Autowired
private CustomerAgencyService customerAgencyService;
@Override
public PageData<CustomerPartyBranchDTO> page(Map<String, Object> params) {
IPage<CustomerPartyBranchEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, CustomerPartyBranchDTO.class);
}
@Override
public List<CustomerPartyBranchDTO> list(Map<String, Object> params) {
List<CustomerPartyBranchEntity> entityList = baseDao.selectList(getWrapper(params));
return ConvertUtils.sourceToTarget(entityList, CustomerPartyBranchDTO.class);
}
private QueryWrapper<CustomerPartyBranchEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<CustomerPartyBranchEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public CustomerPartyBranchDTO get(String id) {
CustomerPartyBranchEntity entity = baseDao.selectById(id);
CustomerPartyBranchDTO customerPartyBranchDTO=ConvertUtils.sourceToTarget(entity, CustomerPartyBranchDTO.class);
if(null!=customerPartyBranchDTO){
CustomerGridDTO customerGridDTO=customerGridService.get(entity.getGridId());
if(null!=customerGridDTO){
customerPartyBranchDTO.setGridName(customerGridDTO.getGridName());
CustomerAgencyDTO customerAgencyDTO=customerAgencyService.get(customerGridDTO.getPid());
if(null!=customerAgencyDTO){
customerPartyBranchDTO.setAgencyId(customerAgencyDTO.getId());
customerPartyBranchDTO.setAgencyName(customerAgencyDTO.getOrganizationName());
}
}
}
return customerPartyBranchDTO;
}
@Override
@Transactional(rollbackFor = Exception.class)
public String save(CustomerPartyBranchDTO dto) {
CustomerPartyBranchEntity entity = ConvertUtils.sourceToTarget(dto, CustomerPartyBranchEntity.class);
insert(entity);
return entity.getId();
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(CustomerPartyBranchDTO dto) {
CustomerPartyBranchEntity entity = ConvertUtils.sourceToTarget(dto, CustomerPartyBranchEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public List<ListPartyBranchResultDTO> listpartybranch(ListPartyBranchFormDTO formDTO) {
return baseDao.selectListPartyBranchResultDTO(formDTO);
}
@Override
public void decrPartyBranchMember(String partyBranchId) {
baseDao.decrPartyBranchMember(partyBranchId);
}
}

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffAgencyServiceImpl.java

@ -131,6 +131,11 @@ public class CustomerStaffAgencyServiceImpl extends BaseServiceImpl<CustomerStaf
CustomerStaffAgencyDTO customerStaffAgencyDTO = baseDao.selectLatestCustomerByStaff(userId);
resultDTO.setAgencyId(customerStaffAgencyDTO.getAgencyId());
CustomerAgencyDTO customerAgencyDTO=customerAgencyService.get(customerStaffAgencyDTO.getAgencyId());
if(null!=customerAgencyDTO){
//用户所属机关名称
resultDTO.setAgencyName(customerAgencyDTO.getOrganizationName());
}
resultDTO.setCustomerId(customerStaffAgencyDTO.getCustomerId());
//获取工作人员头像
CustomerStaffDTO customerStaffParam = new CustomerStaffDTO();

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

@ -3,6 +3,7 @@ package com.epmet.service.impl;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerStaffAgencyDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
@ -171,7 +172,15 @@ public class StaffServiceImpl implements StaffService {
result.setStaffHeadPhoto(staffDetail.getHeadPhoto());
result.setGender(staffDetail.getGender());
result.setRoleList(staffDetail.getRoles());
//用户所属机关名称(上级-本级)
result.setAgencyName(agencyName);
//新增返参: 用户所属机关id
result.setAgencyId(customerStaffAgency.getAgencyId());
CustomerAgencyDTO customerAgencyDTO=customerAgencyService.get(customerStaffAgency.getAgencyId());
if(null!=customerAgencyDTO){
//用户所属机关名称
result.setMyAgencyName(customerAgencyDTO.getOrganizationName());
}
return result;
}
}

45
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerPartyBranchDao.xml

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.CustomerPartyBranchDao">
<resultMap type="com.epmet.entity.CustomerPartyBranchEntity" id="customerPartyBranchMap">
<result property="id" column="ID"/>
<result property="partyBranchName" column="PARTY_BRANCH_NAME"/>
<result property="profile" column="PROFILE"/>
<result property="gridId" column="GRID_ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="totalPartyMember" column="TOTAL_PARTY_MEMBER"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 根据客户id、网格id查询党支部列表 -->
<select id="selectListPartyBranchResultDTO" parameterType="com.epmet.dto.form.ListPartyBranchFormDTO"
resultType="com.epmet.dto.result.ListPartyBranchResultDTO">
SELECT
id as partyBranchId,
PARTY_BRANCH_NAME as partyBranchName,
TOTAL_PARTY_MEMBER AS totalPartyMember
FROM
customer_party_branch
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID =#{customerId}
AND GRID_ID = #{gridId}
ORDER BY
CREATED_TIME DESC
</select>
<!-- 党支部人数-1 -->
<update id="decrPartyBranchMember" parameterType="java.lang.String">
UPDATE customer_party_branch
SET TOTAL_PARTY_MEMBER = TOTAL_PARTY_MEMBER - 1
WHERE
id = #{partyBranchId}
AND DEL_FLAG = '0'
</update>
</mapper>

4
epmet-module/gov-project/gov-project-server/deploy/docker-compose-test.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-project-server:
container_name: gov-project-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-project-server:0.3.27
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-project-server:0.3.28
ports:
- "8102:8102"
network_mode: host # 使用现有网络
@ -14,4 +14,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 400M
memory: 350M

2
epmet-module/gov-project/gov-project-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<version>0.3.27</version>
<version>0.3.28</version>
<parent>
<artifactId>gov-project</artifactId>
<groupId>com.epmet</groupId>

6
epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/AddArticleTagsFormDTO.java

@ -3,6 +3,7 @@ package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Author zxc
@ -53,6 +54,11 @@ public class AddArticleTagsFormDTO implements Serializable {
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/

2
epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-voice-server:
container_name: gov-voice-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/gov-voice-server:0.3.54
image: 192.168.1.130:10080/epmet-cloud-dev/gov-voice-server:0.3.56
ports:
- "8105:8105"
network_mode: host # 使用现有网络

4
epmet-module/gov-voice/gov-voice-server/deploy/docker-compose-test.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
gov-voice-server:
container_name: gov-voice-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-voice-server:0.3.54
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/gov-voice-server:0.3.55
ports:
- "8105:8105"
network_mode: host # 使用现有网络
@ -14,4 +14,4 @@ services:
resources:
limits:
cpus: '0.1'
memory: 400M
memory: 350M

2
epmet-module/gov-voice/gov-voice-server/pom.xml

@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.54</version>
<version>0.3.56</version>
<parent>
<artifactId>gov-voice</artifactId>
<groupId>com.epmet</groupId>

2
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java

@ -105,7 +105,6 @@ public class ArticleController {
* @date 2020/6/2 16:50
**/
@PostMapping("oprationlist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_OPERATION_LIST)
public Result<List<ArticleOperationResultDTO>> operationList(@RequestBody ArticleOperationFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ArticleOperationFormDTO.AddUserInternalGroup.class);
List<ArticleOperationResultDTO> list =
@ -121,7 +120,6 @@ public class ArticleController {
* @date 2020/6/3 9:44
**/
@PostMapping("articledetail")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_DETAIL)
public Result<GovArticleDetailResultDTO> articleDetail(@RequestBody GovArticleDetailFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, GovArticleDetailFormDTO.AddUserInternalGroup.class);
GovArticleDetailResultDTO articleDetail = articleService.queryGovArticleDetail(formDTO.getArticleId());

10
epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java

@ -1058,13 +1058,13 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
try {
//审核通过
this.updateAuditStatusFailById(draftId, syncScanResult);
this.publishDraftToArticle(draft);
ArticleEntity articleEntity = this.publishDraftToArticle(draft);
UpdateCustomerTagCacheDTO updateCustomerTagCacheDTO = this.updateCustomerTag(tokenDto, draftId);
if (updateCustomerTagCacheDTO == null) {
return;
}
List<UpdateGridTagCacheDTO> updateGridTagCacheDTOS = this.updateGridTag(tokenDto, draftId, updateCustomerTagCacheDTO);
this.addArticleTags(updateCustomerTagCacheDTO, draftId, tokenDto);
this.addArticleTags(updateCustomerTagCacheDTO, draftId, tokenDto, articleEntity.getCreatedTime());
//更新redis
try {
@ -1279,10 +1279,11 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
/**
* @param formDto
* @Description 给文章挂标签 article_tags
* @param createdTime
* @Description 给文章挂标签 article_tags,创建时间与文章保持一致
* @author zxc
*/
public void addArticleTags(UpdateCustomerTagCacheDTO formDto, String draftId, TokenDto tokenDto) {
public void addArticleTags(UpdateCustomerTagCacheDTO formDto, String draftId, TokenDto tokenDto, Date createdTime) {
List<AddArticleTagsFormDTO> addArticleTags = new ArrayList<>();
List<UpdateTagUseCountsResultDTO> tagsInfo = formDto.getTagsInfo();
DraftDTO draft = draftService.get(draftId);
@ -1296,6 +1297,7 @@ public class ArticleServiceImpl extends BaseServiceImpl<ArticleDao, ArticleEntit
addArticleTag.setCustomerId(customerId);
addArticleTag.setArticleId(articleId);
BeanUtils.copyProperties(resultDTO, addArticleTag);
addArticleTag.setCreatedTime(createdTime);
addArticleTags.add(addArticleTag);
});
articleTagsDao.addArticleTags(addArticleTags);

5
epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleTagsDao.xml

@ -8,8 +8,9 @@
INSERT INTO article_tags ( ID, CUSTOMER_ID, ARTICLE_ID, TAG_ID, TAG_NAME, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME )
VALUES
<foreach collection="addArticleTags" item="tag" separator=",">
( REPLACE ( UUID(), '-', '' ),#{tag.customerId}, #{tag.articleId}, #{tag.tagId}, #{tag.tagName}, #{tag.delFlag},
#{tag.revision}, #{tag.createdBy}, NOW(),#{tag.updatedBy}, NOW())
( REPLACE ( UUID(), '-', '' ),#{tag.customerId}, #{tag.articleId}, #{tag.tagId}, #{tag.tagName},
#{tag.delFlag},
#{tag.revision}, #{tag.createdBy}, #{tag.createdTime,jdbcType=TIMESTAMP},#{tag.updatedBy}, NOW())
</foreach>
</select>
<select id="selectInitData" resultType="com.epmet.entity.ArticleTagsEntity">

2
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
//, url = "localhost:8087"
//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class, url = "localhost:8087")
@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class)
public interface EpmetUserFeignClient {

10
epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java

@ -2,22 +2,12 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerHomeDTO;
import com.epmet.dto.form.AddAgencyFormDTO;
import com.epmet.dto.form.AddRootAgencyFormDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.result.AddAgencyResultDTO;
import com.epmet.feign.fallback.GovOrgFeignClientFallBack;
import com.epmet.feign.fallback.OperCustomizeFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Map;
//@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallback = OperCustomizeFeignClientFallBack.class, url = "localhost:8089")
@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallback = OperCustomizeFeignClientFallBack.class)
public interface OperCustomizeFeignClient {

81
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartyBranchMembersDTO.java

@ -0,0 +1,81 @@
/**
* 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.resi.partymember.dto.partymember;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 党支部党员关系表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
public class PartyBranchMembersDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 党支部idcustomer_party_branch.id
*/
private String branchId;
/**
* 党员库表主键,partymember_base_info.id
*/
private String partymemberBaseInfoId;
/**
* 删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

101
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/PartymemberAuthRecordDTO.java

@ -0,0 +1,101 @@
/**
* 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.resi.partymember.dto.partymember;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 党员认证记录表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
public class PartymemberAuthRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* partymember_base_info.id
*/
private String partymemberBaseInfoId;
/**
* 认证居民id
*/
private String userId;
/**
* 认证时间(和partymember_info表时间一致)
*/
private Date authTime;
/**
* 认证网格id
*/
private String gridId;
/**
* 认证客户id
*/
private String customerId;
/**
* 认证的描述账户于2020年10月30号在海泊桥社区-第一网格激活
*/
private String authDesc;
/**
* 删除标识
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

31
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/DelPartyMemberBaseInfoFormDTO.java

@ -0,0 +1,31 @@
package com.epmet.resi.partymember.dto.partymember.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 删除党员入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 18:09
*/
@Data
public class DelPartyMemberBaseInfoFormDTO implements Serializable {
private static final long serialVersionUID = 2735219691600150687L;
public interface AddUserInternalGroup {}
/**
* 党员id
*/
@NotBlank(message = "党员id不能为空",groups = {DelPartyMemberBaseInfoFormDTO.AddUserInternalGroup.class})
private String partyMemberId;
/**
* 党支部id
*/
@NotBlank(message = "党支部id不能为空",groups = {DelPartyMemberBaseInfoFormDTO.AddUserInternalGroup.class})
private String partyBranchId;
}

64
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/form/PartyMemberBaseInfoAddFormDTO.java

@ -0,0 +1,64 @@
package com.epmet.resi.partymember.dto.partymember.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 添加党员入参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/17 22:42
*/
@Data
public class PartyMemberBaseInfoAddFormDTO implements Serializable {
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
/**
* 客户Id (customer.id)
*/
@NotBlank(message = "客户id不能为空", groups = {AddUserInternalGroup.class})
private String customerId;
/**
* 党支部id
*/
@NotBlank(message = "党支部id不能为空", groups = {AddUserInternalGroup.class})
private String branchId;
/**
* 姓名
*/
@NotBlank(message = "姓名不能为空", groups = {AddUserShowGroup.class})
private String name;
/**
* 身份证号
*/
@NotBlank(message = "身份证号不能为空", groups = {AddUserShowGroup.class})
private String idCard;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空", groups = {AddUserShowGroup.class})
private String mobile;
/**
* 所在党组织网格直属机关的名字
*/
@NotBlank(message = "党组织不能为空", groups = {AddUserShowGroup.class})
private String organization;
/**
* 所在党支部
*/
@NotBlank(message = "党支部名称不能为空", groups = {AddUserShowGroup.class})
private String branch;
}

56
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartyMemberBaseInfoDetailResultDTO.java

@ -0,0 +1,56 @@
package com.epmet.resi.partymember.dto.partymember.result;
import lombok.Data;
import java.io.Serializable;
/**
* 党员详情返参DTO
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 15:31
*/
@Data
public class PartyMemberBaseInfoDetailResultDTO implements Serializable {
private static final long serialVersionUID = -1416472090639851835L;
/**
* 党员id
*/
private String partyMemberId;
/**
* 姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/
private String mobile;
/**
* 1男2女0未知
*/
private String gender;
/**
* true已激活false未激活
*/
private Boolean status;
/**
* 返回账号于2019年10月31日在海泊桥社区-第一网格激活
*/
private String activeDesc;
/**
* 党支部id
*/
private String partyBranchId;
}

31
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/PartymemberBaseInfoResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.resi.partymember.dto.partymember.result;
import lombok.Data;
import java.io.Serializable;
/**
* 党员列表
*
* @author yinzuomei@elink-cn.com
* @date 2020/6/18 10:15
*/
@Data
public class PartymemberBaseInfoResultDTO implements Serializable {
private static final long serialVersionUID = 8406798885012269801L;
/**
* 党员id
*/
private String partyMemberId;
/**
* 党员姓名
*/
private String name;
/**
* 性别
*/
private String gender;
}

64
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/ResiPartyMemberOpenFeignClient.java

@ -1,9 +1,18 @@
package com.epmet.resi.partymember.feign;
import org.springframework.cloud.openfeign.FeignClient;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberBaseInfoAddFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartymemberBaseInfoResultDTO;
import com.epmet.resi.partymember.feign.fallback.ResiPartyMemberOpenFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -11,6 +20,57 @@ import com.epmet.resi.partymember.feign.fallback.ResiPartyMemberOpenFeignClientF
* @author yinzuomei@elink-cn.com
* @date 2020/6/4 13:12
*/
//@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = ResiPartyMemberOpenFeignClientFallback.class,url = "http://localhost:8096")
@FeignClient(name = ServiceConstant.RESI_PARTYMEMBER_SERVER, fallback = ResiPartyMemberOpenFeignClientFallback.class)
public interface ResiPartyMemberOpenFeignClient {
/**
* @param dto
* @return com.epmet.commons.tools.utils.Result
* @author yinzuomei
* @description 更新党员库信息
* @Date 2020/6/17 23:36
**/
@PutMapping(value = "/resi/partymember/partymemberbaseinfo", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<String> update(@RequestBody PartymemberBaseInfoDTO dto);
/**
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.lang.String>
* @author yinzuomei
* @description 添加党员
* @Date 2020/6/17 23:00
**/
@PostMapping(value = "/resi/partymember/partymemberbaseinfo/addPartyMemberBaseInfo", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<String> addPartyMemberBaseInfo(@RequestBody PartyMemberBaseInfoAddFormDTO formDTO);
/**
* @return com.epmet.commons.tools.utils.Result<java.util.List<PartymemberBaseInfoResultDTO>>
* @param partyBranchId
* @author yinzuomei
* @description 根据党支部id,查询党员列表
* @Date 2020/6/18 10:12
**/
@GetMapping(value = "/resi/partymember/partymemberbaseinfo/listPartyMemberBaseInfo/{partyBranchId}")
Result<List<PartymemberBaseInfoResultDTO>> listPartyMemberBaseInfo(@PathVariable("partyBranchId") String partyBranchId);
/**
* @return com.epmet.commons.tools.utils.Result
* @param partyMemberId 党员库id主键
* @author yinzuomei
* @description 根据党员id查询党员信息
* @Date 2020/6/18 15:30
**/
@GetMapping(value = "/resi/partymember/partymemberbaseinfo/queryPartyMemberBaseInfoById/{partyMemberId}")
Result<PartyMemberBaseInfoDetailResultDTO> queryPartyMemberBaseInfoById(@PathVariable("partyMemberId") String partyMemberId);
/**
* @return com.epmet.commons.tools.utils.Result
* @param formDTO
* @author yinzuomei
* @description 删除党员
* @Date 2020/6/18 17:57
**/
@PostMapping(value = "/resi/partymember/partymemberbaseinfo/delete", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result deltePartyMemberBaseInfo(@RequestBody DelPartyMemberBaseInfoFormDTO formDTO);
}

35
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/fallback/ResiPartyMemberOpenFeignClientFallback.java

@ -1,8 +1,18 @@
package com.epmet.resi.partymember.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.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberBaseInfoAddFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartymemberBaseInfoResultDTO;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
*
@ -11,4 +21,29 @@ import org.springframework.stereotype.Component;
*/
@Component
public class ResiPartyMemberOpenFeignClientFallback implements ResiPartyMemberOpenFeignClient {
@Override
public Result<String> update(PartymemberBaseInfoDTO partymemberBaseInfoDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "update", partymemberBaseInfoDTO);
}
@Override
public Result<String> addPartyMemberBaseInfo(PartyMemberBaseInfoAddFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "addPartyMemberBaseInfo", formDTO);
}
@Override
public Result<List<PartymemberBaseInfoResultDTO>> listPartyMemberBaseInfo(String partyBranchId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "listPartyMemberBaseInfo", partyBranchId);
}
@Override
public Result<PartyMemberBaseInfoDetailResultDTO> queryPartyMemberBaseInfoById(String partyMemberId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "queryPartyMemberBaseInfoById", partyMemberId);
}
@Override
public Result deltePartyMemberBaseInfo(DelPartyMemberBaseInfoFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "deltePartyMemberBaseInfo", formDTO);
}
}

2
epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-dev.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
resi-partymember-server:
container_name: resi-partymember-server-dev
image: 192.168.1.130:10080/epmet-cloud-dev/resi-partymember-server:0.3.44
image: 192.168.1.130:10080/epmet-cloud-dev/resi-partymember-server:0.3.50
ports:
- "8096:8096"
network_mode: host # 使用现有网络

2
epmet-module/resi-partymember/resi-partymember-server/deploy/docker-compose-test.yml

@ -2,7 +2,7 @@ version: "3.7"
services:
resi-partymember-server:
container_name: resi-partymember-server-test
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-partymember-server:0.3.44
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/resi-partymember-server:0.3.50
ports:
- "8096:8096"
network_mode: host # 使用现有网络

2
epmet-module/resi-partymember/resi-partymember-server/pom.xml

@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<version>0.3.44</version>
<version>0.3.50</version>
<parent>
<groupId>com.epmet</groupId>
<artifactId>resi-partymember</artifactId>

5
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/constant/PartyMemberConstant.java

@ -135,4 +135,9 @@ public interface PartyMemberConstant {
* 已读
*/
String READ = "read";
/**
* 党员详情界面账号于2020年10月31日在海泊桥社区-第一网格激活
*/
String AUTH_DESC="账户于%s年%s月%s日在%s激活";
}

94
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartyBranchMembersController.java

@ -0,0 +1,94 @@
/**
* 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.modules.partymember.controller;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.modules.partymember.excel.PartyBranchMembersExcel;
import com.epmet.modules.partymember.service.PartyBranchMembersService;
import com.epmet.resi.partymember.dto.partymember.PartyBranchMembersDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 党支部党员关系表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@RestController
@RequestMapping("partybranchmembers")
public class PartyBranchMembersController {
@Autowired
private PartyBranchMembersService partyBranchMembersService;
@GetMapping("page")
public Result<PageData<PartyBranchMembersDTO>> page(@RequestParam Map<String, Object> params){
PageData<PartyBranchMembersDTO> page = partyBranchMembersService.page(params);
return new Result<PageData<PartyBranchMembersDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<PartyBranchMembersDTO> get(@PathVariable("id") String id){
PartyBranchMembersDTO data = partyBranchMembersService.get(id);
return new Result<PartyBranchMembersDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody PartyBranchMembersDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
partyBranchMembersService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody PartyBranchMembersDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
partyBranchMembersService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
partyBranchMembersService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<PartyBranchMembersDTO> list = partyBranchMembersService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, PartyBranchMembersExcel.class);
}
}

94
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberAuthRecordController.java

@ -0,0 +1,94 @@
/**
* 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.modules.partymember.controller;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ExcelUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.modules.partymember.excel.PartymemberAuthRecordExcel;
import com.epmet.modules.partymember.service.PartymemberAuthRecordService;
import com.epmet.resi.partymember.dto.partymember.PartymemberAuthRecordDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* 党员认证记录表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@RestController
@RequestMapping("partymemberauthrecord")
public class PartymemberAuthRecordController {
@Autowired
private PartymemberAuthRecordService partymemberAuthRecordService;
@GetMapping("page")
public Result<PageData<PartymemberAuthRecordDTO>> page(@RequestParam Map<String, Object> params){
PageData<PartymemberAuthRecordDTO> page = partymemberAuthRecordService.page(params);
return new Result<PageData<PartymemberAuthRecordDTO>>().ok(page);
}
@GetMapping("{id}")
public Result<PartymemberAuthRecordDTO> get(@PathVariable("id") String id){
PartymemberAuthRecordDTO data = partymemberAuthRecordService.get(id);
return new Result<PartymemberAuthRecordDTO>().ok(data);
}
@PostMapping
public Result save(@RequestBody PartymemberAuthRecordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
partymemberAuthRecordService.save(dto);
return new Result();
}
@PutMapping
public Result update(@RequestBody PartymemberAuthRecordDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
partymemberAuthRecordService.update(dto);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
partymemberAuthRecordService.delete(ids);
return new Result();
}
@GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<PartymemberAuthRecordDTO> list = partymemberAuthRecordService.list(params);
ExcelUtils.exportExcelToTarget(response, null, list, PartymemberAuthRecordExcel.class);
}
}

61
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberBaseInfoController.java

@ -28,15 +28,18 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.modules.partymember.excel.PartymemberBaseInfoExcel;
import com.epmet.modules.partymember.service.PartymemberBaseInfoService;
import com.epmet.resi.partymember.dto.partymember.PartymemberBaseInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberBaseInfoAddFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.ReviewedParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.UnderReviewParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartymemberBaseInfoResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.ReviewedParyMemberResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.UnderReviewParyMemberResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
@ -75,11 +78,11 @@ public class PartymemberBaseInfoController {
}
@PutMapping
public Result update(@RequestBody PartymemberBaseInfoDTO dto){
public Result<String> update(@RequestBody PartymemberBaseInfoDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
partymemberBaseInfoService.update(dto);
return new Result();
return new Result().ok(dto.getId());
}
@DeleteMapping
@ -121,4 +124,56 @@ public class PartymemberBaseInfoController {
ValidatorUtils.validateEntity(formDTO);
return partymemberBaseInfoService.audited(formDTO);
}
/**
* @return com.epmet.commons.tools.utils.Result<java.lang.String>
* @param formDTO
* @author yinzuomei
* @description 添加党员
* @Date 2020/6/17 22:47
**/
@PostMapping("addPartyMemberBaseInfo")
public Result<String> addPartyMemberBaseInfo(@RequestBody PartyMemberBaseInfoAddFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO);
String partyMemberId=partymemberBaseInfoService.addPartyMemberBaseInfo(formDTO);
return new Result<String>().ok(partyMemberId);
}
/**
* @param partyBranchId
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.resi.partymember.dto.partymember.result.PartymemberBaseInfoResultDTO>>
* @author yinzuomei
* @description 根据党支部id, 查询党员列表
* @Date 2020/6/18 10:18
**/
@GetMapping("listPartyMemberBaseInfo/{partyBranchId}")
public Result<List<PartymemberBaseInfoResultDTO>> listPartyMemberBaseInfo(@PathVariable("partyBranchId") String partyBranchId) {
return new Result<List<PartymemberBaseInfoResultDTO>>().ok(partymemberBaseInfoService.listPartyMemberBaseInfo(partyBranchId));
}
/**
* @return com.epmet.commons.tools.utils.Result<com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO>
* @param partyMemberId
* @author yinzuomei
* @description 根据党员库id查询党员信息
* @Date 2020/6/18 17:15
**/
@GetMapping("queryPartyMemberBaseInfoById/{partyMemberId}")
public Result<PartyMemberBaseInfoDetailResultDTO> queryPartyMemberBaseInfoById(@PathVariable("partyMemberId") String partyMemberId){
return new Result<PartyMemberBaseInfoDetailResultDTO>().ok(partymemberBaseInfoService.queryPartyMemberBaseInfoById(partyMemberId));
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param formDTO
* @author yinzuomei
* @description 删除党员
* @Date 2020/6/18 17:45
**/
@PostMapping("delete")
public Result deltePartyMemberBaseInfo(@RequestBody DelPartyMemberBaseInfoFormDTO formDTO){
ValidatorUtils.validateEntity(formDTO,DelPartyMemberBaseInfoFormDTO.AddUserInternalGroup.class);
partymemberBaseInfoService.deltePartyMemberBaseInfo(formDTO);
return new Result();
}
}

36
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartyBranchMembersDao.java

@ -0,0 +1,36 @@
/**
* 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.modules.partymember.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partymember.entity.PartyBranchMembersEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 党支部党员关系表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Mapper
public interface PartyBranchMembersDao extends BaseDao<PartyBranchMembersEntity> {
int deletePartyBranchMember(@Param("partyBranchId") String partyBranchId,
@Param("partyMemberId") String partyMemberId,
@Param("userId") String userId);
}

41
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberAuthRecordDao.java

@ -0,0 +1,41 @@
/**
* 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.modules.partymember.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partymember.entity.PartymemberAuthRecordEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 党员认证记录表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Mapper
public interface PartymemberAuthRecordDao extends BaseDao<PartymemberAuthRecordEntity> {
/**
* @return com.epmet.modules.partymember.entity.PartymemberAuthRecordEntity
* @param partymemberBaseInfoId
* @author yinzuomei
* @description 根据党员库id,查询党员认证信息
* @Date 2020/6/18 0:04
**/
PartymemberAuthRecordEntity selectByPartyMemberBaseInfoId(String partymemberBaseInfoId);
}

29
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberBaseInfoDao.java

@ -22,9 +22,11 @@ import com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity;
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO;
import com.epmet.resi.partymember.dto.partymember.form.ReviewedParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.form.UnderReviewParyMemberFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.ReviewedParyMemberResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.UnderReviewParyMemberResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -78,4 +80,31 @@ public interface PartymemberBaseInfoDao extends BaseDao<PartymemberBaseInfoEntit
* @Date 2020/4/26 23:43
**/
List<ReviewedParyMemberResultDTO> selectListReviewedParyMember(ReviewedParyMemberFormDTO formDTO);
/**
* @return com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity
* @param idCard
* @author yinzuomei
* @description 根据身份证号查询党员库
* @Date 2020/6/17 23:49
**/
List<PartymemberBaseInfoEntity> selectByIdCard(@Param("idCard") String idCard,@Param("id")String id);
/**
* @return java.util.List<com.epmet.modules.partymember.entity.PartymemberBaseInfoEntity>
* @param partyBranchId
* @author yinzuomei
* @description 根据党支部id查询党员列表
* @Date 2020/6/18 11:05
**/
List<PartymemberBaseInfoEntity> selectListPartyMemberBaseInfo(String partyBranchId);
/**
* @return com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO
* @param partyMemberId
* @author yinzuomei
* @description 根据党员库id查询党员信息
* @Date 2020/6/18 17:24
**/
PartyMemberBaseInfoDetailResultDTO queryPartyMemberBaseInfoById(String partyMemberId);
}

51
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/PartyBranchMembersEntity.java

@ -0,0 +1,51 @@
/**
* 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.modules.partymember.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 党支部党员关系表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("party_branch_members")
public class PartyBranchMembersEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 党支部idcustomer_party_branch.id
*/
private String branchId;
/**
* 党员库表主键,partymember_base_info.id
*/
private String partymemberBaseInfoId;
}

71
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/entity/PartymemberAuthRecordEntity.java

@ -0,0 +1,71 @@
/**
* 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.modules.partymember.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 党员认证记录表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("partymember_auth_record")
public class PartymemberAuthRecordEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* partymember_base_info.id
*/
private String partymemberBaseInfoId;
/**
* 认证居民id
*/
private String userId;
/**
* 认证时间(和partymember_info表时间一致)
*/
private Date authTime;
/**
* 认证网格id
*/
private String gridId;
/**
* 认证客户id
*/
private String customerId;
/**
* 认证的描述账户于2020年10月30号在海泊桥社区-第一网格激活
*/
private String authDesc;
}

62
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/PartyBranchMembersExcel.java

@ -0,0 +1,62 @@
/**
* 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.modules.partymember.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 党支部党员关系表
*
* @author yinzuomei yinzuomei@elink-cn.com
* @since v1.0.0 2020-06-17
*/
@Data
public class PartyBranchMembersExcel {
@Excel(name = "主键")
private String id;
@Excel(name = "党支部id,customer_party_branch.id")
private String branchId;
@Excel(name = "党员库表主键,partymember_base_info.id")
private String partymemberBaseInfoId;
@Excel(name = "删除标识")
private String delFlag;
@Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "创建人")
private String createdBy;
@Excel(name = "创建时间")
private Date createdTime;
@Excel(name = "更新人")
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
}

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

Loading…
Cancel
Save