From fdcdd41fba7874c045766e3dea54d56d70df73ef Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期一, 12 五月 2025 10:06:50 +0800 Subject: [PATCH] (部级录像可用率,重点录像可用率,录像可用率)计算可用率 --- ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java | 87 +++++++++++++------------------------------ 1 files changed, 26 insertions(+), 61 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 a4b6194..28ec3f1 100644 --- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java +++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java @@ -48,53 +48,15 @@ private final DeviceInfoMapper deviceInfoMapper; private final WorkOrderCheckImgMapper workOrderCheckImgMapper; -// private static final ExecutorService executorService = new ThreadPoolExecutor(8, -// 10, -// 5000, -// TimeUnit.SECONDS, -// new ArrayBlockingQueue<>(1024), -// new ThreadPoolExecutor.CallerRunsPolicy() -// ); + private static final ExecutorService executorService = new ThreadPoolExecutor(16, + 128, + 5000, + TimeUnit.SECONDS, + new ArrayBlockingQueue<>(1000), + new ThreadPoolExecutor.CallerRunsPolicy() + ); public void run() throws FFmpegFrameGrabber.Exception { -// String rtspUrl = "http://www.w3school.com.cn/i/movie.mp4"; -// if (StringUtils.hasText(rtspUrl)) { -// FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtspUrl); -// try { -//// grabber.setOption("rtsp_transport", "tcp"); // 浣跨敤tcp鐨勬柟寮忥紝涓嶇劧浼氫涪鍖呭緢涓ラ噸 -// grabber.setImageWidth(1920); -// grabber.setImageHeight(1080); -// grabber.setFrameRate(25); -// grabber.start(); -// System.out.println("鎴愬姛"); -// Frame frame = grabber.grabImage(); -// String imgUrl = null; -// if (frame != null) { -// System.out.println("鎴愬姛2"); -// //杞崲鍥惧儚 -// Java2DFrameConverter converter = new Java2DFrameConverter(); -// BufferedImage srcImage = converter.getBufferedImage(frame); -// System.out.println(srcImage); -// if (srcImage != null) { -// imgUrl = IdUtils.fastSimpleUUID() + ".png"; -// // 鐢熸垚鍥剧墖璺緞 -// String imgPath = "/" + imgUrl; -// System.out.println("鍥剧墖淇濆瓨鍦板潃锛�" + imgPath); -//// imgUrl = Constants.RESOURCE_PREFIX + "/" + imgUrl; -// //鍒涘缓鏂囦欢 -// File file = new File("D:\\Codes\\zgyw\\"+imgUrl); -// //杈撳嚭鏂囦欢 -// ImageIO.write(srcImage, "png", file); -// } -// } -// } catch (IOException e) { -// e.printStackTrace(); -// } finally { -// grabber.stop(); // 鍋滄鎹曡幏 -//// grabber.close(); // 閲婃斁璧勬簮 -// } -// } - // 鏌ュ嚭鏈�杩戜竴鍛ㄧ殑鏁呴殰鐨勮澶� Date now = new Date(); Calendar ca = Calendar.getInstance(); @@ -114,21 +76,24 @@ return; } for (DeviceInfoVO deviceInfo : deviceList) { - // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id - String frameImg = null; - try { - frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo()); - } catch (Exception e) { - e.printStackTrace(); - continue; - } - if (StringUtils.hasText(frameImg)) { - WorkOrderCheckImg img = new WorkOrderCheckImg(); - img.setWorkOrderNo(deviceInfo.getWorkOrderNo()); - img.setImgUrl(frameImg); - img.setCreateTime(new Date()); - workOrderCheckImgMapper.insert(img); - } - } } + executorService.submit(() -> { + // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id + String frameImg = null; + try { + frameImg = workOrderService.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), deviceInfo.getDeviceId(), deviceInfo.getWorkOrderNo()); + } catch (Exception e) { + e.printStackTrace(); + } + if (StringUtils.hasText(frameImg)) { + WorkOrderCheckImg img = new WorkOrderCheckImg(); + img.setWorkOrderNo(deviceInfo.getWorkOrderNo()); + img.setImgUrl(frameImg); + img.setCreateTime(new Date()); + workOrderCheckImgMapper.insert(img); + } + }); + } + log.info("宸ュ崟妫�娴嬪浘鐗囩粨鏉�"); + } } -- Gitblit v1.8.0