diff --git a/modules/common/pom.xml b/modules/common/pom.xml index 6198415..5a54d97 100644 --- a/modules/common/pom.xml +++ b/modules/common/pom.xml @@ -9,7 +9,7 @@ 1.8 - 2.1.9.RELEASE + 2.3.1.RELEASE 1.2.47 2.1 UTF-8 @@ -42,6 +42,8 @@ org.projectlombok lombok + 1.18.24 + true @@ -98,16 +100,11 @@ core 1.0.0 - - com.zhehekeji - base-assembly - 1.0.0 - + - org.apache.maven.plugins maven-compiler-plugin @@ -117,14 +114,4 @@ - - - nexus - Nexus - http://47.99.98.250:28888/repository/maven-public/ - - false - - - - \ No newline at end of file + diff --git a/modules/common/src/main/java/com/zhehekeji/common/properities/Properity.java b/modules/common/src/main/java/com/zhehekeji/common/properities/Properity.java index ca5ceef..3c40eab 100644 --- a/modules/common/src/main/java/com/zhehekeji/common/properities/Properity.java +++ b/modules/common/src/main/java/com/zhehekeji/common/properities/Properity.java @@ -1,12 +1,8 @@ package com.zhehekeji.common.properities; -import lombok.Getter; -import lombok.Setter; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties("zhehe.common") -@Getter -@Setter public class Properity { private String version; diff --git a/modules/common/src/main/java/com/zhehekeji/common/properities/RedisProperity.java b/modules/common/src/main/java/com/zhehekeji/common/properities/RedisProperity.java index 40d9edf..19bc1d2 100644 --- a/modules/common/src/main/java/com/zhehekeji/common/properities/RedisProperity.java +++ b/modules/common/src/main/java/com/zhehekeji/common/properities/RedisProperity.java @@ -1,10 +1,8 @@ package com.zhehekeji.common.properities; -import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties("zhehe.common.redis") -@Data public class RedisProperity { /** diff --git a/modules/common/src/main/java/com/zhehekeji/common/util/FileUtil.java b/modules/common/src/main/java/com/zhehekeji/common/util/FileUtil.java index c56f19d..719cac1 100644 --- a/modules/common/src/main/java/com/zhehekeji/common/util/FileUtil.java +++ b/modules/common/src/main/java/com/zhehekeji/common/util/FileUtil.java @@ -1,10 +1,8 @@ package com.zhehekeji.common.util; -import lombok.extern.slf4j.Slf4j; import java.io.*; -@Slf4j public class FileUtil { public static void save(String text,String path){ @@ -23,7 +21,7 @@ public class FileUtil { FileOutputStream fileOutputStream = new FileOutputStream(file); fileOutputStream.write(text.getBytes()); fileOutputStream.close(); - log.info("write text success :{}",text); +// log.info("write text success :{}",text); } catch (Exception e) { e.printStackTrace(); } diff --git a/modules/common/src/main/java/com/zhehekeji/common/util/HttpUtil.java b/modules/common/src/main/java/com/zhehekeji/common/util/HttpUtil.java index 2211fc8..9639a7a 100644 --- a/modules/common/src/main/java/com/zhehekeji/common/util/HttpUtil.java +++ b/modules/common/src/main/java/com/zhehekeji/common/util/HttpUtil.java @@ -1,7 +1,6 @@ package com.zhehekeji.common.util; import com.zhehekeji.core.util.Assert; -import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; import org.apache.http.client.config.RequestConfig; @@ -19,7 +18,6 @@ import java.net.URLEncoder; import java.util.Iterator; import java.util.Map; -@Slf4j public class HttpUtil { private static final CloseableHttpClient httpClient; @@ -145,7 +143,7 @@ public class HttpUtil { param.deleteCharAt(param.length() - 1); } } catch (Exception ex) { - log.error("map对象转换为URL异常:{}", ex); +// log.error("map对象转换为URL异常:{}", ex); Assert.isTrue(false, "map对象转换为URL异常"); } return param.toString(); diff --git a/modules/common/src/main/java/com/zhehekeji/common/util/PathUtil.java b/modules/common/src/main/java/com/zhehekeji/common/util/PathUtil.java index cb36cc2..83e4d71 100644 --- a/modules/common/src/main/java/com/zhehekeji/common/util/PathUtil.java +++ b/modules/common/src/main/java/com/zhehekeji/common/util/PathUtil.java @@ -1,6 +1,5 @@ package com.zhehekeji.common.util; -import lombok.extern.slf4j.Slf4j; import java.io.File; import java.io.IOException; @@ -10,7 +9,6 @@ import java.time.format.DateTimeFormatter; import java.util.Random; import java.util.UUID; -@Slf4j public class PathUtil { private static String getRandomString(int length){ @@ -57,7 +55,6 @@ public class PathUtil { try { file.createNewFile(); } catch (IOException e) { - log.error("创建文件出错:{}",e); } } return file; diff --git a/modules/filter/pom.xml b/modules/filter/pom.xml index 5ce40d3..9375834 100644 --- a/modules/filter/pom.xml +++ b/modules/filter/pom.xml @@ -15,7 +15,7 @@ 1.8 - 2.1.9.RELEASE + 2.3.1.RELEASE 0.7.0 @@ -49,6 +49,8 @@ org.projectlombok lombok + 1.18.24 + true diff --git a/modules/filter/src/main/java/com/zhehekeji/filter/aspect/SessionAspect.java b/modules/filter/src/main/java/com/zhehekeji/filter/aspect/SessionAspect.java index 0ee91b7..a623150 100644 --- a/modules/filter/src/main/java/com/zhehekeji/filter/aspect/SessionAspect.java +++ b/modules/filter/src/main/java/com/zhehekeji/filter/aspect/SessionAspect.java @@ -11,7 +11,6 @@ import com.zhehekeji.filter.pojo.SessionHandler; import com.zhehekeji.filter.pojo.UserType; import com.zhehekeji.filter.util.CurrentUserUtil; import com.zhehekeji.filter.util.JwtUtil; -import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.beans.factory.annotation.Value; @@ -30,7 +29,7 @@ import java.io.IOException; **/ @Aspect @Component -@Slf4j +//@Slf4j public class SessionAspect { @Value("${zhehe.filter.enable}") diff --git a/modules/filter/src/main/java/com/zhehekeji/filter/pojo/CurrentUser.java b/modules/filter/src/main/java/com/zhehekeji/filter/pojo/CurrentUser.java index fcc379e..e5a58a6 100644 --- a/modules/filter/src/main/java/com/zhehekeji/filter/pojo/CurrentUser.java +++ b/modules/filter/src/main/java/com/zhehekeji/filter/pojo/CurrentUser.java @@ -1,14 +1,5 @@ package com.zhehekeji.filter.pojo; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@Builder -@NoArgsConstructor public class CurrentUser { /** diff --git a/modules/pom.xml b/modules/pom.xml index f3ee85d..d975d52 100644 --- a/modules/pom.xml +++ b/modules/pom.xml @@ -37,6 +37,8 @@ org.projectlombok lombok + 1.18.24 + true diff --git a/pom.xml b/pom.xml index d9bc382..3f3d12b 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,16 @@ 1.8 - + + + + org.projectlombok + lombok + 1.18.12 + provided + + + org.springframework.boot @@ -34,6 +43,8 @@ org.projectlombok lombok + 1.18.24 + true diff --git a/web/pom.xml b/web/pom.xml index c7f2b67..eec8838 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -50,6 +50,8 @@ org.projectlombok lombok + 1.18.24 + true @@ -57,6 +59,12 @@ common 1.0.0 + + + com.zhehekeji + core + 1.0.0 + io.netty netty-all diff --git a/web/src/main/java/codeDetector/BarcodeDetector.java b/web/src/main/java/codeDetector/BarcodeDetector.java index b840350..4b434ac 100644 --- a/web/src/main/java/codeDetector/BarcodeDetector.java +++ b/web/src/main/java/codeDetector/BarcodeDetector.java @@ -1,10 +1,10 @@ package codeDetector; -import lombok.extern.slf4j.Slf4j; +//import lombok.extern.slf4j.Slf4j; import java.lang.reflect.Field; -@Slf4j +//@Slf4j public class BarcodeDetector{ //Unrecognized :未识别 @@ -69,7 +69,7 @@ public class BarcodeDetector{ System.loadLibrary("BarcodeDetectorJNI"); }catch(Exception e) { - log.error("detectBestBarCode:"+e); +// log.error("detectBestBarCode:"+e); } } diff --git a/web/src/main/java/com/zhehekeji/web/config/ExecutorConfig.java b/web/src/main/java/com/zhehekeji/web/config/ExecutorConfig.java index e770b4a..ecae263 100644 --- a/web/src/main/java/com/zhehekeji/web/config/ExecutorConfig.java +++ b/web/src/main/java/com/zhehekeji/web/config/ExecutorConfig.java @@ -9,6 +9,8 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import javax.annotation.Resource; import java.util.concurrent.Executor; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ThreadPoolExecutor; import java.util.logging.Logger; @@ -38,4 +40,20 @@ public class ExecutorConfig { executor.initialize(); return executor; } + + + @Bean(name = "scheduledExecutorService") + public ScheduledExecutorService scheduledExecutorService() { + ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor( + configProperties.getAsyncExecutorThread().getCorePoolSize(), + r -> { + Thread t = new Thread(r); + t.setDaemon(false); + t.setName("ScheduledExecutor-" + t.getId()); + return t; + } + ); + executor.setMaximumPoolSize(configProperties.getAsyncExecutorThread().getMaxPoolSize()); + return executor; + } } \ No newline at end of file diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java index 3ac0da4..4299bc2 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java @@ -293,6 +293,8 @@ public class CameraControlController { cameraControlModule.ptzControlIrisDecEnd(id,0); return Result.success(); } + @Resource + private TaskDelayExecutor taskDelayExecutor; @PostMapping("/pic/{id}") @ApiOperation(value = "立即拍照") @@ -300,7 +302,7 @@ public class CameraControlController { checkLogin(id); String path = "D:\\work\\"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".jpeg"; cameraControlModule.pic(id,0,path); - TaskDelayExecutor.addPicDelayTask(id,path,0L); + taskDelayExecutor.addPicDelayTask(id,path,0L); return Result.success(path); } diff --git a/web/src/main/java/com/zhehekeji/web/entity/yolo/Calculate.java b/web/src/main/java/com/zhehekeji/web/entity/yolo/Calculate.java index b6d731a..51430ef 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/yolo/Calculate.java +++ b/web/src/main/java/com/zhehekeji/web/entity/yolo/Calculate.java @@ -3,6 +3,7 @@ package com.zhehekeji.web.entity.yolo; import lombok.Data; import java.util.List; +import java.util.Set; @Data public class Calculate { @@ -12,6 +13,7 @@ public class Calculate { int type; String savePath; int layers; + Set minTypes; List fisheye; List closeUp; diff --git a/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java b/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java index f37e459..f4cc31e 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java +++ b/web/src/main/java/com/zhehekeji/web/lib/TaskDelayExecutor.java @@ -1,64 +1,158 @@ package com.zhehekeji.web.lib; import com.zhehekeji.common.util.SpringContextUtil; - +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.util.concurrent.DelayQueue; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicLong; + +@Slf4j +@Component public class TaskDelayExecutor { + // 使用Spring管理的线程池(ThreadPoolTaskExecutor) + @Autowired + @Qualifier("scheduledExecutorService") + private ScheduledExecutorService scheduledExecutorService; - private static ExecutorService exec = Executors.newFixedThreadPool(1); - private static DelayQueue queue = new DelayQueue<>(); + @Resource + CameraControlModule cameraControlModule; - public static void addMp4DelayTask(Integer cameraId, String path, LocalDateTime startTime, LocalDateTime endTime, Long delayTime) { - CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, startTime, endTime,path, 0,delayTime); - queue.add(cameraDelayTask); - } + // 使用ConcurrentHashMap存储任务,替代DelayQueue + private static final ConcurrentHashMap> scheduledTasks = new ConcurrentHashMap<>(); + + // 任务ID生成器 + private static final AtomicLong taskIdGenerator = new AtomicLong(0); + + public void addMp4DelayTask(Integer cameraId, String path, LocalDateTime startTime, LocalDateTime endTime, Long delayTime) { + String taskId = "mp4_" + cameraId + "_" + taskIdGenerator.incrementAndGet(); + log.info("添加延时录像任务: taskId={}, cameraId={}, path={}, delayTime={}ms", taskId, cameraId, path, delayTime); - public static void addPicDelayTask(Integer cameraId, String path, Long delayTime) { - CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, null, null,path, 1,delayTime); - queue.add(cameraDelayTask); + ScheduledFuture scheduledFuture = getExecutorService().schedule(() -> { + try { + log.info("开始执行延时录像任务: taskId={}, cameraId={}, path={}", taskId, cameraId, path); + + cameraControlModule.downloadMp4(cameraId, path, startTime, endTime); + // 任务执行完成后从map中移除 + scheduledTasks.remove(taskId); + } catch (Exception e) { + log.error("执行延时录像任务时发生异常: taskId={}, cameraId={}, path={}, error={}", taskId, cameraId, path, e.getMessage(), e); + } + }, delayTime, TimeUnit.MILLISECONDS); + + scheduledTasks.put(taskId, scheduledFuture); } - public static void addGyrateCameraTask(Integer cameraId, Long delayTime,Integer ptzId){ - CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, null, null,null, 2,delayTime); - cameraDelayTask.setPtzId(ptzId); - queue.add(cameraDelayTask); + public void addPicDelayTask(Integer cameraId, String path, Long delayTime) { + String taskId = "pic_" + cameraId + "_" + taskIdGenerator.incrementAndGet(); + log.info("添加延时拍照任务: taskId={}, cameraId={}, path={}, delayTime={}ms", taskId, cameraId, path, delayTime); + + ScheduledFuture scheduledFuture = getExecutorService().schedule(() -> { + try { + log.info("开始执行延时拍照任务: taskId={}, cameraId={}, path={}", taskId, cameraId, path); + cameraControlModule.pic(cameraId, 0, path); + // 任务执行完成后从map中移除 + scheduledTasks.remove(taskId); + } catch (Exception e) { + log.error("执行延时拍照任务时发生异常: taskId={}, cameraId={}, path={}, error={}", taskId, cameraId, path, e.getMessage(), e); + } + }, delayTime, TimeUnit.MILLISECONDS); + + scheduledTasks.put(taskId, scheduledFuture); } - public static void runMp4DownloadExecutor(){ - exec.execute(new Consumer()); + public void addGyrateCameraTask(Integer cameraId, Long delayTime, Integer ptzId) { + String taskId = "gyrate_" + cameraId + "_" + ptzId + "_" + taskIdGenerator.incrementAndGet(); + log.info("添加转至预置点任务: taskId={}, cameraId={}, ptzId={}, delayTime={}ms", taskId, cameraId, ptzId, delayTime); + + ScheduledFuture scheduledFuture = getExecutorService().schedule(() -> { + try { + log.info("开始执行转至预置点任务: taskId={}, cameraId={}, ptzId={}", taskId, cameraId, ptzId); + cameraControlModule.toPtz(ptzId, cameraId); + // 任务执行完成后从map中移除 + scheduledTasks.remove(taskId); + } catch (Exception e) { + log.error("执行转至预置点任务时发生异常: taskId={}, cameraId={}, ptzId={}, error={}", taskId, cameraId, ptzId, e.getMessage(), e); + } + }, delayTime, TimeUnit.MILLISECONDS); + + scheduledTasks.put(taskId, scheduledFuture); } - private static class Consumer implements Runnable { - - @Override - public void run() { - while (true) { - try { - CameraControlModule cameraControlModule = SpringContextUtil.getBean(CameraControlModule.class); - CameraDelayTask cameraDelayTask = queue.take(); - if(cameraDelayTask != null){ - - if(cameraDelayTask.getType() == 0){ - - cameraControlModule.downloadMp4(cameraDelayTask.getCameraId(), cameraDelayTask.getPath(), cameraDelayTask.getStartTime(), cameraDelayTask.getEndTime()); - }else if(cameraDelayTask.getType() == 1){ - cameraControlModule.pic(cameraDelayTask.getCameraId(),0, cameraDelayTask.getPath()); - }else if(cameraDelayTask.getType() == 2){ - cameraControlModule.toPtz(cameraDelayTask.getPtzId(),cameraDelayTask.getCameraId()); - } - } - - } catch (InterruptedException e) { - e.printStackTrace(); - } + /** + * 取消指定任务 + * @param taskId 任务ID + * @return 是否成功取消 + */ + public static boolean cancelTask(String taskId) { + ScheduledFuture scheduledFuture = scheduledTasks.get(taskId); + if (scheduledFuture != null) { + boolean cancelled = scheduledFuture.cancel(false); + if (cancelled) { + scheduledTasks.remove(taskId); + log.info("成功取消任务: {}", taskId); + } else { + log.warn("取消任务失败: {}", taskId); } + return cancelled; } + log.warn("未找到任务: {}", taskId); + return false; + } + + /** + * 获取当前等待执行的任务数量 + * @return 任务数量 + */ + public static int getPendingTaskCount() { + return scheduledTasks.size(); + } + + /** + * 清除所有任务 + */ + public static void clearAllTasks() { + scheduledTasks.values().forEach(future -> future.cancel(false)); + scheduledTasks.clear(); + log.info("已清除所有延时任务"); } + /** + * 获取线程池实例 + * @return 线程池实例 + */ + private ScheduledExecutorService getExecutorService() { + TaskDelayExecutor bean = SpringContextUtil.getBean(TaskDelayExecutor.class); + if (bean != null && bean.scheduledExecutorService != null) { + return bean.scheduledExecutorService; + } + // 备用方案:创建独立的调度线程池 + log.warn("无法获取Spring管理的线程池,使用备用线程池"); + return new ScheduledThreadPoolExecutor(5, r -> { + Thread t = new Thread(r, "TaskDelayExecutor-Backup-" + taskIdGenerator.incrementAndGet()); + t.setDaemon(false); + return t; + }); + } + + /** + * 定期输出任务统计信息 + */ + @Scheduled(fixedRate = 60000) // 每分钟执行一次 + public void logTaskStatistics() { + log.info("当前等待执行的延时任务数量: {}", scheduledTasks.size()); + } } diff --git a/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java b/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java index 3276a1e..ef7e525 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java +++ b/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java @@ -92,7 +92,7 @@ public class HikLoginModuleImpl implements CameraControlLoginModule { m_strLoginInfo.wPort = (short) m_nPort; - m_strLoginInfo.bUseAsynLogin = true; //是否异步登录:0- 否,1- 是 + m_strLoginInfo.bUseAsynLogin = false; //是否异步登录:0- 否,1- 是 m_strLoginInfo.write(); HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo30 = new HCNetSDK.NET_DVR_DEVICEINFO_V30();//设备信息 diff --git a/web/src/main/java/com/zhehekeji/web/lib/joyware/JoywareCameraControlModuleImpl.java b/web/src/main/java/com/zhehekeji/web/lib/joyware/JoywareCameraControlModuleImpl.java index 67236f4..00d680e 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/joyware/JoywareCameraControlModuleImpl.java +++ b/web/src/main/java/com/zhehekeji/web/lib/joyware/JoywareCameraControlModuleImpl.java @@ -8,6 +8,7 @@ import com.zhehekeji.web.lib.CameraControlModule; import lombok.extern.slf4j.Slf4j; import java.time.LocalDateTime; +import java.util.Calendar; import static com.zhehekeji.web.lib.joyware.JoywareLoginModuleImpl.mp4ReceiveCB; @@ -353,7 +354,17 @@ public class JoywareCameraControlModuleImpl implements CameraControlModule { } } public boolean setCameraTime(Integer cameraId) { - return false; + /** + * 同步时间 + */ + if (CameraConnMap.getConnId(cameraId).longValue() == 0) { + return false; + } + Calendar calendar = Calendar.getInstance(); + NetSDKLib.NET_TIME netTime = new NetSDKLib.NET_TIME(); + netTime.setTime(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH), + calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND)); + return JoywareLoginModuleImpl.netsdk.CLIENT_SetupDeviceTime(CameraConnMap.getConnId(cameraId), netTime); } /** diff --git a/web/src/main/java/com/zhehekeji/web/service/InitService.java b/web/src/main/java/com/zhehekeji/web/service/InitService.java index f1c66e3..98eb516 100644 --- a/web/src/main/java/com/zhehekeji/web/service/InitService.java +++ b/web/src/main/java/com/zhehekeji/web/service/InitService.java @@ -86,10 +86,6 @@ public class InitService implements ApplicationRunner { //球机登录 List cameras = cameraMapper.selectByMap(new HashMap<>(0)); - cameras.forEach(camera -> { - LoginThread loginThread = new LoginThread(camera); - loginThread.start(); - }); //plc连接 if(configProperties.getServerMode() == 0){ log.info("PLC TCP MODE"); @@ -122,10 +118,12 @@ public class InitService implements ApplicationRunner { log.error("ksec no config"); } }else if(configProperties.getServerMode() == 3){} - TaskDelayExecutor.runMp4DownloadExecutor(); - - +// TaskDelayExecutor.runMp4DownloadExecutor(); streetController.closeLightSource(); + cameras.forEach(camera -> { + LoginThread loginThread = new LoginThread(camera); + loginThread.start(); + }); } class LoginThread extends Thread{ diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index 99f17cc..c1fdfd5 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -278,6 +278,8 @@ public class PlcService { upd.setStatus(1); orderMapper.updateById(upd); } + @Resource + private TaskDelayExecutor taskDelayExecutor; public String cameraVideo(Integer cameraId, LocalDateTime startTime, LocalDateTime endTime) { String path = PathUtil.createFileName("mp4", cameraId); @@ -287,7 +289,7 @@ public class PlcService { @Override public void run() { String realPath = configProperties.getSavePath().getMp4Path() + finalPath; - TaskDelayExecutor.addMp4DelayTask(cameraId, realPath, startTime, endTime, configProperties.getCameraConfig().getDelayDownloadMp4()); + taskDelayExecutor.addMp4DelayTask(cameraId, realPath, startTime, endTime, configProperties.getCameraConfig().getDelayDownloadMp4()); } }); thread.start(); @@ -462,7 +464,7 @@ public class PlcService { String realPath = configProperties.getSavePath().getMediaPath() + path; log.info("capture picture, cameraId:{},path:{}delayTime:{}", cameraId, realPath, delayTime); if (delay) { - TaskDelayExecutor.addPicDelayTask(cameraId, realPath, delayTime); + taskDelayExecutor.addPicDelayTask(cameraId, realPath, delayTime); } else { cameraControlModule.pic(cameraId, 0, realPath); } @@ -506,7 +508,7 @@ public class PlcService { if (ptzId != null && ptzId >= 0) { log.info("gyrate camera by code, code:{},cameraId:{},ptId:{}", code, cameraId, ptzId); - TaskDelayExecutor.addGyrateCameraTask(cameraId, times, ptzId); + taskDelayExecutor.addGyrateCameraTask(cameraId, times, ptzId); //cameraControlModule.toPtz(ptzId,cameraId); } else { log.error("ptz not found ,code:{},cameraId:{}", code, cameraId); diff --git a/web/src/main/java/com/zhehekeji/web/service/algorithm/AlgorithmService.java b/web/src/main/java/com/zhehekeji/web/service/algorithm/AlgorithmService.java index bffc9dc..351da81 100644 --- a/web/src/main/java/com/zhehekeji/web/service/algorithm/AlgorithmService.java +++ b/web/src/main/java/com/zhehekeji/web/service/algorithm/AlgorithmService.java @@ -60,7 +60,7 @@ public class AlgorithmService { //String url = "http://127.0.0.1:8083"+"/visionCompute"; try { - System.out.println("1111111111111"+algorithmPojo.toString()); +// System.out.println("1111111111111"+algorithmPojo.toString()); // String jsonString = gson.toJson(algorithmPojo); ResponseEntity> response = restTemplate.exchange( url, @@ -85,7 +85,7 @@ public class AlgorithmService { algorithmPojo.setGoodsNumberResult( (calculate.getLayers()-1) * countLayersMap.get(algorithmPojo.getGoodsType())); } algorithmPojo.setCalculate(calculate); - System.out.println(calculate); +// System.out.println(calculate); }catch (RestClientException e){ log.error("未连接上堆垛机"+e); //Assert.isTrue(false,"请求失败,视觉服务未连接"); @@ -93,6 +93,7 @@ public class AlgorithmService { return algorithmPojo; }catch (Exception e){ + log.error("堆垛机报错"+e); e.printStackTrace(); } return algorithmPojo;