package com.zy.asrs.task.handler;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.core.exception.CoolException;
|
import com.zy.asrs.task.AbstractHandler;
|
import com.zy.asrs.task.ErpAccessTokenScheduler;
|
import com.zy.common.utils.HttpHandler;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.io.IOException;
|
|
@Service
|
@Slf4j
|
public class ErpAccessTokenHandler extends AbstractHandler<String> {
|
private String erpIp = "http://10.100.221.19:81";
|
|
|
public void getAccessToken() {
|
JSONObject appTokenJson = new JSONObject();
|
appTokenJson.put("appId", "ESB");
|
appTokenJson.put("appSecuret", "123456789");
|
appTokenJson.put("tenantid", "ierp");
|
appTokenJson.put("accountId", "1492035591649364992");
|
appTokenJson.put("language", "zh_CN");
|
|
JSONObject appTokenResp;
|
|
//获取app_token,用app_token获取access_token
|
try {
|
appTokenResp = JSON.parseObject(new HttpHandler.Builder()
|
.setUri(erpIp)
|
.setPath("/ierp/api/getAppToken.do")
|
.setJson(appTokenJson.toJSONString())
|
.build()
|
.doPost());
|
} catch (IOException e) {
|
log.info("连接erp服务器超时");
|
return;
|
}
|
JSONObject data = null;
|
try {
|
data = (JSONObject) appTokenResp.get("data");
|
|
} catch (Exception e) {
|
System.out.println("获取appToken为空");
|
throw new CoolException(e);
|
}
|
if(data == null){
|
return;
|
}
|
if (data == null) {
|
return;
|
}
|
//获取access_token
|
if ((boolean) data.get("success")) {
|
JSONObject accessTokenJson = new JSONObject();
|
accessTokenJson.put("user", "13800000000");
|
accessTokenJson.put("apptoken", (String) data.get("app_token"));
|
accessTokenJson.put("tenantid", "ierp");
|
accessTokenJson.put("accountId", "1492035591649364992");
|
accessTokenJson.put("usertype", "Mobile");
|
|
JSONObject accessTokenResp;
|
//获取app_token,用app_token获取access_token
|
try {
|
accessTokenResp = JSON.parseObject(new HttpHandler.Builder()
|
.setUri(erpIp)
|
.setPath("/ierp/api/login.do")
|
.setJson(accessTokenJson.toJSONString())
|
.build()
|
.doPost());
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
JSONObject accessTokenData = null;
|
try {
|
accessTokenData = (JSONObject) accessTokenResp.get("data");
|
} catch (Exception e) {
|
System.out.println("获取accessToken为空");
|
throw new CoolException(e);
|
}
|
|
if ((boolean) accessTokenData.get("success")) {
|
ErpAccessTokenScheduler.accessToken = (String) accessTokenData.get("access_token");
|
log.info("更新access_token, 新token为:" + (String) accessTokenData.get("access_token"));
|
}
|
|
}
|
|
|
}
|
}
|