修改图层大小和位置
This commit is contained in:
@@ -354,7 +354,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
designPythonOutfitDetail.setImageSize(jsonObject.getString("image_size"));
|
designPythonOutfitDetail.setImageSize(jsonObject.getString("image_size"));
|
||||||
designPythonOutfitDetail.setImageCategory(jsonObject.getString("image_category"));
|
designPythonOutfitDetail.setImageCategory(jsonObject.getString("image_category"));
|
||||||
designPythonOutfitDetail.setMaskUrl(jsonObject.getString("mask_url"));
|
designPythonOutfitDetail.setMaskUrl(jsonObject.getString("mask_url"));
|
||||||
designPythonOutfitDetail.setScale(Objects.isNull(jsonObject.getString("scale")) ? null : jsonObject.getString("scale"));
|
designPythonOutfitDetail.setScale(Objects.isNull(jsonObject.getString("scale")) ? "1.0" : jsonObject.getString("scale"));
|
||||||
designPythonOutfitDetail.setUserId(userId);
|
designPythonOutfitDetail.setUserId(userId);
|
||||||
list.add(designPythonOutfitDetail);
|
list.add(designPythonOutfitDetail);
|
||||||
}
|
}
|
||||||
@@ -431,6 +431,8 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
// 1、校验designItem是是否存在
|
// 1、校验designItem是是否存在
|
||||||
DesignItem designItem = selectById(designItemLayer.getDesignItemId());
|
DesignItem designItem = selectById(designItemLayer.getDesignItemId());
|
||||||
Assert.notNull(designItem,"designItem does not exists!");
|
Assert.notNull(designItem,"designItem does not exists!");
|
||||||
|
TDesignPythonOutfit designPythonOutfit = designPythonOutfitService.getByDesignItemId(designItemLayer.getDesignItemId());
|
||||||
|
Assert.notNull(designPythonOutfit,"layers does not exists!");
|
||||||
|
|
||||||
// 2、校验layers是否存在
|
// 2、校验layers是否存在
|
||||||
designItemLayer.getLayers().forEach(layer -> {
|
designItemLayer.getLayers().forEach(layer -> {
|
||||||
@@ -452,9 +454,17 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
designItem.setUpdateDate(DateUtil.getByTimeZone(positionAndScaleVO.getTimeZone()));
|
designItem.setUpdateDate(DateUtil.getByTimeZone(positionAndScaleVO.getTimeZone()));
|
||||||
designItem.setDesignUrl(synthesisUrl);
|
designItem.setDesignUrl(synthesisUrl);
|
||||||
designItem.setId(designItemLayer.getDesignItemId());
|
designItem.setId(designItemLayer.getDesignItemId());
|
||||||
|
designItem.setUpdateDate(DateUtil.getByTimeZone(positionAndScaleVO.getTimeZone()));
|
||||||
updateById(designItem);
|
updateById(designItem);
|
||||||
|
|
||||||
// 6、将图层信息position和scale更新到t_design_python_outfit_detail表
|
// 6、更新数据库,根据designItemId更新t_design_python_outfit的designUrl
|
||||||
|
TDesignPythonOutfit tDesignPythonOutfit = new TDesignPythonOutfit();
|
||||||
|
tDesignPythonOutfit.setDesignUrl(synthesisUrl);
|
||||||
|
tDesignPythonOutfit.setId(designPythonOutfit.getId());
|
||||||
|
tDesignPythonOutfit.setUpdateDate(LocalDateTime.now(ZoneId.of(positionAndScaleVO.getTimeZone())));
|
||||||
|
designPythonOutfitService.updateById(tDesignPythonOutfit);
|
||||||
|
|
||||||
|
// 7、将图层信息position和scale更新到t_design_python_outfit_detail表
|
||||||
ArrayList<TDesignPythonOutfitDetail> details = new ArrayList<>();
|
ArrayList<TDesignPythonOutfitDetail> details = new ArrayList<>();
|
||||||
designItemLayer.getLayers().forEach(layer -> {
|
designItemLayer.getLayers().forEach(layer -> {
|
||||||
TDesignPythonOutfitDetail layerDetail = new TDesignPythonOutfitDetail();
|
TDesignPythonOutfitDetail layerDetail = new TDesignPythonOutfitDetail();
|
||||||
@@ -465,7 +475,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
});
|
});
|
||||||
designPythonOutfitDetailService.updateBatchById(details);
|
designPythonOutfitDetailService.updateBatchById(details);
|
||||||
|
|
||||||
// 7、返回图层及合成图信息
|
// 8、返回图层及合成图信息
|
||||||
designItemLayer.getLayers().forEach(layer -> {
|
designItemLayer.getLayers().forEach(layer -> {
|
||||||
ArrayList<Long> imageSize = new ArrayList<>();
|
ArrayList<Long> imageSize = new ArrayList<>();
|
||||||
for (int i = 0; i < layer.getImageSize().size(); i++) {
|
for (int i = 0; i < layer.getImageSize().size(); i++) {
|
||||||
@@ -490,6 +500,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
ArrayList<DesignItemClothesDetailVO> clothes = new ArrayList<>();
|
ArrayList<DesignItemClothesDetailVO> clothes = new ArrayList<>();
|
||||||
DesignItemClothesDetailVO body = new DesignItemClothesDetailVO("body");
|
DesignItemClothesDetailVO body = new DesignItemClothesDetailVO("body");
|
||||||
designSingleVO.setDesignItemId(designItemId);
|
designSingleVO.setDesignItemId(designItemId);
|
||||||
|
// 图片用于修改前后的一键对比
|
||||||
designSingleVO.setDesignItemUrl(designItemUrl);
|
designSingleVO.setDesignItemUrl(designItemUrl);
|
||||||
designSingleVO.setClothes(clothes);
|
designSingleVO.setClothes(clothes);
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,11 @@ import org.springframework.stereotype.Service;
|
|||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* design item详情表 服务实现类
|
* design item详情表 服务实现类
|
||||||
@@ -53,9 +56,19 @@ 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()));
|
||||||
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));
|
designPythonOutfitVO.setMaskUrl(StringUtil.isNullOrEmpty(detail.getMaskUrl()) ? null : minIoUtil.splitThenGetPreviewUrl(detail.getMaskUrl(),480));
|
||||||
|
designPythonOutfitVO.setScale(Float.parseFloat(detail.getScale()));
|
||||||
|
|
||||||
|
if (!StringUtil.isNullOrEmpty(detail.getImageSize())){
|
||||||
|
List<Long> size = Arrays.stream(detail.getImageSize().replaceAll("\\[|\\]", "").split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
|
||||||
|
ArrayList<Long> imageSize = new ArrayList<>();
|
||||||
|
for (Long aLong : size) {
|
||||||
|
imageSize.add((long) (aLong * Float.parseFloat(detail.getScale())));
|
||||||
|
}
|
||||||
|
designPythonOutfitVO.setImageSize(imageSize);
|
||||||
|
}
|
||||||
return designPythonOutfitVO;
|
return designPythonOutfitVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user