|
|
@ -8,9 +8,11 @@ import com.epmet.constant.PartyMemberConstant; |
|
|
|
import com.epmet.dto.UserResiInfoDTO; |
|
|
|
import com.epmet.dto.UserRoleDTO; |
|
|
|
import com.epmet.dto.form.UserResiInfoFormDTO; |
|
|
|
import com.epmet.dto.result.GridInfoResultDTO; |
|
|
|
import com.epmet.dto.result.UserResiInfoResultDTO; |
|
|
|
import com.epmet.modules.feign.EpmetMessageFeignClient; |
|
|
|
import com.epmet.modules.feign.EpmetUserFeignClient; |
|
|
|
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.*; |
|
|
@ -20,12 +22,22 @@ import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmAutoDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmManualDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.form.AuditingDetailFromDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.form.AutoFailedDetailFromDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberConfirmFromDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.form.RejectedDetailFromDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.result.AdditionalInfoDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.result.AuditingDetailResultDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.result.AutoFailedDetailResultDTO; |
|
|
|
import com.epmet.resi.partymember.dto.partymember.result.RejectedDetailResultDTO; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
/** |
|
|
@ -56,6 +68,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService |
|
|
|
private PartymemberRegisterRelationService partymemberRegisterRelationService; |
|
|
|
@Autowired |
|
|
|
private EpmetMessageFeignClient messageFeignClient; |
|
|
|
@Autowired |
|
|
|
private GovOrgFeignClient govOrgFeignClient; |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
@ -158,7 +172,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService |
|
|
|
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED); |
|
|
|
|
|
|
|
//自动认证失败
|
|
|
|
partyMemberInfoEntity.setConfirmResult(PartyMemberConstant.CONFIRM_FAILED); |
|
|
|
partyMemberInfoEntity.setConfirmResult(PartyMemberConstant.AUTO_CONFIRM_FAILED); |
|
|
|
if (partyMemberInfoEntity.getId().isEmpty()) { |
|
|
|
partymemberInfoService.insert(partyMemberInfoEntity); |
|
|
|
} else { |
|
|
@ -172,7 +186,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService |
|
|
|
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_SUCCESS); |
|
|
|
|
|
|
|
//自动认证成功
|
|
|
|
partyMemberInfoEntity.setConfirmResult(PartyMemberConstant.CONFIRM_SUCCESS); |
|
|
|
partyMemberInfoEntity.setConfirmResult(PartyMemberConstant.AUTO_CONFIRM_SUCCESS); |
|
|
|
if (partyMemberInfoEntity.getId().isEmpty()) { |
|
|
|
partymemberInfoService.insert(partyMemberInfoEntity); |
|
|
|
} else { |
|
|
@ -242,6 +256,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService |
|
|
|
manualEntity.setUserId(infoDTO.getUserId()); |
|
|
|
manualEntity.setPartymemberInfoId(infoDTO.getId()); |
|
|
|
manualEntity.setAuditStatus(PartyMemberConstant.UNDER_AUDITTING); |
|
|
|
manualEntity.setReadFlag(PartyMemberConstant.UNREAD); |
|
|
|
partymemberConfirmManualService.insert(manualEntity); |
|
|
|
} |
|
|
|
|
|
|
@ -249,6 +264,204 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService |
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result manualConfirmResult(PartyMemberConfirmFromDTO fromDTO) { |
|
|
|
PartymemberConfirmManualEntity manualEntity = partymemberConfirmManualService.selectById(fromDTO.getManualId()); |
|
|
|
PartymemberInfoEntity partyMemberInfoEntity = partymemberInfoService.selectById(fromDTO.getPartyMemberId()); |
|
|
|
partyMemberInfoEntity.setId(manualEntity.getPartymemberInfoId()); |
|
|
|
partyMemberInfoEntity.setConfirmResult(fromDTO.getPartyMemberFlag()); |
|
|
|
|
|
|
|
partymemberInfoService.updateById(partyMemberInfoEntity); |
|
|
|
|
|
|
|
manualEntity.setAuditStatus(fromDTO.getPartyMemberFlag()); |
|
|
|
manualEntity.setRefuseReason(fromDTO.getReason()); |
|
|
|
partymemberConfirmManualService.updateById(manualEntity); |
|
|
|
|
|
|
|
if (PartyMemberConstant.APPROVED.equals(fromDTO.getPartyMemberFlag())) { |
|
|
|
//添加用户党员角色关系
|
|
|
|
UserRoleDTO userRole = new UserRoleDTO(); |
|
|
|
userRole.setCustomerId(partyMemberInfoEntity.getCustomerId()); |
|
|
|
userRole.setGridId(PartyMemberConstant.ALL); |
|
|
|
userRole.setUserId(partyMemberInfoEntity.getUserId()); |
|
|
|
userRole.setRoleKey(EpmetRoleKeyConstant.PARTYMEMBER); |
|
|
|
userRole.setApp(PartyMemberConstant.RESI); |
|
|
|
epmetUserFeignClient.saveUserRole(userRole); |
|
|
|
//存入党员注册关系表 用于统计客户网格的认证党员数
|
|
|
|
saveRegisterRelation(ConvertUtils.sourceToTarget(partyMemberInfoEntity, |
|
|
|
PartymemberInfoDTO.class)); |
|
|
|
} |
|
|
|
|
|
|
|
return new Result(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<AuditingDetailResultDTO> auditingDetail(AuditingDetailFromDTO fromDTO) { |
|
|
|
AuditingDetailResultDTO resultDTO = new AuditingDetailResultDTO(); |
|
|
|
AdditionalInfoDTO additionalInfoDTO = new AdditionalInfoDTO(); |
|
|
|
resultDTO.setPartyMemberId(fromDTO.getPartyMemberId()); |
|
|
|
resultDTO.setAutoId(fromDTO.getAutoId()); |
|
|
|
resultDTO.setManualId(fromDTO.getManualId()); |
|
|
|
|
|
|
|
//获取人工审核信息
|
|
|
|
PartymemberConfirmManualEntity manualEntity = partymemberConfirmManualService.selectById(fromDTO.getManualId()); |
|
|
|
//人工审核信息设为已读
|
|
|
|
manualEntity.setReadFlag(PartyMemberConstant.READ); |
|
|
|
partymemberConfirmManualService.updateById(manualEntity); |
|
|
|
|
|
|
|
//获取党员认证信息
|
|
|
|
PartymemberInfoEntity partyMemberInfoEntity = partymemberInfoService.selectById(fromDTO.getPartyMemberId()); |
|
|
|
resultDTO.setUserId(partyMemberInfoEntity.getUserId()); |
|
|
|
resultDTO.setRealName(partyMemberInfoEntity.getSurname() + partyMemberInfoEntity.getName()); |
|
|
|
resultDTO.setIdCard(partyMemberInfoEntity.getIdCard()); |
|
|
|
resultDTO.setMobile(resultDTO.getMobile()); |
|
|
|
resultDTO.setAddress(partyMemberInfoEntity.getStreet() + partyMemberInfoEntity.getEstate() + partyMemberInfoEntity.getBuilding()); |
|
|
|
resultDTO.setCertifyTime(manualEntity.getCreatedTime().getTime()); |
|
|
|
|
|
|
|
//获取党员自动认证信息
|
|
|
|
List<String> failedReason = new ArrayList<>(); |
|
|
|
|
|
|
|
if (null != fromDTO.getAutoId() && !fromDTO.getAutoId().isEmpty()) { |
|
|
|
PartymemberConfirmAutoEntity autoEntity = partymemberConfirmAutoService.selectById(fromDTO.getAutoId()); |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getMobileResult())) { |
|
|
|
failedReason.add("手机号匹配"); |
|
|
|
} else { |
|
|
|
failedReason.add("手机号未匹配"); |
|
|
|
} |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getIdCardResult())) { |
|
|
|
failedReason.add("身份证匹配"); |
|
|
|
} else { |
|
|
|
failedReason.add("身份证未匹配"); |
|
|
|
} |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getNameResult())) { |
|
|
|
failedReason.add("姓名匹配"); |
|
|
|
} else { |
|
|
|
failedReason.add("姓名未匹配"); |
|
|
|
} |
|
|
|
} else { |
|
|
|
failedReason.add("手机号未匹配"); |
|
|
|
failedReason.add("身份证未匹配"); |
|
|
|
failedReason.add("姓名未匹配"); |
|
|
|
} |
|
|
|
//补充信息
|
|
|
|
additionalInfoDTO.setExtraOrganization(partyMemberInfoEntity.getExtraOrganization()); |
|
|
|
additionalInfoDTO.setContactMobile(partyMemberInfoEntity.getExtraCertifierMobile() == null ? "" : partyMemberInfoEntity.getExtraCertifierMobile()); |
|
|
|
additionalInfoDTO.setContactPeople(partyMemberInfoEntity.getExtraCertifierName() == null ? "" : partyMemberInfoEntity.getExtraCertifierName()); |
|
|
|
additionalInfoDTO.setFailedReason(failedReason); |
|
|
|
resultDTO.setAdditionalInfo(additionalInfoDTO); |
|
|
|
//查询网格信息
|
|
|
|
Result<GridInfoResultDTO> gridInfoResult = govOrgFeignClient.queryGridInfo(partyMemberInfoEntity.getGridId()); |
|
|
|
String gridFullPath = ""; |
|
|
|
if (gridInfoResult.success() && null != gridInfoResult.getData()) { |
|
|
|
gridFullPath = String.format("%s-%s-%s", gridInfoResult.getData().getStreetName(), |
|
|
|
gridInfoResult.getData().getCommnuityName(), |
|
|
|
gridInfoResult.getData().getGridName()); |
|
|
|
gridFullPath = gridFullPath.replaceAll("--", "").trim(); |
|
|
|
} |
|
|
|
resultDTO.setGridFullPath(gridFullPath); |
|
|
|
|
|
|
|
return new Result<AuditingDetailResultDTO>().ok(resultDTO); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<AutoFailedDetailResultDTO> autoFailedDetail(AutoFailedDetailFromDTO fromDTO) { |
|
|
|
AutoFailedDetailResultDTO resultDTO = new AutoFailedDetailResultDTO(); |
|
|
|
//获取党员认证信息
|
|
|
|
PartymemberInfoEntity partyMemberInfo = partymemberInfoService.selectById(fromDTO.getPartyMemberId()); |
|
|
|
resultDTO.setUserId(partyMemberInfo.getUserId()); |
|
|
|
resultDTO.setRealName(partyMemberInfo.getSurname() + partyMemberInfo.getName()); |
|
|
|
resultDTO.setIdCard(partyMemberInfo.getIdCard()); |
|
|
|
resultDTO.setMobile(resultDTO.getMobile()); |
|
|
|
resultDTO.setAddress(partyMemberInfo.getStreet() + partyMemberInfo.getEstate() + partyMemberInfo.getBuilding()); |
|
|
|
String failedReason = ""; |
|
|
|
if (null != fromDTO.getAutoId() && !fromDTO.getAutoId().isEmpty()) { |
|
|
|
PartymemberConfirmAutoEntity autoEntity = partymemberConfirmAutoService.selectById(fromDTO.getAutoId()); |
|
|
|
resultDTO.setCertifyTime(autoEntity.getContrastTime().getTime()); |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getMobileResult())) { |
|
|
|
failedReason = failedReason + "手机号匹配,"; |
|
|
|
} else { |
|
|
|
failedReason = failedReason + "手机号未匹配,"; |
|
|
|
} |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getIdCardResult())) { |
|
|
|
failedReason = failedReason + "身份证匹配,"; |
|
|
|
} else { |
|
|
|
failedReason = failedReason + "身份证未匹配,"; |
|
|
|
} |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getNameResult())) { |
|
|
|
failedReason = failedReason + "姓名匹配"; |
|
|
|
} else { |
|
|
|
failedReason = failedReason + "姓名未匹配"; |
|
|
|
} |
|
|
|
} else { |
|
|
|
failedReason = "手机号未匹配,身份证未匹配,姓名未匹配"; |
|
|
|
resultDTO.setCertifyTime(partyMemberInfo.getUpdatedTime().getTime()); |
|
|
|
} |
|
|
|
resultDTO.setFailedReason(failedReason); |
|
|
|
//查询网格信息
|
|
|
|
Result<GridInfoResultDTO> gridInfoResult = govOrgFeignClient.queryGridInfo(partyMemberInfo.getGridId()); |
|
|
|
String gridFullPath = ""; |
|
|
|
if (gridInfoResult.success() && null != gridInfoResult.getData()) { |
|
|
|
gridFullPath = String.format("%s-%s-%s", gridInfoResult.getData().getStreetName(), |
|
|
|
gridInfoResult.getData().getCommnuityName(), |
|
|
|
gridInfoResult.getData().getGridName()); |
|
|
|
gridFullPath = gridFullPath.replaceAll("--", "").trim(); |
|
|
|
} |
|
|
|
resultDTO.setGridFullPath(gridFullPath); |
|
|
|
|
|
|
|
return new Result<AutoFailedDetailResultDTO>().ok(resultDTO); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result<RejectedDetailResultDTO> rejectedDetail(RejectedDetailFromDTO fromDTO) { |
|
|
|
RejectedDetailResultDTO resultDTO = new RejectedDetailResultDTO(); |
|
|
|
//获取党员认证信息
|
|
|
|
PartymemberInfoEntity partyMemberInfo = partymemberInfoService.selectById(fromDTO.getPartyMemberId()); |
|
|
|
resultDTO.setUserId(partyMemberInfo.getUserId()); |
|
|
|
resultDTO.setRealName(partyMemberInfo.getSurname() + partyMemberInfo.getName()); |
|
|
|
resultDTO.setIdCard(partyMemberInfo.getIdCard()); |
|
|
|
resultDTO.setMobile(resultDTO.getMobile()); |
|
|
|
resultDTO.setAddress(partyMemberInfo.getStreet() + partyMemberInfo.getEstate() + partyMemberInfo.getBuilding()); |
|
|
|
resultDTO.setExtraOrganization(partyMemberInfo.getExtraOrganization()); |
|
|
|
resultDTO.setContactMobile(partyMemberInfo.getExtraCertifierMobile() == null ? "" : partyMemberInfo.getExtraCertifierMobile()); |
|
|
|
resultDTO.setContactPeople(partyMemberInfo.getExtraCertifierName() == null ? "" : partyMemberInfo.getExtraCertifierName()); |
|
|
|
String failedReason =""; |
|
|
|
if (null != fromDTO.getAutoId() && !fromDTO.getAutoId().isEmpty()) { |
|
|
|
PartymemberConfirmAutoEntity autoEntity = partymemberConfirmAutoService.selectById(fromDTO.getAutoId()); |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getMobileResult())) { |
|
|
|
failedReason = failedReason + "手机号匹配,"; |
|
|
|
} else { |
|
|
|
failedReason = failedReason + "手机号未匹配,"; |
|
|
|
} |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getIdCardResult())) { |
|
|
|
failedReason = failedReason + "身份证匹配,"; |
|
|
|
} else { |
|
|
|
failedReason = failedReason + "身份证未匹配,"; |
|
|
|
} |
|
|
|
if (PartyMemberConstant.SAME.equals(autoEntity.getNameResult())) { |
|
|
|
failedReason = failedReason + "姓名匹配"; |
|
|
|
} else { |
|
|
|
failedReason = failedReason + "姓名未匹配"; |
|
|
|
} |
|
|
|
} else { |
|
|
|
failedReason = "手机号未匹配,身份证未匹配,姓名未匹配"; |
|
|
|
} |
|
|
|
resultDTO.setFailedReason(failedReason); |
|
|
|
//获取人工审核信息
|
|
|
|
PartymemberConfirmManualEntity manualEntity = partymemberConfirmManualService.selectById(fromDTO.getManualId()); |
|
|
|
resultDTO.setCertifyTime(manualEntity.getCreatedTime().getTime()); |
|
|
|
resultDTO.setFailedReason(manualEntity.getRefuseReason()); |
|
|
|
//查询网格信息
|
|
|
|
Result<GridInfoResultDTO> gridInfoResult = govOrgFeignClient.queryGridInfo(partyMemberInfo.getGridId()); |
|
|
|
String gridFullPath = ""; |
|
|
|
if (gridInfoResult.success() && null != gridInfoResult.getData()) { |
|
|
|
gridFullPath = String.format("%s-%s-%s", gridInfoResult.getData().getStreetName(), |
|
|
|
gridInfoResult.getData().getCommnuityName(), |
|
|
|
gridInfoResult.getData().getGridName()); |
|
|
|
gridFullPath = gridFullPath.replaceAll("--", "").trim(); |
|
|
|
} |
|
|
|
resultDTO.setGridFullPath(gridFullPath); |
|
|
|
return new Result<RejectedDetailResultDTO>().ok(resultDTO); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 判断是否已注册居民,如果没有则注册居民 |
|
|
|
* |
|
|
|