From 616762daea1e46ace3a8ff2ee8e3975e5bcccd24 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 18 九月 2024 20:14:22 +0800
Subject: [PATCH] 工单取图片定时任务不用线程池

---
 ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java |   38 ++++++++++++++++++--------------------
 1 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
index 018a2b0..80a32cc 100644
--- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
@@ -7,6 +7,7 @@
 import com.ycl.platform.mapper.DeviceInfoMapper;
 import com.ycl.platform.mapper.WorkOrderCheckImgMapper;
 import com.ycl.platform.service.WorkOrderService;
+import com.ycl.utils.DateUtils;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.bytedeco.javacv.FFmpegFrameGrabber;
@@ -38,13 +39,13 @@
     private final DeviceInfoMapper deviceInfoMapper;
     private final WorkOrderCheckImgMapper workOrderCheckImgMapper;
 
-    private static final ExecutorService executorService = new ThreadPoolExecutor(8,
-            24,
-            5000,
-            TimeUnit.SECONDS,
-            new ArrayBlockingQueue<>(600),
-            new ThreadPoolExecutor.CallerRunsPolicy()
-    );
+//    private static final ExecutorService executorService = new ThreadPoolExecutor(8,
+//            10,
+//            5000,
+//            TimeUnit.SECONDS,
+//            new ArrayBlockingQueue<>(1024),
+//            new ThreadPoolExecutor.CallerRunsPolicy()
+//    );
 
     public void run() {
         // 鏌ュ嚭鏈�杩戜竴鍛ㄧ殑鏁呴殰鐨勮澶�
@@ -52,7 +53,7 @@
         Calendar ca = Calendar.getInstance();
         ca.setTime(now);
         ca.add(Calendar.DATE, -6);
-        List<DeviceInfoVO> deviceList = workOrderService.hasErrorWorkOrderList(now, ca.getTime());
+        List<DeviceInfoVO> deviceList = workOrderService.hasErrorWorkOrderList(DateUtils.getDayStart(ca.getTime()), DateUtils.getDayEnd(now));
         if (CollectionUtils.isEmpty(deviceList)) {
             return;
         }
@@ -65,19 +66,16 @@
             return;
         }
         for (DeviceInfoVO deviceInfo : deviceList) {
-            executorService.submit(() -> {
-                // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id
-                String frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo());
-                if (StringUtils.hasText(frameImg)) {
-                    WorkOrderCheckImg img = new WorkOrderCheckImg();
-                    img.setWorkOrderNo(deviceInfo.getWorkOrderNo());
-                    img.setImgUrl(frameImg);
-                    img.setCreateTime(new Date());
-                    workOrderCheckImgMapper.insert(img);
-                }
-            });
+            // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id
+            String frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo());
+            if (StringUtils.hasText(frameImg)) {
+                WorkOrderCheckImg img = new WorkOrderCheckImg();
+                img.setWorkOrderNo(deviceInfo.getWorkOrderNo());
+                img.setImgUrl(frameImg);
+                img.setCreateTime(new Date());
+                workOrderCheckImgMapper.insert(img);
+            }
         }
-        executorService.shutdown();
     }
 
 }

--
Gitblit v1.8.0