修改图层大小和位置
This commit is contained in:
@@ -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_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<>();
|
||||
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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user