wangxianzhang 3 years ago
parent
commit
86e77e1aa5
  1. 8
      epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.23__party_publish_Time.sql
  2. 10
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java
  3. 7
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java
  4. 23
      epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/PartyMeetingMessageMQMsg.java
  5. 6
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java
  6. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java
  7. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  8. 12
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java
  9. 36
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/AutoPublishIcPartyActTask.java
  10. 37
      epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NoticePartyActAutoPublishTask.java
  11. 12
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java
  12. 104
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/IcMessageDTO.java
  13. 66
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/IcMessageFormDTO.java
  14. 19
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/IcMessageListFormDTO.java
  15. 18
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadIcMessageFormDTO.java
  16. 12
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java
  17. 11
      epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/EpmetMessageOpenFeignClientFallback.java
  18. 105
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/IcMessageController.java
  19. 27
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/IcMessageDao.java
  20. 74
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/IcMessageEntity.java
  21. 78
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/IcMessageService.java
  22. 116
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/IcMessageServiceImpl.java
  23. 11
      epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java
  24. 20
      epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.19__create_ic_message.sql
  25. 40
      epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/IcMessageDao.xml
  26. 2
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointAdditiveRuleDTO.java
  27. 25
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PartyPointFormDTO.java
  28. 3
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointModifyFormDTO.java
  29. 21
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PartyPointRecordResultDTO.java
  30. 33
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PartyPointResultDTO.java
  31. 6
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointAdditiveRuleController.java
  32. 15
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java
  33. 3
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAdditiveRuleDao.java
  34. 4
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java
  35. 1
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java
  36. 17
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/listener/PointListener.java
  37. 9
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAdditiveRuleService.java
  38. 15
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java
  39. 10
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java
  40. 182
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdditiveRuleServiceImpl.java
  41. 124
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java
  42. 25
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAdditiveRuleDao.xml
  43. 42
      epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml
  44. 1
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/ImportErrorMsgConstants.java
  45. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  46. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java
  47. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java
  48. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java
  49. 35
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml
  50. 6
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java
  51. 6
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplyCreateGroupFormDTO.java
  52. 1
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java
  53. 1
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplyingGroupDetailResult2DTO.java
  54. 2
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplyingGroupDetailResultDTO.java
  55. 1
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java
  56. 28
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java
  57. 19
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java
  58. 28
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java
  59. 6
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java
  60. 6
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java
  61. 14
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java
  62. 115
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  63. 12
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/controller/ResiGroupMemberController.java
  64. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java
  65. 2
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java
  66. 5
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java
  67. 8
      epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.26__add_party_org_.sql
  68. 6
      epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.27__update_partygroupdesc.sql
  69. 1
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml
  70. 1
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml
  71. 15
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml
  72. 180
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/IcPartyActDTO.java
  73. 84
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/IcPartyActOrgDTO.java
  74. 94
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/IcPartyActSignInRecordDTO.java
  75. 105
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/IcScheduleDTO.java
  76. 21
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/form/BatchAddPartyActFormDTO.java
  77. 172
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/form/IcPartyActAddOrUpdateFormDTO.java
  78. 45
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/form/IcPartyActPageFormDTO.java
  79. 71
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/form/JoinOrgDTO.java
  80. 17
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartActTypeDTO.java
  81. 142
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartyActDetailResDTO.java
  82. 83
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartyActPageResultDTO.java
  83. 77
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/IcPartyActTypeDictDTO.java
  84. 43
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/ActAndScheduleListFormDTO.java
  85. 51
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/AddOrEditScheduleFormDTO.java
  86. 48
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/HomeMonthTotalFormDTO.java
  87. 33
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/IcPartyActListFormDTO.java
  88. 38
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/IcScheduleFormDTO.java
  89. 47
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActSignFormDTO.java
  90. 32
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActStatisFormDTO.java
  91. 17
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyOrgListFormDTO.java
  92. 2
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyOrgTreeListDTO.java
  93. 33
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/YearSearchFormDTO.java
  94. 87
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/ActAndScheduleListResultDTO.java
  95. 39
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/DefaultPartyOrgResDTO.java
  96. 28
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/HomeMonthTotalResultDTO.java
  97. 47
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcPartyActListResultDTO.java
  98. 33
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcPartyOrgInfo.java
  99. 71
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcScheduleListDTO.java
  100. 45
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/PartyActStatisResultDTO.java

8
epmet-admin/epmet-admin-server/src/main/resources/db/migration/V0.0.23__party_publish_Time.sql

@ -0,0 +1,8 @@
INSERT INTO `epmet_admin`.`sys_dict_type` (`id`, `dict_type`, `dict_name`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458000894500866', 'icpartyact_auto_publish_time', '党组织活动自动发布时间', '党组织活动自动发布时间', 35, 0, 0, '1', '2022-08-19 10:45:54', '1', '2022-08-19 10:46:11');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458233091170305', 1560458000894500866, '活动开始前1天', '1', '0', '活动开始前1天', 1, 0, 0, '1', '2022-08-19 10:46:49', '1', '2022-08-19 10:46:49');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458276439302146', 1560458000894500866, '活动开始前3天', '3', '0', '活动开始前3天', 2, 0, 0, '1', '2022-08-19 10:47:00', '1', '2022-08-19 10:47:00');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458332076744705', 1560458000894500866, '活动开始前5天', '5', '0', '活动开始前5天', 3, 0, 0, '1', '2022-08-19 10:47:13', '1', '2022-08-19 10:47:13');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1560458388007788545', 1560458000894500866, '活动开始前7天', '7', '0', '活动开始前7天', 4, 0, 0, '1', '2022-08-19 10:47:26', '1', '2022-08-19 10:47:26');
INSERT INTO `epmet_admin`.`sys_dict_data` (`id`, `dict_type_id`, `dict_label`, `dict_value`, `dict_p_value`, `remark`, `sort`, `DEL_FLAG`, `REVISION`, `CREATED_BY`, `CREATED_TIME`, `UPDATED_BY`, `UPDATED_TIME`) VALUES ('1561627442626142210', 1560458000894500866, '现在发布', '0', '0', '', 5, 0, 0, '1', '2022-08-22 16:12:51', '1', '2022-08-22 16:12:51');

10
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java

@ -98,4 +98,14 @@ public interface ConsomerGroupConstants {
* 创建党员居民信息消费者组将user库的党员信息同步到partymember库的党员表
*/
String CREATE_RESI_PARTYMEMBER_SYNC_GROUP = "create_resi_sync_group";
/**
* 党建小助手监听器分组
*/
String PARTY_MEETING_MESSAGE = "party_meeting_message";
/**
* 党建积分操作消费组
*/
String PARTY_BUILDING_GROUP = "party_building_group";
}

7
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java

@ -84,4 +84,11 @@ public interface TopicConstants {
* 居民的党员信息
*/
String PARTYMEMBER_RESI = "partymember_resi";
/**
* 消息-党建小助手
*/
String IC_MESSAGE = "ic_message";
String PARTY_BUILDING = "party_building";
}

23
epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/PartyMeetingMessageMQMsg.java

@ -0,0 +1,23 @@
package com.epmet.commons.rocketmq.messages;
import com.epmet.commons.tools.dto.form.mq.MqBaseFormDTO;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 党建小助手发布活动活动到期提醒活动发布提醒推送MQ
* @author sun
*/
@Data
public class PartyMeetingMessageMQMsg extends MqBaseFormDTO implements Serializable {
//客户Id
private String customerId;
//活动/日程Id
private String icPartyActId;
//动作类型 发布活动:publish 提前提醒:remind 日程通知:notify
private String type;
}

6
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java

@ -19,6 +19,12 @@ public enum EventEnum {
TOPIC_SHIFTED_TO_PROJECT("topic_to_project","resi_group","话题被转为项目"),
LEADER_RESOLVE_TOPIC("leader_resolve_topic","resi_group","组长解决组内话题"),
FINISH_USER_DEMAND("finish_user_demand","community_service","服务完成"),
ZBWYH("参加支部委员会","part_member", "支部委员会活动签到"),
ZBDYDH("参加支部党员大会","part_member", "支部党员大会活动签到"),
DXZH("参加党小组会","part_member", "党小组会活动签到"),
DANGKE ("参加党课","part_member", "党课活动签到"),
ZTDR("参加主题党日","part_member", "主题党日活动签到"),
WMFWHD("参加为民服务活动","part_member", "为民服务活动活动签到"),
;
private String eventClass;

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

@ -85,6 +85,7 @@ public enum EpmetErrorCode {
BUILDING_NAME_EXITED(8215,"楼栋名称已存在"),
DOOR_NAME_EXITED(8216,"门牌号已存在"),
NEIGHBOOR_NAME_EXITED(8217,"小区名称已存在"),
BUILDING_NAME_EXITED_IN_GRID(8218,"小区下该楼栋已存在于其他网格"),
REQUIRE_PERMISSION(8301, "您没有足够的操作权限"),
THIRD_PLAT_REQUEST_ERROR(8302, "请求第三方平台错误"),

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -55,6 +55,7 @@ public class DateUtils {
public final static String DATE_TIME_PATTERN_END_WITH_MINUTE = "yyyy-MM-dd HH:mm";
public static final String DATE_PATTERN_YYYYMMDD = "yyyyMMdd";
public static final String DATE_PATTERN_YYYYMMDDHHMM = "yyyyMMddHHmm";
public static final String DATE_NAME_PATTERN = "yyyy年MM月dd日";
public static final String MONTH_NAME_PATTERN = "yyyy年MM月";
public static final String DATE_PATTERN_YYYY = "yyyy";
@ -1070,4 +1071,10 @@ public class DateUtils {
return cal.getTime();
}
public static Date calDateBaseDay(Date date, int day) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, day);
return calendar.getTime();
}
}

12
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java

@ -1394,8 +1394,8 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
break;
case UserDemandConstant.IC_USER_VOLUNTEER:
resDto.setServiceUnitName(StrConstant.EPMETY_STR);
resDto.setServiceUserName(icUerInfoMap.get(resDto.getServerId()).getName());
resDto.setServiceUserMobile(icUerInfoMap.get(resDto.getServerId()).getMobile());
resDto.setServiceUserName(MapUtils.isNotEmpty(icUerInfoMap) && icUerInfoMap.containsKey(resDto.getServerId()) ? icUerInfoMap.get(resDto.getServerId()).getName() : StrConstant.EPMETY_STR);
resDto.setServiceUserMobile(MapUtils.isNotEmpty(icUerInfoMap) && icUerInfoMap.containsKey(resDto.getServerId()) ? icUerInfoMap.get(resDto.getServerId()).getMobile() : StrConstant.EPMETY_STR);
break;
default:
log.warn("serviceType 错误");
@ -1468,7 +1468,9 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
if (CollectionUtils.isNotEmpty(icUserIdList)) {
Result<List<IcResiUserDTO>> icUserInfoRes = epmetUserOpenFeignClient.getListIcResiUserDTO(new ArrayList<>(icUserIdList));
if (!icUserInfoRes.success() || CollectionUtils.isEmpty(icUserInfoRes.getData())) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "查询居民信息志愿者信息异常");
// throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "查询居民信息志愿者信息异常");
log.warn("查询居民信息志愿者信息异常:icUserIdList:"+JSON.toJSONString(icUserIdList));
return icUserInfoMap;
}
icUserInfoMap = icUserInfoRes.getData().stream().collect(Collectors.toMap(IcResiUserDTO::getId, o -> o, (o1, o2) -> o1));
}
@ -1522,8 +1524,8 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD
case UserDemandConstant.IC_USER_VOLUNTEER:
Map<String, IcResiUserDTO> icUserInfoMap = getIcVolunteerMap(new HashSet<>(Arrays.asList(resDto.getServerId())));
resDto.setServiceUnitName(StrConstant.EPMETY_STR);
resDto.setServiceUserName(icUserInfoMap.get(resDto.getServerId()).getName());
resDto.setServiceUserMobile(icUserInfoMap.get(resDto.getServerId()).getMobile());
resDto.setServiceUserName(MapUtils.isNotEmpty(icUserInfoMap) && icUserInfoMap.containsKey(resDto.getServerId()) ? icUserInfoMap.get(resDto.getServerId()).getName() : StrConstant.EPMETY_STR);
resDto.setServiceUserMobile(MapUtils.isNotEmpty(icUserInfoMap) && icUserInfoMap.containsKey(resDto.getServerId()) ? icUserInfoMap.get(resDto.getServerId()).getMobile() : StrConstant.EPMETY_STR);
break;
default:
log.warn("serviceType 错误");

36
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/AutoPublishIcPartyActTask.java

@ -0,0 +1,36 @@
package com.epmet.task;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Description
* @Author yzm
* @Date 2022/8/22 15:13
*/
@Slf4j
@Component("autoPublishIcPartyActTask")
public class AutoPublishIcPartyActTask implements ITask {
@Autowired
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
/**
* 活动时间2022-08-15 10:30 选择的是提前3天自动发布
* 本任务是自动发布活动
* //2022-8-9号 8:00 收到一个:您有一个活动3天后即将自动发布
*
* @param params 参数多参数使用JSON数据
*/
@Override
public void run(String params) {
Result result=resiPartyMemberOpenFeignClient.autoPublishIcPartyAct();
if(result.success()){
log.info("autoPublishIcPartyActTask执行成功");
}else{
log.info("autoPublishIcPartyActTask执行失败");
}
}
}

37
epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/NoticePartyActAutoPublishTask.java

@ -0,0 +1,37 @@
package com.epmet.task;
import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Description
* @Author yzm
* @Date 2022/8/22 15:07
*/
@Slf4j
@Component("noticePartyActAutoPublishTask")
public class NoticePartyActAutoPublishTask implements ITask {
@Autowired
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
/**
* 活动时间2022-08-15 10:30 选择的是提前3天自动发布
* //2022-8-12 10:30自动发布,收到消息:您有一个活动已经发布
* 本任务是通知2022-8-9号 8:00 收到一个您有一个活动3天后即将自动发布
*
* @param params 参数多参数使用JSON数据
*/
@Override
public void run(String params) {
Result result=resiPartyMemberOpenFeignClient.noticePartyActAutoPublishTask();
if(result.success()){
log.info("noticePartyActAutoPublishTask执行成功");
}else{
log.info("noticePartyActAutoPublishTask执行失败");
}
}
}

12
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java

@ -170,4 +170,16 @@ public interface SystemMessageType {
*/
String PARTYMEMBER_RESI_IMPORT = "partymember_resi_import";
/**
* 党建小助手消息
*/
String PARTY_MEETING_MESSAGE = "party_meeting_message";
String ZBWYH = "参加支部委员会";
String ZBDYDH = "参加支部党员大会";
String DXZH = "参加党小组会";
String DANGKE = "参加党课";
String ZTDR = "参加主题党日";
String WMFWHD = "参加为民服务活动";
}

104
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/IcMessageDTO.java

@ -0,0 +1,104 @@
package com.epmet.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 用户消息表(党建小助手)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-19
*/
@Data
public class IcMessageDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* app=resi时此列为gridId,其他情况暂定 *
*/
private String gridId;
/**
* 被通知的用户id
*/
private String userId;
/**
* 消息通知对象居民端用户resi政府端工作人员gov运营端工作人员oper
*/
private String app;
/**
* 消息分类 党建小助手:party
*/
private String messageType;
/**
* 消息类型对应的业务Id
*/
private String targetId;
/**
* 消息标题
*/
private String title;
/**
* 消息通知内容
*/
private String messageContent;
/**
* read已读unread未读
*/
private String readFlag;
/**
* 删除标记 0未删除1已删除
*/
private String delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人(发布消息的人)
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
/**
* 调用者
*/
private String referer;
}

66
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/IcMessageFormDTO.java

@ -0,0 +1,66 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
public class IcMessageFormDTO implements Serializable {
private static final long serialVersionUID = 2697079163476964749L;
/**
* 客户id
*/
@NotBlank(message = "客户id不能为空")
private String customerId;
/**
* app=resi时此列为gridId,其他情况暂定 *
*/
private String gridId;
/**
* 对应用户id
*/
@NotBlank(message = "通知用户id为空")
private String userId;
/**
* 消息通知对象居民端用户resi政府端工作人员gov运营端工作人员oper
*/
@NotBlank(message = "消息通知对象不能为空")
private String app;
/**
* 消息标题
*/
@NotBlank(message = "消息标题不能为空")
private String title;
/**
* 消息通知内容
*/
@NotBlank(message = "通知内容不能为空")
private String messageContent;
/**
* read已读unread未读
*/
@NotBlank(message = "readFlag不能为空")
private String readFlag;
/**
* 调用者 分内部调用和外部调用内部调用值为空外部默认为外挂-站内信
*/
private String referer;
/**
* 消息分类:info-上传下达消息 详见UserMessageTypeConstant
*/
private String messageType;
/**
* 消息对应的业务id,比如message_type=info时此列存储的是消息id,可跳转到消息详情
*/
private String targetId;
}

19
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/IcMessageListFormDTO.java

@ -0,0 +1,19 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
public class IcMessageListFormDTO implements Serializable {
private static final long serialVersionUID = 2697079163476964749L;
private Integer pageNo = 1;
private Integer pageSize = 20;
private Boolean isPage = true;
//token中信息
private String customerId;
private String userId;
}

18
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/ReadIcMessageFormDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.form;
import lombok.Data;
import java.io.Serializable;
@Data
public class ReadIcMessageFormDTO implements Serializable {
private static final long serialVersionUID = 2697079163476964749L;
/**
* 消息Id
*/
private String id;
//token中信息
private String customerId;
private String userId;
}

12
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/EpmetMessageOpenFeignClient.java

@ -1,6 +1,7 @@
package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.redis.common.bean.CustomerStaffInfoCache;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.SysSmsDTO;
import com.epmet.dto.form.*;
@ -127,4 +128,15 @@ public interface EpmetMessageOpenFeignClient {
@PostMapping(value = "message/sms/send-msg", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result sendMsg(@RequestBody List<SendSmsFormDTO> formDTO);
/**
* @Author sun
* @Description 党建小助手-批量插入未读消息
**/
@PostMapping(value = "message/icMessage/saveicmessagelist", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result saveIcMessageList(List<UserMessageFormDTO> msgList);
@PostMapping(value = "message/icMessage/unreadcount/{userId}", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<Integer> unReadCount(@PathVariable("userId") String userId);
}

11
epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/feign/fallback/EpmetMessageOpenFeignClientFallback.java

@ -78,4 +78,15 @@ public class EpmetMessageOpenFeignClientFallback implements EpmetMessageOpenFeig
public Result sendMsg(List<SendSmsFormDTO> formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "sendMsg",formDTO);
}
@Override
public Result saveIcMessageList(List<UserMessageFormDTO> msgList) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "saveIcMessageList", msgList);
}
@Override
public Result<Integer> unReadCount(String userId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "unReadCount", userId);
}
}

105
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/IcMessageController.java

@ -0,0 +1,105 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
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.IcMessageDTO;
import com.epmet.dto.form.IcMessageFormDTO;
import com.epmet.dto.form.IcMessageListFormDTO;
import com.epmet.dto.form.ReadIcMessageFormDTO;
import com.epmet.service.IcMessageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 用户消息表(党建小助手)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-19
*/
@RestController
@RequestMapping("icMessage")
public class IcMessageController {
@Autowired
private IcMessageService icMessageService;
@RequestMapping("list")
public Result<PageData<IcMessageDTO>> list(@LoginUser TokenDto tokenDto, @RequestBody IcMessageListFormDTO formDTO){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
return new Result<PageData<IcMessageDTO>>().ok(icMessageService.list(formDTO));
}
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcMessageDTO> get(@PathVariable("id") String id){
IcMessageDTO data = icMessageService.get(id);
return new Result<IcMessageDTO>().ok(data);
}
@NoRepeatSubmit
@PostMapping("save")
public Result save(@RequestBody IcMessageDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
icMessageService.save(dto);
return new Result();
}
@NoRepeatSubmit
@PostMapping("update")
public Result update(@RequestBody IcMessageDTO dto){
//效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
icMessageService.update(dto);
return new Result();
}
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
icMessageService.delete(ids);
return new Result();
}
/**
* @Author sun
* @Description 批量插入未读消息
**/
@PostMapping("saveicmessagelist")
public Result saveIcMessageList(@RequestBody List<IcMessageFormDTO> msgList) {
icMessageService.saveIcMessageList(msgList);
return new Result();
}
/**
* @Author sun
* @Description 单条或批量修改已读
**/
@PostMapping("read")
public Result read(@LoginUser TokenDto tokenDto, @RequestBody ReadIcMessageFormDTO formDTO) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
icMessageService.read(formDTO);
return new Result();
}
@PostMapping("unreadcount/{userId}")
public Result<Integer> unReadCount(@PathVariable ("userId") String userId) {
return new Result<Integer>().ok(icMessageService.unReadCount(userId));
}
}

27
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/IcMessageDao.java

@ -0,0 +1,27 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcMessageDTO;
import com.epmet.dto.form.IcMessageListFormDTO;
import com.epmet.dto.form.ReadIcMessageFormDTO;
import com.epmet.entity.IcMessageEntity;
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 2022-08-19
*/
@Mapper
public interface IcMessageDao extends BaseDao<IcMessageEntity> {
List<IcMessageDTO> selectMessageList(IcMessageListFormDTO formDTO);
void upByUserId(ReadIcMessageFormDTO formDTO);
Integer selectUnReadCount(@Param("userId") String userId);
}

74
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/IcMessageEntity.java

@ -0,0 +1,74 @@
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 2022-08-19
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("ic_message")
public class IcMessageEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* app=resi时此列为gridId,其他情况暂定 *
*/
private String gridId;
/**
* 被通知的用户id
*/
private String userId;
/**
* 消息通知对象居民端用户resi政府端工作人员gov运营端工作人员oper
*/
private String app;
/**
* 消息分类 党建小助手:party
*/
private String messageType;
/**
* 消息类型对应的业务Id
*/
private String targetId;
/**
* 消息标题
*/
private String title;
/**
* 消息通知内容
*/
private String messageContent;
/**
* read已读unread未读
*/
private String readFlag;
/**
* 调用者
*/
private String referer;
}

78
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/IcMessageService.java

@ -0,0 +1,78 @@
package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcMessageDTO;
import com.epmet.dto.form.IcMessageFormDTO;
import com.epmet.dto.form.IcMessageListFormDTO;
import com.epmet.dto.form.ReadIcMessageFormDTO;
import com.epmet.entity.IcMessageEntity;
import java.util.List;
import java.util.Map;
/**
* 用户消息表(党建小助手)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-19
*/
public interface IcMessageService extends BaseService<IcMessageEntity> {
/**
* 默认查询
*
* @param formDTO
* @return java.util.List<IcMessageDTO>
* @author generator
* @date 2022-08-19
*/
PageData<IcMessageDTO> list(IcMessageListFormDTO formDTO);
/**
* 单条查询
*
* @param id
* @return IcMessageDTO
* @author generator
* @date 2022-08-19
*/
IcMessageDTO get(String id);
/**
* 默认保存
*
* @param dto
* @return void
* @author generator
* @date 2022-08-19
*/
void save(IcMessageDTO dto);
/**
* 默认更新
*
* @param dto
* @return void
* @author generator
* @date 2022-08-19
*/
void update(IcMessageDTO dto);
/**
* 批量删除
*
* @param ids
* @return void
* @author generator
* @date 2022-08-19
*/
void delete(String[] ids);
void saveIcMessageList(List<IcMessageFormDTO> msgList);
void read(ReadIcMessageFormDTO formDTO);
Integer unReadCount(String userId);
}

116
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/IcMessageServiceImpl.java

