TASK: 用户试用添加,印花逻辑调整;

This commit is contained in:
shahaibo
2023-11-20 15:06:15 +08:00
parent c15ff3f344
commit 4971f2b96a
16 changed files with 135 additions and 31 deletions

View File

@@ -9,6 +9,7 @@ import com.ai.da.common.utils.*;
import com.ai.da.mapper.entity.CollectionElement;
import com.ai.da.mapper.entity.DesignHistory;
import com.ai.da.model.dto.*;
import com.ai.da.model.enums.Sex;
import com.ai.da.model.vo.*;
import com.ai.da.python.vo.*;
import com.ai.da.service.DesignHistoryService;
@@ -248,7 +249,7 @@ public class PythonService {
DesignPythonItemPrint designPythonItemPrint = getRandomPrint(elementVO, designPrintPictureType);
elementVO.setDesignPythonItemPrint(designPythonItemPrint);
//参数透传 确定本次designSingle如果需要print对应的种类
elementVO.setDesignPrintPictureTypeLayoutList(calculateCurrentDesignPintPictureTypeLayout());
elementVO.setDesignPrintPictureTypeLayoutList(calculateCurrentDesignPintPictureTypeLayout(elementVO.getModelSex()));
//designSingle具体参数组装
DesignPythonObject pythonObject = new DesignPythonObject();
pythonObject.setItems(coverToDesignPythonItem(elementVO, designPictureType));
@@ -355,18 +356,33 @@ public class PythonService {
}
//计算当前的Print图片类型具体分布位置 0. 上衣 1.下衣 2.上衣和下衣都print
private List<String> calculateCurrentDesignPintPictureTypeLayout() {
Long randomIndex = RandomsUtil.randomSysFile(0L, 3L);
if (randomIndex == 0) {
return DesignPythonItem.OUTWEAR_DRESS_BLOUSE;
}
if (randomIndex == 1) {
return DesignPythonItem.SKIRT_TROUSERS;
}
if (randomIndex == 2) {
List<String> all = new ArrayList<>(DesignPythonItem.OUTWEAR_DRESS_BLOUSE);
all.addAll(new ArrayList<>(DesignPythonItem.SKIRT_TROUSERS));
return all;
private List<String> calculateCurrentDesignPintPictureTypeLayout(String modelSex) {
if (modelSex.equals(Sex.FEMALE.getValue())) {
Long randomIndex = RandomsUtil.randomSysFile(0L, 3L);
if (randomIndex == 0) {
return DesignPythonItem.OUTWEAR_DRESS_BLOUSE;
}
if (randomIndex == 1) {
return DesignPythonItem.SKIRT_TROUSERS;
}
if (randomIndex == 2) {
List<String> all = new ArrayList<>(DesignPythonItem.OUTWEAR_DRESS_BLOUSE);
all.addAll(new ArrayList<>(DesignPythonItem.SKIRT_TROUSERS));
return all;
}
}else if (modelSex.equals(Sex.MALE.getValue())) {
Long randomIndex = RandomsUtil.randomSysFile(0L, 3L);
if (randomIndex == 0) {
return DesignPythonItem.TOPS;
}
if (randomIndex == 1) {
return DesignPythonItem.BOTTOMS;
}
if (randomIndex == 2) {
List<String> all = new ArrayList<>(DesignPythonItem.TOPS);
all.addAll(new ArrayList<>(DesignPythonItem.BOTTOMS));
return all;
}
}
return null;
}
@@ -384,12 +400,17 @@ public class PythonService {
if (CollectionUtils.isEmpty(printBoardElements)) {
return 0;
}
long totalNum = printBoardElements.size() / 2;
long pinNum = printBoardElements.stream().filter(f -> f.getHasPin() == 1).count();
if (pinNum >= totalNum) {
if (pinNum <= 4) {
return RandomsUtil.randomSysFile(0L, 5L);
}else if (pinNum < 8) {
long maxNum = 8 - pinNum;
return RandomsUtil.randomSysFile(0L, maxNum + 1);
}else {
return 0;
}
return totalNum - pinNum;
}
private List<DesignPythonItem> coverToDesignPythonItem(ValidateElementVO elementVO, CurrentDesignPictureTypeEnum designPictureType) {