From cb7519426a6b5b024caf290e40e123e81840a77c Mon Sep 17 00:00:00 2001 From: htjcAdmin Date: Thu, 9 Oct 2025 11:08:47 +0800 Subject: [PATCH] =?UTF-8?q?/*=E6=A8=A1=E5=9E=8B=E5=90=8C=E6=AD=A5=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=8E=A5=E5=8F=A3*/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RabbitmqUnitTestController.java | 31 ++++++++++ ...BasedataMontPatrolPointConsumerHandle.java | 61 +++++++++++++++++-- 2 files changed, 87 insertions(+), 5 deletions(-) create mode 100644 inspect-metadata/src/main/java/com/inspect/metadata/montdatamqhandle/controller/RabbitmqUnitTestController.java diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/montdatamqhandle/controller/RabbitmqUnitTestController.java b/inspect-metadata/src/main/java/com/inspect/metadata/montdatamqhandle/controller/RabbitmqUnitTestController.java new file mode 100644 index 0000000..9fcac92 --- /dev/null +++ b/inspect-metadata/src/main/java/com/inspect/metadata/montdatamqhandle/controller/RabbitmqUnitTestController.java @@ -0,0 +1,31 @@ +package com.inspect.metadata.montdatamqhandle.controller; + +import com.alibaba.fastjson.JSONObject; +import com.inspect.base.core.web.controller.BaseController; +import com.inspect.metadata.montdatamqhandle.service.impl.BasedataMontPatrolPointConsumerHandle; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Slf4j +@RestController +@RequestMapping({"/rabbitmq"}) +public class RabbitmqUnitTestController extends BaseController { + + @Resource + private BasedataMontPatrolPointConsumerHandle basedataMontPatrolPointConsumerHandle; + + @PostMapping("/sync/model") + public void syncModel(@RequestBody JSONObject jsonObject) { + log.info("syncModel jsonObject {}", jsonObject); + basedataMontPatrolPointConsumerHandle.handleMontDataEx(jsonObject); + } + + @DeleteMapping("/del/model") + public void deleteModel(@RequestBody JSONObject jsonObject) { + log.info("deleteModel jsonObject {}", jsonObject); + basedataMontPatrolPointConsumerHandle.delMontData(jsonObject); + } +} diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/montdatamqhandle/service/impl/BasedataMontPatrolPointConsumerHandle.java b/inspect-metadata/src/main/java/com/inspect/metadata/montdatamqhandle/service/impl/BasedataMontPatrolPointConsumerHandle.java index dbc3a23..3e6e779 100644 --- a/inspect-metadata/src/main/java/com/inspect/metadata/montdatamqhandle/service/impl/BasedataMontPatrolPointConsumerHandle.java +++ b/inspect-metadata/src/main/java/com/inspect/metadata/montdatamqhandle/service/impl/BasedataMontPatrolPointConsumerHandle.java @@ -24,17 +24,22 @@ import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Iterator; import java.util.List; import javax.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Slf4j @Component("basedataMont-modelup-1024") public class BasedataMontPatrolPointConsumerHandle implements IBasedataMontDataHandleService { + + @Value("${test-mode:false}") + private boolean testMode; @Resource private IBasedataPatrolPointService basedataPatrolPointService; @Resource @@ -71,9 +76,11 @@ public class BasedataMontPatrolPointConsumerHandle implements IBasedataMontDataH String Type = jsonObject.getString("Type"); String convertFlag = "0"; String SendCode = jsonObject.getString("SendCode"); -// log.info(Color.BLUE + "[METADATA] 模型同步SendCode:{},旧数据清除Start..." + Color.END, SendCode); -// this.deletePatrolPointPresetBySendCode(SendCode); -// log.info(Color.BLUE + "[METADATA] 模型同步SendCode:{},旧数据清除End..." + Color.END, SendCode); +// if(testMode) { +// log.info(Color.BLUE + "HANDLE_MONT_DATA MODEL SYNC SendCode: {}, delete old data Start" + Color.END, SendCode); +// deletePatrolPointPresetBySendCode(SendCode); +// log.info(Color.BLUE + "HANDLE_MONT_DATA MODEL SYNC SendCode: {}, delete old data End" + Color.END, SendCode); +// } BasedataBdConfigMainSystem mainSystem = basedataBdconfigMainsystemMapper.selectBasedataBdConfigMainSystemByMainSystemCode(SendCode); if (null != mainSystem) { String flag = mainSystem.getConvertFlag(); @@ -90,11 +97,10 @@ public class BasedataMontPatrolPointConsumerHandle implements IBasedataMontDataH for (Iterator iterator = list.iterator(); iterator.hasNext(); basedataMontPatrolPointHandleComponent.handPointModelData(SendCode, modelString)) { ModelFileItem item = iterator.next(); String deviceFilePath = item.getDevice_file_path(); - String source = deviceFilePath; log.info("MODEL_SYNC filePath: {}", deviceFilePath); ByteBuf byteBuf = Unpooled.buffer(); try { - sftpClient.downLoad(source, (inputStream) -> { + sftpClient.downLoad(deviceFilePath, (inputStream) -> { byte[] bytes = new byte[1024]; int index; while ((index = inputStream.read(bytes)) > -1) { @@ -120,6 +126,51 @@ public class BasedataMontPatrolPointConsumerHandle implements IBasedataMontDataH } } + public void handleMontDataEx(JSONObject jsonObject) { + log.info(Color.CYAN + "MODEL_SYNC_EX model_up_1024: {}" + Color.END, jsonObject.toString()); + String SendCode = jsonObject.getString(("SendCode")); + JSONArray jsonObjectItems = jsonObject.getJSONArray(("Items")); + List list = jsonObjectItems.toJavaList(ModelFileItem.class); + log.info("MODEL_SYNC_EX list: {}, jsonObject: {}", list, jsonObject); + if (list != null && !list.isEmpty()) { + String modelString; + for (Iterator iterator = list.iterator(); iterator.hasNext(); basedataMontPatrolPointHandleComponent.handPointModelData(SendCode, modelString)) { + ModelFileItem item = iterator.next(); + String deviceFilePath = item.getDevice_file_path(); + log.info("MODEL_SYNC_EX filePath: {}", deviceFilePath); + ByteBuf byteBuf = Unpooled.buffer(); + try { + sftpClient.downLoad(deviceFilePath, (inputStream) -> { + byte[] bytes = new byte[1024]; + int index; + while ((index = inputStream.read(bytes)) > -1) { + byteBuf.writeBytes(Arrays.copyOfRange(bytes, 0, index)); + } + }); + } catch (Exception e) { + e.printStackTrace(); + } + + byte[] bytes = new byte[byteBuf.readableBytes()]; + byteBuf.readBytes(bytes); + + modelString = new String(bytes, StandardCharsets.UTF_8); + } + + log.info("MODEL_SYNC_EX modelFile: {}, jsonObject: {}", list, jsonObject); + } + } + + public void delMontData(JSONObject jsonObject) { + log.info(Color.CYAN + "delMontData-modelup-1024: {}" + Color.END, jsonObject.toString()); + String SendCode = jsonObject.getString("SendCode"); + if (testMode) { + log.info(Color.BLUE + "DEL_MONT_DATA MODEL SYNC SendCode: {}, delete old data Start" + Color.END, SendCode); + deletePatrolPointPresetBySendCode(SendCode); + log.info(Color.BLUE + "DEL_MONT_DATA MODEL SYNC SendCode: {}, delete old data End" + Color.END, SendCode); + } + } + private void deletePatrolPointPresetBySendCode(String sendCode) { // basedata_area 区域删除 int areaNum = baseDataAreaMapper.deleteAreaBySendCode(sendCode);