Merge remote-tracking branch 'origin/dev/dev' into dev/dev

This commit is contained in:
shahaibo
2025-02-13 11:07:02 +08:00
2 changed files with 64 additions and 11 deletions

View File

@@ -1385,14 +1385,14 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
// 判断有无印花
if (CollectionUtil.isNotEmpty(prints)) {
// 有印花
d.setPrintObject(convertToDesignSinglePrintDTO(prints));
d.setPrintObject(convertToDesignSinglePrintDTO(prints, o.getPath()));
}
// 根据designItemDetailId获取design elements
List<DesignItemDetailPrint> trims = designItemDetailPrintService.getByDesignItemDetailId(o.getId(), "trims");
// 判断有无装饰 trims
if (CollectionUtil.isNotEmpty(trims)) {
// 有印花
d.setTrims(convertToDesignSinglePrintDTO(trims));
d.setTrims(convertToDesignSinglePrintDTO(trims, o.getPath()));
}
}));
//single 和 Models(模特)时候 系统元素为空
@@ -1586,7 +1586,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
return designItemDetailVO;
}
private DesignSinglePrintDTO convertToDesignSinglePrintDTO(List<DesignItemDetailPrint> designItemDetailPrints) {
private DesignSinglePrintDTO convertToDesignSinglePrintDTO(List<DesignItemDetailPrint> designItemDetailPrints, String sketchPath) {
DesignSinglePrintDTO designSinglePrintDTO = new DesignSinglePrintDTO();
List<DesignSinglePrint> prints = new ArrayList<>();
@@ -1601,23 +1601,51 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
designSinglePrint.setPriority(detailPrint.getPriority());
designSinglePrint.setPath(minioUtil.getPreSignedUrl(detailPrint.getPath(), 24 * 60));
designSinglePrint.setMinIOPath(detailPrint.getPath());
designSinglePrint.setScale(JSONArray.parseArray(detailPrint.getScale(), Float.class));
designSinglePrint.setIfSingle(detailPrint.getSingleOrOverall().equals("single") ? Boolean.TRUE : Boolean.FALSE);
List<Float> scales;
try{
scales = JSONArray.parseArray(detailPrint.getScale(), Float.class);
}catch (JSONException e){
Float scale = Float.valueOf(detailPrint.getScale());
if (designSinglePrint.getIfSingle()){
List<Integer> printWAndH = minioUtil.getImagesWidthAndHeight(detailPrint.getPath());
List<Integer> sketchWAndH = minioUtil.getImagesWidthAndHeight(sketchPath);
scales = Arrays.asList(scale * printWAndH.get(0) / sketchWAndH.get(0), scale * printWAndH.get(1) / sketchWAndH.get(1));
}else {
scales = Arrays.asList(scale, scale);
}
}
designSinglePrint.setScale(scales);
prints.add(designSinglePrint);
} else {
// single模式下多个印花
// 多个印花
// designSinglePrintDTO.setIfSingle(Boolean.TRUE);
designItemDetailPrints.forEach(print -> {
// if (print.getSingleOrOverall().equals("single")) {
List<Float> scales;
Boolean ifSingle = print.getSingleOrOverall().equals("single") ? Boolean.TRUE : Boolean.FALSE;
Float scale = Float.valueOf(print.getScale());
try{
scales = JSONArray.parseArray(print.getScale(), Float.class);
}catch (JSONException e){
if (ifSingle){
List<Integer> printWAndH = minioUtil.getImagesWidthAndHeight(print.getPath());
List<Integer> sketchWAndH = minioUtil.getImagesWidthAndHeight(sketchPath);
scales = Arrays.asList(scale * printWAndH.get(0) / sketchWAndH.get(0), scale * printWAndH.get(1) / sketchWAndH.get(1));
}else {
scales = Arrays.asList(scale, scale);
}
}
prints.add(new DesignSinglePrint(
print.getLevel2Type(),
minioUtil.getPreSignedUrl(print.getPath(), 24 * 60),
print.getPath(),
JSONArray.parseArray(print.getPosition(), Float.class),
JSONArray.parseArray(print.getScale(), Float.class),
scales,
print.getAngle(),
print.getPriority(),
print.getSingleOrOverall().equals("single") ? Boolean.TRUE : Boolean.FALSE));
ifSingle));
// }
});
}