TASK:男装;

This commit is contained in:
shahaibo
2023-10-10 15:02:06 +08:00
parent 84c45cb550
commit e6a72b6a32
6 changed files with 42 additions and 36 deletions

View File

@@ -44,4 +44,5 @@ public class ValidateElementVO {
List<String> designPrintPictureTypeLayoutList; List<String> designPrintPictureTypeLayoutList;
//透传sysFileVo用(attribute_retrieval 接口限定sysFile范围) //透传sysFileVo用(attribute_retrieval 接口限定sysFile范围)
List<SysFileVO> sysFileVo; List<SysFileVO> sysFileVo;
private String modelSex;
} }

View File

@@ -437,7 +437,7 @@ public class PythonService {
pythonItem.setBody_path("aida-mannequins/model_1693218345.2714432.png"); pythonItem.setBody_path("aida-mannequins/model_1693218345.2714432.png");
} }
} else { } else {
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(type, Lists.newArrayList()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(type, Lists.newArrayList(), elementVO.getModelSex());
pythonItem.setPath(sysFileVO.getUrl()); pythonItem.setPath(sysFileVO.getUrl());
pythonItem.setBusinessId(sysFileVO.getId()); pythonItem.setBusinessId(sysFileVO.getId());
if (SysFileLevel2TypeEnum.SHOES.getRealName().equals(type)) { if (SysFileLevel2TypeEnum.SHOES.getRealName().equals(type)) {
@@ -511,14 +511,14 @@ public class PythonService {
if (SingleOverallEnum.SINGLE.getRealName().equals(elementVO.getSingleOverall())) { if (SingleOverallEnum.SINGLE.getRealName().equals(elementVO.getSingleOverall())) {
if (DesignPythonItem.SKIRT_TROUSERS.contains(elementVO.getSwitchCategory())) { if (DesignPythonItem.SKIRT_TROUSERS.contains(elementVO.getSwitchCategory())) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds(), elementVO.getModelSex());
skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
skirt.setBusinessId(sysFileVO.getId()); skirt.setBusinessId(sysFileVO.getId());
return skirt; return skirt;
} }
} else { } else {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileSkirt(elementVO.getSysFileVo(),elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileSkirt(elementVO.getSysFileVo(),elementVO.getSysFileIds(), elementVO.getModelSex());
skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
skirt.setBusinessId(sysFileVO.getId()); skirt.setBusinessId(sysFileVO.getId());
//添加已使用的md5 //添加已使用的md5
@@ -534,7 +534,7 @@ public class PythonService {
Arrays.asList(elementVO.getSwitchCategory()), elementVO.getHasUseMd5List()); Arrays.asList(elementVO.getSwitchCategory()), elementVO.getHasUseMd5List());
if (StringUtils.isEmpty(libraryVo)) { if (StringUtils.isEmpty(libraryVo)) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds(), elementVO.getModelSex());
skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
skirt.setBusinessId(sysFileVO.getId()); skirt.setBusinessId(sysFileVO.getId());
return skirt; return skirt;
@@ -548,7 +548,7 @@ public class PythonService {
DesignPythonItem.SKIRT_TROUSERS, elementVO.getHasUseMd5List()); DesignPythonItem.SKIRT_TROUSERS, elementVO.getHasUseMd5List());
if (StringUtils.isEmpty(libraryVo)) { if (StringUtils.isEmpty(libraryVo)) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileSkirt(elementVO.getSysFileVo(),elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileSkirt(elementVO.getSysFileVo(),elementVO.getSysFileIds(), elementVO.getModelSex());
skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
skirt.setBusinessId(sysFileVO.getId()); skirt.setBusinessId(sysFileVO.getId());
//添加已使用的md5 //添加已使用的md5
@@ -564,14 +564,14 @@ public class PythonService {
if (SingleOverallEnum.SINGLE.getRealName().equals(elementVO.getSingleOverall())) { if (SingleOverallEnum.SINGLE.getRealName().equals(elementVO.getSingleOverall())) {
if (DesignPythonItem.SKIRT_TROUSERS.contains(elementVO.getSwitchCategory())) { if (DesignPythonItem.SKIRT_TROUSERS.contains(elementVO.getSwitchCategory())) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds(), elementVO.getModelSex());
skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
skirt.setBusinessId(sysFileVO.getId()); skirt.setBusinessId(sysFileVO.getId());
return skirt; return skirt;
} }
} else { } else {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileSkirt(elementVO.getSysFileVo(),elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileSkirt(elementVO.getSysFileVo(),elementVO.getSysFileIds(), elementVO.getModelSex());
skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
skirt.setBusinessId(sysFileVO.getId()); skirt.setBusinessId(sysFileVO.getId());
//添加已使用的md5 //添加已使用的md5
@@ -588,7 +588,7 @@ public class PythonService {
CollectionElement collectionElement = getRandomSketchLibrary(noPinDataByType, elementVO.getHasUseMd5List()); CollectionElement collectionElement = getRandomSketchLibrary(noPinDataByType, elementVO.getHasUseMd5List());
if (Objects.isNull(collectionElement)) { if (Objects.isNull(collectionElement)) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds(), elementVO.getModelSex());
skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
skirt.setBusinessId(sysFileVO.getId()); skirt.setBusinessId(sysFileVO.getId());
} else { } else {
@@ -602,7 +602,7 @@ public class PythonService {
CollectionElement collectionElement = getRandomSketchLibrary(noPinData, elementVO.getHasUseMd5List()); CollectionElement collectionElement = getRandomSketchLibrary(noPinData, elementVO.getHasUseMd5List());
if (Objects.isNull(collectionElement)) { if (Objects.isNull(collectionElement)) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileSkirt(elementVO.getSysFileVo(),elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileSkirt(elementVO.getSysFileVo(),elementVO.getSysFileIds(), elementVO.getModelSex());
skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); skirt = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
skirt.setBusinessId(sysFileVO.getId()); skirt.setBusinessId(sysFileVO.getId());
} else { } else {
@@ -679,7 +679,7 @@ public class PythonService {
if (SingleOverallEnum.SINGLE.getRealName().equals(elementVO.getSingleOverall())) { if (SingleOverallEnum.SINGLE.getRealName().equals(elementVO.getSingleOverall())) {
if (DesignPythonItem.OUTWEAR_DRESS_BLOUSE.contains(elementVO.getSwitchCategory())) { if (DesignPythonItem.OUTWEAR_DRESS_BLOUSE.contains(elementVO.getSwitchCategory())) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds(), elementVO.getModelSex());
DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
item.setBusinessId(sysFileVO.getId()); item.setBusinessId(sysFileVO.getId());
items.add(item); items.add(item);
@@ -687,7 +687,7 @@ public class PythonService {
} }
} else { } else {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileOutwear(elementVO.getSysFileVo(),elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileOutwear(elementVO.getSysFileVo(),elementVO.getSysFileIds(), elementVO.getModelSex());
DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
item.setBusinessId(sysFileVO.getId()); item.setBusinessId(sysFileVO.getId());
items.add(item); items.add(item);
@@ -703,7 +703,7 @@ public class PythonService {
Arrays.asList(elementVO.getSwitchCategory()), elementVO.getHasUseMd5List()); Arrays.asList(elementVO.getSwitchCategory()), elementVO.getHasUseMd5List());
if (StringUtils.isEmpty(libraryVo)) { if (StringUtils.isEmpty(libraryVo)) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds(), elementVO.getModelSex());
DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
item.setBusinessId(sysFileVO.getId()); item.setBusinessId(sysFileVO.getId());
items.add(item); items.add(item);
@@ -719,7 +719,7 @@ public class PythonService {
DesignPythonItem.OUTWEAR_DRESS_BLOUSE, elementVO.getHasUseMd5List()); DesignPythonItem.OUTWEAR_DRESS_BLOUSE, elementVO.getHasUseMd5List());
if (StringUtils.isEmpty(libraryVo)) { if (StringUtils.isEmpty(libraryVo)) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileOutwear(elementVO.getSysFileVo(),elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileOutwear(elementVO.getSysFileVo(),elementVO.getSysFileIds(), elementVO.getModelSex());
DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
item.setBusinessId(sysFileVO.getId()); item.setBusinessId(sysFileVO.getId());
items.add(item); items.add(item);
@@ -736,7 +736,7 @@ public class PythonService {
if (SingleOverallEnum.SINGLE.getRealName().equals(elementVO.getSingleOverall())) { if (SingleOverallEnum.SINGLE.getRealName().equals(elementVO.getSingleOverall())) {
if (DesignPythonItem.OUTWEAR_DRESS_BLOUSE.contains(elementVO.getSwitchCategory())) { if (DesignPythonItem.OUTWEAR_DRESS_BLOUSE.contains(elementVO.getSwitchCategory())) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds(), elementVO.getModelSex());
DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
item.setBusinessId(sysFileVO.getId()); item.setBusinessId(sysFileVO.getId());
items.add(item); items.add(item);
@@ -744,7 +744,7 @@ public class PythonService {
} }
} else { } else {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileOutwear(elementVO.getSysFileVo(),elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileOutwear(elementVO.getSysFileVo(),elementVO.getSysFileIds(), elementVO.getModelSex());
DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
item.setBusinessId(sysFileVO.getId()); item.setBusinessId(sysFileVO.getId());
items.add(item); items.add(item);
@@ -761,7 +761,7 @@ public class PythonService {
CollectionElement collectionElement = getRandomSketchLibrary(noPinDataByType, elementVO.getHasUseMd5List()); CollectionElement collectionElement = getRandomSketchLibrary(noPinDataByType, elementVO.getHasUseMd5List());
if (Objects.isNull(collectionElement)) { if (Objects.isNull(collectionElement)) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileByLevel2Type(elementVO.getSwitchCategory(), elementVO.getSysFileIds(), elementVO.getModelSex());
DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
item.setBusinessId(sysFileVO.getId()); item.setBusinessId(sysFileVO.getId());
items.add(item); items.add(item);
@@ -776,7 +776,7 @@ public class PythonService {
CollectionElement collectionElement = getRandomSketchLibrary(noPinData, elementVO.getHasUseMd5List()); CollectionElement collectionElement = getRandomSketchLibrary(noPinData, elementVO.getHasUseMd5List());
if (Objects.isNull(collectionElement)) { if (Objects.isNull(collectionElement)) {
//系统获取 //系统获取
SysFileVO sysFileVO = getRandomSysFileOutwear(elementVO.getSysFileVo(),elementVO.getSysFileIds()); SysFileVO sysFileVO = getRandomSysFileOutwear(elementVO.getSysFileVo(),elementVO.getSysFileIds(), elementVO.getModelSex());
DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO); DesignPythonItem item = coverToDesignPythonItem(null, sysFileVO.getLevel2Type(), sysFileVO.getUrl(), elementVO);
item.setBusinessId(sysFileVO.getId()); item.setBusinessId(sysFileVO.getId());
items.add(item); items.add(item);
@@ -935,29 +935,29 @@ public class PythonService {
return CopyUtil.copyList(sketchBoardPins, CollectionElement.class); return CopyUtil.copyList(sketchBoardPins, CollectionElement.class);
} }
private SysFileVO getRandomSysFileOutwear(List<SysFileVO> sysFileVo,List<Long> sysFileIds) { private SysFileVO getRandomSysFileOutwear(List<SysFileVO> sysFileVo, List<Long> sysFileIds, String modelSex) {
Long randomIndex = RandomsUtil.randomSysFile(0L, 3L); Long randomIndex = RandomsUtil.randomSysFile(0L, 3L);
if(CollectionUtils.isEmpty(sysFileVo)){ if(CollectionUtils.isEmpty(sysFileVo)){
return getRandomSysFileByLevel2Type(DesignPythonItem.OUTWEAR_DRESS_BLOUSE.get(randomIndex.intValue()), sysFileIds); return getRandomSysFileByLevel2Type(DesignPythonItem.OUTWEAR_DRESS_BLOUSE.get(randomIndex.intValue()), sysFileIds, modelSex);
}else{ }else{
//attribute_retrieval 算法,满足blouse + outwear+dress>8,以及 skirt+trousers>8 //attribute_retrieval 算法,满足blouse + outwear+dress>8,以及 skirt+trousers>8
return getRandomSysFileByAttributeRetrieval(DesignPythonItem.OUTWEAR_DRESS_BLOUSE,sysFileVo, sysFileIds); return getRandomSysFileByAttributeRetrieval(DesignPythonItem.OUTWEAR_DRESS_BLOUSE,sysFileVo, sysFileIds);
} }
} }
private SysFileVO getRandomSysFileSkirt(List<SysFileVO> sysFileVo,List<Long> sysFileIds) { private SysFileVO getRandomSysFileSkirt(List<SysFileVO> sysFileVo, List<Long> sysFileIds, String modelSex) {
Long randomIndex = RandomsUtil.randomSysFile(0L, 2L); Long randomIndex = RandomsUtil.randomSysFile(0L, 2L);
if(CollectionUtils.isEmpty(sysFileVo)){ if(CollectionUtils.isEmpty(sysFileVo)){
return getRandomSysFileByLevel2Type(DesignPythonItem.SKIRT_TROUSERS.get(randomIndex.intValue()), sysFileIds); return getRandomSysFileByLevel2Type(DesignPythonItem.SKIRT_TROUSERS.get(randomIndex.intValue()), sysFileIds, modelSex);
}else{ }else{
//attribute_retrieval 算法,满足blouse + outwear+dress>8,以及 skirt+trousers>8 //attribute_retrieval 算法,满足blouse + outwear+dress>8,以及 skirt+trousers>8
return getRandomSysFileByAttributeRetrieval(DesignPythonItem.SKIRT_TROUSERS,sysFileVo, sysFileIds); return getRandomSysFileByAttributeRetrieval(DesignPythonItem.SKIRT_TROUSERS,sysFileVo, sysFileIds);
} }
} }
private SysFileVO getRandomSysFileByLevel2Type(String level2Type, List<Long> sysFileIds) { private SysFileVO getRandomSysFileByLevel2Type(String level2Type, List<Long> sysFileIds, String modelSex) {
Long maxId = sysFileService.getMaxIdByLevel2Type(level2Type); Long maxId = sysFileService.getMaxIdByLevel2Type(level2Type, modelSex);
Long minId = sysFileService.getMinIdByLevel2Type(level2Type); Long minId = sysFileService.getMinIdByLevel2Type(level2Type, modelSex);
Long sysFileId = null; Long sysFileId = null;
do { do {
sysFileId = RandomsUtil.randomSysFile(minId, maxId + 1); sysFileId = RandomsUtil.randomSysFile(minId, maxId + 1);

View File

@@ -20,17 +20,21 @@ public interface SysFileService extends IService<SysFile> {
/** /**
* 根据类型获取系统文件最大id * 根据类型获取系统文件最大id
*
* @param level2Type * @param level2Type
* @param modelSex
* @return * @return
*/ */
Long getMaxIdByLevel2Type(String level2Type); Long getMaxIdByLevel2Type(String level2Type, String modelSex);
/** /**
* 根据类型获取系统文件最小id * 根据类型获取系统文件最小id
*
* @param level2Type * @param level2Type
* @param modelSex
* @return * @return
*/ */
Long getMinIdByLevel2Type(String level2Type); Long getMinIdByLevel2Type(String level2Type, String modelSex);
/** /**
* 根据id获取系统文件 * 根据id获取系统文件

View File

@@ -472,6 +472,7 @@ public class CollectionElementServiceImpl extends ServiceImpl<CollectionElementM
}else { }else {
throw new BusinessException("templateId or modelType can't be null"); throw new BusinessException("templateId or modelType can't be null");
} }
elementVO.setModelSex(designDTO.getModelSex());
return elementVO; return elementVO;
} }
@Override @Override

View File

@@ -128,8 +128,8 @@ public class DesignItemServiceImpl extends ServiceImpl<DesignItemMapper, DesignI
throw new BusinessException("unknown operateType! "); throw new BusinessException("unknown operateType! ");
} }
Assert.notNull(id,"id cannot be empty!"); Assert.notNull(id,"id cannot be empty!");
Long maxId = sysFileService.getMaxIdByLevel2Type(level2Type); Long maxId = sysFileService.getMaxIdByLevel2Type(level2Type, null);
Long minId = sysFileService.getMinIdByLevel2Type(level2Type); Long minId = sysFileService.getMinIdByLevel2Type(level2Type, null);
if(id > maxId || id <minId){ if(id > maxId || id <minId){
throw new BusinessException("The id value is out of range!"); throw new BusinessException("The id value is out of range!");

View File

@@ -9,7 +9,6 @@ import com.ai.da.common.utils.*;
import com.ai.da.mapper.SysFileMapper; import com.ai.da.mapper.SysFileMapper;
import com.ai.da.mapper.entity.SysFile; import com.ai.da.mapper.entity.SysFile;
import com.ai.da.model.vo.SysFileVO; import com.ai.da.model.vo.SysFileVO;
import com.ai.da.service.PythonTAllInfoService;
import com.ai.da.service.SysFileService; import com.ai.da.service.SysFileService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -27,7 +26,6 @@ import javax.annotation.Resource;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -175,22 +173,22 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
} }
@Override @Override
public Long getMaxIdByLevel2Type(String level2Type) { public Long getMaxIdByLevel2Type(String level2Type, String modelSex) {
String key = "MAX_"+level2Type; String key = "MAX_"+level2Type;
Long maxId = LocalCacheUtils.getFileMaxMinValueCache(key); Long maxId = LocalCacheUtils.getFileMaxMinValueCache(key);
if(null == maxId){ if(null == maxId){
maxId =maxId(level2Type); maxId =maxId(level2Type, modelSex);
LocalCacheUtils.setFileMaxMinValueCache(key,maxId); LocalCacheUtils.setFileMaxMinValueCache(key,maxId);
} }
return maxId; return maxId;
} }
@Override @Override
public Long getMinIdByLevel2Type(String level2Type) { public Long getMinIdByLevel2Type(String level2Type, String modelSex) {
String key = "MIN_"+level2Type; String key = "MIN_"+level2Type;
Long minId = LocalCacheUtils.getFileMaxMinValueCache(key); Long minId = LocalCacheUtils.getFileMaxMinValueCache(key);
if(null == minId || minId == 0L){ if(null == minId || minId == 0L){
minId = minId(level2Type); minId = minId(level2Type, modelSex);
LocalCacheUtils.setFileMaxMinValueCache(key,minId); LocalCacheUtils.setFileMaxMinValueCache(key,minId);
} }
return minId; return minId;
@@ -224,16 +222,18 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
return cacheSysFileList; return cacheSysFileList;
} }
private Long maxId(String level2Type){ private Long maxId(String level2Type, String modelSex){
QueryWrapper<SysFile> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysFile> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("level2_type", level2Type); queryWrapper.eq("level2_type", level2Type);
queryWrapper.eq(!StringUtils.isEmpty(modelSex), "level3_type", modelSex);
queryWrapper.select("max(id) as id " ); queryWrapper.select("max(id) as id " );
SysFile sysFile = sysFileMapper.selectOne(queryWrapper); SysFile sysFile = sysFileMapper.selectOne(queryWrapper);
return sysFile.getId(); return sysFile.getId();
} }
private Long minId(String level2Type){ private Long minId(String level2Type, String modelSex){
QueryWrapper<SysFile> queryWrapper = new QueryWrapper<>(); QueryWrapper<SysFile> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("level2_type", level2Type); queryWrapper.eq("level2_type", level2Type);
queryWrapper.eq(!StringUtils.isEmpty(modelSex), "level3_type", modelSex);
queryWrapper.select("min(id) as id " ); queryWrapper.select("min(id) as id " );
SysFile sysFile = sysFileMapper.selectOne(queryWrapper); SysFile sysFile = sysFileMapper.selectOne(queryWrapper);
return sysFile.getId(); return sysFile.getId();