| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -241,23 +241,25 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String post = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_CREATE_PREAUTHCODE_URL + accessToken, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        log.info(String.format(POST_RESULT,post)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Map hashMap = JSON.parseObject(post, Map.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        preAuthCode = hashMap.get(ModuleConstant.PRE_AUTH_CODE).toString(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Integer expiresIn = (Integer) hashMap.get(ModuleConstant.EXPIRES_IN); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Date expiresInTime = this.countExpirationTime(expiresIn.toString()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (StringUtils.isNotEmpty(preAuthCode)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //预授权码 存DB
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            PreAuthTokenFormDTO formDTO = new PreAuthTokenFormDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            formDTO.setPreAuthToken(preAuthCode); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            formDTO.setExpiresInTime(expiresInTime); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //先逻辑删除,在插入DB
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            preAuthTokenDao.updateOldPreAuthCode(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            preAuthTokenDao.insertPreAuthToken(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //预授权码 放入缓存
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            redisThird.setPreAuthCode(preAuthCode); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            throw new RuntimeException(FAILURE_GET_PRE_AUTH_CODE); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        if (!hashMap.containsKey(ModuleConstant.ERR_MSG)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            preAuthCode = hashMap.get(ModuleConstant.PRE_AUTH_CODE).toString(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Integer expiresIn = (Integer) hashMap.get(ModuleConstant.EXPIRES_IN); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Date expiresInTime = this.countExpirationTime(expiresIn.toString()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (StringUtils.isNotEmpty(preAuthCode)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                //预授权码 存DB
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                PreAuthTokenFormDTO formDTO = new PreAuthTokenFormDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                formDTO.setPreAuthToken(preAuthCode); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                formDTO.setExpiresInTime(expiresInTime); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                //先逻辑删除,在插入DB
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                preAuthTokenDao.updateOldPreAuthCode(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                preAuthTokenDao.insertPreAuthToken(formDTO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                //预授权码 放入缓存
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                redisThird.setPreAuthCode(preAuthCode); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                throw new RuntimeException(FAILURE_GET_PRE_AUTH_CODE); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            log.info(END_GET_PRE_AUTH_CODE); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        log.info(END_GET_PRE_AUTH_CODE); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        return preAuthCode; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |