Browse Source

党员认证消息通知

master
zhaoqifeng 5 years ago
parent
commit
fa4422e685
  1. 77
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java

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

@ -2,18 +2,24 @@ package com.epmet.modules.partymember.service.impl;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.EpmetRoleKeyConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.PartyMemberConstant;
import com.epmet.constant.PartyMemberMessageConstant;
import com.epmet.constant.ReadFlagConstant;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.UserRoleDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.dto.form.StaffRoleFormDTO;
import com.epmet.dto.form.UserMessageFormDTO;
import com.epmet.dto.form.UserResiInfoFormDTO;
import com.epmet.dto.result.AgencyAndStaffsResultDTO;
import com.epmet.dto.result.GovStaffRoleResultDTO;
import com.epmet.dto.result.GridInfoResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.modules.feign.EpmetMessageFeignClient;
@ -22,6 +28,9 @@ import com.epmet.modules.feign.GovOrgFeignClient;
import com.epmet.modules.partymember.entity.*;
import com.epmet.modules.partymember.redis.PartymemberInfoRedis;
import com.epmet.modules.partymember.service.*;
import com.epmet.modules.warmhearted.constant.ResiWarmUserMessageConstant;
import com.epmet.modules.warmhearted.constant.ResiWarmheartedConstant;
import com.epmet.modules.warmhearted.constant.ResiWarmheartedVisitConstant;
import com.epmet.redis.ResiPartyMemberRedis;
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO;
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO;
@ -269,7 +278,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
partymemberConfirmManualService.insert(manualEntity);
}
auditMessage(ConvertUtils.sourceToTarget(partyMemberInfo, PartymemberInfoEntity.class), PartyMemberMessageConstant.MEMBER_APPLY_MSG);
auditMessageToGov(ConvertUtils.sourceToTarget(partyMemberInfo, PartymemberInfoEntity.class), PartyMemberMessageConstant.MEMBER_APPLY_MSG);
//更新政府端:工作-基层治理-党员认证reddot
resiPartyMemberRedis.addWorkGrassrootsPartyAuthRedDotValue(infoDTO.getGridId());
return new Result();
@ -301,9 +310,9 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
//存入党员注册关系表 用于统计客户网格的认证党员数
saveRegisterRelation(ConvertUtils.sourceToTarget(partyMemberInfoEntity,
PartymemberInfoDTO.class));
auditMessage(partyMemberInfoEntity, PartyMemberMessageConstant.AUDIT_APPROVE_MSG);
auditMessageToResi(partyMemberInfoEntity, PartyMemberMessageConstant.AUDIT_APPROVE_MSG);
} else {
auditMessage(partyMemberInfoEntity, PartyMemberMessageConstant.AUDIT_REJECT_MSG);
auditMessageToResi(partyMemberInfoEntity, PartyMemberMessageConstant.AUDIT_REJECT_MSG);
}
//更新政府端:工作-基层治理-党员认证reddot
resiPartyMemberRedis.subtractWorkGrassrootsPartyAuthRedDotValue(manualEntity.getGridId());
@ -561,16 +570,15 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
}
/**
* 热心居民申请审核通过向申请人发送消息
* 党员申请审核通过向申请人发送消息
* @Author sun
* @param formDTO
* @param userMsg 消息模板
*/
private Result auditMessage(PartymemberInfoEntity formDTO, String userMsg) {
private Result auditMessageToResi(PartymemberInfoEntity formDTO, String userMsg) {
UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO();
userMessageFormDTO.setCustomerId(formDTO.getCustomerId());
userMessageFormDTO.setGridId(formDTO.getGridId());
userMessageFormDTO.setUserId(formDTO.getUserId());
userMessageFormDTO.setApp(AppClientConstant.APP_RESI);
userMessageFormDTO.setTitle(PartyMemberMessageConstant.GROUP_TITLE);
//调用gov-org服务查询网格信息
@ -588,4 +596,61 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
return messageFeignClient.saveUserMessage(userMessageFormDTO);
}
/**
* 党员申请审核向网格长发送消息
* @Author sun
* @param formDTO
* @param userMsg 消息模板
*/
private Result auditMessageToGov(PartymemberInfoEntity formDTO, String userMsg) {
Result result = new Result();
//1:调用gov-org服务,根据网格Id查询所属组织机构Id,根据网格Id查询网格下所有工作人员列表
Result<AgencyAndStaffsResultDTO> resultAgencyAndStaffs = govOrgFeignClient.getAgencyAndStaffsBygridId(formDTO.getGridId());
if(!resultAgencyAndStaffs.success()){
throw new RenException(ResiWarmheartedConstant.SELECT_EXCEPTION);
}
AgencyAndStaffsResultDTO agencyAndStaffsResultDTO = resultAgencyAndStaffs.getData();
//网格下工作人员列表
CustomerGridDTO customerGridDTO = agencyAndStaffsResultDTO.getCustomerGridDTO();
List<CustomerStaffGridDTO> staffList = agencyAndStaffsResultDTO.getStaffList();
//2:调用epmet-user服务,根据组织机构Id和网格长角色查询组织机构下所有的网格长StaffId
StaffRoleFormDTO staffRoleFormDTO = new StaffRoleFormDTO();
staffRoleFormDTO.setOrgId(customerGridDTO.getPid());
staffRoleFormDTO.setRoleKey(ResiWarmheartedVisitConstant.GRID_MANAGER);
Result<List<GovStaffRoleResultDTO>> resultList = epmetUserFeignClient.getStaffsInRole(staffRoleFormDTO);
List<GovStaffRoleResultDTO> roleList = resultList.getData();
//3:调用user服务获取申请人的基本信息
UserResiInfoFormDTO resiInfoParam = new UserResiInfoFormDTO();
resiInfoParam.setCustomerId(formDTO.getCustomerId());
resiInfoParam.setUserId(formDTO.getUserId());
Result<UserResiInfoResultDTO> resultUserInfo = epmetUserFeignClient.getUserResiInfoDTO(resiInfoParam);
if (!resultUserInfo.success() || null == resultUserInfo.getData()) {
throw new RenException(ResiWarmheartedVisitConstant.SELECT_USERINFO_EXCEPTION);
}
String showName = resultUserInfo.getData().getShowName();
String message = String.format(userMsg, showName);
//4:遍历找出当前网格的所有网格长并给网格长发消息
List<UserMessageFormDTO> msgList = new ArrayList<>();
staffList.forEach(staff->{
roleList.forEach(role->{
if(staff.getUserId().equals(role.getStaffId())){
UserMessageFormDTO msgDTO = new UserMessageFormDTO();
msgDTO.setCustomerId(formDTO.getCustomerId());
msgDTO.setGridId(formDTO.getGridId());
msgDTO.setUserId(staff.getUserId());
msgDTO.setApp(AppClientConstant.APP_GOV);
msgDTO.setTitle(ResiWarmUserMessageConstant.GROUP_TITLE);
msgDTO.setMessageContent(message);
msgDTO.setReadFlag(ReadFlagConstant.UN_READ);
msgList.add(msgDTO);
}
});
});
if (msgList.size() > NumConstant.ZERO) {
result = messageFeignClient.saveUserMessageList(msgList);
}
return result;
}
}

Loading…
Cancel
Save