diff --git a/src/main/java/com/ai/da/common/utils/PantoneUtils.java b/src/main/java/com/ai/da/common/utils/PantoneUtils.java index 9ff39b5c..60cea63f 100644 --- a/src/main/java/com/ai/da/common/utils/PantoneUtils.java +++ b/src/main/java/com/ai/da/common/utils/PantoneUtils.java @@ -4,56 +4,28 @@ public class PantoneUtils { public static int[] rgbToHsv(int[] rgb) { //切割rgb数组 - int R = rgb[0]; - int G = rgb[1]; - int B = rgb[2]; - //公式运算 /255 - float R_1 = R / 255f; - float G_1 = G / 255f; - float B_1 = B / 255f; - //重新拼接运算用数组 - float[] all = {R_1, G_1, B_1}; - float max = all[0]; - float min = all[0]; - //循环查找最大值和最小值 - for (int i = 0; i < all.length; i++) { - if (max <= all[i]) { - max = all[i]; - } - if (min >= all[i]) { - min = all[i]; - } - } - float C_max = max; - float C_min = min; - //计算差值 - float diff = C_max - C_min; - float hue = 0f; - //判断情况计算色调H - if (diff == 0f) { - hue = 0f; - } else { - if (C_max == R_1) { - hue = (((G_1 - B_1) / diff) % 6) * 60f; - } - if (C_max == G_1) { - hue = (((B_1 - R_1) / diff) + 2f) * 60f; - } - if (C_max == B_1) { - hue = (((R_1 - G_1) / diff) + 4f) * 60f; - } - } - //计算饱和度S - float saturation; - if (C_max == 0f) { - saturation = 0f; - } else { - saturation = diff / C_max; - } - //计算明度V - float value = C_max; - int[] result = {Math.round(hue), Math.round(saturation * 100), Math.round(value * 100)}; - return result; + int red = rgb[0]; + int green= rgb[1]; + int blue = rgb[2]; + + float r = (float) red / 255; + float g = (float) green / 255; + float b = (float) blue / 255; + + float min = Math.min(Math.min(r, g), b); + + float[] hsv = {60, 0, Math.max(Math.max(r, g), b)}; + + hsv[1] = (hsv[2] == 0) ? 0 : 1 - min / hsv[2]; + + hsv[0] = 60 * ( + (hsv[2] == min) ? Float.NaN : + (hsv[2] == r) ? (g - b) / (hsv[2] - min) + ((g < b) ? 6 : 0) : + (hsv[2] == g) ? (b - r) / (hsv[2] - min) + 2: + (r - g) / (hsv[2] - min) + 4 + ); + + return new int[]{Math.round(hsv[0]), Math.round(hsv[1] * 100), Math.round(hsv[2] * 100)}; } } diff --git a/src/main/java/com/ai/da/mapper/entity/DesignItemDetail.java b/src/main/java/com/ai/da/mapper/entity/DesignItemDetail.java index 357f8a1a..e5d30e02 100644 --- a/src/main/java/com/ai/da/mapper/entity/DesignItemDetail.java +++ b/src/main/java/com/ai/da/mapper/entity/DesignItemDetail.java @@ -93,4 +93,9 @@ public class DesignItemDetail implements Serializable { * 更新时间 */ private Date updateDate; + + /** + * 逻辑删除 1->删除 0->未删除 默认null + */ + private Byte isDeleted; } 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 95188172..da9a62b8 100644 --- a/src/main/java/com/ai/da/model/vo/DesignSinglePrint.java +++ b/src/main/java/com/ai/da/model/vo/DesignSinglePrint.java @@ -13,7 +13,6 @@ import java.util.List; public class DesignSinglePrint { @ApiModelProperty("印花位置") - @Range(max = 1L,message = "印花坐标需用大于等于0小于等于1的数表示") private List location; @ApiModelProperty("印花大小") diff --git a/src/main/java/com/ai/da/python/PythonService.java b/src/main/java/com/ai/da/python/PythonService.java index b24c750a..7b754456 100644 --- a/src/main/java/com/ai/da/python/PythonService.java +++ b/src/main/java/com/ai/da/python/PythonService.java @@ -1643,7 +1643,7 @@ public class PythonService { content.put("category", category); content.put("mode",mode); content.put("str", text); - content.put("version","2"); + content.put("version",modelName); RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(content,SerializerFeature.WriteMapNullValue)); Request request = new Request.Builder() // .url(accessPythonIp + ":2828/aida/diffusion") diff --git a/src/main/java/com/ai/da/service/impl/DesignItemDetailServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignItemDetailServiceImpl.java index 2bff1236..9d6c6589 100644 --- a/src/main/java/com/ai/da/service/impl/DesignItemDetailServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignItemDetailServiceImpl.java @@ -41,13 +41,18 @@ public class DesignItemDetailServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("design_item_id", designItemId); - return designItemDetailMapper.delete(queryWrapper); + DesignItemDetail designItemDetail = new DesignItemDetail(); + designItemDetail.setIsDeleted((byte)1); + return designItemDetailMapper.update(designItemDetail,queryWrapper); } @Override public List selectByDesignItemId(Long designItemId) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("design_item_id", designItemId); + queryWrapper.eq("design_item_id", designItemId) + .isNull("is_deleted") + .or() + .ne("is_deleted",(byte)1); return designItemDetailMapper.selectList(queryWrapper); } 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 adc37cfa..cae9f2e3 100644 --- a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java @@ -69,8 +69,6 @@ public class DesignItemServiceImpl extends ServiceImpl designItemDetails = Lists.newArrayList(); - // 保存designItem + // 保存新的designItemDetail pythonObjects.getObjects().get(0).getItems().forEach(detail ->{ if(null == detail){ return; @@ -328,7 +326,7 @@ public class DesignItemServiceImpl extends ServiceImpl impleme private PanToneService panToneService; @Resource private PythonTAllInfoService pythonTAllInfoService; - @Value("${minio.endpoint}") - private String endpoint; - @Value("${minio.bucketName.results}") - private String bucketName; // @Transactional @Override @@ -811,7 +807,8 @@ public class DesignServiceImpl extends ServiceImpl impleme List filterDetail = designItemDetails.stream() .filter(f -> OUTWEAR_DRESS_BLOUSE.contains(f.getType()) || SKIRT_TROUSERS.contains(f.getType())) .collect(Collectors.toList()); - response.setClothes(CopyUtil.copyList(filterDetail, DesignItemClothesDetailVO.class, (o, d) -> { + // todo 填充图层需要筛选已经被删除的图层 + response.setClothes(CopyUtil.copyList(filterDetail,DesignItemClothesDetailVO.class,(o,d)->{ d.setId(o.getBusinessId()); d.setLevel1Type(converTypeToLevel1(o.getType())); String printJson = o.getPrintJson(); @@ -832,7 +829,7 @@ public class DesignServiceImpl extends ServiceImpl impleme d.setPrintObject(new DesignPythonItemPrint()); })); return editDesignItemLayer(flag,designPythonOutfit, - minIoUtil.splitThenGetPreviewUrl(designItem.getDesignUrl(),480), + minIoUtil.splitThenGetPreviewUrl(designPythonOutfit.getDesignUrl(),480), editResponseColor(designItemDetails,response)); } diff --git a/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java b/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java index 26a406d5..2d8d6ed7 100644 --- a/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/TDesignPythonOutfitDetailServiceImpl.java @@ -52,11 +52,7 @@ public class TDesignPythonOutfitDetailServiceImpl extends ServiceImpl) JSON.parse(detail.getPosition())); designPythonOutfitVO.setImageSize(StringUtil.isNullOrEmpty(detail.getImageSize()) ? null : (List) JSON.parse(detail.getImageSize())); - if (detail.getImageCategory().equals("body")){ - designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getImageUrl(),480)); - }else { - designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getImageUrl(),480)); - } + designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getImageUrl(),480)); designPythonOutfitVO.setMaskUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getMaskUrl(),480)); return designPythonOutfitVO; }