Merge branch 'dev/dev_xp' into dev/dev
This commit is contained in:
@@ -63,6 +63,10 @@ public class DesignItem implements Serializable {
|
||||
@TableField("is_like")
|
||||
private Byte hasLike;
|
||||
|
||||
private Long modelId;
|
||||
|
||||
private String modelType;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
|
||||
@@ -34,6 +34,12 @@ public class DesignSingleIncludeLayersDTO implements Serializable {
|
||||
@ApiModelProperty("本地时区,比如 'Asia/Tokyo' 东京时间 , 'Asia/Shanghai' 北京时间 由js本地获取")
|
||||
private String timeZone;
|
||||
|
||||
@ApiModelProperty("模特id 每套衣服允许有一个单独的模特")
|
||||
private Long modelId;
|
||||
|
||||
@ApiModelProperty("模特类型 System || Library")
|
||||
private String modelType;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "DesignSingleIncludeLayersDTO{" +
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user