BUGFIX:单品设计存储时,不要涉及body相关数据

This commit is contained in:
2025-07-25 13:17:23 +08:00
parent 565b5c3de1
commit e2085190d1
2 changed files with 26 additions and 11 deletions

View File

@@ -2788,7 +2788,7 @@ public class PythonService {
DesignPythonObject pythonObject = new DesignPythonObject();
designPythonObjects.setProcess_id(designSingleDTO.getProcessId());
pythonObject.setItems(coverToDesignSinglePythonItem(designSingleDTO, designLibraryModelPoint));
pythonObject.setItems(coverToDesignSinglePythonItem(designSingleDTO, designLibraryModelPoint, singleOverall));
pythonObject.setBasic(coverToSingleBasic(singleOverall, switchCategory, designLibraryModelPoint, previewOrSubmit));
objects.add(pythonObject);
return designPythonObjects;
@@ -2823,7 +2823,9 @@ public class PythonService {
* @param designLibraryModelPoint
* @return
*/
private List<DesignPythonItem> coverToDesignSinglePythonItem(DesignSingleIncludeLayersDTO designSingleIncludeLayersDTO, DesignLibraryModelPointVO designLibraryModelPoint) {
private List<DesignPythonItem> coverToDesignSinglePythonItem(DesignSingleIncludeLayersDTO designSingleIncludeLayersDTO,
DesignLibraryModelPointVO designLibraryModelPoint,
String singleOverall) {
List<DesignSingleItemDTO> designSingleItemList = designSingleIncludeLayersDTO.getDesignSingleItemDTOList();
List<DesignPythonItem> response = new ArrayList<>();
@@ -2872,7 +2874,7 @@ public class PythonService {
});
if (singleOverall.equals("overall")){
String bodyPath;
if (Objects.nonNull(designLibraryModelPoint)) {
bodyPath = designLibraryModelPoint.getTemplateUrl();
@@ -2881,6 +2883,7 @@ public class PythonService {
bodyPath = "aida-mannequins/model_1693218345.2714432.png";
}
response.add(new DesignPythonItem(SysFileLevel2TypeEnum.BODY.getRealName(), bodyPath, pythonTAllInfoService.getImageIdByPath(bodyPath)));
}
return response;
}

View File

@@ -325,7 +325,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
return response;
}
private List<TDesignPythonOutfitDetail> saveDesignSingleItemDetailAndLayers(DesignPythonObjects pythonObjects
public List<TDesignPythonOutfitDetail> saveDesignSingleItemDetailAndLayers(DesignPythonObjects pythonObjects
, Long designId, Long designItemId, Long userId
, JSONObject outfit, String timeZone, List<DesignSingleItemDTO> designSingleItemDTOList
, Map<String, String> categoryAndUndividedLayer
@@ -342,7 +342,8 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
designItem.setModelType(modelType);
}
// 1、更新designItem
updateById(designItem);
// updateById(designItem);
updateDesignItem(designItem);
// 2、删除designItemDetail(逻辑删除)
designItemDetailService.deleteByDesignItemId(designItemId);
List<DesignItemDetail> designItemDetails = Lists.newArrayList();
@@ -401,6 +402,12 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
return list;
}
@Transactional(rollbackFor = Exception.class)
public void updateDesignItem(DesignItem designItem) {
// 拆分长事务为小事务
updateById(designItem);
}
public List<TDesignPythonOutfitDetail> setTDesignPythonOutfitDetailList(JSONArray layers, Long designId,
Long designPythonOutfitId, Long userId,
Map<Integer, List<Long>> priorityOffset) {
@@ -621,6 +628,11 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
categoryAndUndividedLayer);
}
// 方法1仅查询无事务
public DesignItem getDesignItem(Long designItemId) {
return selectById(designItemId); // 普通查询,不加锁
}
private void sketchBase64ToPath(DesignSingleIncludeLayersDTO designSingleIncludeLayersDTO){
designSingleIncludeLayersDTO.getDesignSingleItemDTOList().forEach(item -> {
// 如果sketch截图不为空则将该截图上传并替换path