design single接口疏通
This commit is contained in:
@@ -4,56 +4,28 @@ public class PantoneUtils {
|
|||||||
|
|
||||||
public static int[] rgbToHsv(int[] rgb) {
|
public static int[] rgbToHsv(int[] rgb) {
|
||||||
//切割rgb数组
|
//切割rgb数组
|
||||||
int R = rgb[0];
|
int red = rgb[0];
|
||||||
int G = rgb[1];
|
int green= rgb[1];
|
||||||
int B = rgb[2];
|
int blue = rgb[2];
|
||||||
//公式运算 /255
|
|
||||||
float R_1 = R / 255f;
|
float r = (float) red / 255;
|
||||||
float G_1 = G / 255f;
|
float g = (float) green / 255;
|
||||||
float B_1 = B / 255f;
|
float b = (float) blue / 255;
|
||||||
//重新拼接运算用数组
|
|
||||||
float[] all = {R_1, G_1, B_1};
|
float min = Math.min(Math.min(r, g), b);
|
||||||
float max = all[0];
|
|
||||||
float min = all[0];
|
float[] hsv = {60, 0, Math.max(Math.max(r, g), b)};
|
||||||
//循环查找最大值和最小值
|
|
||||||
for (int i = 0; i < all.length; i++) {
|
hsv[1] = (hsv[2] == 0) ? 0 : 1 - min / hsv[2];
|
||||||
if (max <= all[i]) {
|
|
||||||
max = all[i];
|
hsv[0] = 60 * (
|
||||||
}
|
(hsv[2] == min) ? Float.NaN :
|
||||||
if (min >= all[i]) {
|
(hsv[2] == r) ? (g - b) / (hsv[2] - min) + ((g < b) ? 6 : 0) :
|
||||||
min = all[i];
|
(hsv[2] == g) ? (b - r) / (hsv[2] - min) + 2:
|
||||||
}
|
(r - g) / (hsv[2] - min) + 4
|
||||||
}
|
);
|
||||||
float C_max = max;
|
|
||||||
float C_min = min;
|
return new int[]{Math.round(hsv[0]), Math.round(hsv[1] * 100), Math.round(hsv[2] * 100)};
|
||||||
//计算差值
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,4 +93,9 @@ public class DesignItemDetail implements Serializable {
|
|||||||
* 更新时间
|
* 更新时间
|
||||||
*/
|
*/
|
||||||
private Date updateDate;
|
private Date updateDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 逻辑删除 1->删除 0->未删除 默认null
|
||||||
|
*/
|
||||||
|
private Byte isDeleted;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import java.util.List;
|
|||||||
public class DesignSinglePrint {
|
public class DesignSinglePrint {
|
||||||
|
|
||||||
@ApiModelProperty("印花位置")
|
@ApiModelProperty("印花位置")
|
||||||
@Range(max = 1L,message = "印花坐标需用大于等于0小于等于1的数表示")
|
|
||||||
private List<Float> location;
|
private List<Float> location;
|
||||||
|
|
||||||
@ApiModelProperty("印花大小")
|
@ApiModelProperty("印花大小")
|
||||||
|
|||||||
@@ -1643,7 +1643,7 @@ public class PythonService {
|
|||||||
content.put("category", category);
|
content.put("category", category);
|
||||||
content.put("mode",mode);
|
content.put("mode",mode);
|
||||||
content.put("str", text);
|
content.put("str", text);
|
||||||
content.put("version","2");
|
content.put("version",modelName);
|
||||||
RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(content,SerializerFeature.WriteMapNullValue));
|
RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(content,SerializerFeature.WriteMapNullValue));
|
||||||
Request request = new Request.Builder()
|
Request request = new Request.Builder()
|
||||||
// .url(accessPythonIp + ":2828/aida/diffusion")
|
// .url(accessPythonIp + ":2828/aida/diffusion")
|
||||||
|
|||||||
@@ -41,13 +41,18 @@ public class DesignItemDetailServiceImpl extends ServiceImpl<DesignItemDetailMap
|
|||||||
public int deleteByDesignItemId(Long designItemId) {
|
public int deleteByDesignItemId(Long designItemId) {
|
||||||
QueryWrapper<DesignItemDetail> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<DesignItemDetail> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("design_item_id", designItemId);
|
queryWrapper.eq("design_item_id", designItemId);
|
||||||
return designItemDetailMapper.delete(queryWrapper);
|
DesignItemDetail designItemDetail = new DesignItemDetail();
|
||||||
|
designItemDetail.setIsDeleted((byte)1);
|
||||||
|
return designItemDetailMapper.update(designItemDetail,queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DesignItemDetail> selectByDesignItemId(Long designItemId) {
|
public List<DesignItemDetail> selectByDesignItemId(Long designItemId) {
|
||||||
QueryWrapper<DesignItemDetail> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<DesignItemDetail> 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);
|
return designItemDetailMapper.selectList(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,6 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
private PanToneService panToneService;
|
private PanToneService panToneService;
|
||||||
@Resource
|
@Resource
|
||||||
private MinioUtil minioUtil;
|
private MinioUtil minioUtil;
|
||||||
@Value("${minio.bucketName.results}")
|
|
||||||
private String bucketName;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Long saveOne(DesignItem designItem) {
|
public Long saveOne(DesignItem designItem) {
|
||||||
@@ -290,13 +288,13 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
designItem.setDesignUrl(url);
|
designItem.setDesignUrl(url);
|
||||||
designItem.setId(designItemId);
|
designItem.setId(designItemId);
|
||||||
|
|
||||||
//更新item
|
//更新designItem
|
||||||
updateById(designItem);
|
updateById(designItem);
|
||||||
//删除itemDetail
|
//删除designItemDetail(逻辑删除)
|
||||||
designItemDetailService.deleteByDesignItemId(designItemId);
|
designItemDetailService.deleteByDesignItemId(designItemId);
|
||||||
|
|
||||||
List<DesignItemDetail> designItemDetails = Lists.newArrayList();
|
List<DesignItemDetail> designItemDetails = Lists.newArrayList();
|
||||||
// 保存designItem
|
// 保存新的designItemDetail
|
||||||
pythonObjects.getObjects().get(0).getItems().forEach(detail ->{
|
pythonObjects.getObjects().get(0).getItems().forEach(detail ->{
|
||||||
if(null == detail){
|
if(null == detail){
|
||||||
return;
|
return;
|
||||||
@@ -328,7 +326,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
designPythonOutfit.setUpdateDate(LocalDateTime.now(ZoneId.of(timeZone)));
|
designPythonOutfit.setUpdateDate(LocalDateTime.now(ZoneId.of(timeZone)));
|
||||||
designPythonOutfitService.updateById(designPythonOutfit);
|
designPythonOutfitService.updateById(designPythonOutfit);
|
||||||
|
|
||||||
// 删除designPythonOutfitDetail表中原始的图层信息
|
// 删除designPythonOutfitDetail表中原始的图层信息(逻辑删除)
|
||||||
designPythonOutfitDetailService.deleteByDesignPythonOutfitId(designPythonOutfit.getId());
|
designPythonOutfitDetailService.deleteByDesignPythonOutfitId(designPythonOutfit.getId());
|
||||||
|
|
||||||
// 将新生成的图层信息存入designPythonOutfitDetail表
|
// 将新生成的图层信息存入designPythonOutfitDetail表
|
||||||
|
|||||||
@@ -82,10 +82,6 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
|||||||
private PanToneService panToneService;
|
private PanToneService panToneService;
|
||||||
@Resource
|
@Resource
|
||||||
private PythonTAllInfoService pythonTAllInfoService;
|
private PythonTAllInfoService pythonTAllInfoService;
|
||||||
@Value("${minio.endpoint}")
|
|
||||||
private String endpoint;
|
|
||||||
@Value("${minio.bucketName.results}")
|
|
||||||
private String bucketName;
|
|
||||||
|
|
||||||
// @Transactional
|
// @Transactional
|
||||||
@Override
|
@Override
|
||||||
@@ -811,7 +807,8 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
|||||||
List<DesignItemDetail> filterDetail = designItemDetails.stream()
|
List<DesignItemDetail> filterDetail = designItemDetails.stream()
|
||||||
.filter(f -> OUTWEAR_DRESS_BLOUSE.contains(f.getType()) || SKIRT_TROUSERS.contains(f.getType()))
|
.filter(f -> OUTWEAR_DRESS_BLOUSE.contains(f.getType()) || SKIRT_TROUSERS.contains(f.getType()))
|
||||||
.collect(Collectors.toList());
|
.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.setId(o.getBusinessId());
|
||||||
d.setLevel1Type(converTypeToLevel1(o.getType()));
|
d.setLevel1Type(converTypeToLevel1(o.getType()));
|
||||||
String printJson = o.getPrintJson();
|
String printJson = o.getPrintJson();
|
||||||
@@ -832,7 +829,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
|||||||
d.setPrintObject(new DesignPythonItemPrint());
|
d.setPrintObject(new DesignPythonItemPrint());
|
||||||
}));
|
}));
|
||||||
return editDesignItemLayer(flag,designPythonOutfit,
|
return editDesignItemLayer(flag,designPythonOutfit,
|
||||||
minIoUtil.splitThenGetPreviewUrl(designItem.getDesignUrl(),480),
|
minIoUtil.splitThenGetPreviewUrl(designPythonOutfit.getDesignUrl(),480),
|
||||||
editResponseColor(designItemDetails,response));
|
editResponseColor(designItemDetails,response));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,11 +52,7 @@ public class TDesignPythonOutfitDetailServiceImpl extends ServiceImpl<TDesignPyt
|
|||||||
DesignPythonOutfitVO designPythonOutfitVO = CopyUtil.copyObject(detail,DesignPythonOutfitVO.class);
|
DesignPythonOutfitVO designPythonOutfitVO = CopyUtil.copyObject(detail,DesignPythonOutfitVO.class);
|
||||||
designPythonOutfitVO.setPosition(StringUtil.isNullOrEmpty(detail.getPosition()) ? null : (List<Long>) JSON.parse(detail.getPosition()));
|
designPythonOutfitVO.setPosition(StringUtil.isNullOrEmpty(detail.getPosition()) ? null : (List<Long>) JSON.parse(detail.getPosition()));
|
||||||
designPythonOutfitVO.setImageSize(StringUtil.isNullOrEmpty(detail.getImageSize()) ? null : (List<Long>) JSON.parse(detail.getImageSize()));
|
designPythonOutfitVO.setImageSize(StringUtil.isNullOrEmpty(detail.getImageSize()) ? null : (List<Long>) JSON.parse(detail.getImageSize()));
|
||||||
if (detail.getImageCategory().equals("body")){
|
|
||||||
designPythonOutfitVO.setImageUrl(StringUtil.isNullOrEmpty(detail.getImageUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getImageUrl(),480));
|
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.setMaskUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getMaskUrl(),480));
|
designPythonOutfitVO.setMaskUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getMaskUrl(),480));
|
||||||
return designPythonOutfitVO;
|
return designPythonOutfitVO;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user