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;