| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -155,13 +155,7 @@ public class PaCustomerServiceImpl extends BaseServiceImpl<PaCustomerDao, PaCust | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Override | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    @Transactional(rollbackFor = Exception.class) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public void register(RegisterFormDTO formDTO) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //1.根据手机号查询到用户信息,判断用户是否存
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<PaUserDTO> userList = paUserDao.selectUserByPhone(formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (null != userList && userList.size() > NumConstant.ZERO) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException(PaConstant.PHONE_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //2.校验验证码是否正确
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //0.校验验证码是否正确
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String smsCodeKey = RedisKeys.getLoginSmsCodeKey(LoginConstant.APP_PUBLIC, LoginConstant.CLIENT_MP, formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String rightSmsCode = (String) redisUtils.get(smsCodeKey); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (!formDTO.getSmsCode().equals(rightSmsCode)) { | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -169,31 +163,80 @@ public class PaCustomerServiceImpl extends BaseServiceImpl<PaCustomerDao, PaCust | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException(EpmetErrorCode.MOBILE_CODE_ERROR.getCode()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //3.pa_user表更新数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        PaUserEntity userEntity = new PaUserEntity(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        userEntity.setId(formDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        userEntity.setPhone(formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        userEntity.setRealName(formDTO.getSurName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        userEntity.setGender(formDTO.getGender().toString()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (paUserDao.updateById(userEntity) < NumConstant.ONE) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException(PaConstant.UPDATE_USER_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //1.根据手机号查询到用户信息,判断用户是否存
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        List<PaUserDTO> userList = paUserDao.selectUserByPhone(formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (null != userList && userList.size() > NumConstant.ZERO) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException(PaConstant.PHONE_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //2.访问记录表新增数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        PaUserWechatDTO dto = new PaUserWechatDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        dto.setUserId(formDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        PaUserWechatEntity wechatEntity = paUserWechatDao.selectWechatByUserId(dto); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (null == wechatEntity) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException(PaConstant.SELECT_WECHAT_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        PaUserVisitedEntity visitedEntity = new PaUserVisitedEntity(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        visitedEntity.setUserId(formDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        visitedEntity.setWxOpenId(wechatEntity.getWxOpenId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        visitedEntity.setOpenId(wechatEntity.getWxOpenId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        visitedEntity.setPhone(formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (paUserVisitedDao.insert(visitedEntity) < NumConstant.ONE) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RenException(PaConstant.SAVE_VISITED_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //2.根据token中的userId查询pa_user表数据,根据手机号是否为空判断后续是新增还是更新user数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        PaUserEntity paUserEntity = paUserDao.selectById(formDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        //3.手机号不为空说明是同一个微信用户用第二个手机号注册,手机为空说明当前微信用户用第一个手机号注册
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if(null != paUserEntity.getPhone() && StringUtils.isNotBlank(paUserEntity.getPhone())){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //手机号不为空说明是同一个微信用户用第二个手机号注册,新增user和user_wechat表数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //3-1.user表新增数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PaUserEntity userEntity = new PaUserEntity(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            userEntity.setPhone(formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            userEntity.setRealName(formDTO.getSurName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            userEntity.setGender(formDTO.getGender().toString()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (paUserDao.insert(userEntity) < NumConstant.ONE) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                throw new RenException(PaConstant.SAVE_USER_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //3-2.根据token中的userId查询用户的微信信息
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PaUserWechatDTO dto = new PaUserWechatDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setUserId(formDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PaUserWechatEntity wechatEntity = paUserWechatDao.selectWechatByUserId(dto); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (null == wechatEntity) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                throw new RenException(PaConstant.SELECT_WECHAT_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //3-3.新增用户微信信息
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            wechatEntity.setUserId(userEntity.getId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (paUserWechatDao.insert(wechatEntity) < NumConstant.ONE) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                throw new RenException(PaConstant.SAVE_WECHAT_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //3-4.访问记录表新增数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PaUserVisitedEntity visitedEntity = new PaUserVisitedEntity(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            visitedEntity.setUserId(userEntity.getId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            visitedEntity.setWxOpenId(wechatEntity.getWxOpenId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            visitedEntity.setOpenId(wechatEntity.getWxOpenId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            visitedEntity.setPhone(formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (paUserVisitedDao.insert(visitedEntity) < NumConstant.ONE) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                throw new RenException(PaConstant.SAVE_VISITED_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //手机为空说明当前微信用户用第一个手机号注册,更新user表数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //3-1.pa_user表更新数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PaUserEntity userEntity = new PaUserEntity(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            userEntity.setId(formDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            userEntity.setPhone(formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            userEntity.setRealName(formDTO.getSurName()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            userEntity.setGender(formDTO.getGender().toString()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (paUserDao.updateById(userEntity) < NumConstant.ONE) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                throw new RenException(PaConstant.UPDATE_USER_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //3-2.访问记录表新增数据
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PaUserWechatDTO dto = new PaUserWechatDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            dto.setUserId(formDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PaUserWechatEntity wechatEntity = paUserWechatDao.selectWechatByUserId(dto); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (null == wechatEntity) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                throw new RenException(PaConstant.SELECT_WECHAT_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PaUserVisitedEntity visitedEntity = new PaUserVisitedEntity(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            visitedEntity.setUserId(formDTO.getUserId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            visitedEntity.setWxOpenId(wechatEntity.getWxOpenId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            visitedEntity.setOpenId(wechatEntity.getWxOpenId()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            visitedEntity.setPhone(formDTO.getPhone()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (paUserVisitedDao.insert(visitedEntity) < NumConstant.ONE) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                throw new RenException(PaConstant.SAVE_VISITED_EXCEPTION); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /** | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |