|
@@ -63,24 +63,41 @@ public class CustomerAccessTokenUtil {
|
|
|
|
|
|
|
|
public String getAccessToken(){
|
|
public String getAccessToken(){
|
|
|
|
|
|
|
|
- //token未过期使用缓存的token
|
|
|
|
|
- long currentTiem = new Date().getSeconds();
|
|
|
|
|
- if(accessToken==null||((currentTiem-createTime)>=expires)){
|
|
|
|
|
|
|
+ JSONObject json;
|
|
|
|
|
+ String url;
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ //token未过期使用缓存的token
|
|
|
|
|
+ long currentTiem = new Date().getTime();
|
|
|
|
|
+ log.info("线程id{}",Thread.currentThread().getId());
|
|
|
|
|
+ log.info("过期时间为{}",this.createTime+this.expires*1000);
|
|
|
|
|
+ log.info("当前时间为{}",currentTiem);
|
|
|
|
|
+ if(this.accessToken!=null &&(currentTiem-createTime)<(this.expires-10)*1000){
|
|
|
|
|
+ log.info("本身的token为{}",this.accessToken);
|
|
|
|
|
+ return this.accessToken;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ log.info("开始通过接口获取经销商数据token:url==>",tokenUrl);
|
|
|
String res = HttpUtils.sendSSLGet(String.format(tokenUrl,appid,appsecret));
|
|
String res = HttpUtils.sendSSLGet(String.format(tokenUrl,appid,appsecret));
|
|
|
- JSONObject json = JSONObject.parseObject(res);
|
|
|
|
|
|
|
+ json = JSONObject.parseObject(res);
|
|
|
|
|
+
|
|
|
|
|
+ log.info("结果返回==》",json);
|
|
|
int code = json.getInteger("code");
|
|
int code = json.getInteger("code");
|
|
|
if(code==0){
|
|
if(code==0){
|
|
|
- createTime = new Date().getSeconds();
|
|
|
|
|
|
|
+ createTime = new Date().getTime();
|
|
|
expires = json.getInteger("expires_in");
|
|
expires = json.getInteger("expires_in");
|
|
|
accessToken=json.getString("access_token");
|
|
accessToken=json.getString("access_token");
|
|
|
}else{
|
|
}else{
|
|
|
accessToken= null;
|
|
accessToken= null;
|
|
|
createTime =0;
|
|
createTime =0;
|
|
|
expires = 0;
|
|
expires = 0;
|
|
|
- log.error("获取diy经销商接口报错,错误代码:"+code+",信息:"+json.getString("msg"));
|
|
|
|
|
|
|
+ log.error("获取经销商数据token出错,错误代码:"+code+",信息:"+json.getString("msg"));
|
|
|
throw new BusinessException("获取diy经销商接口报错,错误代码:"+code+",信息:"+json.getString("msg"));
|
|
throw new BusinessException("获取diy经销商接口报错,错误代码:"+code+",信息:"+json.getString("msg"));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ }catch (Exception e){
|
|
|
|
|
+ reSetToken();
|
|
|
|
|
+ log.error("获取E签宝token错误",e);
|
|
|
|
|
+ throw e;
|
|
|
}
|
|
}
|
|
|
return accessToken;
|
|
return accessToken;
|
|
|
|
|
|
|
@@ -100,7 +117,12 @@ public class CustomerAccessTokenUtil {
|
|
|
}
|
|
}
|
|
|
return url;
|
|
return url;
|
|
|
}
|
|
}
|
|
|
|
|
+ public void reSetToken() {
|
|
|
|
|
+ log.info("清除经销商token缓存");
|
|
|
|
|
+ this.accessToken =null;
|
|
|
|
|
+ this.expires = 0;
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|