From 815392fffaf2a56ff6c20bb2e079bd6b68273f6a Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Tue, 29 Apr 2025 16:16:36 +0800 Subject: [PATCH] =?UTF-8?q?TASK:=E6=A8=A1=E5=9D=97=E5=8C=96=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/service/impl/DesignServiceImpl.java | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) 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 a9f5db9d..912865f0 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -144,6 +144,8 @@ public class DesignServiceImpl extends ServiceImpl impleme private CreditsService creditsService; @Resource private ToProductImageRecordMapper toProductImageRecordMapper; + @Resource + private ColorLoopUpTableService colorLoopUpTableService; private final ConcurrentHashMap> designContext = new ConcurrentHashMap<>(); @@ -2758,25 +2760,31 @@ public class DesignServiceImpl extends ServiceImpl impleme collectionElement.setCreateDate(date); libraryService.processSketchBoards(url, collectionElement.getLevel2Type()); }else if (receiveCollectionElement.getLevel1Type().equals(CollectionLevel1TypeEnum.COLOR_BOARD.getRealName())) { - String color = receiveCollectionElement.getRgb(); - int[] rgb = Arrays.stream(color.split("\\s+")).mapToInt(Integer::parseInt).toArray(); + String color = receiveCollectionElement.getHsv(); + int[] hsv = Arrays.stream(color.split("\\s+")).mapToInt(Integer::parseInt).toArray(); + int value = (hsv[0] * 101 * 101) + (hsv[1] * 101) + hsv[2]; + ColorLookupTable colorLookupTable = colorLoopUpTableService.getByColorValue(value); + if (Objects.isNull(colorLookupTable)) { + throw new BusinessException("Unknown pantone."); + } QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("r", rgb[0]); - queryWrapper.eq("g", rgb[1]); - queryWrapper.eq("b", rgb[2]); + queryWrapper.eq("pantone_index", colorLookupTable.getColorIndex()); PanTone panTone = panToneMapper.selectOne(queryWrapper); + if (Objects.nonNull(panTone)) { collectionElement.setLevel1Type(receiveCollectionElement.getLevel1Type()); collectionElement.setAccountId(project.getAccountId()); collectionElement.setProjectId(project.getId()); - collectionElement.setName(panTone.getName()); + collectionElement.setName(panTone.getPantoneIndex() + "_" + panTone.getName() + "_" + panTone.getTcx()); collectionElement.setHasPin((byte) 0); - collectionElement.setColorRgb(color); + collectionElement.setColorRgb(receiveCollectionElement.getRgb()); collectionElement.setCreateDate(date); } } + collectionElement.setMd5("0"); collectionElementList.add(collectionElement); } + collectionElementService.saveBatch(collectionElementList); } return Boolean.TRUE;