|
@ -5,19 +5,18 @@ import com.epmet.commons.tools.utils.Result; |
|
|
import com.epmet.constant.PartyMemberConstant; |
|
|
import com.epmet.constant.PartyMemberConstant; |
|
|
import com.epmet.dto.UserResiInfoDTO; |
|
|
import com.epmet.dto.UserResiInfoDTO; |
|
|
import com.epmet.dto.form.UserResiInfoFormDTO; |
|
|
import com.epmet.dto.form.UserResiInfoFormDTO; |
|
|
import com.epmet.modules.feign.UserResiInfoFeignClient; |
|
|
import com.epmet.modules.feign.EpmetUserFeignClient; |
|
|
import com.epmet.modules.partymember.entity.PartymemberInfoEntity; |
|
|
import com.epmet.modules.partymember.entity.*; |
|
|
import com.epmet.modules.partymember.entity.PartymemberVisitEntity; |
|
|
|
|
|
import com.epmet.modules.partymember.redis.PartymemberInfoRedis; |
|
|
import com.epmet.modules.partymember.redis.PartymemberInfoRedis; |
|
|
import com.epmet.modules.partymember.service.PartyMemberConfirmService; |
|
|
import com.epmet.modules.partymember.service.*; |
|
|
import com.epmet.modules.partymember.service.PartymemberInfoService; |
|
|
|
|
|
import com.epmet.modules.partymember.service.PartymemberVisitService; |
|
|
|
|
|
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; |
|
|
import com.epmet.resi.mine.dto.from.PartyMemberInitFromDTO; |
|
|
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; |
|
|
import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; |
|
|
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; |
|
|
import com.epmet.resi.mine.dto.result.PartyMemberInitResultDTO; |
|
|
|
|
|
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmAutoDTO; |
|
|
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; |
|
|
import com.epmet.resi.partymember.dto.partymember.PartymemberInfoDTO; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
import java.util.Date; |
|
|
import java.util.Date; |
|
|
|
|
|
|
|
@ -31,15 +30,26 @@ import java.util.Date; |
|
|
public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService { |
|
|
public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService { |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private UserResiInfoFeignClient userResiInfoFeignClient; |
|
|
private EpmetUserFeignClient epmetUserFeignClient; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private PartymemberInfoService partymemberInfoService; |
|
|
private PartymemberInfoService partymemberInfoService; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private PartymemberVisitService partymemberVisitService; |
|
|
private PartymemberVisitService partymemberVisitService; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private PartymemberInfoRedis partyMemberInfoRedis; |
|
|
private PartymemberInfoRedis partyMemberInfoRedis; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private PartymemberBaseInfoService partymemberBaseInfoService; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private PartymemberConfirmAutoService partymemberConfirmAutoService; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private PartymemberConfirmManualService partymemberConfirmManualService; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private PartymemberRegisterRelationService partymemberRegisterRelationService; |
|
|
|
|
|
|
|
|
|
|
|
private final static String BENCHMARK = "110010"; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) { |
|
|
public Result<PartyMemberInitResultDTO> init(PartyMemberInitFromDTO fromDto) { |
|
|
|
|
|
|
|
|
PartyMemberInitResultDTO result = new PartyMemberInitResultDTO(); |
|
|
PartyMemberInitResultDTO result = new PartyMemberInitResultDTO(); |
|
@ -61,36 +71,30 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService |
|
|
UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); |
|
|
UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); |
|
|
userResiInfoFormDTO.setCustomerId(fromDto.getCustomerId()); |
|
|
userResiInfoFormDTO.setCustomerId(fromDto.getCustomerId()); |
|
|
userResiInfoFormDTO.setUserId(fromDto.getUserId()); |
|
|
userResiInfoFormDTO.setUserId(fromDto.getUserId()); |
|
|
Result<UserResiInfoDTO> userResiInfoResult = userResiInfoFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); |
|
|
Result<UserResiInfoDTO> userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); |
|
|
result.setPartyMemberInfo(ConvertUtils.sourceToTarget(userResiInfoResult.getData(), PartymemberInfoDTO.class)); |
|
|
result.setPartyMemberInfo(ConvertUtils.sourceToTarget(userResiInfoResult.getData(), PartymemberInfoDTO.class)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// 将访问行为存入热心居民申请行为记录表
|
|
|
// 将访问行为存入热心居民申请行为记录表
|
|
|
PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity(); |
|
|
String visitId = saveOrUpdateVisit(null, fromDto, PartyMemberConstant.OPERATE_INITIALIZE); |
|
|
partymemberVisitEntity.setCustomerId(fromDto.getCustomerId()); |
|
|
|
|
|
partymemberVisitEntity.setGridId(fromDto.getGridId()); |
|
|
|
|
|
partymemberVisitEntity.setUserId(fromDto.getUserId()); |
|
|
|
|
|
partymemberVisitEntity.setOperateVisit(PartyMemberConstant.OPERATE_INITIALIZE); |
|
|
|
|
|
partymemberVisitEntity.setVisitFrom(fromDto.getVisitFrom()); |
|
|
|
|
|
partymemberVisitEntity.setVisitTime(new Date()); |
|
|
|
|
|
partymemberVisitService.insert(partymemberVisitEntity); |
|
|
|
|
|
|
|
|
|
|
|
result.setVisitId(partymemberVisitEntity.getId()); |
|
|
result.setVisitId(visitId); |
|
|
|
|
|
|
|
|
return new Result<PartyMemberInitResultDTO>().ok(result); |
|
|
return new Result<PartyMemberInitResultDTO>().ok(result); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
public Result getVerificationCode(VerificationCodeFromDTO fromDTO) { |
|
|
public Result getVerificationCode(VerificationCodeFromDTO fromDTO) { |
|
|
Result result = new Result(); |
|
|
Result result = new Result(); |
|
|
//手机是否可用
|
|
|
//手机是否可用
|
|
|
PartymemberInfoEntity partyMemberInfoParam= new PartymemberInfoEntity(); |
|
|
PartymemberInfoEntity partyMemberInfoParam = new PartymemberInfoEntity(); |
|
|
partyMemberInfoParam.setMobile(fromDTO.getMobile()); |
|
|
partyMemberInfoParam.setMobile(fromDTO.getMobile()); |
|
|
PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam); |
|
|
PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam); |
|
|
if (null != partyMemberInfoResult) { |
|
|
if (null != partyMemberInfoResult) { |
|
|
//TODO
|
|
|
//TODO code待定
|
|
|
result.setCode(0); |
|
|
result.setCode(0); |
|
|
result.setMsg(""); |
|
|
result.setMsg("该手机已被使用,请更换手机或使用原绑定的微信用户登录"); |
|
|
return result; |
|
|
return result; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -101,12 +105,153 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService |
|
|
partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), code); |
|
|
partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), code); |
|
|
|
|
|
|
|
|
//将访问记录更新到热心居民申请行为记录表
|
|
|
//将访问记录更新到热心居民申请行为记录表
|
|
|
|
|
|
saveOrUpdateVisit(fromDTO.getVisitId(), null, PartyMemberConstant.OPERATE_OPERATE_SMS_CODE); |
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
|
|
public Result submit(PartymemberInfoDTO partyMemberInfoDTO) { |
|
|
|
|
|
Result result = new Result(); |
|
|
|
|
|
|
|
|
|
|
|
//校验手机验证码是否正常
|
|
|
|
|
|
String code = partyMemberInfoRedis.getUserMobileCode(partyMemberInfoDTO.getUserId(), |
|
|
|
|
|
partyMemberInfoDTO.getMobile(), |
|
|
|
|
|
partyMemberInfoDTO.getCode()); |
|
|
|
|
|
if (null == code) { |
|
|
|
|
|
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, |
|
|
|
|
|
PartyMemberConstant.OPERATE_AUTO_FAILED); |
|
|
|
|
|
//TODO code待定
|
|
|
|
|
|
result.setCode(0); |
|
|
|
|
|
result.setMsg("验证码错误"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//获取党员基本信息
|
|
|
|
|
|
PartymemberConfirmAutoDTO confirmAutoDTO = |
|
|
|
|
|
partymemberBaseInfoService.getPartyMemberBaseInfo(partyMemberInfoDTO); |
|
|
|
|
|
|
|
|
|
|
|
//党员信息存入党员认证信息表
|
|
|
|
|
|
PartymemberInfoEntity partyMemberInfoEntity = ConvertUtils.sourceToTarget(partyMemberInfoDTO, |
|
|
|
|
|
PartymemberInfoEntity.class); |
|
|
|
|
|
|
|
|
|
|
|
if (confirmAutoDTO == null || confirmAutoDTO.getResult().compareTo(PartyMemberConstant.BENCHMARK) < 0) { |
|
|
|
|
|
//自动认证失败
|
|
|
|
|
|
partyMemberInfoEntity.setConfirmResult("1"); |
|
|
|
|
|
partymemberInfoService.insert(partyMemberInfoEntity); |
|
|
|
|
|
//将访问记录更新到热心居民申请行为记录表
|
|
|
|
|
|
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_FAILED); |
|
|
|
|
|
//TODO code待定
|
|
|
|
|
|
result.setCode(0); |
|
|
|
|
|
result.setMsg("认证失败"); |
|
|
|
|
|
} else { |
|
|
|
|
|
//自动认证成功
|
|
|
|
|
|
partyMemberInfoEntity.setConfirmResult("0"); |
|
|
|
|
|
partymemberInfoService.insert(partyMemberInfoEntity); |
|
|
|
|
|
//将访问记录更新到热心居民申请行为记录表
|
|
|
|
|
|
saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_AUTO_SUCCESS); |
|
|
|
|
|
//存入党员注册关系表 用于统计客户网格的认证党员数
|
|
|
|
|
|
saveRegisterRelation(partyMemberInfoDTO); |
|
|
|
|
|
} |
|
|
|
|
|
; |
|
|
|
|
|
|
|
|
|
|
|
//将自动认证结果存入党员认证自动审核表
|
|
|
|
|
|
if (confirmAutoDTO != null) { |
|
|
|
|
|
confirmAutoDTO.setPartymemberInfoId(partyMemberInfoEntity.getPartymemberVisitId()); |
|
|
|
|
|
partymemberConfirmAutoService.insert(ConvertUtils.sourceToTarget(confirmAutoDTO, |
|
|
|
|
|
PartymemberConfirmAutoEntity.class)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//TODO 判断是否已注册居民,如果没有则注册居民
|
|
|
|
|
|
isResiRegister(partyMemberInfoDTO); |
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public Result partyMemberInfoExtra(PartymemberInfoDTO infoDTO) { |
|
|
|
|
|
//将访问记录更新到热心居民申请行为记录表
|
|
|
|
|
|
saveOrUpdateVisit(infoDTO.getPartymemberVisitId(), null, PartyMemberConstant.OPERATE_EXTRA); |
|
|
|
|
|
|
|
|
|
|
|
//补充信息更新到党员基本信息表
|
|
|
|
|
|
PartymemberInfoDTO partyMemberInfo = partymemberInfoService.getPartyMemberInfo(infoDTO); |
|
|
|
|
|
infoDTO.setId(partyMemberInfo.getId()); |
|
|
|
|
|
partymemberInfoService.updateById(ConvertUtils.sourceToTarget(infoDTO, PartymemberInfoEntity.class)); |
|
|
|
|
|
|
|
|
|
|
|
//待审核数据存入党员认证人工审核表
|
|
|
|
|
|
PartymemberConfirmManualEntity manualEntity = new PartymemberConfirmManualEntity(); |
|
|
|
|
|
manualEntity.setCustomerId(infoDTO.getCustomerId()); |
|
|
|
|
|
manualEntity.setGridId(infoDTO.getGridId()); |
|
|
|
|
|
manualEntity.setUserId(infoDTO.getUserId()); |
|
|
|
|
|
manualEntity.setPartymemberInfoId(infoDTO.getId()); |
|
|
|
|
|
manualEntity.setAuditStatus(PartyMemberConstant.UNDER_AUDITTING); |
|
|
|
|
|
partymemberConfirmManualService.insert(manualEntity); |
|
|
|
|
|
|
|
|
|
|
|
return new Result(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 判断是否已注册居民,如果没有则注册居民 |
|
|
|
|
|
* |
|
|
|
|
|
* @param partyMemberInfoDTO 参数 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void isResiRegister(PartymemberInfoDTO partyMemberInfoDTO) { |
|
|
|
|
|
UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); |
|
|
|
|
|
userResiInfoFormDTO.setCustomerId(partyMemberInfoDTO.getCustomerId()); |
|
|
|
|
|
userResiInfoFormDTO.setUserId(partyMemberInfoDTO.getUserId()); |
|
|
|
|
|
Result<UserResiInfoDTO> userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); |
|
|
|
|
|
if (null == userResiInfoResult.getData()) { |
|
|
|
|
|
//TODO 判断手机号是否可用
|
|
|
|
|
|
UserResiInfoDTO userResiInfoDTO = ConvertUtils.sourceToTarget(partyMemberInfoDTO, UserResiInfoDTO.class); |
|
|
|
|
|
userResiInfoDTO.setRegMobile(partyMemberInfoDTO.getMobile()); |
|
|
|
|
|
epmetUserFeignClient.saveResiInfo(userResiInfoDTO); |
|
|
|
|
|
//TODO 注册居民
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 存入党员注册关系表 用于统计客户网格的认证党员数 |
|
|
|
|
|
* |
|
|
|
|
|
* @param partyMemberInfoDTO 参数 |
|
|
|
|
|
*/ |
|
|
|
|
|
private void saveRegisterRelation(PartymemberInfoDTO partyMemberInfoDTO) { |
|
|
|
|
|
PartymemberRegisterRelationEntity registerRelationEntity = new PartymemberRegisterRelationEntity(); |
|
|
|
|
|
registerRelationEntity.setCustomerId(partyMemberInfoDTO.getCustomerId()); |
|
|
|
|
|
registerRelationEntity.setGridId(partyMemberInfoDTO.getGridId()); |
|
|
|
|
|
registerRelationEntity.setUserId(partyMemberInfoDTO.getUserId()); |
|
|
|
|
|
registerRelationEntity.setFirstRegister(1); |
|
|
|
|
|
registerRelationEntity.setRegister(1); |
|
|
|
|
|
registerRelationEntity.setPartake(1); |
|
|
|
|
|
partymemberRegisterRelationService.insert(registerRelationEntity); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 保存或者更新热心居民申请行为记录表 |
|
|
|
|
|
* |
|
|
|
|
|
* @param visitId 主键 |
|
|
|
|
|
* @param fromDTO 参数 |
|
|
|
|
|
* @param operate 操作 |
|
|
|
|
|
* @return String |
|
|
|
|
|
*/ |
|
|
|
|
|
private String saveOrUpdateVisit(String visitId, PartyMemberInitFromDTO fromDTO, String operate) { |
|
|
PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity(); |
|
|
PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity(); |
|
|
partymemberVisitEntity.setId(fromDTO.getVisitId()); |
|
|
if (null == visitId) { |
|
|
|
|
|
partymemberVisitEntity.setCustomerId(fromDTO.getCustomerId()); |
|
|
|
|
|
partymemberVisitEntity.setGridId(fromDTO.getGridId()); |
|
|
|
|
|
partymemberVisitEntity.setUserId(fromDTO.getUserId()); |
|
|
|
|
|
partymemberVisitEntity.setOperateVisit(operate); |
|
|
|
|
|
partymemberVisitEntity.setVisitFrom(fromDTO.getVisitFrom()); |
|
|
|
|
|
partymemberVisitEntity.setVisitTime(new Date()); |
|
|
|
|
|
partymemberVisitService.insert(partymemberVisitEntity); |
|
|
|
|
|
} else { |
|
|
|
|
|
partymemberVisitEntity.setId(visitId); |
|
|
partymemberVisitEntity.setVisitTime(new Date()); |
|
|
partymemberVisitEntity.setVisitTime(new Date()); |
|
|
partymemberVisitEntity.setOperateVisit(PartyMemberConstant.OPERATE_OPERATE_SMS_CODE); |
|
|
partymemberVisitEntity.setOperateVisit(operate); |
|
|
partymemberVisitService.updateById(partymemberVisitEntity); |
|
|
partymemberVisitService.updateById(partymemberVisitEntity); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return result; |
|
|
return partymemberVisitEntity.getId(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|