From a30f01844bfed802fe5700d737df1a0e119314c4 Mon Sep 17 00:00:00 2001 From: htjcAdmin Date: Sun, 10 Aug 2025 14:12:17 +0800 Subject: [PATCH] =?UTF-8?q?/*=E7=9C=81=E6=B5=8B=E4=BB=BB=E5=8A=A1=E4=B8=8A?= =?UTF-8?q?=E9=80=81=E4=B8=8A=E7=BA=A7=E7=B3=BB=E7=BB=9F=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BF=AE=E6=94=B9*/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inspect/client/service/ClientService.java | 24 +++++++++------ inspect-main/inspect-main-task/pom.xml | 5 ++++ .../com/inspect/fegin/FeignMinioService.java | 13 +++++++++ .../com/inspect/fegin/MultipartFileUtils.java | 21 ++++++++++++++ .../com/inspect/fegin/UploadResponse.java | 20 +++++++++++++ .../controller/MaintainRegionController.java | 1 + .../controller/PatrolResultController.java | 26 +++++++++++++++++ .../task/controller/PatrolTaskController.java | 1 + inspect-metadata/pom.xml | 24 +++++++++++++++ .../impl/BasedataEqpBookServiceImpl.java | 2 ++ .../feign/FeignMinioService.java | 12 ++++++++ .../feign/MultipartFileUtils.java | 20 +++++++++++++ .../patrolpointmnt/feign/UploadResponse.java | 29 +++++++++++++++++++ .../impl/BasedataPatrolPointServiceImpl.java | 26 +++++++++++++++++ .../impl/VersionManagementServiceImpl.java | 1 + 15 files changed, 216 insertions(+), 9 deletions(-) create mode 100644 inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/FeignMinioService.java create mode 100644 inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/MultipartFileUtils.java create mode 100644 inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/UploadResponse.java create mode 100644 inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/FeignMinioService.java create mode 100644 inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/MultipartFileUtils.java create mode 100644 inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/UploadResponse.java diff --git a/inspect-main/inspect-main-client/src/main/java/com/inspect/client/service/ClientService.java b/inspect-main/inspect-main-client/src/main/java/com/inspect/client/service/ClientService.java index 271378c..e577d06 100644 --- a/inspect-main/inspect-main-client/src/main/java/com/inspect/client/service/ClientService.java +++ b/inspect-main/inspect-main-client/src/main/java/com/inspect/client/service/ClientService.java @@ -62,7 +62,7 @@ public class ClientService { public AjaxResult handleLowMsg(JSONObject jsonObject) { int type = jsonObject.getInteger("Type"); String msg = jsonObject.toJSONString(); - logger.info("CLIENT 处理上级系统下发消息, 内容:{}", msg); + logger.info("CLIENT 处理上级系统下发消息, type: {}, 内容:{}", type, msg); String result = null; String deviceCode; if (Arrays.contains(taskTypeArray, type)) { @@ -75,14 +75,20 @@ public class ClientService { patrolTaskController.sendJQR(patrolTask); break; case 61: - BasedataEqpBookMoMain basedataEqpbookMomain = new BasedataEqpBookMoMain(); - basedataEqpbookMomain.setType(deviceCode); - String eqpBookListInfo = patrolResultController.getEqpBookListInfo(basedataEqpbookMomain); - JSONObject parse = JSONObject.parseObject(eqpBookListInfo); - JSONObject itemJson = new JSONObject(); - itemJson.put(modelMap.get(deviceCode), parse.getString(modelMap.get(deviceCode))); - logger.info("上级模型查询上报内容:{}", itemJson.toJSONString()); - return AjaxResult.success("ok", itemJson.toJSONString()); + try { + logger.info("CLIENT 处理上级系统下发消息 61"); + BasedataEqpBookMoMain basedataEqpbookMomain = new BasedataEqpBookMoMain(); + basedataEqpbookMomain.setType(deviceCode); + String eqpBookListInfo = patrolResultController.getEqpBookListInfo(basedataEqpbookMomain); + logger.info("CLIENT 处理上级系统下发消息 61, res: {}", eqpBookListInfo); + JSONObject parse = JSONObject.parseObject(eqpBookListInfo); + JSONObject itemJson = new JSONObject(); + itemJson.put(modelMap.get(deviceCode), parse.getString(modelMap.get(deviceCode))); + logger.info("上级模型查询上报内容:{}", itemJson.toJSONString()); + return AjaxResult.success("ok", itemJson.toJSONString()); + } catch (Exception e) { + e.printStackTrace(); + } case 81: JSONArray jsonArray = jsonObject.getJSONArray("Items"); for (int i = 0; i < jsonArray.size(); ++i) { diff --git a/inspect-main/inspect-main-task/pom.xml b/inspect-main/inspect-main-task/pom.xml index 32cbdc1..28181a5 100644 --- a/inspect-main/inspect-main-task/pom.xml +++ b/inspect-main/inspect-main-task/pom.xml @@ -14,6 +14,11 @@ 3.4.0 + + org.springframework.boot + spring-boot-starter-test + + com.inspect inspect-base-datasource diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/FeignMinioService.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/FeignMinioService.java new file mode 100644 index 0000000..9d088ac --- /dev/null +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/FeignMinioService.java @@ -0,0 +1,13 @@ +package com.inspect.fegin; + +import com.alibaba.fastjson.JSONObject; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +@FeignClient("inspect-tcpserver") +public interface FeignMinioService { + @PostMapping(value = "/minio/file/upload", consumes = "multipart/form-data") + UploadResponse uploadFileToMinio(@RequestPart("file") MultipartFile file); +} diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/MultipartFileUtils.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/MultipartFileUtils.java new file mode 100644 index 0000000..d821a90 --- /dev/null +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/MultipartFileUtils.java @@ -0,0 +1,21 @@ +package com.inspect.fegin; + +import org.springframework.mock.web.MockMultipartFile; +import org.springframework.web.multipart.MultipartFile; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; + +public class MultipartFileUtils { + + public static MultipartFile toMultipartFile(InputStream inputStream, String fileName, String contentType) throws IOException { + return new MockMultipartFile( + "file", // 表单字段名,对应 @RequestParam("file") + fileName, // 上传文件名 + contentType, // MIME 类型 + inputStream // 文件流 + ); + } +} + diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/UploadResponse.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/UploadResponse.java new file mode 100644 index 0000000..b0a53c5 --- /dev/null +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/fegin/UploadResponse.java @@ -0,0 +1,20 @@ +package com.inspect.fegin; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class UploadResponse { + private String fileName; + private String url; + + @Override + public String toString() { + return "UploadResponse{" + + "fileName='" + fileName + '\'' + + ", url='" + url + '\'' + + '}'; + } +} + diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/maintain/controller/MaintainRegionController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/maintain/controller/MaintainRegionController.java index aa13cdf..bd43d99 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/maintain/controller/MaintainRegionController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/maintain/controller/MaintainRegionController.java @@ -627,6 +627,7 @@ public class MaintainRegionController extends BaseController { DataMsg.setFilePath(algorithmBaseImagePath); DataMsg.setFileName(filename + ".xml"); DataMsg.setInputStream(in_nocode); + DataMsg.setIsImplicit("true"); SFTPUtil.uploadFileForXml(DataMsg); SendTask sendTask = new SendTask(); sendTask.setReceiveCode(""); diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java index 5a492e9..65b36dc 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/partrolresult/controller/PatrolResultController.java @@ -29,6 +29,9 @@ import com.inspect.base.core.web.page.TableDataInfo; import com.inspect.common.log.annotation.Log; import com.inspect.common.log.enums.BizType; import com.inspect.base.redis.service.RedisService; +import com.inspect.fegin.FeignMinioService; +import com.inspect.fegin.MultipartFileUtils; +import com.inspect.fegin.UploadResponse; import com.inspect.infrared.InfraredImageParser; import com.inspect.infrared.InfraredRequestParam; import com.inspect.infrared.InfraredResponse; @@ -168,6 +171,9 @@ public class PatrolResultController extends BaseController { @Resource private MessageUtils messageUtils; + @Resource + private FeignMinioService feignMinioService; + @GetMapping({"/list"}) public TableDataInfo list(PatrolResult patrolResult) { String mainId = patrolResult.getMainId(); @@ -1677,6 +1683,7 @@ public class PatrolResultController extends BaseController { @GetMapping({"/getEqpBookListInfoForXml"}) public String getEqpBookListInfo(BasedataEqpBookMoMain basedataEqpBook) { + logger.info("getEqpBookListInfo!!!!!!"); Map stationMap = patrolResultService.selectBasedataStation(); String stationNo = stationMap.get("station_no"); String stationName = stationMap.get("station_name"); @@ -1708,6 +1715,7 @@ public class PatrolResultController extends BaseController { String path; switch (type) { case "4": + logger.info("getEqpBookListInfo type 4!!!!!!"); path = baseDataClient.superSystemSynPatrolPointModel(); str = "{\"device_file_path\":\"" + path + "\"}"; return str; @@ -1883,7 +1891,9 @@ public class PatrolResultController extends BaseController { } } + logger.info("getEqpBookListInfo 2!!!!!!"); InputStream inputStream = new ByteArrayInputStream(modelXml.getBytes()); + str = ""; switch (type) { case "1": @@ -1927,7 +1937,10 @@ public class PatrolResultController extends BaseController { DataMsg.setFilePath(algorithmBaseImagePath); DataMsg.setFileName(filename + ".xml"); DataMsg.setInputStream(inputStream); + DataMsg.setIsImplicit("true"); + logger.info("getEqpBookListInfo 3!!!!!!"); SFTPUtil.uploadFileForXml(DataMsg); + logger.info("getEqpBookListInfo 4!!!!!!"); String typename = ""; switch (type) { case "1": @@ -1959,6 +1972,19 @@ public class PatrolResultController extends BaseController { break; } + logger.info("getEqpBookListInfo5!!!!!!"); + UploadResponse uploadResponse = new UploadResponse("test", "http://emptu.com"); + try { + MultipartFile multipartFile = MultipartFileUtils.toMultipartFile(new ByteArrayInputStream(modelXml.getBytes()), + filename, + ("application/octet-stream")); + uploadResponse = feignMinioService.uploadFileToMinio(multipartFile); + } catch (Exception e) { + e.printStackTrace(); + } + + logger.info("uploadResponse: {}", uploadResponse); + str = "{\"" + typename + "\":\"" + algorithmBaseImagePath + filename + ".xml\"}"; return str; } diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java index a1d14b8..263758c 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java @@ -2314,6 +2314,7 @@ public class PatrolTaskController extends BaseController { DataMsg.setFilePath(algorithmBaseImagePath); DataMsg.setFileName(filename + ".xml"); DataMsg.setInputStream(in_nocode); + DataMsg.setIsImplicit("true"); SFTPUtil.uploadFileForXml(DataMsg); SendTask sendTask = new SendTask(); sendTask.setReceiveCode(""); diff --git a/inspect-metadata/pom.xml b/inspect-metadata/pom.xml index e731fce..5a5d50a 100644 --- a/inspect-metadata/pom.xml +++ b/inspect-metadata/pom.xml @@ -41,6 +41,10 @@ org.springframework.boot spring-boot-starter-actuator + + org.springframework.boot + spring-boot-starter-test + io.springfox springfox-swagger-ui @@ -86,6 +90,26 @@ com.inspect inspect-base-ivs + + + javax.xml.bind + jaxb-api + 2.3.1 + + + + + org.glassfish.jaxb + jaxb-runtime + 2.3.3 + + + + + org.glassfish.jaxb + jaxb-core + 2.3.0.1 + diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/service/impl/BasedataEqpBookServiceImpl.java b/inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/service/impl/BasedataEqpBookServiceImpl.java index a5fefee..c105e1e 100644 --- a/inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/service/impl/BasedataEqpBookServiceImpl.java +++ b/inspect-metadata/src/main/java/com/inspect/metadata/eqpbook/service/impl/BasedataEqpBookServiceImpl.java @@ -605,6 +605,7 @@ public class BasedataEqpBookServiceImpl implements IBasedataEqpBookService { DataMsg.setFilePath(mapPath); DataMsg.setFileName(filename + ".xml"); DataMsg.setInputStream(in); + DataMsg.setIsImplicit("true"); SFTPUtil.uploadFileForXml(DataMsg); String sendCode = basedataEqpBookList.get(0).getPatrolDeviceCode(); String code = basedataStation.get(0).getStationNo(); @@ -672,6 +673,7 @@ public class BasedataEqpBookServiceImpl implements IBasedataEqpBookService { DataMsg.setFilePath(mapPath); DataMsg.setFileName(filename + "." + fileType); DataMsg.setInputStream(in); + DataMsg.setIsImplicit("true"); SFTPUtil.uploadFileForXml(DataMsg); BasedataEqpBook basedataEqpbook = this.basedataEqpbookMapper.selectBasedataEqpBookByPatrolDeviceCode(patroldeviceCode); basedataEqpbook.setMapFilePath(mapPath + filename + "." + fileType); diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/FeignMinioService.java b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/FeignMinioService.java new file mode 100644 index 0000000..eda554c --- /dev/null +++ b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/FeignMinioService.java @@ -0,0 +1,12 @@ +package com.inspect.metadata.patrolpointmnt.feign; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +@FeignClient(value = "http://199.199.199.169:22508") +public interface FeignMinioService { + @PostMapping(value = "/minio/file/upload", consumes = "multipart/form-data") + UploadResponse uploadFileToMinio(@RequestPart("file") MultipartFile file); +} diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/MultipartFileUtils.java b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/MultipartFileUtils.java new file mode 100644 index 0000000..e8a5313 --- /dev/null +++ b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/MultipartFileUtils.java @@ -0,0 +1,20 @@ +package com.inspect.metadata.patrolpointmnt.feign; + +import org.springframework.mock.web.MockMultipartFile; +import org.springframework.web.multipart.MultipartFile; + +import java.io.ByteArrayInputStream; +import java.io.IOException; + +public class MultipartFileUtils { + + public static MultipartFile toMultipartFile(ByteArrayInputStream inputStream, String fileName, String contentType) throws IOException { + return new MockMultipartFile( + "file", // 表单字段名,对应 @RequestParam("file") + fileName, // 上传文件名 + contentType, // MIME 类型 + inputStream // 文件流 + ); + } +} + diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/UploadResponse.java b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/UploadResponse.java new file mode 100644 index 0000000..6722f7b --- /dev/null +++ b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/feign/UploadResponse.java @@ -0,0 +1,29 @@ +package com.inspect.metadata.patrolpointmnt.feign; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; + +@Data + +public class UploadResponse implements Serializable { + private String fileName; + private String url; + + public UploadResponse() {} + + public UploadResponse(String fileName, String url) { + this.fileName = fileName; + this.url = url; + } + + @Override + public String toString() { + return "UploadResponse{" + + "fileName='" + fileName + '\'' + + ", url='" + url + '\'' + + '}'; + } +} + diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java index ef65f2f..7943b40 100644 --- a/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java +++ b/inspect-metadata/src/main/java/com/inspect/metadata/patrolpointmnt/service/impl/BasedataPatrolPointServiceImpl.java @@ -17,6 +17,9 @@ import com.inspect.metadata.patrolpointmnt.domain.vo.DevicePointModel; import com.inspect.metadata.patrolpointmnt.domain.vo.DevicePointModelItem; import com.inspect.metadata.patrolpointmnt.domain.vo.PointLatestResultVo; import com.inspect.metadata.patrolpointmnt.domain.vo.PointStatsVo; +import com.inspect.metadata.patrolpointmnt.feign.FeignMinioService; +import com.inspect.metadata.patrolpointmnt.feign.MultipartFileUtils; +import com.inspect.metadata.patrolpointmnt.feign.UploadResponse; import com.inspect.metadata.patrolpointmnt.mapper.BasedataPatrolPointMapper; import com.inspect.metadata.patrolpointmnt.mapper.BasedataPatrolPointPresetMapper; import com.inspect.metadata.patrolpointmnt.service.IBasedataPatrolPointService; @@ -46,6 +49,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; @Service public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointService { @@ -69,6 +73,9 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi @Resource private BasedataAlgSubtypeMapper basedataAlgSubtypeMapper; + @Resource + private FeignMinioService feignMinioService; + public BasedataPatrolPoint selectBasedataPatrolPointByPatrolPointId(Long patrolPointId) { return this.basedataPatrolpointMapper.selectBasedataPatrolPointByPatrolPointId(patrolPointId); } @@ -144,6 +151,8 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi if (null != modelXml && !modelXml.isEmpty()) { String typename = "device_file_path"; String ftpUpPath = this.modelFileUpToFtps(typename, modelXml, stationNo); + String filename = ftpUpPath.substring(ftpUpPath.lastIndexOf("/") + 1); + ftpUpPath = modelFileUpToMinio(filename, modelXml); System.out.println("ftpUpPath::" + ftpUpPath); return ftpUpPath; } else { @@ -420,6 +429,7 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi DataMsg.setFilePath(fileUpPath); DataMsg.setFileName(filename + ".xml"); DataMsg.setInputStream(in_nocode); + DataMsg.setIsImplicit("true"); SFTPUtil.uploadFileForXml(DataMsg); } catch (Exception e) { e.printStackTrace(); @@ -428,7 +438,23 @@ public class BasedataPatrolPointServiceImpl implements IBasedataPatrolPointServi return fileUpPath + filename + ".xml"; } + private String modelFileUpToMinio(String filename, String modelXml) { + String result = ""; + ByteArrayInputStream inputStream = new ByteArrayInputStream(modelXml.getBytes()); + UploadResponse uploadResponse = new UploadResponse("test", "http://emptu.com"); + try { + MultipartFile multipartFile = MultipartFileUtils.toMultipartFile(inputStream, + filename, + ("application/octet-stream")); + uploadResponse = feignMinioService.uploadFileToMinio(multipartFile); + return uploadResponse.getUrl(); + } catch (Exception e) { + e.printStackTrace(); + } + + return result; + } @Override public PointStatsVo getInspectPointStats(PointStatsVo pointStatsVo) { PointStatsVo inspectPointStats = basedataPatrolpointMapper.getInspectPointStats(pointStatsVo); diff --git a/inspect-metadata/src/main/java/com/inspect/metadata/version/service/impl/VersionManagementServiceImpl.java b/inspect-metadata/src/main/java/com/inspect/metadata/version/service/impl/VersionManagementServiceImpl.java index 3a162eb..ebad76e 100644 --- a/inspect-metadata/src/main/java/com/inspect/metadata/version/service/impl/VersionManagementServiceImpl.java +++ b/inspect-metadata/src/main/java/com/inspect/metadata/version/service/impl/VersionManagementServiceImpl.java @@ -73,6 +73,7 @@ public class VersionManagementServiceImpl implements IVersionManagementService { DataMsg.setFilePath(mapPath); DataMsg.setFileName(filename + "." + fileType); DataMsg.setInputStream(in); + DataMsg.setIsImplicit("true"); SFTPUtil.uploadFileForXml(DataMsg); return mapPath + filename + "." + fileType; }