From c93ae85b65e21417cac4b40847efca022c8f3752 Mon Sep 17 00:00:00 2001 From: xupei Date: Fri, 29 Aug 2025 14:18:17 +0800 Subject: [PATCH] =?UTF-8?q?BUGFIX:=201=E3=80=81singleDesign=E4=BD=BF?= =?UTF-8?q?=E7=94=A8generate=E7=9A=84=E5=8D=B0=E8=8A=B1=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E4=BC=A0minio=E5=AF=BC=E8=87=B4=E5=87=BA=E7=8E=B0=E9=94=99?= =?UTF-8?q?=E8=AF=AF=202=E3=80=81=E9=A1=B9=E7=9B=AE=E4=B8=AD=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E4=BF=9D=E5=AD=98=E7=94=9F=E6=88=90=E5=92=8C=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E7=9A=84=E5=8D=B0=E8=8A=B1=E7=9A=84=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ai/da/model/vo/DesignSinglePrint.java | 2 +- .../java/com/ai/da/python/PythonService.java | 22 +++++++++++++++ .../service/impl/DesignItemServiceImpl.java | 27 ++++++++++++++++++- .../impl/UserLikeGroupServiceImpl.java | 4 +-- 4 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ai/da/model/vo/DesignSinglePrint.java b/src/main/java/com/ai/da/model/vo/DesignSinglePrint.java index e861d2d3..ed52c386 100644 --- a/src/main/java/com/ai/da/model/vo/DesignSinglePrint.java +++ b/src/main/java/com/ai/da/model/vo/DesignSinglePrint.java @@ -19,7 +19,7 @@ public class DesignSinglePrint implements Serializable { @ApiModelProperty("印花的类型 Slogan || Logo || Pattern") private String level2Type; - @ApiModelProperty("印花是用户上传的还是从library中选的 collection/library") + @ApiModelProperty("印花是用户上传的还是从library中选的 collection/library/Generate") private String designType; @ApiModelProperty("印花url") diff --git a/src/main/java/com/ai/da/python/PythonService.java b/src/main/java/com/ai/da/python/PythonService.java index 779528a2..aa21b11d 100644 --- a/src/main/java/com/ai/da/python/PythonService.java +++ b/src/main/java/com/ai/da/python/PythonService.java @@ -44,6 +44,8 @@ import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.net.HttpURLConnection; +import java.net.URI; +import java.net.URISyntaxException; import java.util.*; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; @@ -2924,6 +2926,7 @@ public class PythonService { p.getLocation().set(0, p.getLocation().get(0)); p.getLocation().set(1, p.getLocation().get(1)); Integer priority = p.getPriority(); + setUriToMinioPath(p); // todo 下标越界问题 if (p.getIfSingle()){ locationS.set(priority - 1, p.getLocation()); @@ -2959,6 +2962,25 @@ public class PythonService { return printToPython; } + // 对印花类型为Generate的图片路径进行特殊处理 + private void setUriToMinioPath(DesignSinglePrint print){ + if (print.getDesignType().equals("Generate")){ + if (!StringUtil.isNullOrEmpty(print.getPath())){ + try { + URI uri = new URI(print.getPath()); + String path = uri.getPath(); // 获取路径部分: /aida-users/87/print/9ac32f65-6043-424d-a146-92c9c6d204ee-4-87.png + String substring = path.substring(1); + print.setMinIOPath(substring); + } catch (URISyntaxException e) { + throw new BusinessException(e.getMessage()); + } + } else { + log.error("designType为Generate的印花path传值为空 :{}", print.getPath()); + throw new BusinessException("The path for the print is empty."); + } + } + } + private void resolveDesignElement(DesignSinglePrintDTO trims, PrintToPython printToPython) { // 没有design element 时的参数设置 DesignPythonItemElement element = new DesignPythonItemElement(); diff --git a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java index b0db2e67..626b88b5 100644 --- a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java @@ -37,6 +37,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; @@ -91,6 +93,8 @@ public class DesignItemServiceImpl extends ServiceImpl 不存数据库 submit -> 存数据库 List tDesignPythonOutfitDetails; JSONObject data = jsonObject.getJSONObject("data"); - if (data == null) { + if (data == null || data.toJSONString().equals("{}") ) { throw new BusinessException("python response data is null"); } JSONObject outfit = data.getJSONObject("0"); @@ -911,6 +915,8 @@ public class DesignItemServiceImpl extends ServiceImpl convertToOutfitDetailPythonItemList(List layers) { List composeLayerPythonItem = Arrays.asList(new OutfitDetailPythonItem[layers.size()]); layers.forEach(layer -> { diff --git a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java index d861e515..65c4a843 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -2407,7 +2407,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl