diff --git a/modules/common/pom.xml b/modules/common/pom.xml index 2340aa1..c3d01e1 100644 --- a/modules/common/pom.xml +++ b/modules/common/pom.xml @@ -51,6 +51,7 @@ org.projectlombok lombok + 1.18.30 true diff --git a/modules/filter/pom.xml b/modules/filter/pom.xml index 068c85d..2ff7bfa 100644 --- a/modules/filter/pom.xml +++ b/modules/filter/pom.xml @@ -49,6 +49,7 @@ org.projectlombok lombok + 1.18.30 true diff --git a/modules/pom.xml b/modules/pom.xml index da6a14c..e5b0996 100644 --- a/modules/pom.xml +++ b/modules/pom.xml @@ -37,6 +37,7 @@ org.projectlombok lombok + 1.18.30 true diff --git a/pom.xml b/pom.xml index 19d96e6..d0b2ee2 100644 --- a/pom.xml +++ b/pom.xml @@ -34,6 +34,7 @@ org.projectlombok lombok + 1.18.30 true diff --git a/web/pom.xml b/web/pom.xml index 4a0212b..6d3ae99 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -76,6 +76,7 @@ org.projectlombok lombok + 1.18.30 true diff --git a/web/src/main/java/com/zhehekeji/web/pojo/IndustrialCameraVO.java b/web/src/main/java/com/zhehekeji/web/pojo/IndustrialCameraVO.java index aae53df..9958476 100644 --- a/web/src/main/java/com/zhehekeji/web/pojo/IndustrialCameraVO.java +++ b/web/src/main/java/com/zhehekeji/web/pojo/IndustrialCameraVO.java @@ -25,7 +25,7 @@ public class IndustrialCameraVO implements Delayed { private long executeTime; public IndustrialCameraVO(){ - this.executeTime = System.currentTimeMillis() + 2000; + this.executeTime = System.currentTimeMillis() + 3000; } /** * 获取延迟时间 diff --git a/web/src/main/java/com/zhehekeji/web/service/KuKouService.java b/web/src/main/java/com/zhehekeji/web/service/KuKouService.java index 994f093..b25fb51 100644 --- a/web/src/main/java/com/zhehekeji/web/service/KuKouService.java +++ b/web/src/main/java/com/zhehekeji/web/service/KuKouService.java @@ -13,6 +13,7 @@ import com.zhehekeji.web.entity.KuKou; import com.zhehekeji.web.mapper.KukouMapper; import com.zhehekeji.web.pojo.IndustrialCameraVO; import com.zhehekeji.web.pojo.OrderSearch; +import com.zhehekeji.web.service.ksec.CommandQueue; import lombok.extern.slf4j.Slf4j; import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.HttpEntity; @@ -29,7 +30,6 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import static com.zhehekeji.web.service.ksec.CommandQueue.addCommand; @Service @Slf4j @@ -55,7 +55,7 @@ public class KuKouService extends ServiceImpl implements IS private ScheduledExecutorService scheduledExecutor = Executors.newScheduledThreadPool(10); // 初始化一个包含2个线程的调度池; // 可以通过配置注入或使用 @Async 的 scheduler public void setHttp(IndustrialCameraVO scTransmission, Boolean flag) { - addCommand(scTransmission); + CommandQueue.addCommand(scTransmission); } private void sendWithRetry(IndustrialCameraVO scTransmission, Boolean flag, int retryCount) { diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/CommandQueue.java b/web/src/main/java/com/zhehekeji/web/service/ksec/CommandQueue.java index e6f97c2..c898626 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/CommandQueue.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/CommandQueue.java @@ -21,11 +21,14 @@ import java.time.LocalDateTime; import java.util.concurrent.*; import static com.zhehekeji.web.service.KuKouService.setTrayCode; +import static java.lang.Thread.sleep; @Slf4j public class CommandQueue { -// 增加queue +// 增加queue,固定延时3s public static void addCommand(IndustrialCameraVO scTransmission) { + + scTransmission.setExecuteTime(System.currentTimeMillis() + 3000); delayQueue.add(scTransmission); } private static ExecutorService exec = Executors.newFixedThreadPool(1); @@ -37,6 +40,26 @@ public class CommandQueue { exec.execute(new Consumer(restTemplate, configProperties)); } + public static void main(String[] args) { + ConfigProperties configProperties = new ConfigProperties(); + configProperties.setKsec(new ConfigProperties.KSEC()); + configProperties.getKsec().setReportHttp("http://127.0.0.1:8000"); + sentHttp(new RestTemplate(),new ConfigProperties()); + System.out.println(System.currentTimeMillis()); + IndustrialCameraVO industrialCameraVO = new IndustrialCameraVO(); + industrialCameraVO.setTrayCode("1321351351651351"); + IndustrialCameraVO industrialCameraVO2 = new IndustrialCameraVO(); + industrialCameraVO.setTrayCode("1321351351651351"); + delayQueue.add(industrialCameraVO); + delayQueue.add(industrialCameraVO2); + try { + sleep(10000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + + } + private static class Consumer implements Runnable { RestTemplate restTemplate ; ConfigProperties configProperties; @@ -54,6 +77,7 @@ public class CommandQueue { IndustrialCameraVO scTransmission = delayQueue.take(); if(scTransmission != null){ + System.out.println(System.currentTimeMillis()); try { HttpHeaders headers = new HttpHeaders(); headers.set("Content-Type", "application/json"); diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java index 6b8fa39..43729bc 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java @@ -213,6 +213,11 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { }else { ksecInfo.getData().setAckStatus(0); } + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + log.error("sleep error",e); + } ctx.channel().writeAndFlush(ksecInfo); log.info("盘点结束:"+ksecInfo.getData().toString()); @@ -221,6 +226,11 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { ksecInfo.getData().setCmdName("SC02"); ksecInfo.getData().setCheckRlt(flag?1:0); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + log.error("sleep error",e); + } ctx.channel().writeAndFlush(ksecInfo); } //找到该货位的最后一张照片与现在的照片比照