| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -7,7 +7,6 @@ import com.epmet.commons.tools.constant.NumConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.exception.RenException; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.commons.tools.utils.HttpClientManager; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.constant.ModuleConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.constant.ThirdApiConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.constant.ThirdRunTimeInfoConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dao.*; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.dto.form.*; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -19,6 +18,7 @@ import com.epmet.mpaes.WXBizMsgCrypt; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.mpaes.WXXmlToMapUtil; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.redis.RedisThird; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.service.ComponentVerifyTicketService; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import com.epmet.wxapi.constant.WxMaCodeConstant; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import lombok.extern.slf4j.Slf4j; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import org.apache.commons.lang3.StringUtils; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import org.springframework.beans.BeanUtils; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -182,7 +182,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            jsonObject.put(ModuleConstant.COMPONENT_APPID, componentAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            jsonObject.put(ModuleConstant.COMPONENT_APPSECRET, appSecret); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            jsonObject.put(ModuleConstant.TICKET_UNDERLINE_KEY, componentVerifyTicket); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String post = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.API_COMPONENT_TOKEN_URL, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String post = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_COMPONENT_TOKEN_URL, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Map hashMap = JSON.parseObject(post, Map.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String componentAccessToken = hashMap.get(COMPONENT_ACCESS_TOKEN).toString(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Integer expiresIn = (Integer) hashMap.get(ModuleConstant.EXPIRES_IN); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -219,7 +219,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String accessToken = redisThird.getComponentAccessToken(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            JSONObject jsonObject = new JSONObject(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            jsonObject.put(ModuleConstant.COMPONENT_APPID, componentAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String post = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.API_CREATE_PREAUTHCODE_URL + accessToken, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            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(); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -259,7 +259,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        JSONObject jsonObject = new JSONObject(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        jsonObject.put(ModuleConstant.COMPONENT_APPID, componentAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        jsonObject.put(ModuleConstant.AUTHORIZATION_CODE, authCode); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String authInfo = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.API_QUERY_AUTH_URL + accessToken, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String authInfo = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_QUERY_AUTH_URL + accessToken, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        HashMap<String,Map> hashMap = JSON.parseObject(authInfo, HashMap.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Map map = hashMap.get(ModuleConstant.AUTHORIZATION_INFO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        authorizationInfoResultDTO = mapToEntity(map, AuthorizationInfoResultDTO.class); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -328,7 +328,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                //第三方平台AppId
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                jsonObject.put(ModuleConstant.COMPONENT_APPID,componentAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                jsonObject.put(ModuleConstant.AUTHORIZER_REFRESH_TOKEN,willOverDueDTO.getAuthorizerRefreshToken()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                String data = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.API_AUTHORIZER_TOKEN_URL, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_AUTHORIZER_TOKEN_URL, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                Map map = JSON.parseObject(data, HashMap.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                //authorizer_access_token
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                String authorizerAccessToken = map.get(ModuleConstant.AUTHORIZER_ACCESS_TOKEN).toString(); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -408,7 +408,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        JSONObject jsonObject = new JSONObject(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        jsonObject.put(ModuleConstant.COMPONENT_APP_ID,componentAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        jsonObject.put(ModuleConstant.AUTHORIZER_APP_ID,authAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String data = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.API_GET_AUTHORIZER_INFO, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_GET_AUTHORIZER_INFO, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Map<String,Map> map = JSON.parseObject(data, Map.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Map authorizerInfo = map.get(ModuleConstant.AUTHORIZER_INFO); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        log.info("授权信息:"+authorizerInfo); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -503,7 +503,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            //没有任何一个小程序/公众号授权,【先创建,再绑定】
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            JSONObject jsonObject = new JSONObject(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            jsonObject.put(ModuleConstant.APP_ID,authAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String data = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.API_CREATE_OPEN, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_CREATE_OPEN, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Map<String,String> map = JSON.parseObject(data, Map.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            CreateOpenResultDTO createOpen = new CreateOpenResultDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            createOpen.setErrCode(Integer.valueOf(map.get(ModuleConstant.ERR_CODE))); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -532,7 +532,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            JSONObject jsonObject = new JSONObject(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            jsonObject.put(ModuleConstant.LOW_APP_ID,componentAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            jsonObject.put(ModuleConstant.OPEN_APP_ID,openAppId); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String data = HttpClientManager.getInstance().sendPostByJSON(ThirdApiConstant.API_BIND_OPEN, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            String data = HttpClientManager.getInstance().sendPostByJSON(WxMaCodeConstant.API_BIND_OPEN, JSON.toJSONString(jsonObject)).getData(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            Map<String,String> map = JSON.parseObject(data, Map.class); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            CreateOpenResultDTO createOpen = new CreateOpenResultDTO(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            createOpen.setErrCode(Integer.valueOf(map.get(ModuleConstant.ERR_CODE))); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -607,6 +607,7 @@ public class ComponentVerifyTicketServiceImpl implements ComponentVerifyTicketSe | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     * @author zxc | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					     */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    public Date countExpirationTime(String expiresIn){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        expiresIn = expiresIn + "000"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        Date date = new Date(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        long l = date.getTime() + Long.valueOf(expiresIn); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        date.setTime(l); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |