|
@@ -65,7 +65,7 @@ public class OMSDisposeService {
|
|
|
accessToken = jedis.get("OMSAccessToken");
|
|
accessToken = jedis.get("OMSAccessToken");
|
|
|
if(StringUtils.isBlank(accessToken)){
|
|
if(StringUtils.isBlank(accessToken)){
|
|
|
// 获取AccessToken 9998重试5次
|
|
// 获取AccessToken 9998重试5次
|
|
|
- accessToken = getOmsAccessTokenWithRetry(10, "accessToken", workInvoiceId);
|
|
|
|
|
|
|
+ accessToken = getOmsAccessTokenWithRetry(10, "accessToken", workInvoiceId, informType);
|
|
|
if(StringUtils.isNotBlank(accessToken)){
|
|
if(StringUtils.isNotBlank(accessToken)){
|
|
|
jedis.setex("OMSAccessToken", seconds, accessToken);
|
|
jedis.setex("OMSAccessToken", seconds, accessToken);
|
|
|
map.put("token状态", "重新获取token成功,存入Redis");
|
|
map.put("token状态", "重新获取token成功,存入Redis");
|
|
@@ -130,7 +130,7 @@ public class OMSDisposeService {
|
|
|
InvoiceTokenInfo.setData(string);
|
|
InvoiceTokenInfo.setData(string);
|
|
|
String jsonInvoiceStr = JSON.toJSONString(InvoiceTokenInfo);
|
|
String jsonInvoiceStr = JSON.toJSONString(InvoiceTokenInfo);
|
|
|
|
|
|
|
|
- String jsonInvoicResultStr = HttpPostJsonUtil.doPost("https://oms-sandbox.einvoice.js.cn:7079/prod-api/output/server/order/upload", jsonInvoiceStr);
|
|
|
|
|
|
|
+ String jsonInvoicResultStr = HttpPostJsonUtil.doPost("https://www.oms.ejinshui-cloud.com:8899/prod-api/output/server/order/upload", jsonInvoiceStr);
|
|
|
System.out.println("✅ 订单提交接口返回值:" + jsonInvoicResultStr);
|
|
System.out.println("✅ 订单提交接口返回值:" + jsonInvoicResultStr);
|
|
|
map.put("订单接口信息", jsonInvoicResultStr);
|
|
map.put("订单接口信息", jsonInvoicResultStr);
|
|
|
|
|
|
|
@@ -177,14 +177,14 @@ public class OMSDisposeService {
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
@Transactional(readOnly = false)
|
|
@Transactional(readOnly = false)
|
|
|
- public String getOmsAccessTokenWithRetry(int remainRetryTimes, String getKey, String workInvoiceId) {
|
|
|
|
|
|
|
+ public String getOmsAccessTokenWithRetry(int remainRetryTimes, String getKey, String workInvoiceId, String informType) {
|
|
|
try {
|
|
try {
|
|
|
OMSAccessTokenInfo tokenInfo = new OMSAccessTokenInfo();
|
|
OMSAccessTokenInfo tokenInfo = new OMSAccessTokenInfo();
|
|
|
tokenInfo.setAppId(appId);
|
|
tokenInfo.setAppId(appId);
|
|
|
tokenInfo.setAppKey(appKey);
|
|
tokenInfo.setAppKey(appKey);
|
|
|
tokenInfo.setExchangeId(UUID.randomUUID().toString());
|
|
tokenInfo.setExchangeId(UUID.randomUUID().toString());
|
|
|
String jsonStr = JSON.toJSONString(tokenInfo);
|
|
String jsonStr = JSON.toJSONString(tokenInfo);
|
|
|
- String accessTokenStr = HttpPostJsonUtil.doPost("https://oms-sandbox.einvoice.js.cn:7079/prod-api/server/accessToken", jsonStr);
|
|
|
|
|
|
|
+ String accessTokenStr = HttpPostJsonUtil.doPost("https://www.oms.ejinshui-cloud.com:8899/prod-api/server/accessToken", jsonStr);
|
|
|
|
|
|
|
|
if(StringUtils.isBlank(accessTokenStr)){
|
|
if(StringUtils.isBlank(accessTokenStr)){
|
|
|
System.err.println("获取AccessToken失败:接口返回空,剩余重试次数:"+remainRetryTimes);
|
|
System.err.println("获取AccessToken失败:接口返回空,剩余重试次数:"+remainRetryTimes);
|
|
@@ -208,7 +208,7 @@ public class OMSDisposeService {
|
|
|
int nextRetry = remainRetryTimes - 1;
|
|
int nextRetry = remainRetryTimes - 1;
|
|
|
System.err.println("⚠️ 获取AccessToken返回9998接口波动,30秒后重试,剩余次数:"+nextRetry);
|
|
System.err.println("⚠️ 获取AccessToken返回9998接口波动,30秒后重试,剩余次数:"+nextRetry);
|
|
|
Thread.sleep(30 * 1000);
|
|
Thread.sleep(30 * 1000);
|
|
|
- return getOmsAccessTokenWithRetry(nextRetry, getKey, workInvoiceId);
|
|
|
|
|
|
|
+ return getOmsAccessTokenWithRetry(nextRetry, getKey, workInvoiceId, informType);
|
|
|
} else {
|
|
} else {
|
|
|
System.err.println("❌ 获取AccessToken失败:连续5次返回9998,重试次数耗尽!");
|
|
System.err.println("❌ 获取AccessToken失败:连续5次返回9998,重试次数耗尽!");
|
|
|
//需要将错误信息保存到对应开票信息表中
|
|
//需要将错误信息保存到对应开票信息表中
|
|
@@ -219,6 +219,7 @@ public class OMSDisposeService {
|
|
|
workInvoiceDao.updateAccessTokenErrorById(workInvoice);
|
|
workInvoiceDao.updateAccessTokenErrorById(workInvoice);
|
|
|
}
|
|
}
|
|
|
//如果需要 可以将执行失败信息通过短信通知业务发起人
|
|
//如果需要 可以将执行失败信息通过短信通知业务发起人
|
|
|
|
|
+ handleInvoiceRetryAllFail("", workInvoiceId, "获取AccessToken失败,需要业务人员重新发起", informType); // 解析失败也执行兜底方法
|
|
|
|
|
|
|
|
return "";
|
|
return "";
|
|
|
}
|
|
}
|
|
@@ -403,7 +404,7 @@ public class OMSDisposeService {
|
|
|
//将错误信息保存到数据库
|
|
//将错误信息保存到数据库
|
|
|
workInvoice.setOmsErrorMessage(errorMessage);
|
|
workInvoice.setOmsErrorMessage(errorMessage);
|
|
|
workInvoice.setOmsAccessToken(accessToken);
|
|
workInvoice.setOmsAccessToken(accessToken);
|
|
|
- workInvoice.setInvoiceState("1");
|
|
|
|
|
|
|
+ workInvoice.setInvoiceState("3");
|
|
|
//修改结果
|
|
//修改结果
|
|
|
workInvoiceDao.updateAccessTokenErrorById(workInvoice);
|
|
workInvoiceDao.updateAccessTokenErrorById(workInvoice);
|
|
|
|
|
|
|
@@ -438,7 +439,7 @@ public class OMSDisposeService {
|
|
|
accessToken = jedis.get("OMSAccessToken");
|
|
accessToken = jedis.get("OMSAccessToken");
|
|
|
if(StringUtils.isBlank(accessToken)){
|
|
if(StringUtils.isBlank(accessToken)){
|
|
|
// 获取AccessToken 9998重试5次
|
|
// 获取AccessToken 9998重试5次
|
|
|
- accessToken = getOmsAccessTokenWithRetry(10, "accessToken", workInvoiceId);
|
|
|
|
|
|
|
+ accessToken = getOmsAccessTokenWithRetry(10, "accessToken", workInvoiceId, informType);
|
|
|
if(StringUtils.isNotBlank(accessToken)){
|
|
if(StringUtils.isNotBlank(accessToken)){
|
|
|
jedis.setex("OMSAccessToken", seconds, accessToken);
|
|
jedis.setex("OMSAccessToken", seconds, accessToken);
|
|
|
map.put("token状态", "重新获取token成功,存入Redis");
|
|
map.put("token状态", "重新获取token成功,存入Redis");
|
|
@@ -462,7 +463,7 @@ public class OMSDisposeService {
|
|
|
InvoiceTokenInfo.setData(string);
|
|
InvoiceTokenInfo.setData(string);
|
|
|
String jsonInvoiceStr = JSON.toJSONString(InvoiceTokenInfo);
|
|
String jsonInvoiceStr = JSON.toJSONString(InvoiceTokenInfo);
|
|
|
|
|
|
|
|
- String jsonInvoicResultStr = HttpPostJsonUtil.doPost("https://oms-sandbox.einvoice.js.cn:7079/prod-api/output/server/invoice/makeredinv", jsonInvoiceStr);
|
|
|
|
|
|
|
+ String jsonInvoicResultStr = HttpPostJsonUtil.doPost("https://www.oms.ejinshui-cloud.com:8899/prod-api/output/server/invoice/makeredinv", jsonInvoiceStr);
|
|
|
System.out.println("✅ 快速红冲订单提交接口返回值:" + jsonInvoicResultStr);
|
|
System.out.println("✅ 快速红冲订单提交接口返回值:" + jsonInvoicResultStr);
|
|
|
map.put("快速红冲订单接口信息", jsonInvoicResultStr);
|
|
map.put("快速红冲订单接口信息", jsonInvoicResultStr);
|
|
|
|
|
|
|
@@ -501,7 +502,7 @@ public class OMSDisposeService {
|
|
|
accessToken = jedis.get("OMSAccessToken");
|
|
accessToken = jedis.get("OMSAccessToken");
|
|
|
if(StringUtils.isBlank(accessToken)){
|
|
if(StringUtils.isBlank(accessToken)){
|
|
|
// 获取AccessToken 9998重试5次
|
|
// 获取AccessToken 9998重试5次
|
|
|
- accessToken = getOmsAccessTokenWithRetry(10, "accessToken", workInvoiceId);
|
|
|
|
|
|
|
+ accessToken = getOmsAccessTokenWithRetry(10, "accessToken", workInvoiceId, informType);
|
|
|
if(StringUtils.isNotBlank(accessToken)){
|
|
if(StringUtils.isNotBlank(accessToken)){
|
|
|
jedis.setex("OMSAccessToken", seconds, accessToken);
|
|
jedis.setex("OMSAccessToken", seconds, accessToken);
|
|
|
map.put("token状态", "重新获取token成功,存入Redis");
|
|
map.put("token状态", "重新获取token成功,存入Redis");
|
|
@@ -581,7 +582,7 @@ public class OMSDisposeService {
|
|
|
InvoiceTokenInfo.setData(string);
|
|
InvoiceTokenInfo.setData(string);
|
|
|
String jsonInvoiceStr = JSON.toJSONString(InvoiceTokenInfo);
|
|
String jsonInvoiceStr = JSON.toJSONString(InvoiceTokenInfo);
|
|
|
|
|
|
|
|
- String jsonInvoicResultStr = HttpPostJsonUtil.doPost("https://oms-sandbox.einvoice.js.cn:7079/prod-api/output/server/redApply/apply", jsonInvoiceStr);
|
|
|
|
|
|
|
+ String jsonInvoicResultStr = HttpPostJsonUtil.doPost("https://www.oms.ejinshui-cloud.com:8899/prod-api/output/server/redApply/apply", jsonInvoiceStr);
|
|
|
System.out.println("✅ 全场景红冲订单提交接口返回值:" + jsonInvoicResultStr);
|
|
System.out.println("✅ 全场景红冲订单提交接口返回值:" + jsonInvoicResultStr);
|
|
|
map.put("全场景红冲订单接口信息", jsonInvoicResultStr);
|
|
map.put("全场景红冲订单接口信息", jsonInvoicResultStr);
|
|
|
|
|
|