| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -8,6 +8,7 @@ import com.epmet.constant.PartyMemberConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dto.UserResiInfoDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dto.UserRoleDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dto.form.UserResiInfoFormDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.modules.feign.EpmetMessageFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.modules.feign.EpmetUserFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.modules.partymember.entity.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.modules.partymember.redis.PartymemberInfoRedis; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -17,11 +18,13 @@ import com.epmet.resi.mine.dto.from.VerificationCodeFromDTO; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					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 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.Date; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import java.util.Map; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/** | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * 党员认证 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -30,6 +33,7 @@ import java.util.Date; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * @date 2020/3/30 14:01 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					@Service | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					@Slf4j | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						@Autowired | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -48,6 +52,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						private PartymemberConfirmManualService partymemberConfirmManualService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						@Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						private PartymemberRegisterRelationService partymemberRegisterRelationService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						@Autowired | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						private EpmetMessageFeignClient messageFeignClient; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						private final static String BENCHMARK = "110010"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -74,8 +80,13 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								userResiInfoFormDTO.setCustomerId(fromDto.getCustomerId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								userResiInfoFormDTO.setUserId(fromDto.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								Result<UserResiInfoDTO> userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setPartyMemberInfo(ConvertUtils.sourceToTarget(userResiInfoResult.getData(), PartymemberInfoDTO.class)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								UserResiInfoDTO userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								PartymemberInfoDTO partyMemberInfo =  ConvertUtils.sourceToTarget(userResiInfoResult, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										PartymemberInfoDTO.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								partyMemberInfo.setMobile(userResiInfoResult.getRegMobile()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								partyMemberInfo.setEstate(userResiInfoResult.getDistrict()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								partyMemberInfo.setBuilding(userResiInfoResult.getBuildingAddress()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setPartyMemberInfo(partyMemberInfo); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							// 将访问行为存入热心居民申请行为记录表
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -95,17 +106,21 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							partyMemberInfoParam.setMobile(fromDTO.getMobile()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							PartymemberInfoDTO partyMemberInfoResult = partymemberInfoService.getPartyMemberInfoByMobile(partyMemberInfoParam); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (null != partyMemberInfoResult) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								//TODO code待定
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setCode(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getValue()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setMsg(EpmetErrorCode.MOBILE_HAS_BEEN_USED.getName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return result; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							//TODO 生成短信验证码
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							String code = "0000"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							//生成短信验证码
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							Map<String, String> message = (Map<String, String>) messageFeignClient.sendSmsCaptcha(fromDTO.getMobile()).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if(null == message) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setCode(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getValue()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setMsg(EpmetErrorCode.MOBILE_GET_CODE_ERROR.getName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return result; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							//将验证码存入Redis
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), code); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							partyMemberInfoRedis.setUserMobileCode(fromDTO.getUserId(), fromDTO.getMobile(), message.get("code")); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							//将访问记录更新到热心居民申请行为记录表
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							saveOrUpdateVisit(fromDTO.getVisitId(), null, PartyMemberConstant.OPERATE_OPERATE_SMS_CODE); | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -125,7 +140,6 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (null == code) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								saveOrUpdateVisit(partyMemberInfoDTO.getPartymemberVisitId(), null, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
										PartyMemberConstant.OPERATE_AUTO_FAILED); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								//TODO code待定
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setCode(EpmetErrorCode.MOBILE_CODE_ERROR.getValue()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setMsg(EpmetErrorCode.MOBILE_CODE_ERROR.getName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								return result; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -147,7 +161,6 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								partyMemberInfoEntity.setConfirmResult("1"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								partymemberInfoService.insert(partyMemberInfoEntity); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								//TODO code待定
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setCode(EpmetErrorCode.AUTO_CONFIRM_FAILED.getValue()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								result.setMsg(EpmetErrorCode.AUTO_CONFIRM_FAILED.getName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} else { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -248,7 +261,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 * @return String | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						 */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						@Transactional(rollbackFor = Exception.class) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						private String saveOrUpdateVisit(String visitId, PartyMemberInitFromDTO fromDTO, String operate) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						public String saveOrUpdateVisit(String visitId, PartyMemberInitFromDTO fromDTO, String operate) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							PartymemberVisitEntity partymemberVisitEntity = new PartymemberVisitEntity(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (null == visitId) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								partymemberVisitEntity.setCustomerId(fromDTO.getCustomerId()); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |