fix 反馈任务状态接口超时重发、烘箱和输送线都优化了逻辑
This commit is contained in:
@@ -415,6 +415,11 @@
|
|||||||
<artifactId>UserAgentUtils</artifactId>
|
<artifactId>UserAgentUtils</artifactId>
|
||||||
<version>1.21</version>
|
<version>1.21</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.retry</groupId>
|
||||||
|
<artifactId>spring-retry</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<distributionManagement>
|
<distributionManagement>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import org.springframework.boot.web.servlet.ServletComponentScan;
|
|||||||
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
|
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
|
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
|
||||||
|
import org.springframework.retry.annotation.EnableRetry;
|
||||||
import org.springframework.scheduling.annotation.EnableAsync;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
@@ -35,6 +36,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
@EnableJpaAuditing(auditorAwareRef = "auditorAware")
|
@EnableJpaAuditing(auditorAwareRef = "auditorAware")
|
||||||
@EnableMethodCache(basePackages = "org.nl")
|
@EnableMethodCache(basePackages = "org.nl")
|
||||||
@EnableCreateCacheAnnotation
|
@EnableCreateCacheAnnotation
|
||||||
|
@EnableRetry
|
||||||
public class AppRun {
|
public class AppRun {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|||||||
@@ -123,6 +123,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
|
|
||||||
String device_code;
|
String device_code;
|
||||||
|
|
||||||
|
//当前指令
|
||||||
|
Instruction inst = null;
|
||||||
|
|
||||||
//0 无任务执行 1更新指令状态 2下发电气信号 3允许取货 允许放货 5放货完成
|
//0 无任务执行 1更新指令状态 2下发电气信号 3允许取货 允许放货 5放货完成
|
||||||
int now_steps_type = 0;
|
int now_steps_type = 0;
|
||||||
String notCreateTaskMessage = "";
|
String notCreateTaskMessage = "";
|
||||||
@@ -130,6 +133,11 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
String feedMessage = "";
|
String feedMessage = "";
|
||||||
|
|
||||||
|
|
||||||
|
List<String> getDeviceCodeList = null;
|
||||||
|
|
||||||
|
List<String> putDeviceCodeList = null;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Device getDevice() {
|
public Device getDevice() {
|
||||||
return this.device;
|
return this.device;
|
||||||
@@ -181,6 +189,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
feedMessage = "";
|
feedMessage = "";
|
||||||
notCreateInstMessage = "";
|
notCreateInstMessage = "";
|
||||||
notCreateTaskMessage = "";
|
notCreateTaskMessage = "";
|
||||||
|
inst = null;
|
||||||
message = null;
|
message = null;
|
||||||
}
|
}
|
||||||
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
|
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
|
||||||
@@ -266,6 +275,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
}
|
}
|
||||||
if (task != 0) {
|
if (task != 0) {
|
||||||
remark = remark + "当前上报任务号(task)应该为0,";
|
remark = remark + "当前上报任务号(task)应该为0,";
|
||||||
|
if(ObjectUtil.isNotEmpty(this.inst)){
|
||||||
|
this.inst = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (requireSucess) {
|
if (requireSucess) {
|
||||||
remark = remark + "请右击该图标,将请求任务复位标记(requireSucess)改为否。";
|
remark = remark + "请右击该图标,将请求任务复位标记(requireSucess)改为否。";
|
||||||
@@ -313,9 +325,14 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
} else {
|
} else {
|
||||||
this.instruction_require_time = date;
|
this.instruction_require_time = date;
|
||||||
//抓取工位
|
//抓取工位
|
||||||
List<String> getDeviceCodeList = this.getExtraDeviceCodes("get_device_code");
|
if(ObjectUtil.isEmpty(getDeviceCodeList)){
|
||||||
|
getDeviceCodeList = this.getExtraDeviceCodes("get_device_code");
|
||||||
|
}
|
||||||
//放货工位
|
//放货工位
|
||||||
List<String> putDeviceCodeList = this.getExtraDeviceCodes("put_device_code");
|
if(ObjectUtil.isEmpty(putDeviceCodeList)){
|
||||||
|
putDeviceCodeList = this.getExtraDeviceCodes("put_device_code");
|
||||||
|
}
|
||||||
|
|
||||||
TaskDto task = null;
|
TaskDto task = null;
|
||||||
for (int i = 0; i < getDeviceCodeList.size(); i++) {
|
for (int i = 0; i < getDeviceCodeList.size(); i++) {
|
||||||
String startDeviceCode = getDeviceCodeList.get(i);
|
String startDeviceCode = getDeviceCodeList.get(i);
|
||||||
@@ -387,6 +404,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
}
|
}
|
||||||
String start_addr = startDevice.getExtraValue().get("address").toString();
|
String start_addr = startDevice.getExtraValue().get("address").toString();
|
||||||
String next_addr = nextDevice.getExtraValue().get("address").toString();
|
String next_addr = nextDevice.getExtraValue().get("address").toString();
|
||||||
|
logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:"
|
||||||
|
+ instruction.getInstruction_code() + ",指令起点:" + instruction.getStart_device_code()
|
||||||
|
+ ",指令终点:" + instruction.getNext_device_code());
|
||||||
this.writing("to_onset", start_addr);
|
this.writing("to_onset", start_addr);
|
||||||
this.writing("to_target", next_addr);
|
this.writing("to_target", next_addr);
|
||||||
this.writing("to_task", instruction.getInstruction_code());
|
this.writing("to_task", instruction.getInstruction_code());
|
||||||
@@ -524,6 +544,9 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
}
|
}
|
||||||
String start_addr = startDevice.getExtraValue().get("address").toString();
|
String start_addr = startDevice.getExtraValue().get("address").toString();
|
||||||
String next_addr = nextDevice.getExtraValue().get("address").toString();
|
String next_addr = nextDevice.getExtraValue().get("address").toString();
|
||||||
|
logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:"
|
||||||
|
+ instdto.getInstruction_code() + ",指令起点:" + instdto.getStart_device_code()
|
||||||
|
+ ",指令终点:" + instdto.getNext_device_code());
|
||||||
this.writing("to_onset", start_addr);
|
this.writing("to_onset", start_addr);
|
||||||
this.writing("to_target", next_addr);
|
this.writing("to_target", next_addr);
|
||||||
this.writing("to_task", instdto.getInstruction_code());
|
this.writing("to_task", instdto.getInstruction_code());
|
||||||
@@ -782,7 +805,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
//更改任务状态
|
//更改任务状态
|
||||||
if (task > 0) {
|
if (task > 0) {
|
||||||
//inst_message
|
//inst_message
|
||||||
Instruction inst1 = instructionService.findByCodeFromCache(String.valueOf(task));
|
Instruction inst1 = checkInst();
|
||||||
if (inst1 != null) {
|
if (inst1 != null) {
|
||||||
if (StrUtil.equals(inst1.getInstruction_status(), "0")) {
|
if (StrUtil.equals(inst1.getInstruction_status(), "0")) {
|
||||||
inst1.setInstruction_status("1");
|
inst1.setInstruction_status("1");
|
||||||
@@ -794,7 +817,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
|
|
||||||
//申请取货
|
//申请取货
|
||||||
if (mode == 3 && action == 1 && move == 0 && task > 0) {
|
if (mode == 3 && action == 1 && move == 0 && task > 0) {
|
||||||
Instruction inst2 = instructionService.findByCodeFromCache(String.valueOf(task));
|
Instruction inst2 = checkInst();
|
||||||
if (ObjectUtil.isNotEmpty(inst2)) {
|
if (ObjectUtil.isNotEmpty(inst2)) {
|
||||||
String start_device_code = inst2.getStart_device_code();
|
String start_device_code = inst2.getStart_device_code();
|
||||||
Device device = deviceAppService.findDeviceByCode(start_device_code);
|
Device device = deviceAppService.findDeviceByCode(start_device_code);
|
||||||
@@ -863,7 +886,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
|
|
||||||
//取货完成关闭烘箱门
|
//取货完成关闭烘箱门
|
||||||
if (mode == 3 && action == 2 && move == 1 && task > 0) {
|
if (mode == 3 && action == 2 && move == 1 && task > 0) {
|
||||||
Instruction inst2 = instructionService.findByCodeFromCache(String.valueOf(task));
|
Instruction inst2 = checkInst();
|
||||||
if (ObjectUtil.isNotEmpty(inst2)) {
|
if (ObjectUtil.isNotEmpty(inst2)) {
|
||||||
String start_device_code = inst2.getStart_device_code();
|
String start_device_code = inst2.getStart_device_code();
|
||||||
Device device = deviceAppService.findDeviceByCode(start_device_code);
|
Device device = deviceAppService.findDeviceByCode(start_device_code);
|
||||||
@@ -899,7 +922,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
|
|
||||||
//申请放货
|
//申请放货
|
||||||
if (mode == 3 && action == 3 && move == 1 && task > 0) {
|
if (mode == 3 && action == 3 && move == 1 && task > 0) {
|
||||||
Instruction instructionDto = instructionService.findByCodeFromCache(String.valueOf(task));
|
Instruction instructionDto = checkInst();
|
||||||
String next_device_code = instructionDto.getNext_device_code();
|
String next_device_code = instructionDto.getNext_device_code();
|
||||||
Device nextDevice = deviceAppService.findDeviceByCode(next_device_code);
|
Device nextDevice = deviceAppService.findDeviceByCode(next_device_code);
|
||||||
HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
|
HongXiangConveyorDeviceDriver hongXiangConveyorDeviceDriver;
|
||||||
@@ -969,7 +992,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
|
|
||||||
//放货完成
|
//放货完成
|
||||||
if (mode == 3 && action == 4 && move == 0 && task > 0) {
|
if (mode == 3 && action == 4 && move == 0 && task > 0) {
|
||||||
Instruction inst2 = instructionService.findByCodeFromCache(String.valueOf(task));
|
Instruction inst2 = checkInst();
|
||||||
if (inst2 != null) {
|
if (inst2 != null) {
|
||||||
if (StrUtil.equals(inst2.getInstruction_status(), "1")) {
|
if (StrUtil.equals(inst2.getInstruction_status(), "1")) {
|
||||||
|
|
||||||
@@ -1050,4 +1073,21 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Instruction checkInst(){
|
||||||
|
if(ObjectUtil.isNotEmpty(this.inst)){
|
||||||
|
if(this.task>0){
|
||||||
|
if(this.inst.getInstruction_code().equals(String.valueOf(this.task))){
|
||||||
|
return this.inst;
|
||||||
|
} else {
|
||||||
|
inst = instructionService.findByCodeFromCache(String.valueOf(task));
|
||||||
|
return inst;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
inst = instructionService.findByCodeFromCache(String.valueOf(task));
|
||||||
|
return inst;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -235,6 +235,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
message = null;
|
message = null;
|
||||||
if (move == 0) {
|
if (move == 0) {
|
||||||
inst_message = null;
|
inst_message = null;
|
||||||
|
inst = null;
|
||||||
this.hand_barcode = null;
|
this.hand_barcode = null;
|
||||||
this.clearWrite();
|
this.clearWrite();
|
||||||
}
|
}
|
||||||
@@ -528,7 +529,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
jo.put("isError", this.getIserror());
|
jo.put("isError", this.getIserror());
|
||||||
jo.put("message", this.getMessage());
|
jo.put("message", this.getMessage());
|
||||||
jo.put("hand_barcode", hand_barcode);
|
jo.put("hand_barcode", hand_barcode);
|
||||||
jo.put("barcode", this.getMove() == 0 ? null : instructionService.findByCodeFromCache(String.valueOf(task)) == null ? vehicle_code : instructionService.findByCodeFromCache(String.valueOf(task)).getVehicle_code());
|
jo.put("barcode", this.getMove() == 0 ? null : checkInst() == null ? vehicle_code : checkInst().getVehicle_code());
|
||||||
jo.put("is_click", true);
|
jo.put("is_click", true);
|
||||||
jo.put("requireSucess", requireSucess);
|
jo.put("requireSucess", requireSucess);
|
||||||
jo.put("driver_type", "siemens_conveyor");
|
jo.put("driver_type", "siemens_conveyor");
|
||||||
@@ -846,7 +847,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
vehicle_code = hand_barcode;
|
vehicle_code = hand_barcode;
|
||||||
} else {
|
} else {
|
||||||
if (task > 0) {
|
if (task > 0) {
|
||||||
Instruction instruction = instructionService.findByCodeFromCache(String.valueOf(task));
|
Instruction instruction = checkInst();
|
||||||
if (ObjectUtil.isEmpty(instruction)) {
|
if (ObjectUtil.isEmpty(instruction)) {
|
||||||
message = "申请捆扎电气设备任务号:" + task + "未找到对应指令";
|
message = "申请捆扎电气设备任务号:" + task + "未找到对应指令";
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "申请捆扎电气设备任务号:" + task + "未找到对应指令");
|
logServer.deviceExecuteLog(device_code, "", "", "申请捆扎电气设备任务号:" + task + "未找到对应指令");
|
||||||
@@ -1111,7 +1112,7 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.instruction_update_time = date;
|
this.instruction_update_time = date;
|
||||||
inst = instructionService.findByCodeFromCache(String.valueOf(task));
|
inst = checkInst();
|
||||||
if (inst != null) {
|
if (inst != null) {
|
||||||
inst_message = "当前指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() + " 载具号:" + inst.getVehicle_code();
|
inst_message = "当前指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code() + " 载具号:" + inst.getVehicle_code();
|
||||||
vehicle_code = inst.getVehicle_code();
|
vehicle_code = inst.getVehicle_code();
|
||||||
@@ -1139,4 +1140,21 @@ public class SiemensConveyorDeviceDriver extends AbstractOpcDeviceDriver impleme
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Instruction checkInst(){
|
||||||
|
if(ObjectUtil.isNotEmpty(this.inst)){
|
||||||
|
if(this.task>0){
|
||||||
|
if(this.inst.getInstruction_code().equals(String.valueOf(this.task))){
|
||||||
|
return this.inst;
|
||||||
|
} else {
|
||||||
|
inst = instructionService.findByCodeFromCache(String.valueOf(task));
|
||||||
|
return inst;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
inst = instructionService.findByCodeFromCache(String.valueOf(task));
|
||||||
|
return inst;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package org.nl.acs.ext.wms;
|
||||||
|
|
||||||
|
import cn.hutool.http.HttpRequest;
|
||||||
|
import cn.hutool.http.HttpResponse;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||||
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
import org.nl.modules.common.utils.RedisUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.retry.annotation.Backoff;
|
||||||
|
import org.springframework.retry.annotation.Recover;
|
||||||
|
import org.springframework.retry.annotation.Retryable;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author: geng by
|
||||||
|
* @createDate: 2023/7/6
|
||||||
|
*/
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class RetryableUtil {
|
||||||
|
private static ThreadLocal<Integer> retryTimes = new ThreadLocal<>();
|
||||||
|
@Autowired
|
||||||
|
private RedisUtils redisUtils;
|
||||||
|
@Autowired
|
||||||
|
private AcsToWmsService acsToWmsService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 只针对对接系统连接拒绝、连接超时进行重试机制
|
||||||
|
* 如果系统连接成功 但是对方返回失败不进行重试
|
||||||
|
*
|
||||||
|
* @param url
|
||||||
|
* @param param
|
||||||
|
*/
|
||||||
|
@Retryable(maxAttempts = 5, backoff = @Backoff(delay = 15000L, multiplier = 2))
|
||||||
|
public void retryable(String url, String param, String token) {
|
||||||
|
HttpResponse httpResponse = null;
|
||||||
|
String respMessage = null;
|
||||||
|
try {
|
||||||
|
httpResponse =
|
||||||
|
HttpRequest
|
||||||
|
.post(url)
|
||||||
|
.header("Authorization", token).body(String.valueOf(param))
|
||||||
|
.body(param)
|
||||||
|
.timeout(5000)
|
||||||
|
.execute();
|
||||||
|
} catch (Exception e) {
|
||||||
|
respMessage = e.getMessage();
|
||||||
|
}
|
||||||
|
if (retryTimes.get() == null) {
|
||||||
|
retryTimes.set(1);
|
||||||
|
} else {
|
||||||
|
retryTimes.set(retryTimes.get() + 1);
|
||||||
|
}
|
||||||
|
if (httpResponse == null) {
|
||||||
|
log.error("接口进行第{}次重试,请求路径:{},请求参数:{},响应参数:{}", retryTimes.get(), url, JSONObject.parse(param), respMessage);
|
||||||
|
throw new BadRequestException(url + "_" + param + "_" + retryTimes.get());
|
||||||
|
}
|
||||||
|
retryTimes.remove();
|
||||||
|
log.info("接口重试成功,请求路径:{},请求参数:{},重试次数:{}", url, JSONObject.parse(param), retryTimes.get());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Recover
|
||||||
|
public void recover(RuntimeException e) {
|
||||||
|
retryTimes.remove();
|
||||||
|
String[] excMessage = e.getMessage().split("_");
|
||||||
|
log.error("请求路径:{},请求参数:{},已达到最大重试次数:{},停止重试!", excMessage[0], excMessage[1], excMessage[2]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -14,6 +14,7 @@ import org.nl.acs.AcsConfig;
|
|||||||
import org.nl.acs.device.address.service.AddressService;
|
import org.nl.acs.device.address.service.AddressService;
|
||||||
import org.nl.acs.device.address.service.dto.AddressDto;
|
import org.nl.acs.device.address.service.dto.AddressDto;
|
||||||
import org.nl.acs.device.service.DeviceService;
|
import org.nl.acs.device.service.DeviceService;
|
||||||
|
import org.nl.acs.ext.wms.RetryableUtil;
|
||||||
import org.nl.acs.ext.wms.data.*;
|
import org.nl.acs.ext.wms.data.*;
|
||||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||||
@@ -24,6 +25,8 @@ import org.slf4j.MDC;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -43,6 +46,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
DeviceExecuteLogService logServer;
|
DeviceExecuteLogService logServer;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RetryableUtil retryableUtil;
|
||||||
|
|
||||||
/*@Value("${acsTowms.token}")*/
|
/*@Value("${acsTowms.token}")*/
|
||||||
public String token;
|
public String token;
|
||||||
|
|
||||||
@@ -120,6 +126,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
|
|||||||
//网络不通
|
//网络不通
|
||||||
// //System.out.println(msg);
|
// //System.out.println(msg);
|
||||||
log.info("feedbackTaskStatusToWms-----输出参数{}", msg);
|
log.info("feedbackTaskStatusToWms-----输出参数{}", msg);
|
||||||
|
CompletableFuture.runAsync(() -> {
|
||||||
|
retryableUtil.retryable(wmsurl + methods_url, JSON.toJSONString(data), token);
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user