From 1f0e8f9cf2b7244a8f9b8d95a0a8a68e4187e99a Mon Sep 17 00:00:00 2001 From: xupei Date: Wed, 7 May 2025 14:10:42 +0800 Subject: [PATCH] =?UTF-8?q?BUGFIX:=20designSingle=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=B8=E5=90=8C=E7=B1=BB=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E6=9C=8D=E8=A3=85=E5=AF=BC=E8=87=B4=E6=9C=AA=E5=88=86=E5=89=B2?= =?UTF-8?q?=E5=9B=BE=E5=B1=82=E8=8E=B7=E5=8F=96=E6=B7=B7=E4=B9=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ai/da/service/DesignItemService.java | 2 +- .../service/impl/DesignItemServiceImpl.java | 26 ++++++++++--------- .../ai/da/service/impl/DesignServiceImpl.java | 12 ++++----- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/ai/da/service/DesignItemService.java b/src/main/java/com/ai/da/service/DesignItemService.java index fcc1e78b..09e4adc9 100644 --- a/src/main/java/com/ai/da/service/DesignItemService.java +++ b/src/main/java/com/ai/da/service/DesignItemService.java @@ -53,7 +53,7 @@ public interface DesignItemService extends IService { DesignSingleVO designSingleIncludeLayers(DesignSingleIncludeLayersDTO designSingleIncludeLayersDTO); - Map setTypeAndUndividedLayer(JSONArray layers); + Map setPriorityAndUndividedLayer(JSONArray layers); ComposeLayersVO editLayersPositionAndScale(EditLayersPositionAndScaleVO positionAndScaleVO) throws IOException; 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 0c4159d3..a90b44bd 100644 --- a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java @@ -26,7 +26,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.google.common.collect.Lists; -import com.mysql.cj.util.StringUtils; import io.netty.util.internal.StringUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.SerializationUtils; @@ -326,7 +325,7 @@ public class DesignItemServiceImpl extends ServiceImpl saveDesignSingleItemDetailAndLayers(DesignPythonObjects pythonObjects , Long designId, Long designItemId, Long userId , JSONObject outfit, String timeZone, List designSingleItemDTOList - , Map categoryAndUndividedLayer) { + , Map priorityAndUndividedLayer) { DesignItem designItem = new DesignItem(); // String url = pythonObjects.getObjects().get(0).getBasic().getSave_name(); @@ -357,7 +356,8 @@ public class DesignItemServiceImpl extends ServiceImpl categoryAndUndividedLayer = setTypeAndUndividedLayer(layers); + Map priorityAndUndividedLayer = setPriorityAndUndividedLayer(layers); if (!designSingleIncludeLayersDTO.getIsPreview()) { // 更新及保存图层信息 tDesignPythonOutfitDetails = saveDesignSingleItemDetailAndLayers(objects, design.getId(), designSingleIncludeLayersDTO.getDesignItemId() , userId, outfit, designSingleIncludeLayersDTO.getTimeZone() , designSingleIncludeLayersDTO.getDesignSingleItemDTOList() - , categoryAndUndividedLayer); + , priorityAndUndividedLayer); saveCollectionElement(designSingleIncludeLayersDTO); } else { @@ -576,7 +576,7 @@ public class DesignItemServiceImpl extends ServiceImpl setTypeAndUndividedLayer(JSONArray layers){ - HashMap categoryAndLayer = new HashMap<>(); + public Map setPriorityAndUndividedLayer(JSONArray layers){ + HashMap priorityAndLayer = new HashMap<>(); for (int i = 0; i < layers.size(); i++) { JSONObject jsonObject = layers.getJSONObject(i); + String priority = jsonObject.getString("priority"); String category = jsonObject.getString("image_category").split("_")[0]; - if (!category.equals("body") && !categoryAndLayer.containsKey(category)) categoryAndLayer.put(category, jsonObject.getString("pattern_image_url")); +// if (!category.equals("body") && !categoryAndLayer.containsKey(category)) categoryAndLayer.put(category, jsonObject.getString("pattern_image_url")); + if (!category.equals("body") && !priorityAndLayer.containsKey(priority)) priorityAndLayer.put(priority, jsonObject.getString("pattern_image_url")); } - return categoryAndLayer; + return priorityAndLayer; } @Override @@ -726,7 +728,7 @@ public class DesignItemServiceImpl extends ServiceImpl designSingleItemDTOList, List layersObject, String singleOrOverall, - Map categoryAndUndividedLayer) { + Map priorityAndUndividedLayer) { DesignSingleVO designSingleVO = new DesignSingleVO(); ArrayList clothes = new ArrayList<>(); @@ -761,7 +763,7 @@ public class DesignItemServiceImpl extends ServiceImpl layers.getImageCategory().equals("body")).collect(Collectors.toList())); clothes.add(designItemClothesDetailVO); diff --git a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java index 8ff764ad..af06bd06 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -786,7 +786,7 @@ public class DesignServiceImpl extends ServiceImpl impleme Map typePriority = list.stream().collect(Collectors.toMap(d -> d.getImageCategory().split("_")[0], d -> Math.abs(d.getPriority()), (existing, replacement) -> replacement)); - Map typeAndUndividedLayer = designItemService.setTypeAndUndividedLayer(layers); + Map priorityAndUndividedLayer = designItemService.setPriorityAndUndividedLayer(layers); for (DesignPythonItem detail : item.getItems()) { if (null == detail) { continue; @@ -797,7 +797,7 @@ public class DesignServiceImpl extends ServiceImpl impleme designItemDetail.setDesignItemId(designItemId); designItemDetail.setCollectionElementId(detail.getElementId()); designItemDetail.setCreateDate(DateUtil.getByTimeZone(timeZone)); - designItemDetail.setUndividedLayer(typeAndUndividedLayer.get(designItemDetail.getType().toLowerCase())); + if (!detail.getType().equals("Body")) designItemDetail.setUndividedLayer(priorityAndUndividedLayer.get(designItemDetail.getPriority().toString())); if (SysFileLevel2TypeEnum.BODY.getRealName().equals(detail.getType())) { designItemDetail.setPath(detail.getBody_path()); //BODY不关联businessId @@ -917,7 +917,7 @@ public class DesignServiceImpl extends ServiceImpl impleme Map typePriority = list.stream().collect(Collectors.toMap(d -> d.getImageCategory().split("_")[0], d -> Math.abs(d.getPriority()), (existing, replacement) -> replacement)); - Map typeAndUndividedLayer = designItemService.setTypeAndUndividedLayer(layers); + Map priorityAndUndividedLayer = designItemService.setPriorityAndUndividedLayer(layers); for (DesignPythonItem detail : item.getItems()) { if (null == detail) { continue; @@ -928,7 +928,7 @@ public class DesignServiceImpl extends ServiceImpl impleme designItemDetail.setDesignItemId(designItemId); designItemDetail.setCollectionElementId(detail.getElementId()); designItemDetail.setCreateDate(DateUtil.getByTimeZone(timeZone)); - designItemDetail.setUndividedLayer(typeAndUndividedLayer.get(designItemDetail.getType().toLowerCase())); + if (!detail.getType().equals("Body")) designItemDetail.setUndividedLayer(priorityAndUndividedLayer.get(designItemDetail.getPriority().toString())); if (SysFileLevel2TypeEnum.BODY.getRealName().equals(detail.getType())) { designItemDetail.setPath(detail.getBody_path()); //BODY不关联businessId @@ -1977,7 +1977,7 @@ public class DesignServiceImpl extends ServiceImpl impleme Map typePriority = list.stream().collect(Collectors.toMap(d -> d.getImageCategory().split("_")[0], d -> Math.abs(d.getPriority()), (existing, replacement) -> replacement)); - Map typeAndUndividedLayer = designItemService.setTypeAndUndividedLayer(layers); + Map priorityAndUndividedLayer = designItemService.setPriorityAndUndividedLayer(layers); for (DesignPythonItem detail : item.getItems()) { if (null == detail) { continue; @@ -1988,7 +1988,7 @@ public class DesignServiceImpl extends ServiceImpl impleme designItemDetail.setDesignItemId(designItemId); designItemDetail.setCollectionElementId(detail.getElementId()); designItemDetail.setCreateDate(DateUtil.getByTimeZone(timeZone)); - designItemDetail.setUndividedLayer(typeAndUndividedLayer.get(designItemDetail.getType().toLowerCase())); + if (!detail.getType().equals("Body")) designItemDetail.setUndividedLayer(priorityAndUndividedLayer.get(designItemDetail.getPriority().toString())); if (SysFileLevel2TypeEnum.BODY.getRealName().equals(detail.getType())) { designItemDetail.setPath(detail.getBody_path()); //BODY不关联businessId