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

This commit is contained in:
shahaibo
2025-05-29 16:17:49 +08:00
3 changed files with 42 additions and 12 deletions

View File

@@ -326,13 +326,19 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
private List<TDesignPythonOutfitDetail> saveDesignSingleItemDetailAndLayers(DesignPythonObjects pythonObjects
, Long designId, Long designItemId, Long userId
, JSONObject outfit, String timeZone, List<DesignSingleItemDTO> designSingleItemDTOList
, Map<String, String> categoryAndUndividedLayer) {
, Map<String, String> categoryAndUndividedLayer
, boolean changeModelFlag
, Long modelId, String modelType) {
DesignItem designItem = new DesignItem();
// String url = pythonObjects.getObjects().get(0).getBasic().getSave_name();
designItem.setUpdateDate(DateUtil.getByTimeZone(timeZone));
designItem.setDesignUrl(outfit.getString("synthesis_url"));
designItem.setId(designItemId);
if (changeModelFlag){
designItem.setModelId(modelId);
designItem.setModelType(modelType);
}
// 1、更新designItem
updateById(designItem);
// 2、删除designItemDetail(逻辑删除)
@@ -468,36 +474,53 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
}
DesignLibraryModelPointVO designLibraryModelPointVO = null;
// 设置模特
if (Objects.nonNull(design.getTemplateId())) {
// overall模式下 设置模特点位
boolean changeModelFlag = false;
Long modelId = null;
String modelType = null;
if (design.getSingleOverall().equals("overall")){
// 优先级 1、判断当前入参中是否有model数据 无 -> 2、判断design item 中是否有model数据 无 -> 3、从design表中拿model数据 仍然没有 报错
if (!Objects.isNull(designSingleIncludeLayersDTO.getModelId()) && !StringUtil.isNullOrEmpty(designSingleIncludeLayersDTO.getModelType())){
modelId = designSingleIncludeLayersDTO.getModelId();
modelType = designSingleIncludeLayersDTO.getModelType();
changeModelFlag = true;
} else if (!Objects.isNull(designItem.getModelId()) && !StringUtil.isNullOrEmpty(designItem.getModelType())) {
modelId = designItem.getModelId();
modelType = designItem.getModelType();
} else if (!Objects.isNull(design.getTemplateId()) && !StringUtil.isNullOrEmpty(design.getModelType())) {
modelId = design.getTemplateId();
modelType = design.getModelType();
} else {
// 报错
throw new BusinessException("model.not.found");
}
String modelUrl;
Integer high;
Integer width;
if (design.getModelType().equals(ModelType.SYSTEM.getValue())) {
SysFileVO sysFile = sysFileService.getById(design.getTemplateId());
if (modelType.equals(ModelType.SYSTEM.getValue())) {
SysFileVO sysFile = sysFileService.getById(modelId);
if (Objects.isNull(sysFile)) {
throw new BusinessException("model.not.found");
}
modelUrl = sysFile.getUrl();
high = 700;
width = 320;
} else if (design.getModelType().equals(ModelType.LIBRARY.getValue())){
Library libFile = libraryService.getById(design.getTemplateId());
} else if (modelType.equals(ModelType.LIBRARY.getValue())){
Library libFile = libraryService.getById(modelId);
if (Objects.isNull(libFile)) {
throw new BusinessException("model.not.found");
}
modelUrl = libFile.getUrl();
high = libFile.getHigh();
width = libFile.getWidth();
}else {
} else {
throw new BusinessException("unknown.modelType");
}
LibraryModelPoint modelPoint = libraryModelPointService.getByRelationId(design.getTemplateId(), design.getModelType());
LibraryModelPoint modelPoint = libraryModelPointService.getByRelationId(modelId, modelType);
if (Objects.isNull(modelPoint)) {
throw new BusinessException("modelPoint.not.found");
}
// Assert.notNull(modelPoint, "The model has not been tagged");
designLibraryModelPointVO = collectionElementService.calculateTemplatePoint(modelPoint, high, width, modelUrl);
}
@@ -551,7 +574,7 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
tDesignPythonOutfitDetails = saveDesignSingleItemDetailAndLayers(objects, design.getId(), designSingleIncludeLayersDTO.getDesignItemId()
, userId, outfit, designSingleIncludeLayersDTO.getTimeZone()
, designSingleIncludeLayersDTO.getDesignSingleItemDTOList()
, categoryAndUndividedLayer);
, categoryAndUndividedLayer, changeModelFlag, modelId, modelType);
saveCollectionElement(designSingleIncludeLayersDTO);
} else {