BUGFIX:单品设计偏移量为空问题
This commit is contained in:
@@ -330,7 +330,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
, JSONObject outfit, String timeZone, List<DesignSingleItemDTO> designSingleItemDTOList
|
, JSONObject outfit, String timeZone, List<DesignSingleItemDTO> designSingleItemDTOList
|
||||||
, Map<String, String> categoryAndUndividedLayer
|
, Map<String, String> categoryAndUndividedLayer
|
||||||
, boolean changeModelFlag
|
, boolean changeModelFlag
|
||||||
, Long modelId, String modelType) {
|
, Long modelId, String modelType, boolean isSingleCollectionFlag) {
|
||||||
|
|
||||||
DesignItem designItem = new DesignItem();
|
DesignItem designItem = new DesignItem();
|
||||||
// String url = pythonObjects.getObjects().get(0).getBasic().getSave_name();
|
// String url = pythonObjects.getObjects().get(0).getBasic().getSave_name();
|
||||||
@@ -389,8 +389,11 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
// 7、将新生成的图层信息存入designPythonOutfitDetail表
|
// 7、将新生成的图层信息存入designPythonOutfitDetail表
|
||||||
JSONArray layers = outfit.getJSONArray("layers");
|
JSONArray layers = outfit.getJSONArray("layers");
|
||||||
|
|
||||||
Map<Integer, List<Long>> priorityOffset = designSingleItemDTOList.stream()
|
Map<Integer, List<Long>> priorityOffset = null;
|
||||||
.collect(Collectors.toMap(DesignSingleItemDTO::getPriority, DesignSingleItemDTO::getOffset));
|
if (!isSingleCollectionFlag){
|
||||||
|
priorityOffset = designSingleItemDTOList.stream()
|
||||||
|
.collect(Collectors.toMap(DesignSingleItemDTO::getPriority, DesignSingleItemDTO::getOffset));
|
||||||
|
}
|
||||||
List<TDesignPythonOutfitDetail> list = setTDesignPythonOutfitDetailList(layers, designId, designPythonOutfit.getId(), userId, priorityOffset);
|
List<TDesignPythonOutfitDetail> list = setTDesignPythonOutfitDetailList(layers, designId, designPythonOutfit.getId(), userId, priorityOffset);
|
||||||
|
|
||||||
designPythonOutfitDetailService.saveBatch(list);
|
designPythonOutfitDetailService.saveBatch(list);
|
||||||
@@ -415,7 +418,9 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
designPythonOutfitDetail.setMaskUrl(jsonObject.getString("mask_url"));
|
designPythonOutfitDetail.setMaskUrl(jsonObject.getString("mask_url"));
|
||||||
designPythonOutfitDetail.setScale(Objects.isNull(jsonObject.getString("resize_scale")) ? "1.0" : jsonObject.getString("resize_scale"));
|
designPythonOutfitDetail.setScale(Objects.isNull(jsonObject.getString("resize_scale")) ? "1.0" : jsonObject.getString("resize_scale"));
|
||||||
designPythonOutfitDetail.setUserId(userId);
|
designPythonOutfitDetail.setUserId(userId);
|
||||||
designPythonOutfitDetail.setOffset(String.valueOf(priorityOffset.get(Math.abs(Integer.parseInt(jsonObject.getString("priority"))))));
|
if (priorityOffset != null && !priorityOffset.isEmpty()){
|
||||||
|
designPythonOutfitDetail.setOffset(String.valueOf(priorityOffset.get(Math.abs(Integer.parseInt(jsonObject.getString("priority"))))));
|
||||||
|
}
|
||||||
designPythonOutfitDetail.setPriority((Integer) jsonObject.get("priority"));
|
designPythonOutfitDetail.setPriority((Integer) jsonObject.get("priority"));
|
||||||
designPythonOutfitDetail.setCreateDate(LocalDateTime.now());
|
designPythonOutfitDetail.setCreateDate(LocalDateTime.now());
|
||||||
list.add(designPythonOutfitDetail);
|
list.add(designPythonOutfitDetail);
|
||||||
@@ -480,7 +485,11 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
boolean changeModelFlag = false;
|
boolean changeModelFlag = false;
|
||||||
Long modelId = null;
|
Long modelId = null;
|
||||||
String modelType = null;
|
String modelType = null;
|
||||||
|
Map<Integer, List<Long>> priorityOffset = new HashMap<>();
|
||||||
|
// 单品设计标志
|
||||||
|
boolean isSingleCollectionFlag = true;
|
||||||
if (design.getSingleOverall().equals("overall")){
|
if (design.getSingleOverall().equals("overall")){
|
||||||
|
isSingleCollectionFlag = false;
|
||||||
// 优先级 1、判断当前入参中是否有model数据 无 -> 2、判断design item 中是否有model数据 无 -> 3、从design表中拿model数据 仍然没有 报错
|
// 优先级 1、判断当前入参中是否有model数据 无 -> 2、判断design item 中是否有model数据 无 -> 3、从design表中拿model数据 仍然没有 报错
|
||||||
if (!Objects.isNull(designSingleIncludeLayersDTO.getModelId()) && !StringUtil.isNullOrEmpty(designSingleIncludeLayersDTO.getModelType())){
|
if (!Objects.isNull(designSingleIncludeLayersDTO.getModelId()) && !StringUtil.isNullOrEmpty(designSingleIncludeLayersDTO.getModelType())){
|
||||||
modelId = designSingleIncludeLayersDTO.getModelId();
|
modelId = designSingleIncludeLayersDTO.getModelId();
|
||||||
@@ -524,6 +533,15 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
throw new BusinessException("modelPoint.not.found");
|
throw new BusinessException("modelPoint.not.found");
|
||||||
}
|
}
|
||||||
designLibraryModelPointVO = collectionElementService.calculateTemplatePoint(modelPoint, high, width, modelUrl);
|
designLibraryModelPointVO = collectionElementService.calculateTemplatePoint(modelPoint, high, width, modelUrl);
|
||||||
|
// 通过priority将offset关联到layers
|
||||||
|
try{
|
||||||
|
priorityOffset = designSingleIncludeLayersDTO.getDesignSingleItemDTOList().stream()
|
||||||
|
.collect(Collectors.toMap(DesignSingleItemDTO::getPriority, DesignSingleItemDTO::getOffset));
|
||||||
|
}catch (IllegalStateException e){
|
||||||
|
// priority重复
|
||||||
|
log.info("服装的priority重复");
|
||||||
|
throw new BusinessException("priority.cannot.be.repeated");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 画笔修改的sketch截图 上传后替换path
|
// 画笔修改的sketch截图 上传后替换path
|
||||||
@@ -558,16 +576,6 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
throw new BusinessException("python response data is null");
|
throw new BusinessException("python response data is null");
|
||||||
}
|
}
|
||||||
JSONObject outfit = data.getJSONObject("0");
|
JSONObject outfit = data.getJSONObject("0");
|
||||||
// 通过priority将offset关联到layers
|
|
||||||
Map<Integer, List<Long>> priorityOffset = new HashMap<>();
|
|
||||||
try{
|
|
||||||
priorityOffset = designSingleIncludeLayersDTO.getDesignSingleItemDTOList().stream()
|
|
||||||
.collect(Collectors.toMap(DesignSingleItemDTO::getPriority, DesignSingleItemDTO::getOffset));
|
|
||||||
}catch (IllegalStateException e){
|
|
||||||
// priority重复
|
|
||||||
log.info("服装的priority重复");
|
|
||||||
throw new BusinessException("priority.cannot.be.repeated");
|
|
||||||
}
|
|
||||||
|
|
||||||
JSONArray layers = outfit.getJSONArray("layers");
|
JSONArray layers = outfit.getJSONArray("layers");
|
||||||
Map<String, String> categoryAndUndividedLayer = setTypeAndUndividedLayer(layers);
|
Map<String, String> categoryAndUndividedLayer = setTypeAndUndividedLayer(layers);
|
||||||
@@ -576,7 +584,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
|
|||||||
tDesignPythonOutfitDetails = saveDesignSingleItemDetailAndLayers(objects, design.getId(), designSingleIncludeLayersDTO.getDesignItemId()
|
tDesignPythonOutfitDetails = saveDesignSingleItemDetailAndLayers(objects, design.getId(), designSingleIncludeLayersDTO.getDesignItemId()
|
||||||
, userId, outfit, designSingleIncludeLayersDTO.getTimeZone()
|
, userId, outfit, designSingleIncludeLayersDTO.getTimeZone()
|
||||||
, designSingleIncludeLayersDTO.getDesignSingleItemDTOList()
|
, designSingleIncludeLayersDTO.getDesignSingleItemDTOList()
|
||||||
, categoryAndUndividedLayer, changeModelFlag, modelId, modelType);
|
, categoryAndUndividedLayer, changeModelFlag, modelId, modelType, isSingleCollectionFlag);
|
||||||
|
|
||||||
saveCollectionElement(designSingleIncludeLayersDTO);
|
saveCollectionElement(designSingleIncludeLayersDTO);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user