From c19666de02a21d62fb74c993a481141466111484 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 28 八月 2024 21:52:25 +0800
Subject: [PATCH] 工单获取图片ok
---
ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 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 8603ba8..85a2aec 100644
--- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java
@@ -1,9 +1,15 @@
package com.ycl.task;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.ycl.platform.domain.entity.DeviceInfo;
import com.ycl.platform.domain.vo.DeviceInfoVO;
+import com.ycl.platform.mapper.DeviceInfoMapper;
import com.ycl.platform.service.WorkOrderService;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.List;
@@ -18,11 +24,13 @@
* @author锛歺p
* @date锛�2024/8/21 11:56
*/
+@Slf4j
@RequiredArgsConstructor
@Component("workOrderImgTask")
public class WorkOrderImgTask {
private final WorkOrderService workOrderService;
+ private final DeviceInfoMapper deviceInfoMapper;
private static final ExecutorService executorService = new ThreadPoolExecutor(8,
24,
@@ -35,9 +43,25 @@
public void run() {
// 鏌ュ嚭鏁呴殰鐨勮澶�
List<DeviceInfoVO> deviceList = workOrderService.hasErrorWorkOrderList();
+ if (CollectionUtils.isEmpty(deviceList)) {
+ return;
+ }
+ List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper)
+ .orderByDesc(DeviceInfo::getUpdateTime)
+ .last("limit 1")
+ .list();
+ if (CollectionUtils.isEmpty(gbDevices)) {
+ return;
+ }
for (DeviceInfoVO deviceInfo : deviceList) {
executorService.submit(() -> {
- String frameImg = workOrderService.getFrameImgByDevice(deviceInfo.getDeviceId(), deviceInfo.getChannelId());
+ // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id
+ String frameImg = null;
+ try {
+ frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId());
+ } catch (FFmpegFrameGrabber.Exception e) {
+ e.printStackTrace();
+ }
if (StringUtils.hasText(frameImg)) {
workOrderService.updateImgById(deviceInfo.getWorkOrderId(), frameImg);
}
--
Gitblit v1.8.0