From 13066579faab6e4275b04ff8a84ee1af2596da51 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Thu, 13 Feb 2025 15:15:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug=2044248=20https=E5=9B=BE?= =?UTF-8?q?=E7=89=87=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/controller/base/MesWhiteController.java | 17 +++++++++++++++-- .../ext/mes/pcn/apiservice/model/MesPictureModel.java | 4 ++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesWhiteController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesWhiteController.java index 6957dcb..bd77ef8 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesWhiteController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesWhiteController.java @@ -8,6 +8,7 @@ import cn.hutool.json.JSONUtil; import io.swagger.annotations.Api; import jodd.util.Base64; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -42,9 +43,10 @@ public class MesWhiteController { @PostMapping("/picture") public ResultBean savePicture(@RequestBody MesPictureModel model){ - + log.info("castle-保存图片开始"); String localUrl = mesConfigService.getCfgValue(model.getOrganizeCode(), "LOCAL_PICTURE_ABS_URL"); - File file = new File(localUrl+model.getFileName()); + String fileName = localUrl+model.getFileName(); + File file = new File(fileName); byte[] decode = Base64.decode(model.getFile()); OutputStream outputStream; try { @@ -55,6 +57,17 @@ public class MesWhiteController { log.error("保存图片出错:{}",e.getMessage()); log.error("入参为:{}", model); } + if (!StringUtils.isBlank(model.getRemoteUserName()) && !StringUtils.isBlank(model.getRemoteNginxUrl()) ){ + // 构建scp命令 + log.info("castle-保存图片开始-scp命令"); + String scpCommand = String.format("scp -P %d -i %s %s@%s:%s", model.getRemotePort() ,fileName, model.getRemoteUserName(), model.getRemoteNginxUrl(), localUrl); + try { + Runtime.getRuntime().exec(scpCommand); + } catch (IOException e) { + log.error("调用scp命令失败,请手动同步图片:{}",fileName); + } + } + return ResultBean.success("查询成功"); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/model/MesPictureModel.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/model/MesPictureModel.java index 64d3d49..085c986 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/model/MesPictureModel.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/model/MesPictureModel.java @@ -7,4 +7,8 @@ public class MesPictureModel { private String file; private String fileName; private String organizeCode; + //nginx所在服务器ip + private String remoteNginxUrl; + private String remoteUserName; + private Integer remotePort; }