修改图层大小和位置

This commit is contained in:
xupei
2023-10-04 08:59:27 +08:00
parent fd5e47ecdc
commit 0103b0c814
2 changed files with 28 additions and 4 deletions

View File

@@ -354,7 +354,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
designPythonOutfitDetail.setImageSize(jsonObject.getString("image_size"));
designPythonOutfitDetail.setImageCategory(jsonObject.getString("image_category"));
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);
list.add(designPythonOutfitDetail);
}
@@ -431,6 +431,8 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
// 1、校验designItem是是否存在
DesignItem designItem = selectById(designItemLayer.getDesignItemId());
Assert.notNull(designItem,"designItem does not exists!");
TDesignPythonOutfit designPythonOutfit = designPythonOutfitService.getByDesignItemId(designItemLayer.getDesignItemId());
Assert.notNull(designPythonOutfit,"layers does not exists!");
// 2、校验layers是否存在
designItemLayer.getLayers().forEach(layer -> {
@@ -452,9 +454,17 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
designItem.setUpdateDate(DateUtil.getByTimeZone(positionAndScaleVO.getTimeZone()));
designItem.setDesignUrl(synthesisUrl);
designItem.setId(designItemLayer.getDesignItemId());
designItem.setUpdateDate(DateUtil.getByTimeZone(positionAndScaleVO.getTimeZone()));
updateById(designItem);
// 6、将图层信息position和scale更新t_design_python_outfit_detail表
// 6、更新数据库根据designItemId更新t_design_python_outfitdesignUrl
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<>();
designItemLayer.getLayers().forEach(layer -> {
TDesignPythonOutfitDetail layerDetail = new TDesignPythonOutfitDetail();
@@ -465,7 +475,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
});
designPythonOutfitDetailService.updateBatchById(details);
// 7、返回图层及合成图信息
// 8、返回图层及合成图信息
designItemLayer.getLayers().forEach(layer -> {
ArrayList<Long> imageSize = new ArrayList<>();
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<>();
DesignItemClothesDetailVO body = new DesignItemClothesDetailVO("body");
designSingleVO.setDesignItemId(designItemId);
// 图片用于修改前后的一键对比
designSingleVO.setDesignItemUrl(designItemUrl);
designSingleVO.setClothes(clothes);

View File

@@ -18,8 +18,11 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* design item详情表 服务实现类
@@ -53,9 +56,19 @@ public class TDesignPythonOutfitDetailServiceImpl extends ServiceImpl<TDesignPyt
DesignPythonOutfitVO designPythonOutfitVO = CopyUtil.copyObject(detail,DesignPythonOutfitVO.class);
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.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;
}