From 3e9a6da99aae968123ee7bca352fc08becd7f1f2 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 29 八月 2024 17:29:21 +0800 Subject: [PATCH] 工单过程图接口更换 --- ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 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 4749539..fe4d779 100644 --- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java +++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java @@ -1,12 +1,21 @@ package com.ycl.task; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.ycl.platform.domain.entity.DeviceInfo; +import com.ycl.platform.domain.entity.WorkOrderCheckImg; import com.ycl.platform.domain.vo.DeviceInfoVO; +import com.ycl.platform.mapper.DeviceInfoMapper; +import com.ycl.platform.mapper.WorkOrderCheckImgMapper; 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.ArrayList; +import java.util.Date; import java.util.List; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ExecutorService; @@ -25,6 +34,8 @@ public class WorkOrderImgTask { private final WorkOrderService workOrderService; + private final DeviceInfoMapper deviceInfoMapper; + private final WorkOrderCheckImgMapper workOrderCheckImgMapper; private static final ExecutorService executorService = new ThreadPoolExecutor(8, 24, @@ -37,14 +48,31 @@ 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 = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo()); if (StringUtils.hasText(frameImg)) { - workOrderService.updateImgById(deviceInfo.getWorkOrderId(), 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