@ -0,0 +1,116 @@
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.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcMessageDao;
import com.epmet.dto.IcMessageDTO;
import com.epmet.dto.form.IcMessageFormDTO;
import com.epmet.dto.form.IcMessageListFormDTO;
import com.epmet.dto.form.IcMoveInListFormDTO;
import com.epmet.dto.form.ReadIcMessageFormDTO;
import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.IcMoveInListResultDTO;
import com.epmet.entity.IcMessageEntity;
import com.epmet.service.IcMessageService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 用户消息表(党建小助手)
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-19
*/
@Service
public class IcMessageServiceImpl extends BaseServiceImpl<IcMessageDao, IcMessageEntity> implements IcMessageService {
@Override
public PageData<IcMessageDTO> list(IcMessageListFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage());
List<IcMessageDTO> list = baseDao.selectMessageList(formDTO);
PageInfo<IcMessageDTO> pageInfo = new PageInfo<>(list);
return new PageData<>(list, pageInfo.getTotal());
}
private QueryWrapper<IcMessageEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
QueryWrapper<IcMessageEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
return wrapper;
}
@Override
public IcMessageDTO get(String id) {
IcMessageEntity entity = baseDao.selectById(id);
return ConvertUtils.sourceToTarget(entity, IcMessageDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcMessageDTO dto) {
IcMessageEntity entity = ConvertUtils.sourceToTarget(dto, IcMessageEntity.class);
insert(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(IcMessageDTO dto) {
IcMessageEntity entity = ConvertUtils.sourceToTarget(dto, IcMessageEntity.class);
updateById(entity);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public void saveIcMessageList(List<IcMessageFormDTO> msgList) {
List<IcMessageEntity> entityList = ConvertUtils.sourceToTarget(msgList, IcMessageEntity.class);
insertBatch(entityList);
}
@Override
public void read(ReadIcMessageFormDTO formDTO) {
//id入参有值就按id修改,没值就按用户修改
if(StringUtils.isNotBlank(formDTO.getId())){
IcMessageEntity entity = new IcMessageEntity();
entity.setId(formDTO.getId());
entity.setReadFlag("read");
updateById(entity);
return;
}
//批量修改某个人消息列表
baseDao.upByUserId(formDTO);
}
@Override
public Integer unReadCount(String userId) {
return baseDao.selectUnReadCount(userId);
}
}

11
epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java

@ -237,6 +237,17 @@ public class SystemMessageServiceImpl implements SystemMessageService {
case SystemMessageType.PARTYMEMBER_RESI_IMPORT:
topic=TopicConstants.PARTYMEMBER_RESI;
break;
case SystemMessageType.PARTY_MEETING_MESSAGE:
topic=TopicConstants.IC_MESSAGE;
break;
case SystemMessageType.ZBWYH:
case SystemMessageType.ZBDYDH:
case SystemMessageType.DXZH:
case SystemMessageType.DANGKE:
case SystemMessageType.ZTDR:
case SystemMessageType.WMFWHD:
topic=TopicConstants.PARTY_BUILDING;
break;
default:
logger.error("getTopicByMsgType msgType:{} is not support for any topic", msgType);
}

20
epmet-module/epmet-message/epmet-message-server/src/main/resources/db/migration/V0.3.19__create_ic_message.sql

@ -0,0 +1,20 @@
CREATE TABLE `ic_message` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`customer_id` varchar(64) NOT NULL COMMENT '客户id',
`grid_id` varchar(64) NOT NULL DEFAULT '*' COMMENT '暂定 *',
`user_id` varchar(64) NOT NULL COMMENT '被通知的用户id',
`app` varchar(32) NOT NULL COMMENT '消息通知对象:居民端用户resi、政府端工作人员gov、运营端工作人员oper',
`message_type` varchar(32) DEFAULT NULL COMMENT '消息分类 党建小助手:party',
`target_id` varchar(64) DEFAULT NULL COMMENT '消息类型对应的业务Id',
`title` varchar(255) NOT NULL COMMENT '消息标题',
`message_content` varchar(3096) NOT NULL COMMENT '消息通知内容',
`read_flag` varchar(32) NOT NULL DEFAULT 'unread' COMMENT 'read已读、unread未读',
`DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除',
`REVISION` int(11) DEFAULT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人(发布消息的人)',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
`REFERER` varchar(20) DEFAULT NULL COMMENT '调用者',
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='用户消息表(党建小助手)';

40
epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/IcMessageDao.xml

@ -0,0 +1,40 @@
<?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.IcMessageDao">
<select id="selectMessageList" resultType="com.epmet.dto.IcMessageDTO">
SELECT
*
FROM
ic_message
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND user_id = #{userId}
ORDER BY CREATED_TIME desc
</select>
<update id="upByUserId" parameterType="com.epmet.dto.form.ReadIcMessageFormDTO">
UPDATE ic_message
SET read_flag = 'read',
updated_by = #{userId},
updated_time = NOW()
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND user_id = #{userId}
</update>
<select id="selectUnReadCount" resultType="java.lang.Integer">
SELECT
COUNT(id)
FROM
ic_message
WHERE
del_flag = '0'
AND read_flag = 'unread'
AND user_id = #{userId}
</select>
</mapper>

2
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/PointAdditiveRuleDTO.java

@ -98,5 +98,5 @@ public class PointAdditiveRuleDTO implements Serializable {
* 更新时间
*/
private Date updatedTime;
private String editFlag;
}

25
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PartyPointFormDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/8/22 15:57
*/
@Data
public class PartyPointFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -4811220825653023328L;
private String customerId;
private String userId;
private String year;
private String quarter;
private String month;
private String type;
private String dateType;
private String startDate;
private String endDate;
}

3
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/PointModifyFormDTO.java

@ -4,6 +4,7 @@ import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @program: epmet-cloud
@ -59,5 +60,7 @@ public class PointModifyFormDTO implements Serializable {
*/
private Integer pointValue;
List<String> customerIdList;
}

21
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PartyPointRecordResultDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/8/25 9:20
*/
@Data
public class PartyPointRecordResultDTO implements Serializable {
private static final long serialVersionUID = -1480768520576719171L;
/**
* 日期 yyyy-MM-dd 字符串
* */
private String date;
private List<PartyPointResultDTO> dailyList;
}

33
epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/PartyPointResultDTO.java

@ -0,0 +1,33 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/8/22 15:59
*/
@Data
public class PartyPointResultDTO implements Serializable {
private static final long serialVersionUID = -3208641116926725011L;
private String title;
/**
* 日期yyyy-MM-dd
*/
private String date;
/**
* 时间hh:mm
*/
private String time;
private String point;
private String actId;
private String actTopic;
private String actType;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date actDate;
private String actAddress;
}

6
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/PointAdditiveRuleController.java

@ -185,4 +185,10 @@ public class PointAdditiveRuleController {
dto.setCustomerId(tokenDto.getCustomerId());
return pointAdditiveRuleService.modify(dto);
}
@PostMapping("initPartyRole")
public Result initPartyBuilidingRole(@RequestBody PointModifyFormDTO dto) {
pointAdditiveRuleService.initPartyBuilidingRole(dto.getCustomerIdList());
return new Result();
}
}

15
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ResiPointController.java

@ -255,4 +255,19 @@ public class ResiPointController {
ValidatorUtils.validateEntity(pageUserParam, CommonPageUserFormDTO.PageUserGroup.class);
return new Result<List<PointAdditiveRecordResultDTO>>().ok(pointAdditiveRecordService.getRecords(pageUserParam));
}
/**
* 党建积分
* @Param tokenDto
* @Param formDTO
* @Return {@link Result< PageData< PartyPointResultDTO>>}
* @Author zhaoqifeng
* @Date 2022/8/23 14:12
*/
@PostMapping("pagePartyPoint")
public Result<List<PartyPointRecordResultDTO>> pagePartyPoint(@LoginUser TokenDto tokenDto, @RequestBody PartyPointFormDTO formDTO ){
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
return new Result<List<PartyPointRecordResultDTO>>().ok(pointActionLogService.pagePartyPoint(formDTO));
}
}

3
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/PointAdditiveRuleDao.java

@ -8,6 +8,7 @@ import com.epmet.dto.form.List4treeFormDTO;
import com.epmet.dto.form.SubmitRewardFormDTO;
import com.epmet.dto.result.List4ApplyResultDTO;
import com.epmet.entity.PointAdditiveRuleEntity;
import com.epmet.entity.PointRuleEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -87,4 +88,6 @@ public interface PointAdditiveRuleDao extends BaseDao<PointAdditiveRuleEntity> {
* @return com.epmet.dto.PointAdditiveRuleDTO
*/
PointAdditiveRuleDTO selectRuledetail(@Param("ruleId") String ruleId);
PointRuleEntity selectByRoleName(@Param("customerId") String customerId, @Param("roleName") String roleName);
}

4
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java

@ -19,7 +19,9 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.IcResiPointPageFormDTO;
import com.epmet.dto.form.PartyPointFormDTO;
import com.epmet.dto.result.MyPointTaskResultDTO;
import com.epmet.dto.result.PartyPointResultDTO;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.dto.result.ResiPointPageResDTO;
import com.epmet.entity.UserPointActionLogEntity;
@ -73,4 +75,6 @@ public interface UserPointActionLogDao extends BaseDao<UserPointActionLogEntity>
@Param("dateId")String dateId);
List<ResiPointPageResDTO> selectPageResiPoin(IcResiPointPageFormDTO formDTO);
List<PartyPointResultDTO> getPagePartyPoint(PartyPointFormDTO formDTO);
}

1
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java

@ -22,6 +22,7 @@ public class RocketMQConsumerRegister extends MQAbstractRegister {
register(consumerProperties, ConsomerGroupConstants.RESI_GROUP_POINT_OPERATION_GROUP, MessageModel.CLUSTERING, TopicConstants.RESI_GROUP, "*", new PointListener(userPointActionLogService));
register(consumerProperties, ConsomerGroupConstants.EPMET_HEART_POINT_OPERATION_GROUP, MessageModel.CLUSTERING, TopicConstants.EPMET_HEART, "*", new PointListener(userPointActionLogService));
register(consumerProperties, ConsomerGroupConstants.COMMUNITY_SERVICE_POINT_OPERATION_GROUP, MessageModel.CLUSTERING, TopicConstants.COMMUNITY_SERVICE, "*", new PointListener(userPointActionLogService));
register(consumerProperties, ConsomerGroupConstants.PARTY_BUILDING_GROUP, MessageModel.CLUSTERING, TopicConstants.PARTY_BUILDING, "*", new PointListener(userPointActionLogService));
// ...其他监听器类似
}

17
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/mq/listener/PointListener.java

@ -113,6 +113,15 @@ public class PointListener implements MessageListenerConcurrently {
//给需求服务方(志愿者)发放积分
grantServerPoint(msg);
break;
case SystemMessageType.ZBWYH:
case SystemMessageType.ZBDYDH:
case SystemMessageType.DXZH:
case SystemMessageType.DANGKE:
case SystemMessageType.ZTDR:
case SystemMessageType.WMFWHD:
partyAct(msg);
default:
break;
}
} catch (RenException e) {
@ -218,6 +227,14 @@ public class PointListener implements MessageListenerConcurrently {
});
}
private void partyAct(String msg) {
List<BasePointEventMsg> formList = JSON.parseArray(msg, BasePointEventMsg.class);
formList.forEach(obj -> {
userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj);
});
}
/**
* 需求完成给志愿者发放积分
* @param msg

9
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/PointAdditiveRuleService.java

@ -151,4 +151,13 @@ public interface PointAdditiveRuleService extends BaseService<PointAdditiveRuleE
* @return com.epmet.commons.tools.utils.Result
*/
Result modify(PointModifyFormDTO dto);
/**
* 客户初始化党建活动积分规则
* @Param customerIdList
* @Return
* @Author zhaoqifeng
* @Date 2022/8/26 13:40
*/
void initPartyBuilidingRole(List<String> customerIdList);
}

15
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/UserPointActionLogService.java

@ -24,9 +24,8 @@ import com.epmet.dto.UserPointActionLogDTO;
import com.epmet.dto.form.CommonPageUserFormDTO;
import com.epmet.dto.form.IcResiPointPageFormDTO;
import com.epmet.dto.form.MyPointTaskFormDTO;
import com.epmet.dto.result.MyPointTaskResultDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.dto.result.ResiPointPageResDTO;
import com.epmet.dto.form.PartyPointFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.UserPointActionLogEntity;
import dto.form.SendPointFormDTO;
@ -159,4 +158,14 @@ public interface UserPointActionLogService extends BaseService<UserPointActionLo
* @return
*/
PageData<ResiPointPageResDTO> pageUserPoint(IcResiPointPageFormDTO formDTO);
/**
* 党建积分
*
* @Param formDTO
* @Return {@link PageData< PartyPointResultDTO>}
* @Author zhaoqifeng
* @Date 2022/8/22 16:04
*/
List<PartyPointRecordResultDTO> pagePartyPoint(PartyPointFormDTO formDTO);
}

10
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointUserTotalDetailServiceImpl.java

@ -17,6 +17,7 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
@ -127,11 +128,10 @@ public class BizPointUserTotalDetailServiceImpl extends BaseServiceImpl<BizPoint
*/
@Override
public BizPointUserTotalDetailDTO getDataByObject(String type, String objectId, String userId) {
QueryWrapper<BizPointUserTotalDetailEntity> wrapper = new QueryWrapper<>();
wrapper.eq("BIZ_TYPE", type)
.eq("OBJECT_ID", objectId)
.eq("USER_ID", userId)
.eq("DEL_FLAG", NumConstant.ZERO_STR);
LambdaQueryWrapper<BizPointUserTotalDetailEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BizPointUserTotalDetailEntity::getBizType, type)
.eq(StringUtils.isNotBlank(objectId), BizPointUserTotalDetailEntity::getObjectId, objectId)
.eq(BizPointUserTotalDetailEntity::getUserId, userId);
BizPointUserTotalDetailEntity entity = baseDao.selectOne(wrapper);
return ConvertUtils.sourceToTarget(entity, BizPointUserTotalDetailDTO.class);
}

182
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdditiveRuleServiceImpl.java

@ -1,16 +1,19 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.common.enu.PointAddRuleEnum;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.SystemMessageType;
import com.epmet.dao.PointAdditiveRuleDao;
import com.epmet.dao.PointApplyDao;
import com.epmet.dto.CategorydetailResultDTO;
@ -27,7 +30,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 附加积分规则
@ -200,7 +205,25 @@ public class PointAdditiveRuleServiceImpl extends BaseServiceImpl<PointAdditiveR
@Override
public Result<List<PointAdditiveRuleDTO>> list4tree(List4treeFormDTO dto) {
LambdaQueryWrapper<PointAdditiveRuleEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, dto.getCustomerId());
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, "党建活动");
PointAdditiveRuleEntity rule = baseDao.selectOne(wrapper);
List<PointAdditiveRuleDTO> result = baseDao.selectList4tree(dto);
if (CollectionUtils.isNotEmpty(result)) {
result.forEach(item -> {
if (null != rule) {
if (item.getId().equals(rule.getId()) || item.getPid().equals(rule.getId())) {
item.setEditFlag(NumConstant.ZERO_STR);
} else {
item.setEditFlag(NumConstant.ONE_STR);
}
} else {
item.setEditFlag(NumConstant.ONE_STR);
}
});
}
return new Result<List<PointAdditiveRuleDTO>>().ok(result);
}
@ -267,4 +290,161 @@ public class PointAdditiveRuleServiceImpl extends BaseServiceImpl<PointAdditiveR
return new Result().ok("修改成功!");
}
/**
* 客户初始化党建活动积分规则
*
* @param customerIdList
* @Param customerIdList
* @Return
* @Author zhaoqifeng
* @Date 2022/8/26 13:40
*/
@Override
public void initPartyBuilidingRole(List<String> customerIdList) {
customerIdList.forEach(customerId -> {
//党建积分
LambdaQueryWrapper<PointAdditiveRuleEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, customerId);
wrapper.eq(PointAdditiveRuleEntity::getCategoryCode, "party_building");
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, "党建积分");
PointAdditiveRuleEntity djjf = baseDao.selectOne(wrapper);
if (null == djjf) {
djjf = new PointAdditiveRuleEntity();
djjf.setCustomerId(customerId);
djjf.setType("category");
djjf.setApplyFlag(NumConstant.ONE_STR);
djjf.setCategoryCode("party_building");
djjf.setCategoryName("党建积分");
djjf.setPid(NumConstant.ZERO_STR);
djjf.setPids("");
baseDao.insert(djjf);
}
//党建活动
wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, customerId);
wrapper.eq(PointAdditiveRuleEntity::getCategoryCode, "party_building");
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, "党建活动");
PointAdditiveRuleEntity djhd = baseDao.selectOne(wrapper);
if (null == djhd) {
djhd = new PointAdditiveRuleEntity();
djhd.setCustomerId(customerId);
djhd.setType("category");
djhd.setApplyFlag(NumConstant.ONE_STR);
djhd.setCategoryCode("party_building");
djhd.setCategoryName("党建活动");
djhd.setPid(djjf.getId());
djhd.setPids(djjf.getId());
baseDao.insert(djhd);
}
//支部委员会
wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, customerId);
wrapper.eq(PointAdditiveRuleEntity::getCategoryCode, "party_building");
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, SystemMessageType.ZBWYH);
PointAdditiveRuleEntity zbdyh = baseDao.selectOne(wrapper);
if (null == zbdyh) {
zbdyh = new PointAdditiveRuleEntity();
zbdyh.setCustomerId(customerId);
zbdyh.setType("rule");
zbdyh.setApplyFlag(NumConstant.ONE_STR);
zbdyh.setCategoryCode("party_building");
zbdyh.setRuleName(SystemMessageType.ZBWYH);
zbdyh.setPid(djhd.getId());
zbdyh.setPids(djhd.getPids().concat(StrConstant.COLON).concat(djhd.getId()));
zbdyh.setPointValue(10);
baseDao.insert(zbdyh);
}
//支部党员大会
wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, customerId);
wrapper.eq(PointAdditiveRuleEntity::getCategoryCode, "party_building");
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, SystemMessageType.ZBDYDH);
PointAdditiveRuleEntity zbdydh = baseDao.selectOne(wrapper);
if (null == zbdydh) {
zbdydh = new PointAdditiveRuleEntity();
zbdydh.setCustomerId(customerId);
zbdydh.setType("rule");
zbdydh.setApplyFlag(NumConstant.ONE_STR);
zbdydh.setCategoryCode("party_building");
zbdydh.setRuleName(SystemMessageType.ZBDYDH);
zbdydh.setPid(djhd.getId());
zbdydh.setPids(djhd.getPids().concat(StrConstant.COLON).concat(djhd.getId()));
zbdydh.setPointValue(20);
baseDao.insert(zbdydh);
}
//党小组会
wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, customerId);
wrapper.eq(PointAdditiveRuleEntity::getCategoryCode, "party_building");
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, SystemMessageType.DXZH);
PointAdditiveRuleEntity dxzh = baseDao.selectOne(wrapper);
if (null == dxzh) {
dxzh = new PointAdditiveRuleEntity();
dxzh.setCustomerId(customerId);
dxzh.setType("rule");
dxzh.setApplyFlag(NumConstant.ONE_STR);
dxzh.setCategoryCode("party_building");
dxzh.setRuleName(SystemMessageType.DXZH);
dxzh.setPid(djhd.getId());
dxzh.setPids(djhd.getPids().concat(StrConstant.COLON).concat(djhd.getId()));
dxzh.setPointValue(10);
baseDao.insert(dxzh);
}
//党课
wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, customerId);
wrapper.eq(PointAdditiveRuleEntity::getCategoryCode, "party_building");
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, SystemMessageType.DANGKE);
PointAdditiveRuleEntity dk = baseDao.selectOne(wrapper);
if (null == dk) {
dk = new PointAdditiveRuleEntity();
dk.setCustomerId(customerId);
dk.setType("rule");
dk.setApplyFlag(NumConstant.ONE_STR);
dk.setCategoryCode("party_building");
dk.setRuleName(SystemMessageType.DANGKE);
dk.setPid(djhd.getId());
dk.setPids(djhd.getPids().concat(StrConstant.COLON).concat(djhd.getId()));
dk.setPointValue(15);
baseDao.insert(dk);
}
//主题党日
wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, customerId);
wrapper.eq(PointAdditiveRuleEntity::getCategoryCode, "party_building");
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, SystemMessageType.ZTDR);
PointAdditiveRuleEntity ztdr = baseDao.selectOne(wrapper);
if (null == ztdr) {
ztdr = new PointAdditiveRuleEntity();
ztdr.setCustomerId(customerId);
ztdr.setType("rule");
ztdr.setApplyFlag(NumConstant.ONE_STR);
ztdr.setCategoryCode("party_building");
ztdr.setRuleName(SystemMessageType.ZTDR);
ztdr.setPid(djhd.getId());
ztdr.setPids(djhd.getPids().concat(StrConstant.COLON).concat(djhd.getId()));
ztdr.setPointValue(15);
baseDao.insert(ztdr);
}
//为民服务活动
wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PointAdditiveRuleEntity::getCustomerId, customerId);
wrapper.eq(PointAdditiveRuleEntity::getCategoryCode, "party_building");
wrapper.eq(PointAdditiveRuleEntity::getCategoryName, SystemMessageType.WMFWHD);
PointAdditiveRuleEntity wmfwhd = baseDao.selectOne(wrapper);
if (null == wmfwhd) {
wmfwhd = new PointAdditiveRuleEntity();
wmfwhd.setCustomerId(customerId);
wmfwhd.setType("rule");
wmfwhd.setApplyFlag(NumConstant.ONE_STR);
wmfwhd.setCategoryCode("party_building");
wmfwhd.setRuleName(SystemMessageType.WMFWHD);
wmfwhd.setPid(djhd.getId());
wmfwhd.setPids(djhd.getPids().concat(StrConstant.COLON).concat(djhd.getId()));
wmfwhd.setPointValue(15);
baseDao.insert(wmfwhd);
}
});
}
}

124
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java

@ -30,6 +30,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dao.PointAdditiveRuleDao;
import com.epmet.dao.UserPointActionLogDao;
import com.epmet.dto.BizPointTotalDetailDTO;
import com.epmet.dto.BizPointUserTotalDetailDTO;
@ -38,15 +39,15 @@ import com.epmet.dto.VolunteerInfoDTO;
import com.epmet.dto.form.CommonPageUserFormDTO;
import com.epmet.dto.form.IcResiPointPageFormDTO;
import com.epmet.dto.form.MyPointTaskFormDTO;
import com.epmet.dto.result.MyPointTaskResultDTO;
import com.epmet.dto.result.ResiPointLogListResultDTO;
import com.epmet.dto.result.ResiPointLogPeriodResultDTO;
import com.epmet.dto.result.ResiPointPageResDTO;
import com.epmet.dto.form.PartyPointFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.PointRuleEntity;
import com.epmet.entity.UserPointActionLogEntity;
import com.epmet.entity.UserPointStatisticalDailyEntity;
import com.epmet.entity.UserPointTotalEntity;
import com.epmet.feign.EpmetHeartOpenFeignClient;
import com.epmet.resi.partymember.dto.icpartyact.result.IcPartyActDetailResDTO;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import com.epmet.service.*;
import com.epmet.utils.DimIdGenerator;
import com.epmet.utils.ModuleConstant;
@ -56,14 +57,15 @@ import com.github.pagehelper.PageInfo;
import com.google.common.collect.Maps;
import dto.form.SendPointFormDTO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@ -89,6 +91,10 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
private BizPointUserTotalDetailService bizPointUserTotalDetailService;
@Autowired
private EpmetHeartOpenFeignClient epmetHeartOpenFeignClient;
@Resource
private PointAdditiveRuleDao pointAdditiveRuleDao;
@Resource
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
@Override
public PageData<UserPointActionLogDTO> page(Map<String, Object> params) {
@ -207,6 +213,9 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
throw new RenException("无法识别事件类型与积分规则");
}
PointRuleEntity ruleInfo = pointRuleService.getByEventCodeAndCustomerId(event.getCustomerId(),eventCode);
if ("party_building".equals(event.getEventClass())) {
ruleInfo = pointAdditiveRuleDao.selectByRoleName(event.getCustomerId(), eventCode);
}
if(null != ruleInfo && StringUtils.equals(NumConstant.ONE_STR,ruleInfo.getEnabledFlag())){
Date dateCheck = null;
Calendar calendar = Calendar.getInstance();
@ -338,6 +347,9 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
if (("resi_group").equals(event.getEventClass())) {
action.setBizType("group");
action.setObjectId(event.getGroupId());
} else if ("party_building".equals(event.getEventClass())) {
action.setBizType("party_building");
action.setObjectId(event.getSourceId());
} else {
action.setBizType("activity");
action.setObjectId(event.getSourceId());
@ -406,6 +418,26 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
bizPointTotalDetailService.update(totalDetailDTO);
}
} else if ("party_building".equals(event.getEventClass())){
//个人小组积分
BizPointUserTotalDetailDTO userTotalDetailDTO = bizPointUserTotalDetailService.getDataByObject("party_building", null,
event.getUserId());
Integer userTotal = getUserTotalByObject("party_building", null, event.getUserId());
if (null == userTotalDetailDTO) {
userTotalDetailDTO = new BizPointUserTotalDetailDTO();
userTotalDetailDTO.setCustomerId(event.getCustomerId());
userTotalDetailDTO.setAgencyId(event.getAgencyId());
userTotalDetailDTO.setGridId(event.getGridId());
userTotalDetailDTO.setUserId(event.getUserId());
userTotalDetailDTO.setBizType("party_building");
userTotalDetailDTO.setObjectId(event.getSourceId());
userTotalDetailDTO.setTotalPoint(userTotal);
bizPointUserTotalDetailService.save(userTotalDetailDTO);
} else {
userTotalDetailDTO.setTotalPoint(userTotal);
userTotalDetailDTO.setUpdatedTime(new Date());
bizPointUserTotalDetailService.update(userTotalDetailDTO);
}
}
@ -507,7 +539,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
QueryWrapper<UserPointActionLogEntity> wrapper = new QueryWrapper<>();
wrapper.select("IFNULL(SUM(POINT), 0) as POINT")
.eq("BIZ_TYPE", type)
.eq("OBJECT_ID", objectId)
.eq(StringUtils.isNotBlank(objectId), "OBJECT_ID", objectId)
.eq("USER_ID", userId)
.eq("ACTION_FLAG", "plus")
.eq("DEL_FLAG", NumConstant.ZERO_STR);
@ -579,6 +611,86 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl<UserPointActi
return new PageData<>(pageInfo.getList(), pageInfo.getTotal());
}
/**
* 党建积分
*
* @param formDTO
* @Param formDTO
* @Return {@link List< PartyPointRecordResultDTO >}
* @Author zhaoqifeng
* @Date 2022/8/22 16:04
*/
@Override
public List<PartyPointRecordResultDTO> pagePartyPoint(PartyPointFormDTO formDTO) {
List<PartyPointRecordResultDTO> result = new LinkedList<>();
if (StringUtils.isNotBlank(formDTO.getYear())) {
if (StringUtils.isNotBlank(formDTO.getQuarter())) {
if (StringUtils.isNotBlank(formDTO.getMonth())) {
formDTO.setStartDate(formDTO.getYear().concat(formDTO.getMonth()));
formDTO.setDateType(NumConstant.TWO_STR);
} else {
switch (formDTO.getQuarter()) {
case NumConstant.ONE_STR:
formDTO.setStartDate(formDTO.getYear().concat("01"));
formDTO.setEndDate(formDTO.getYear().concat("03"));
break;
case NumConstant.TWO_STR:
formDTO.setStartDate(formDTO.getYear().concat("04"));
formDTO.setEndDate(formDTO.getYear().concat("06"));
break;
case NumConstant.THREE_STR:
formDTO.setStartDate(formDTO.getYear().concat("07"));
formDTO.setEndDate(formDTO.getYear().concat("09"));
break;
case NumConstant.FOUR_STR:
formDTO.setStartDate(formDTO.getYear().concat("10"));
formDTO.setEndDate(formDTO.getYear().concat("12"));
break;
default:
break;
}
formDTO.setDateType(NumConstant.THREE_STR);
}
} else if (StringUtils.isNotBlank(formDTO.getMonth())) {
formDTO.setStartDate(formDTO.getYear().concat(formDTO.getMonth()));
formDTO.setDateType(NumConstant.TWO_STR);
} else {
formDTO.setStartDate(formDTO.getYear());
formDTO.setDateType(NumConstant.ONE_STR);
}
} else {
formDTO.setDateType(NumConstant.FOUR_STR);
}
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize());
List<PartyPointResultDTO> list =baseDao.getPagePartyPoint(formDTO);
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(item -> {
Result<IcPartyActDetailResDTO> actInfo = resiPartyMemberOpenFeignClient.actDetail(item.getActId());
if (actInfo.success() && null != actInfo.getData()) {
item.setActType(actInfo.getData().getActTypeName());
item.setActAddress(actInfo.getData().getAddress());
item.setActDate(actInfo.getData().getHoldTime());
item.setActTopic(actInfo.getData().getTopic());
}
});
Map<String,List<PartyPointResultDTO>> map =
list.stream().collect(Collectors.groupingBy(PartyPointResultDTO::getDate));
Map<String, List<PartyPointResultDTO>> sortedMap = Maps.newLinkedHashMap();
map.entrySet().stream().sorted(Map.Entry.<String, List<PartyPointResultDTO>>comparingByKey().reversed())
.forEachOrdered(e -> sortedMap.put(e.getKey(), e.getValue()));
sortedMap.forEach((key, value) -> {
PartyPointRecordResultDTO o = new PartyPointRecordResultDTO();
o.setDate(key);
o.setDailyList(value);
result.add(o);
});
}
return result;
}
/**
* 需求完成给志愿者发放积分
* @param list

25
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAdditiveRuleDao.xml

@ -122,6 +122,31 @@
WHERE DEL_FLAG='0'
AND ID=#{ruleId}
</select>
<select id="selectByRoleName" resultType="com.epmet.entity.PointRuleEntity">
SELECT
a.ID,
a.RULE_NAME,
a.RULE_NAME AS RULE_DESC,
a.POINT_VALUE AS POINT,
"time" AS POINT_UNIT,
"1" AS ENABLED_FLAG,
- 1 AS UP_LIMIT,
"plus" AS OPERATE_TYPE,
"unlimit" AS RULE_PERIOD
FROM
point_additive_rule a
INNER JOIN point_additive_rule b ON a.PID = b.ID
AND b.DEL_FLAG = '0'
AND b.TYPE = 'category'
AND b.CATEGORY_CODE = 'party_building'
AND b.CATEGORY_NAME = '党建活动'
WHERE
a.DEL_FLAG = '0'
AND a.CATEGORY_CODE = 'party_building'
AND a.TYPE = 'rule'
AND a.CUSTOMER_ID = #{customerId}
AND a.RULE_NAME = #{roleName}
</select>
</mapper>

42
epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/UserPointActionLogDao.xml

@ -157,5 +157,47 @@
</if>
ORDER BY temp.sort ASC
</select>
<select id="getPagePartyPoint" resultType="com.epmet.dto.result.PartyPointResultDTO">
SELECT
OBJECT_ID AS actId,
EVENT_NAME AS title,
CASE
ACTION_FLAG
WHEN 'plus' THEN
concat( '+', POINT ) ELSE POINT
END AS point,
DATE_FORMAT( CREATED_TIME, '%Y-%m-%d' ) AS date,
DATE_FORMAT( CREATED_TIME, '%H:%i' ) AS time
FROM
USER_POINT_ACTION_LOG
WHERE
DEL_FLAG = '0'
AND BIZ_TYPE = 'party_building'
AND USER_ID = #{userId}
AND CUSTOMER_ID = #{customerId}
<if test='null != type and "" != type'>
AND SOURCE_TYPE = #{type}
</if>
<if test='"1" == dateType'>
<if test="startDate != null and startDate != '' ">
AND DATE_FORMAT(CREATED_TIME,'%Y') = #{startDate}
</if>
</if>
<if test='"2" == dateType'>
<if test="startDate != null and startDate != '' ">
AND DATE_FORMAT(CREATED_TIME,'%Y%m') = #{startDate}
</if>
</if>
<if test='"3" == dateType'>
<if test="startDate != null and startDate != '' ">
AND DATE_FORMAT(CREATED_TIME,'%Y%m') &gt;= #{startDate}
</if>
<if test="endDate != null and endDate != '' ">
AND DATE_FORMAT(CREATED_TIME,'%Y%m') &lt;= #{endDate}
</if>
</if>
ORDER BY
CREATED_TIME DESC
</select>
</mapper>

1
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/ImportErrorMsgConstants.java

@ -25,5 +25,6 @@ public interface ImportErrorMsgConstants {
String HOUSE_ERROR_NAME = "导入失败的列表-房屋";
String BUILDING_ERROR_NAME = "导入失败的列表-楼栋";
String NEIGHBORHOOD_ERROR_NAME = "导入失败的列表-小区";
String BUILDING_NAME_EXITED_IN_GRID = "小区下该楼栋已存在于其他网格";
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java

@ -67,6 +67,15 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
List<BaseInfoFamilyBuildingResultDTO> baseInfoFamilyBuilding(@Param("neighborHoodId")String neighborHoodId);
Integer checkBuildName(@Param("neighborHoodId") String neighborHoodId,@Param("buildingName")String buildingName, @Param("buildingId")String buildingId);
Integer checkBuildNameV2(@Param("agencyId") String agencyId,
@Param("neighborHoodName") String neighborHoodName,
@Param("buildingName")String buildingName,
@Param("buildingId")String buildingId);
Integer checkBuildNameV3(@Param("agencyId") String agencyId,
@Param("gridId") String gridId,
@Param("neighborHoodName") String neighborHoodName,
@Param("buildingName")String buildingName,
@Param("buildingId")String buildingId);
List<BuildingResultDTO> buildingListByIds(@Param("buildingIdList") List<String> buildingIdList);
IPage<BuildingResultDTO> buildingListByIds(IPage<IcBuildingEntity> page,@Param("buildingIdList") List<String> buildingIdList);

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java

@ -210,6 +210,12 @@ public class ImportBuildingInfoListener extends AnalysisEventListener<BuildingIn
}
public void fillData(ImportGeneralDTO dto, String orgType){
int count = icBuildingDao.checkBuildNameV3(dto.getAgencyId(), dto.getGridId(), dto.getNeighborHoodName(), dto.getBuildingName(), null);
if (count > 0){
// 说明数据库已存在此楼栋,不需添加
nums.add(num);
disposeErrorMsg(info,ImportErrorMsgConstants.BUILDING_NAME_EXITED_IN_GRID);
}
if (orgType.equals(CustomerGridConstant.GRID) || orgType.equals(CustomerGridConstant.AGENCY)){
List<String> gridIds = new ArrayList<>();
if (orgType.equals(CustomerGridConstant.GRID)){

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java

@ -3,12 +3,12 @@ package com.epmet.model;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.constant.ImportErrorMsgConstants;
import com.epmet.constants.ImportTaskConstants;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.IcHouseDTO;
@ -489,6 +489,12 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
}
public void fillData(ImportGeneralDTO dto, String orgType){
int count = icBuildingDao.checkBuildNameV3(dto.getAgencyId(), dto.getGridId(), dto.getNeighborHoodName(), dto.getBuildingName(), null);
if (count > 0){
// 说明数据库已存在此楼栋,不需添加
nums.add(num);
disposeErrorMsg(info, ImportErrorMsgConstants.BUILDING_NAME_EXITED_IN_GRID);
}
if (orgType.equals(CustomerGridConstant.GRID) || orgType.equals(CustomerGridConstant.AGENCY)){
List<String> gridIds = new ArrayList<>();
if (orgType.equals(CustomerGridConstant.GRID)){

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java

@ -102,9 +102,15 @@ public class BuildingServiceImpl implements BuildingService {
public void addBuilding(String customerId, IcBulidingAddFormDTO formDTO) {
//同一小区下不能存在楼栋名字一样的
Integer count = icBuildingDao.checkBuildName(formDTO.getNeighborHoodId(), formDTO.getBuildingName(), null);
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(), EpmetErrorCode.BUILDING_NAME_EXITED.getMsg());
}
IcNeighborHoodEntity neighborHood = icNeighborHoodDao.selectById(formDTO.getNeighborHoodId());
count = icBuildingDao.checkBuildNameV2(formDTO.getAgencyId(), neighborHood.getNeighborHoodName(), formDTO.getBuildingName(), null);
if (null != count && count > 0) {
throw new EpmetException(EpmetErrorCode.BUILDING_NAME_EXITED_IN_GRID.getCode());
}
//楼栋编码不可重复
if(org.apache.commons.lang3.StringUtils.isNotBlank(formDTO.getCoding())){
IcBuildingEntity isHaveCoding = icBuildingDao.selectByCoding(formDTO.getCoding(),null);
@ -475,6 +481,11 @@ public class BuildingServiceImpl implements BuildingService {
if (null != count && count > 0) {
throw new RenException(EpmetErrorCode.BUILDING_NAME_EXITED.getCode(), EpmetErrorCode.BUILDING_NAME_EXITED.getMsg());
}
IcNeighborHoodEntity neighborHood = icNeighborHoodDao.selectById(formDTO.getNeighborHoodId());
count = icBuildingDao.checkBuildNameV2(formDTO.getAgencyId(), neighborHood.getNeighborHoodName(), formDTO.getBuildingName(), formDTO.getBuildingId());
if (null != count && count > 0) {
throw new EpmetException(EpmetErrorCode.BUILDING_NAME_EXITED_IN_GRID.getCode());
}
IcBuildingDTO icBuilding = icBuildingService.get(formDTO.getBuildingId());
if (!icBuilding.getNeighborHoodId().equals(formDTO.getNeighborHoodId())) {
//更新对应房屋小区id

35
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

@ -247,6 +247,41 @@
</if>
</select>
<select id="checkBuildNameV2" parameterType="map" resultType="java.lang.Integer">
SELECT
COUNT( a.ID )
FROM
ic_building a
INNER JOIN ic_neighbor_hood b ON a.NEIGHBOR_HOOD_ID = b.ID
AND b.DEL_FLAG = '0'
AND b.AGENCY_ID = #{agencyId}
AND b.NEIGHBOR_HOOD_NAME = #{neighborHoodName}
WHERE
a.DEL_FLAG = '0'
AND a.BUILDING_NAME = #{buildingName}
<if test=" null != buildingId and buildingId.trim() != ''">
and a.ID !=#{buildingId}
</if>
</select>
<select id="checkBuildNameV3" parameterType="map" resultType="java.lang.Integer">
SELECT
COUNT( a.ID )
FROM
ic_building a
INNER JOIN ic_neighbor_hood b ON a.NEIGHBOR_HOOD_ID = b.ID
AND b.DEL_FLAG = '0'
AND b.AGENCY_ID = #{agencyId}
AND b.GRID_ID != #{gridId}
AND b.NEIGHBOR_HOOD_NAME = #{neighborHoodName}
WHERE
a.DEL_FLAG = '0'
AND a.BUILDING_NAME = #{buildingName}
<if test=" null != buildingId and buildingId.trim() != ''">
and a.ID !=#{buildingId}
</if>
</select>
<select id="buildingListByIds" resultType="com.epmet.dto.result.BuildingResultDTO">
select
a.ID as buildingId,

6
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java

@ -66,6 +66,12 @@ public class ResiGroupDTO implements Serializable {
*/
private String gridId;
/**
* 所属党组织
*/
private String partyOrgId;
private String partyOrgPids;
/**
* 状态审核通过 - approved 审核中 - under_auditting 审核未通过 - rejected 已屏蔽 - hidden 已关闭 - closed
Ps: 如果一个小组被拒绝当前小组的状态将永久停留在审核未通过

6
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/ApplyCreateGroupFormDTO.java

@ -17,6 +17,8 @@ public class ApplyCreateGroupFormDTO implements Serializable {
private static final long serialVersionUID = 1570620480398949075L;
public interface AddUserInternalGroup {
}
public interface AddPartyOrgGroup {
}
/**
* 添加用户操作的用户可见异常分组
* 该分组用于校验需要返回给前端错误信息提示的列需要继承CustomerClientShowGroup
@ -69,6 +71,10 @@ public class ApplyCreateGroupFormDTO implements Serializable {
@NotBlank(message = "app不能为空",groups ={AddUserInternalGroup.class})
private String app;
@NotBlank(message = "所属党组织不能为空",groups ={AddPartyOrgGroup.class})
private String partyOrgId;
private String partyOrgPids;
/**
* 小组是否允许参观:允许open;不允许closed
*/

1
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java

@ -35,5 +35,6 @@ public class EditGroupFormDTO {
@NotBlank(message = "组介绍不能为空", groups = { SubmitGroupEditVG.class })
@Length(max = 500, message = "组介绍长度不能超过500个字", groups = { SubmitGroupEditVG.class })
private String groupIntroduction;
private String partyOrgId;
}

1
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplyingGroupDetailResult2DTO.java

@ -67,5 +67,6 @@ public class ApplyingGroupDetailResult2DTO implements Serializable {
* 未读已读标识 unread read
* */
private String readFlag;
private String partyOrgName;
}

2
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/ApplyingGroupDetailResultDTO.java

@ -77,4 +77,6 @@ public class ApplyingGroupDetailResultDTO implements Serializable {
* */
private String operationId;
private String partyOrgId;
}

1
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java

@ -39,4 +39,5 @@ public class GroupEditionDetailResultDTO implements Serializable {
* 群主的昵称 xx路-xx先生/女士
*/
private String groupLeaderName;
private String partyOrgName;
}

28
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java

@ -6,6 +6,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.*;
@ -13,12 +14,14 @@ import com.epmet.resi.group.dto.topic.result.TopicInfoResultDTO;
import com.epmet.resi.group.dto.topic.result.*;
import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallbackFactory;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -320,4 +323,29 @@ public interface ResiGroupOpenFeignClient {
*/
@PostMapping("/resi/group/group/list-groups-by-member")
Result<List<GroupDetailResultDTO>> listGroupsByMember(@RequestBody GroupsByMemberFormDTO formDTO);
/**
* 获取客户下支部小组根据所属党组织分组
*
* @Param
* @Return {@link Result<Map<String, List<IcPartyOrgTreeDTO>>>}
* @Author zhaoqifeng
* @Date 2022/8/16 14:04
*/
@PostMapping("/resi/group/group/getBranchGroupList")
Result<Map<String, List<IcPartyOrgTreeDTO>>> getBranchGroupList();
/**
* @Author sun
* @Description 查询小组成员列表
**/
@PostMapping("/resi/group/member/groupmemberlist")
Result<List<ResiGroupMemberDTO>> groupMemberList(@RequestBody List<String> groupIdList);
/**
* @Author sun
* @Description 查询支部下党小组列表
**/
@PostMapping("/resi/group/group/partygrouplist/{partyOrgId}")
Result<List<ResiGroupDTO>> partyGroupList(@PathVariable String partyOrgId);
}

19
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java

@ -6,6 +6,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.resi.group.dto.group.ResiGroupDTO;
import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO;
import com.epmet.resi.group.dto.topic.ResiTopicDTO;
import com.epmet.resi.group.dto.topic.form.*;
@ -13,9 +14,11 @@ import com.epmet.resi.group.dto.topic.result.TopicInfoResultDTO;
import com.epmet.resi.group.dto.topic.result.*;
import com.epmet.resi.group.feign.ResiGroupOpenFeignClient;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 本服务对外开放的API,其他服务通过引用此client调用该服务
@ -234,4 +237,20 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien
public Result<List<GroupDetailResultDTO>> listGroupsByMember(GroupsByMemberFormDTO formDTO) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "listGroupsByMember", formDTO);
}
@Override
public Result<Map<String, List<IcPartyOrgTreeDTO>>> getBranchGroupList() {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "getBranchGroupList", null);
}
@Override
public Result<List<ResiGroupMemberDTO>> groupMemberList(List<String> groupIdList) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "groupMemberList", groupIdList);
}
@Override
public Result<List<ResiGroupDTO>> partyGroupList(String partyOrgId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "partyGroupList", partyOrgId);
}
}

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

@ -34,12 +34,14 @@ import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO;
import com.epmet.resi.group.dto.member.form.ResiIdentityFormDTO;
import com.epmet.resi.group.dto.member.result.AchievementResultDTO;
import com.epmet.resi.group.enums.SearchScopeTypeEnum;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -399,7 +401,7 @@ public class ResiGroupController {
@PostMapping("submit-edit")
public Result submitGroupEdit(@RequestBody EditGroupFormDTO form, @LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(form, EditGroupFormDTO.SubmitGroupEditVG.class);
resiGroupService.submitGroupEdit(form.getGroupId(), form.getGroupName(), form.getGroupHeadPhoto(), form.getGroupIntroduction(), tokenDto.getUserId());
resiGroupService.submitGroupEdit(form.getGroupId(), form.getGroupName(), form.getGroupHeadPhoto(), form.getGroupIntroduction(), tokenDto.getUserId(), form.getPartyOrgId());
return new Result();
}
@ -649,4 +651,28 @@ public class ResiGroupController {
List<GroupDetailResultDTO> groups = resiGroupService.listGroupsByMember(userId, gridId);
return new Result<List<GroupDetailResultDTO>>().ok(groups);
}
/**
* 获取客户下支部小组根据所属党组织分组
*
* @Param tokenDto
* @Return {@link Result< Map< String, List< IcPartyOrgTreeDTO>>>}
* @Author zhaoqifeng
* @Date 2022/8/16 14:02
*/
@PostMapping("getBranchGroupList")
public Result<Map<String, List<IcPartyOrgTreeDTO>>> getBranchGroupList(@LoginUser TokenDto tokenDto) {
return new Result<Map<String, List<IcPartyOrgTreeDTO>>>().ok(resiGroupService.getBranchGroupList(tokenDto.getCustomerId()));
}
/**
* @Author sun
* @Description 查询支部下党小组列表
**/
@PostMapping("partygrouplist/{partyOrgId}")
Result<List<ResiGroupDTO>> partyGroupList(@PathVariable String partyOrgId){
return new Result<List<ResiGroupDTO>>().ok(resiGroupService.partyGroupList(partyOrgId));
}
}

6
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java

@ -52,6 +52,12 @@ public class GroupEditSubmitRecordEntity extends BaseEpmetEntity {
*/
private String gridId;
/**
* 所属党组织
*/
private String partyOrgId;
private String partyOrgPids;
/**
* 头像
*/

6
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java

@ -62,6 +62,12 @@ public class ResiGroupEntity extends BaseEpmetEntity {
*/
private String gridId;
/**
* 所属党组织
*/
private String partyOrgId;
private String partyOrgPids;
/**
* 状态审核通过 - approved 审核中 - under_auditting 审核未通过 - rejected 已屏蔽 - hidden 已关闭 - closed
Ps: 如果一个小组被拒绝当前小组的状态将永久停留在审核未通过

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

@ -30,6 +30,7 @@ import com.epmet.resi.group.dto.group.form.*;
import com.epmet.resi.group.dto.group.result.*;
import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO;
import com.epmet.resi.group.dto.member.result.AchievementResultDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import java.util.HashMap;
import java.util.List;
@ -310,7 +311,7 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
GroupDetailResultDTO getGroupDetail(String groupId);
void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction, String editUserId);
void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction, String editUserId, String partyOrgId);
/**
* @Description 工作端 查询组变更待审核列表
@ -471,4 +472,15 @@ public interface ResiGroupService extends BaseService<ResiGroupEntity> {
* @date 2021.09.08 13:59:31
*/
List<GroupDetailResultDTO> listGroupsByMember(String memberUserId, String gridId);
/**
* 获取客户下支部小组根据所属党组织分组
* @Param customerId
* @Return {@link Map< String, List<IcPartyOrgTreeDTO>>}
* @Author zhaoqifeng
* @Date 2022/8/15 16:49
*/
Map<String, List<IcPartyOrgTreeDTO>> getBranchGroupList(String customerId);
List<ResiGroupDTO> partyGroupList(String partyOrgId);
}

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

@ -27,6 +27,7 @@ import com.epmet.commons.rocketmq.messages.GroupAchievementMQMsg;
import com.epmet.commons.tools.constant.*;
import com.epmet.commons.tools.enums.AchievementTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.scan.param.ImgScanParamDTO;
@ -83,6 +84,9 @@ import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO;
import com.epmet.resi.group.dto.member.result.AchievementResultDTO;
import com.epmet.resi.group.dto.member.result.GroupAchievementDTO;
import com.epmet.resi.group.enums.SearchScopeTypeEnum;
import com.epmet.resi.partymember.dto.partyOrg.IcPartyOrgDTO;
import com.epmet.resi.partymember.dto.partyOrg.result.IcPartyOrgTreeDTO;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import com.epmet.send.SendMqMsgUtil;
import com.github.pagehelper.PageHelper;
import lombok.extern.slf4j.Slf4j;
@ -97,6 +101,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronizationAdapter;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
@ -120,7 +125,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
@Autowired
private ResiGroupOperationService resiGroupOperationService;
@Autowired
@Resource
private EpmetUserFeignClient epmetUserFeignClient;
@Autowired
@ -144,10 +149,10 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
@Autowired
private ResiGroupMemberRedis resiGroupMemberRedis;
@Autowired
@Resource
private GovOrgFeignClient govOrgFeignClient;
@Autowired
@Resource
private EpmetMessageFeignClient epmetMessageFeignClient;
@Autowired
@ -181,6 +186,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
@Autowired
private ResiGroupAchievementStatsService resiGroupAchievementStatsService;
@Resource
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
@Override
public PageData<ResiGroupDTO> page(Map<String, Object> params) {
@ -457,6 +464,19 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode());
}
}
if (StringUtils.isNotBlank(applyCreateGroupFormDTO.getPartyOrgId())) {
Result<Map<String, IcPartyOrgDTO>> partyOrgResult = resiPartyMemberOpenFeignClient.getPartyOrgList();
if (!partyOrgResult.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取党组织信息失败", "获取党组织信息失败");
}
if (partyOrgResult.getData().containsKey(applyCreateGroupFormDTO.getPartyOrgId())) {
applyCreateGroupFormDTO.setPartyOrgPids(partyOrgResult.getData().get(applyCreateGroupFormDTO.getPartyOrgId()).getOrgPids().concat(StrConstant.COLON).concat(applyCreateGroupFormDTO.getPartyOrgId()));
} else {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所选党组织不存在", "所选党组织不存在");
}
}
String roleName = "";
if(NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())){
roleName = ModuleConstant.PARTYMEMBER;
@ -586,6 +606,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
resiGroupEntity.setState(GroupStateConstant.GROUP_UNDER_AUDITTING);
resiGroupEntity.setVisitSwitch(StringUtils.isNotBlank(applyCreateGroupFormDTO.getVisitSwitch()) ? applyCreateGroupFormDTO.getVisitSwitch() : GroupStateConstant.CLOSED);
resiGroupEntity.setGroupType(applyCreateGroupFormDTO.getGroupType());
resiGroupEntity.setPartyOrgId(applyCreateGroupFormDTO.getPartyOrgId());
resiGroupEntity.setPartyOrgPids(applyCreateGroupFormDTO.getPartyOrgPids());
return resiGroupEntity;
}
@ -1041,7 +1063,20 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
detail.setLeaderId(null);
detail.setOperationId(null);
return new Result<ApplyingGroupDetailResult2DTO>().ok(ConvertUtils.sourceToTarget(detail, ApplyingGroupDetailResult2DTO.class));
ApplyingGroupDetailResult2DTO result = ConvertUtils.sourceToTarget(detail, ApplyingGroupDetailResult2DTO.class);
if (StringUtils.isNotBlank(detail.getPartyOrgId())) {
Result<Map<String, IcPartyOrgDTO>> partyOrgResult = resiPartyMemberOpenFeignClient.getPartyOrgList();
if (!partyOrgResult.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取党组织信息失败", "获取党组织信息失败");
}
if (partyOrgResult.getData().containsKey(detail.getPartyOrgId())) {
result.setPartyOrgName(partyOrgResult.getData().get(detail.getPartyOrgId()).getPartyOrgName());
}
}
return new Result<ApplyingGroupDetailResult2DTO>().ok(result);
}
@Override
@ -1486,7 +1521,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
}
@Override
public void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction, String editUserId) {
public void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction, String editUserId, String partyOrgId) {
// 1.判断小组是否存在,判断是否已经在"待审核"状态
ResiGroupEntity group = resiGroupDao.selectById(groupId);
if (group == null) {
@ -1518,6 +1553,18 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
// 达到最大编辑次数了
throw new RenException(EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getCode(), EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getMsg());
}
String partyOrgPids = null;
if (StringUtils.isNotBlank(partyOrgId)) {
Result<Map<String, IcPartyOrgDTO>> partyOrgResult = resiPartyMemberOpenFeignClient.getPartyOrgList();
if (!partyOrgResult.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取党组织信息失败", "获取党组织信息失败");
}
if (partyOrgResult.getData().containsKey(partyOrgId)) {
partyOrgPids = partyOrgResult.getData().get(partyOrgId).getOrgPids().concat(StrConstant.COLON).concat(partyOrgId);
} else {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "所选党组织不存在", "所选党组织不存在");
}
}
// 3.内容检查
scanGroupEditContent(groupName, groupIntroduction, groupHeadPhoto);
@ -1537,6 +1584,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
editRecord.setGroupName(groupName);
editRecord.setReadFlag(ReadFlagConstant.UN_READ);
editRecord.setMessageText(messageText);
editRecord.setPartyOrgId(partyOrgId);
editRecord.setPartyOrgPids(partyOrgPids);
if (groupEditSubmitRecordDao.insert(editRecord) == 0) {
throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), EpmetErrorCode.GROUP_EDIT_ERROR.getMsg());
@ -1713,6 +1762,16 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
} else {
result.setGroupLeaderName(resiGroupRedis.getFullName(edit.getCreatedBy()));
}
if (StringUtils.isNotBlank(edit.getPartyOrgId())) {
Result<Map<String, IcPartyOrgDTO>> partyOrgResult = resiPartyMemberOpenFeignClient.getPartyOrgList();
if (!partyOrgResult.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取党组织信息失败", "获取党组织信息失败");
}
if (partyOrgResult.getData().containsKey(edit.getPartyOrgId())) {
result.setPartyOrgName(partyOrgResult.getData().get(edit.getPartyOrgId()).getPartyOrgName());
}
}
return result;
}
@ -1863,4 +1922,50 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
public List<GroupDetailResultDTO> listGroupsByMember(String memberUserId, String gridId) {
return baseDao.listGroupsByMember(memberUserId, gridId);
}
/**
* 获取客户下支部小组根据所属党组织分组
*
* @param customerId
* @Param customerId
* @Return {@link Map< String, List<IcPartyOrgTreeDTO >>}
* @Author zhaoqifeng
* @Date 2022/8/15 16:49
*/
@Override
public Map<String, List<IcPartyOrgTreeDTO>> getBranchGroupList(String customerId) {
LambdaQueryWrapper<ResiGroupEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ResiGroupEntity::getCustomerId, customerId);
wrapper.eq(ResiGroupEntity::getGroupType, ModuleConstant.GROUP_TYPE_BRANCH);
List<ResiGroupEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(entityList)) {
return Collections.emptyMap();
}
List<IcPartyOrgTreeDTO> list = entityList.stream().filter(i -> StringUtils.isNotBlank(i.getPartyOrgId())).map(item -> {
IcPartyOrgTreeDTO dto = new IcPartyOrgTreeDTO();
dto.setId(item.getId());
dto.setOrgPids(item.getPartyOrgPids());
dto.setPid(item.getPartyOrgId());
dto.setPartyOrgType(NumConstant.SIX_STR);
dto.setPartyOrgName(item.getGroupName());
return dto;
}).collect(Collectors.toList());
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyMap();
}
return list.stream().collect(Collectors.groupingBy(IcPartyOrgTreeDTO::getPid));
}
@Override
public List<ResiGroupDTO> partyGroupList(String partyOrgId) {
LambdaQueryWrapper<ResiGroupEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ResiGroupEntity::getPartyOrgId, partyOrgId);
wrapper.eq(ResiGroupEntity::getDelFlag, NumConstant.ZERO_STR);
List<ResiGroupEntity> entityList = baseDao.selectList(wrapper);
if (CollectionUtils.isEmpty(entityList)) {
return new ArrayList<>();
}
return ConvertUtils.sourceToTarget(entityList, ResiGroupDTO.class);
}
}

12
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/controller/ResiGroupMemberController.java

@ -24,16 +24,14 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.modules.member.service.GroupMemeberOperationService;
import com.epmet.modules.member.service.ResiGroupMemberService;
import com.epmet.resi.group.dto.member.ResiGroupMemberDTO;
import com.epmet.resi.group.dto.member.form.*;
import com.epmet.resi.group.dto.member.result.ApplyingMemberResultDTO;
import com.epmet.resi.group.dto.member.result.GridVotableCountResultDTO;
import com.epmet.resi.group.dto.member.result.GroupMemberListResultDTO;
import com.epmet.resi.group.dto.member.result.JoinGroupApplyRealTimeResultDTO;
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 org.springframework.web.bind.annotation.*;
import java.util.List;
@ -206,4 +204,10 @@ public class ResiGroupMemberController {
ValidatorUtils.validateEntity(param);
return new Result<JoinGroupApplyRealTimeResultDTO>().ok(operationService.applyEnterByLink(param));
}
@PostMapping("groupmemberlist")
public Result<List<ResiGroupMemberDTO>> groupMemberList(@RequestBody List<String> groupIdList){
return new Result<List<ResiGroupMemberDTO>>().ok(resiGroupMemberService.groupMemberList(groupIdList));
}
}

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/ResiGroupMemberDao.java

@ -181,4 +181,6 @@ public interface ResiGroupMemberDao extends BaseDao<ResiGroupMemberEntity> {
int countAllMembers(@Param("customerId") String customerId, @Param("groupId") String groupId);
int exitGroupById(@Param("id") String id, @Param("updatedBy") String updatedBy);
List<ResiGroupMemberDTO> groupMemberList(@Param("groupIdList") List<String> groupIdList);
}

2
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/ResiGroupMemberService.java

@ -262,4 +262,6 @@ public interface ResiGroupMemberService extends BaseService<ResiGroupMemberEntit
* @return com.epmet.resi.group.dto.member.ResiGroupMemberDTO
*/
ResiGroupMemberDTO getMemberInfo(String groupId, String userId);
List<ResiGroupMemberDTO> groupMemberList(List<String> groupIdList);
}

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

@ -1036,4 +1036,9 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl<ResiGroupMemberD
return targetObject;
}
@Override
public List<ResiGroupMemberDTO> groupMemberList(List<String> groupIdList) {
return baseDao.groupMemberList(groupIdList);
}
}

8
epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.26__add_party_org_.sql

@ -0,0 +1,8 @@
ALTER TABLE `epmet_resi_group`.`resi_group`
ADD COLUMN `PARTY_ORG_ID` varchar(64) NULL COMMENT '党支部ID' AFTER `CUSTOMER_ID`,
ADD COLUMN `PARTY_ORG_PIDS` varchar(255) NULL COMMENT '党支部的所有上级ID' AFTER `PARTY_ORG_ID`;
ALTER TABLE `epmet_resi_group`.`group_edit_submit_record`
ADD COLUMN `PARTY_ORG_ID` varchar(64) NULL COMMENT '党支部ID' AFTER `GRID_ID`,
ADD COLUMN `PARTY_ORG_PIDS` varchar(255) NULL COMMENT '党支部的所有上级ID' AFTER `PARTY_ORG_ID`;

6
epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.27__update_partygroupdesc.sql

@ -0,0 +1,6 @@
update resi_group_setup s
set s.`NAME`='党小组',
s.`DESCRIBE`='党小组是党支部的组成部分,党小组长可以申请创建线上党小组,从而便于组织线上思想学习、工作交流、党小组生活会等各类事项活动。' ,
s.UPDATED_TIME=NOW()
where s.DEL_FLAG='0'
and s.`NAME`='支部小组';

1
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml

@ -95,6 +95,7 @@
GROUP_NAME,
GROUP_HEAD_PHOTO,
GROUP_INTRODUCTION,
PARTY_ORG_ID,
CREATED_BY,
GRID_ID
FROM

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

@ -354,6 +354,7 @@
gro.GROUP_NAME AS groupName,
gro.GROUP_HEAD_PHOTO AS groupHeadPhoto,
gro.GROUP_INTRODUCTION AS groupIntroduction,
gro.PARTY_ORG_ID AS partyOrgId,
oper.READ_FLAG AS readFlag,
oper.MESSAGE_TEXT AS messageText,
oper.CREATED_TIME AS createdTime,

15
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml

@ -250,4 +250,19 @@
WHERE
id = #{id}
</update>
<select id="groupMemberList" resultType="com.epmet.resi.group.dto.member.ResiGroupMemberDTO">
SELECT
*
FROM
resi_group_member
WHERE
del_flag = '0'
AND `status` IN ( 'approved', 'silent' )
<foreach collection="groupIdList" item="groupId" open="AND resi_group_id IN (" separator="," close=")">
#{groupId}
</foreach>
ORDER BY
group_leader_flag ASC, created_time ASC
</select>
</mapper>

180
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/IcPartyActDTO.java

@ -0,0 +1,180 @@
package com.epmet.resi.partymember.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 党建组织活动
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-18
*/
@Data
public class IcPartyActDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 组织ID当前工作人员所属组织id
*/
private String orgId;
/**
* 组织ID的上级如果org_id是根组织那此列=0
*/
private String pid;
/**
* ORG_ID全路径包含自身
*/
private String orgIdPath;
/**
* 发布活动党组织
*/
private String publishPartyOrgId;
/**
* 发布活动党组织名称
*/
private String publishPartyOrgName;
/**
* 参加活动党组织ID的上级节点
*/
private String publishOrgPid;
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部6党小组
*/
private String publishOrgType;
/**
* PARTY_ORG_ID的全路径包含自身方便前端回显
*/
private String publishOrgPath;
/**
* 活动类型0支部党员大会1支部委员会2党小组会3党课4主题党日5为民服务活动
*/
private String actType;
/**
* 活动举办时间yyyy
*/
private String holdYearId;
/**
* 活动举办时间:yyyyMM
*/
private String holdMonthId;
/**
* 举办活动时间
*/
private Date holdTime;
/**
* 活动主题
*/
private String topic;
/**
* 活动地点
*/
private String address;
/**
* 活动地点纬度
*/
private String latitude;
/**
* 活动地点经度
*/
private String longitude;
/**
* 活动开始前几天
*/
private Integer autoPublicType;
/**
* 自动发布时间保存时算好时间存在这里
*/
private Date autoPublicTime;
/**
* 参加人员类型0全体党员1支部委员
*/
private String joinUserType;
/**
* 是否自动通知参加人员0否1是
*/
private String isAutoInform;
/**
* 活动介绍
*/
private String introduce;
/**
* 是否发布0未发布1已发布
*/
private String isPublish;
/**
* 活动发布人
*/
private String publishStaffId;
/**
* 活动发布人姓名
*/
private String publishStaffName;
/**
* 0未删除1已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

84
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/IcPartyActOrgDTO.java

@ -0,0 +1,84 @@
package com.epmet.resi.partymember.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 参加活动党组织表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-18
*/
@Data
public class IcPartyActOrgDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 活动id
*/
private String icPartyActId;
/**
* 客户ID
*/
private String customerId;
/**
* 参加活动党组织ID,groupId
*/
private String joinOrgId;
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部6党小组
*/
private String orgType;
/**
* 参加活动党组织ID的上级节点
*/
private String pid;
/**
* PARTY_ORG_ID的全路径包含自身方便前端回显
*/
private String joinOrgPath;
/**
* 0未删除1已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

94
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/IcPartyActSignInRecordDTO.java

@ -0,0 +1,94 @@
package com.epmet.resi.partymember.dto;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 党组织活动签到记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-18
*/
@Data
public class IcPartyActSignInRecordDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private String id;
/**
* 客户id
*/
private String customerId;
/**
* 活动id
*/
private String icPartyActId;
/**
* 身份证号
*/
private String idCard;
/**
* 签到用户id
*/
private String epmetUserId;
/**
* 签到用户姓名
*/
private String userRealName;
/**
* 签到地点
*/
private String address;
/**
* 签到地点纬度
*/
private String latitude;
/**
* 签到地点经度
*/
private String longitude;
/**
* 0未删除1已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

105
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/IcScheduleDTO.java

@ -0,0 +1,105 @@
package com.epmet.resi.partymember.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 日程表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-18
*/
@Data
public class IcScheduleDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 所属行政组织ID当前工作人员所属组织id
*/
private String orgId;
/**
* 组织ID的上级如果org_id是根组织那此列=0
*/
private String pid;
/**
* ORG_ID全路径包含自身
*/
private String orgIdPath;
/**
* 当前登录用户userId
*/
private String staffId;
/**
* 日程标题35字
*/
private String title;
/**
* 提醒时间其实就是日程所属日期
*/
private Date remindTime;
/**
* 发生时间
*/
private Date happenedTime;
/**
* 是否公开0仅自己可见1组织内其他人可见
*/
private String isPublic;
/**
* 备注500字
*/
private String remark;
/**
* 0未删除1已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
/**
* 创建人
*/
private String createdBy;
/**
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updatedBy;
/**
* 更新时间
*/
private Date updatedTime;
}

21
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/form/BatchAddPartyActFormDTO.java

@ -0,0 +1,21 @@
package com.epmet.resi.partymember.dto.icpartyact.form;
import lombok.Data;
import javax.validation.Valid;
import java.io.Serializable;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/8/22 12:25
*/
@Data
public class BatchAddPartyActFormDTO implements Serializable {
private static final long serialVersionUID = 2616937693642413548L;
private List<String> delActIds;
@Valid
private List<IcPartyActAddOrUpdateFormDTO> actList;
}

172
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/form/IcPartyActAddOrUpdateFormDTO.java

@ -0,0 +1,172 @@
package com.epmet.resi.partymember.dto.icpartyact.form;
import com.epmet.commons.tools.dto.form.FileCommonDTO;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/8/19 9:58
*/
@Data
public class IcPartyActAddOrUpdateFormDTO implements Serializable {
private static final long serialVersionUID = -2554822505755122067L;
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
public interface UpdateUserInternalGroup {
}
public interface UpdateUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "customerId不能为空", groups = {AddUserInternalGroup.class, UpdateUserInternalGroup.class})
private String customerId;
@NotBlank(message = "publishStaffId不能为空", groups = {AddUserInternalGroup.class, UpdateUserInternalGroup.class})
private String publishStaffId;
@NotBlank(message = "icPartyActId不能为空", groups = {UpdateUserInternalGroup.class})
private String icPartyActId;
/**
* 活动类型来源于ic_party_act_type_dict
*/
@NotBlank(message = "活动类型不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String actType;
/**
* 活动举办时间yyyy
*/
@NotBlank(message = "holdYearId不能为空", groups = {AddUserInternalGroup.class, UpdateUserInternalGroup.class})
private String holdYearId;
/**
* 活动举办时间:yyyyMM
*/
@NotBlank(message = "holdMonthId不能为空", groups = {AddUserInternalGroup.class, UpdateUserInternalGroup.class})
private String holdMonthId;
/**
* 举办活动时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@NotNull(message = "活动举办时间不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private Date holdTime;
/**
* 活动主题
*/
@NotBlank(message = "活动主题不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
@Length(max = 35, message = "活动主题最多输入35个字", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String topic;
/**
* 活动地点
*/
@NotBlank(message = "活动地点不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
@Length(max = 100, message = "活动地点最多输入100字", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String address;
/**
* 活动地点纬度
*/
private String latitude;
/**
* 活动地点经度
*/
private String longitude;
/**
* 活动开始前几天,字典接口返回的
* 0,1,3,5,7天
*/
@NotNull(message = "自动发布时间不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private Integer autoPublicType;
/**
* 发布活动党组织
*/
@NotBlank(message = "发布活动党组织不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String publishPartyOrgId;
/**
* 发布活动党组织名称
*/
@NotBlank(message = "发布活动党组织名称不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String publishPartyOrgName;
/**
* 发布活动党组织ID的上级节点
*/
@NotBlank(message = "参加活动党组织ID的上级节点不能为空", groups = {AddUserInternalGroup.class, UpdateUserInternalGroup.class})
private String publishOrgPid;
/**
* 发布活动党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部6党小组
*/
@NotBlank(message = "发布活动党组织类型不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String publishOrgType;
/**
* 发布活动党组织PUBLISH_PARTY_ORG_ID的全路径包含自身方便前端回显
*/
// 后端接口内部去赋值,无需前端传入了
private String publishOrgPath;
/**
* 发布活动党组织路径,前端用此列
* 先放开不限制必填
*/
// @NotBlank(message = "publishOrgPathShow不能为空", groups = {AddUserInternalGroup.class, UpdateUserInternalGroup.class})
private String publishOrgPathShow;
/**
* 参加人员类型0全体党员1支部委员
*/
@NotBlank(message = "参加人员类型不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String joinUserType;
/**
* 是否自动通知参加人员0否1是
*/
@NotBlank(message = "自动通知参加人员不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String isAutoInform;
/**
* 活动介绍
*/
// @NotBlank(message = "活动介绍不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
@Length(max = 1000, message = "活动介绍最多输入1000字", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private String introduce;
/**
* 参加活动党组织
*/
@Valid
@NotEmpty(message = "参加活动党组织不能为空", groups = {AddUserShowGroup.class, UpdateUserShowGroup.class})
private List<JoinOrgDTO> joinOrgList;
/**
* 附件表
*/
private List<FileCommonDTO> attachmentList;
}

45
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/form/IcPartyActPageFormDTO.java

@ -0,0 +1,45 @@
package com.epmet.resi.partymember.dto.icpartyact.form;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2022/8/19 10:02
*/
@Data
public class IcPartyActPageFormDTO extends PageFormDTO implements Serializable {
private static final long serialVersionUID = -8171649039313981541L;
// tokenDto取值
@NotBlank(message = "customerId不能为空",groups = AddUserInternalGroup.class)
private String customerId;
@NotBlank(message = "publishStaffId不能为空",groups = AddUserInternalGroup.class)
private String publishStaffId;
/**
* 接口内部查询
* 当前登录用户所属的行政组织id
*/
private String staffAgencyId;
// 界面传参数
private String publishPartyOrgId;
private String startDate;
private String endDate;
private String address;
private String topic;
private String isPublish;
private String actType;
/**
* 工作端小程序用yyyy
*/
private String holdYearId;
/**
* 工作端小程序用yyyyMM
*/
private String holdMonthId;
}

71
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/form/JoinOrgDTO.java

@ -0,0 +1,71 @@
package com.epmet.resi.partymember.dto.icpartyact.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2022/8/19 10:31
*/
@Data
public class JoinOrgDTO implements Serializable {
private static final long serialVersionUID = 6994576136698569857L;
//前端传入
/**
* 参加活动党组织ID,groupId
*/
@NotBlank(message = "参加活动党组织不能为空", groups = {IcPartyActAddOrUpdateFormDTO.AddUserShowGroup.class, IcPartyActAddOrUpdateFormDTO.UpdateUserShowGroup.class})
private String joinOrgId;
/**
* 参加党组织名称
*/
@NotBlank(message = "参加党组织名称不能为空", groups = {IcPartyActAddOrUpdateFormDTO.AddUserShowGroup.class, IcPartyActAddOrUpdateFormDTO.UpdateUserShowGroup.class})
private String joinOrgName;
/**
* 党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部6党小组
*/
@NotBlank(message = "参加活动党组织类型不能为空", groups = {IcPartyActAddOrUpdateFormDTO.AddUserShowGroup.class, IcPartyActAddOrUpdateFormDTO.UpdateUserShowGroup.class})
private String orgType;
/**
* 参加活动党组织ID的上级节点
*/
@NotBlank(message = "参加活动党组织不能为空", groups = {IcPartyActAddOrUpdateFormDTO.AddUserInternalGroup.class, IcPartyActAddOrUpdateFormDTO.UpdateUserInternalGroup.class})
private String pid;
/**
* PARTY_ORG_ID的全路径包含自身方便前端回显
*/
// 后端接口内部去赋值,无需前端传入了
private String joinOrgPath;
/**
* PARTY_ORG_ID的全路径,前端用
* 先放开不限制必填
*/
// @NotBlank(message = "joinOrgPathShow不能为空", groups = {IcPartyActAddOrUpdateFormDTO.AddUserInternalGroup.class, IcPartyActAddOrUpdateFormDTO.UpdateUserInternalGroup.class})
private String joinOrgPathShow;
//接口内部赋值
/**
* 活动id
*/
private String icPartyActId;
/**
* 客户ID
*/
private String customerId;
/**
* ic_party_act_org.id
* 详情接口返回
*/
private String icPartyActOrgRecId;
}

17
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartActTypeDTO.java

@ -0,0 +1,17 @@
package com.epmet.resi.partymember.dto.icpartyact.result;
import lombok.Data;
/**
* @Description
* @Author yzm
* @Date 2022/8/18 18:45
*/
@Data
public class IcPartActTypeDTO {
private String label;
private String value;
private Integer yearCount;
private String frequencyDesc;
}

142
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartyActDetailResDTO.java

@ -0,0 +1,142 @@
package com.epmet.resi.partymember.dto.icpartyact.result;
import com.epmet.commons.tools.dto.form.FileCommonDTO;
import com.epmet.resi.partymember.dto.icpartyact.form.JoinOrgDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/8/19 10:08
*/
@Data
public class IcPartyActDetailResDTO implements Serializable {
private static final long serialVersionUID = -8102085878449811977L;
private String customerId;
private String publishStaffId;
private String icPartyActId;
/**
* 活动类型来源于ic_party_act_type_dict
*/
private String actType;
private String actTypeName;
/**
* 活动举办时间yyyy
*/
private String holdYearId;
/**
* 活动举办时间:yyyyMM
*/
private String holdMonthId;
/**
* 举办活动时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date holdTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date autoPublicTime;
/**
* 活动主题
*/
private String topic;
/**
* 活动地点
*/
private String address;
/**
* 活动地点纬度
*/
private String latitude;
/**
* 活动地点经度
*/
private String longitude;
/**
* 活动开始前几天
*/
private Integer autoPublicType;
private String autoPublicTypeDesc;
/**
* 发布活动党组织
*/
private String publishPartyOrgId;
/**
* 发布活动党组织名称
*/
private String publishPartyOrgName;
/**
* 发布活动党组织ID的上级节点
*/
private String publishOrgPid;
/**
* 发布活动党组织类型 0省委,1市委,2区委,3党工委,4党委,5支部6党小组
*/
private String publishOrgType;
/**
* 发布活动党组织PUBLISH_PARTY_ORG_ID的全路径包含自身方便前端回显
*/
private String publishOrgPath;
/**
*发布活动党组织路径,前端用此列
*/
private String publishOrgPathShow;
/**
* 参加人员类型0全体党员1支部委员
*/
private String joinUserType;
private String joinUserTypeName;
/**
* 是否自动通知参加人员0否1是
*/
private String isAutoInform;
/**
* 活动介绍
*/
private String introduce;
/**
* 参加活动党组织
*/
private List<JoinOrgDTO> joinOrgList;
/**
* 附件表
*/
private List<FileCommonDTO> attachmentList;
private Boolean isSignIn;
private String publishStaffName;
/**
* 是否发布0未发布1已发布
*/
private String isPublish;
}

83
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/icpartyact/result/IcPartyActPageResultDTO.java

@ -0,0 +1,83 @@
package com.epmet.resi.partymember.dto.icpartyact.result;
import com.epmet.resi.partymember.dto.icpartyact.form.JoinOrgDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Description
* @Author yzm
* @Date 2022/8/19 10:06
*/
@Data
public class IcPartyActPageResultDTO implements Serializable {
private static final long serialVersionUID = 1414832133227703667L;
private String icPartyActId;
/**
* 活动主题
*/
private String topic;
/**
* 发布活动党组织名称
*/
private String publishPartyOrgName;
/**
* 活动发布人姓名
*/
private String publishStaffName;
/**
* 活动类型来源于ic_party_act_type_dict
*/
private String actType;
/**
* 活动类型来源于ic_party_act_type_dict
*/
private String actTypeName;
/**
* 举办活动时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date holdTime;
/**
* 活动地点
*/
private String address;
/**
* 是否发布0未发布1已发布
*/
private String isPublish;
/**
* 活动发布人
*/
private String publishStaffId;
//以下返参,用于导出
/**
* 是否发布0未发布1已发布
* 返回名称
*/
private String isPublishName;
/**
* 参加人员类型0全体党员1支部委员
*/
private String joinUserType;
private String joinUserTypeName;
private List<JoinOrgDTO> joinOrgList;
//导出用
private String joinOrgNameStr;
}

77
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/IcPartyActTypeDictDTO.java

@ -0,0 +1,77 @@
package com.epmet.resi.partymember.dto.partyOrg;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* 党组织活动类型字典表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-22
*/
@Data
public class IcPartyActTypeDictDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
*
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 活动类型key
*/
private String typeKey;
/**
* 活动名称
*/
private String typeName;
/**
* 每年几次
*/
private Integer yearCount;
/**
* 频次单位
*/
private String frequencyUnit;
/**
* 频次数量
*/
private Integer frequencyCount;
/**
* 频率描述
*/
private String frequencyDesc;
/**
* 排序
*/
private Integer sort;
/**
* 0未删除1已删除
*/
private Integer delFlag;
/**
* 乐观锁
*/
private Integer revision;
private String label;
private String value;
}

43
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/ActAndScheduleListFormDTO.java

@ -0,0 +1,43 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/8/19 13:52
* @DESC
*/
@Data
public class ActAndScheduleListFormDTO implements Serializable {
private static final long serialVersionUID = -6776882545589530612L;
private String startDate;
private String endDate;
private String dateId;
private String yearId = "";
/**
* 是否本人创建的活动10
*/
private String isSelf;
/**
* 党组织ID
*/
private String orgId;
private String customerId;
private String staffId;
private String agencyId;
private String path;
/**
* 当seachType = 'yearSearch'不需要查询党组织
*/
private String searchType = "";
private String type = "";
}

51
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/AddOrEditScheduleFormDTO.java

@ -0,0 +1,51 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @Author zxc
* @DateTime 2022/8/18 16:23
* @DESC
*/
@Data
public class AddOrEditScheduleFormDTO implements Serializable {
private static final long serialVersionUID = 6290505458783549828L;
public interface AddScheduleForm{}
private String scheduleId;
private String staffId;
private String customerId;
/**
* 日程标题35字
*/
@NotBlank(message = "title不能为空",groups = AddScheduleForm.class)
private String title;
/**
* 提醒时间其实就是日程所属日期
*/
@NotNull(message = "remindTime不能为空",groups = AddScheduleForm.class)
private Date remindTime;
/**
* 是否公开0仅自己可见1组织内其他人可见
*/
@NotBlank(message = "isPublic不能为空",groups = AddScheduleForm.class)
private String isPublic;
@NotNull(message = "happenedTime不能为空",groups = AddScheduleForm.class)
private Date happenedTime;
/**
* 备注500字
*/
private String remark;
}

48
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/HomeMonthTotalFormDTO.java

@ -0,0 +1,48 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/8/19 08:59
* @DESC
*/
@Data
public class HomeMonthTotalFormDTO implements Serializable {
private static final long serialVersionUID = 1128815856169903825L;
public interface HomeMonthTotalForm{}
/**
* 年份ID
*/
@NotBlank(message = "yearId不能为空",groups = HomeMonthTotalForm.class)
private String yearId;
/**
* 党支部ID
*/
@NotBlank(message = "orgId不能为空",groups = HomeMonthTotalForm.class)
private String orgId;
/**
* 是否本人创建的活动10
*/
@NotBlank(message = "isSelf不能为空",groups = HomeMonthTotalForm.class)
private String isSelf;
private String staffId;
private String customerId;
/**
* 工作人员所属组织ID
*/
private String agencyId;
// private String path;
}

33
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/IcPartyActListFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import lombok.Data;
import java.io.Serializable;
@Data
public class IcPartyActListFormDTO implements Serializable {
/**
* 活动类型0支部党员大会1支部委员会2党小组会3党课4主题党日5为民服务活动
*/
private String actType;
/**
* 签到状态[已签到signIn 未签到unSignIn]
*/
private String signIn;
/**
* 标题内容 模糊检索
*/
private String topic;
//参加活动党组织ID,groupId
private String joinOrgId;
private Integer pageNo = 1;
private Integer pageSize = 20;
private Boolean isPage = true;
//token中信息
private String customerId;
private String userId;
}

38
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/IcScheduleFormDTO.java

@ -0,0 +1,38 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
public class IcScheduleFormDTO implements Serializable {
/**
* 日程标题
*/
private String title;
/**
* 是否公开0仅自己可见1组织内其他人可见
*/
private String isPublic;
/**
* 提醒开始时间
*/
private String startTime;
/**
* 提醒结束时间
*/
private String endTime;
private Integer pageNo = 1;
private Integer pageSize = 20;
private Boolean isPage = true;
private String agencyId;
//token中信息
private String customerId;
private String staffId;
}

47
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActSignFormDTO.java

@ -0,0 +1,47 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
public class PartyActSignFormDTO implements Serializable {
/**
* 活动Id
*/
@NotBlank(message = "活动Id不能为空",groups = {UpdateGroup.class})
private String icPartyActId;
/**
* 网格Id
*/
@NotBlank(message = "网格Id不能为空",groups = {AddGroup.class})
private String gridId;
/**
* 签到地点
*/
@NotBlank(message = "签到地点不能为空",groups = {AddGroup.class})
private String address;
/**
* 签到地点纬度
*/
@NotBlank(message = "签到地点纬度不能为空",groups = {AddGroup.class})
private String latitude;
/**
* 签到地点经度
*/
@NotBlank(message = "签到地点经度不能为空",groups = {AddGroup.class})
private String longitude;
private Integer pageNo = 1;
private Integer pageSize = 20;
private Boolean isPage = true;
//token中信息
private String customerId;
private String userId;
}

32
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyActStatisFormDTO.java

@ -0,0 +1,32 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import com.epmet.commons.tools.validator.group.AddGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
@Data
public class PartyActStatisFormDTO implements Serializable {
/**
* 参加活动党组织ID,groupId
*/
@NotBlank(message = "党组织Id不能为空", groups = AddGroup.class)
private String joinOrgId;
/**
* 活动开始时间 yyyy-MM-dd
*/
private String startTime;
/**
* 活动结束时间 yyyy-MM-dd
*/
private String endTime;
//党组织Id集合
private List<String> partyOrgIdList;
}

17
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyOrgListFormDTO.java

@ -0,0 +1,17 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import com.epmet.commons.tools.validator.group.AddGroup;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Data
public class PartyOrgListFormDTO implements Serializable {
/**
* 网格Id
*/
@NotNull(message = "网格Id不能为空", groups = AddGroup.class)
private String gridId;
}

2
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/PartyOrgTreeListDTO.java

@ -23,7 +23,7 @@ public class PartyOrgTreeListDTO implements Serializable {
* 客户Id (customer.id)
*/
private String customerId;
private String staffId;
/**
* 党组织pid
*/

33
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/form/YearSearchFormDTO.java

@ -0,0 +1,33 @@
package com.epmet.resi.partymember.dto.partyOrg.form;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/8/22 09:26
* @DESC
*/
@Data
public class YearSearchFormDTO implements Serializable {
private static final long serialVersionUID = 4557112229519696741L;
public interface YearSearchForm{}
@NotBlank(message = "yearId不能为空",groups = YearSearchForm.class)
private String yearId;
private String type;
/**
* 是否本人创建的活动10
*/
private String isSelf = NumConstant.ONE_STR;
private String staffId;
private String customerId;
}

87
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/ActAndScheduleListResultDTO.java

@ -0,0 +1,87 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/8/19 13:41
* @DESC
*/
@Data
public class ActAndScheduleListResultDTO implements Serializable {
private static final long serialVersionUID = 7378300105829566449L;
private Integer scheduleTotal;
private Integer activityTotal;
private String dateId;
private List<ActivityListDTO> activityList;
private List<ScheduleListDTO> scheduleList;
@Data
public static class ActivityListDTO implements Serializable{
private static final long serialVersionUID = -9050507457068805831L;
private String activityId;
private String staffId;
private String dateId;
private String topic;
private String address;
private String holdTime;
private String autoPublicTime;
private String isAutoInformValue;
private String isAutoInform;
private String autoInformDay;
private String type;
private String actTypeName;
private String isPublicValue;
private String isPublish;
private String joinTypeValue;
private String joinUserType;
private List<JoinOrgDTO> joinOrgList;
private List<String> joinOrgs;
private Boolean isMe = false;
}
@Data
public static class ScheduleListDTO implements Serializable{
private static final long serialVersionUID = 5372167729733804267L;
private String scheduleId;
private String title;
private String remindTime;
private String happenedTime;
private String remark;
private Boolean isMe = false;
private String staffId;
private String dateId;
}
@Data
public static class JoinOrgDTO implements Serializable{
private static final long serialVersionUID = -981758371558960097L;
private String partyOrgId;
private String partyOrgName;
}
public ActAndScheduleListResultDTO() {
this.scheduleTotal = NumConstant.ZERO;
this.activityTotal = NumConstant.ZERO;
this.dateId = "";
this.activityList = new ArrayList<>();
this.scheduleList = new ArrayList<>();
}
}

39
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/DefaultPartyOrgResDTO.java

@ -0,0 +1,39 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2022/8/22 10:25
*/
@Data
public class DefaultPartyOrgResDTO implements Serializable {
private static final long serialVersionUID = -7563161453372080189L;
/**
* 当前登录用户所属的组织
*/
private String staffAgencyId;
/**
* 当前登录用户所属的组织名称
*/
private String staffAgencyName;
/**
* 当前登录用户所属的行政组织下默认的党组织名称
*/
private String defaultPartyOrgId;
private String defaultPartyOrgPid;
/**
* 党组织名称
*/
private String defaultPartyOrgName;
/**
* 党组织路径
*/
private String defaultPartyOrgPath;
private String orgType;
}

28
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/HomeMonthTotalResultDTO.java

@ -0,0 +1,28 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import com.epmet.commons.tools.constant.NumConstant;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/8/19 08:57
* @DESC
*/
@Data
public class HomeMonthTotalResultDTO implements Serializable {
private static final long serialVersionUID = -4647982500373510830L;
private String monthId;
private Integer count;
public HomeMonthTotalResultDTO() {
this.monthId = "";
this.count = NumConstant.ZERO;
}
}

47
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcPartyActListResultDTO.java

@ -0,0 +1,47 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import com.epmet.resi.partymember.dto.partymember.result.AdditionalInfoDTO;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@Data
public class IcPartyActListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 活动Id
*/
private String icPartyActId;
/**
* 活动主题
*/
private String topic;
/**
* 活动类型0支部党员大会1支部委员会2党小组会3党课4主题党日5为民服务活动
*/
private String actType;
/**
* 活动类型0支部党员大会1支部委员会2党小组会3党课4主题党日5为民服务活动
*/
private String actTypeName;
/**
* 活动时间
*/
private String holdTime;
/**
* 活动地点
*/
private String address;
/**
* 签到状态[已签到signIn 未签到unSignIn]
*/
private String signIn;
/**
* 签到状态名
*/
private String signInName;
}

33
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcPartyOrgInfo.java

@ -0,0 +1,33 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @Author yzm
* @Date 2022/8/23 13:10
*/
@Data
public class IcPartyOrgInfo implements Serializable {
/**
* 党组织ID
*/
private String id;
/**
* 党组织的上级ID,没有上级时为0
*/
private String orgPid;
/**
* 党组织名称
*/
private String partyOrgName;
/**
* 党组织的id全路径包含自身
*/
private String partyOrgIdPath;
private String partyOrgNamePath;
}

71
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/IcScheduleListDTO.java

@ -0,0 +1,71 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 日程表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-08-18
*/
@Data
public class IcScheduleListDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* ID
*/
private String id;
/**
* 客户ID
*/
private String customerId;
/**
* 当前登录用户userId
*/
private String staffId;
/**
* 日程标题35字
*/
private String title;
/**
* 提醒时间其实就是日程所属日期
*/
private Date remindTime;
private Date happenedTime;
/**
* 提醒时间其实就是日程所属日期
*/
private String remindTimeName;
/**
* 是否公开0仅自己可见1组织内其他人可见
*/
private String isPublic;
/**
* 是否公开0 1
*/
private String isPublicName;
/**
* 备注500字
*/
private String remark;
/**
* 创建时间
*/
private Date createdTime;
}

45
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partyOrg/result/PartyActStatisResultDTO.java

@ -0,0 +1,45 @@
package com.epmet.resi.partymember.dto.partyOrg.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@Data
public class PartyActStatisResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 党组织Id
*/
private String joinOrgId = "";
/**
* 党组织名称
*/
private String joinOrgName = "";
/**
* 支部党员大会次数
*/
private Integer dydhNum = 0;
/**
* 支部委员会次数
*/
private Integer wyhNum = 0;
/**
* 党小组会次数
*/
private Integer dxzhNum = 0;
/**
* 党课次数
*/
private Integer dkNum = 0;
/**
* 主题党日次数
*/
private Integer ztdrNum = 0;
/**
* 为民服务活动次数
*/
private Integer wmfwNum = 0;
}

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

Loading…
Cancel
Save