BUGFIX: cloud;
This commit is contained in:
@@ -1919,10 +1919,11 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
prompt = pythonService.promptTranslate(prompt);
|
||||
}
|
||||
|
||||
Map<ToProductImageVO, Integer> toProductImageVOIntegerMap = allocateElements(toProductImageDTO.getToProductImageVOList(), cloudTaskDTO.getNums());
|
||||
Map<String, Integer> toProductImageVOIntegerMap = allocateElements(toProductImageDTO.getToProductImageVOList(), cloudTaskDTO.getNums());
|
||||
|
||||
for (ToProductImageVO toProductImageVO : toProductImageDTO.getToProductImageVOList()) {
|
||||
String taskId;
|
||||
String key = toProductImageVO.getElementId() + "_" + toProductImageVO.getElementType();
|
||||
if (toProductImageVO.getElementType().equals("DesignOutfit")) {
|
||||
TDesignPythonOutfit tDesignPythonOutfit = designPythonOutfitMapper.selectById(toProductImageVO.getElementId());
|
||||
|
||||
@@ -1954,8 +1955,8 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
}
|
||||
// 走模型
|
||||
List<BatchParamDTO> paramList = new ArrayList<>();
|
||||
List<String> promptList = pythonService.getPrompt(sb.toString(), toProductImageVOIntegerMap.get(toProductImageVO));
|
||||
for (int i1 = 0; i1 < toProductImageVOIntegerMap.get(toProductImageVO); i1++) {
|
||||
List<String> promptList = pythonService.getPrompt(sb.toString(), toProductImageVOIntegerMap.get(key));
|
||||
for (int i1 = 0; i1 < toProductImageVOIntegerMap.get(key); i1++) {
|
||||
BatchParamDTO batchParamDTO = new BatchParamDTO();
|
||||
taskId = UUID.randomUUID() + "-" + i + "-" + userHolder.getId();
|
||||
batchParamDTO.setTasks_id(taskId);
|
||||
@@ -1997,8 +1998,8 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageVO.getElementId());
|
||||
// 走模型
|
||||
List<BatchParamDTO> paramList = new ArrayList<>();
|
||||
List<String> promptList = pythonService.getPrompt(sb.toString(), toProductImageVOIntegerMap.get(toProductImageVO));
|
||||
for (int i1 = 0; i1 < toProductImageVOIntegerMap.get(toProductImageVO); i1++) {
|
||||
List<String> promptList = pythonService.getPrompt(sb.toString(), toProductImageVOIntegerMap.get(key));
|
||||
for (int i1 = 0; i1 < toProductImageVOIntegerMap.get(key); i1++) {
|
||||
BatchParamDTO batchParamDTO = new BatchParamDTO();
|
||||
taskId = UUID.randomUUID() + "-" + i + "-" + userHolder.getId();
|
||||
batchParamDTO.setTasks_id(taskId);
|
||||
@@ -2092,9 +2093,10 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
}else {
|
||||
s = "Snow moutain, snowy day, natural light";
|
||||
}
|
||||
Map<ToProductImageVO, Integer> toProductImageVOIntegerMap = allocateElements(toProductImageDTO.getToProductImageVOList(), cloudTaskDTO.getNums());
|
||||
Map<String, Integer> toProductImageVOIntegerMap = allocateElements(toProductImageDTO.getToProductImageVOList(), cloudTaskDTO.getNums());
|
||||
for (ToProductImageVO toProductImageVO : toProductImageDTO.getToProductImageVOList()) {
|
||||
String taskId;
|
||||
String key = toProductImageVO.getElementId() + "_" + toProductImageVO.getElementType();
|
||||
if (toProductImageVO.getElementType().equals("ToProductImage")) {
|
||||
ToProductImageResult toProductImageResult1 = toProductImageResultMapper.selectById(toProductImageVO.getElementId());
|
||||
String relightType = "overall";
|
||||
@@ -2106,8 +2108,8 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
relightType = "single";
|
||||
}
|
||||
List<BatchParamDTO> paramList = new ArrayList<>();
|
||||
List<String> promptList = pythonService.getPrompt(s, toProductImageVOIntegerMap.get(toProductImageVO));
|
||||
for (int i1 = 0; i1 < toProductImageVOIntegerMap.get(toProductImageVO); i1++) {
|
||||
List<String> promptList = pythonService.getPrompt(s, toProductImageVOIntegerMap.get(key));
|
||||
for (int i1 = 0; i1 < toProductImageVOIntegerMap.get(key); i1++) {
|
||||
BatchParamDTO batchParamDTO = new BatchParamDTO();
|
||||
taskId = UUID.randomUUID() + "-" + i + "-" + userHolder.getId();
|
||||
batchParamDTO.setTasks_id(taskId);
|
||||
@@ -2148,8 +2150,8 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
ToProductElement toProductElement = toProductElementMapper.selectById(toProductImageVO.getElementId());
|
||||
// 走模型
|
||||
List<BatchParamDTO> paramList = new ArrayList<>();
|
||||
List<String> promptList = pythonService.getPrompt(s, toProductImageVOIntegerMap.get(toProductImageVO));
|
||||
for (int i1 = 0; i1 < toProductImageVOIntegerMap.get(toProductImageVO); i1++) {
|
||||
List<String> promptList = pythonService.getPrompt(s, toProductImageVOIntegerMap.get(key));
|
||||
for (int i1 = 0; i1 < toProductImageVOIntegerMap.get(key); i1++) {
|
||||
BatchParamDTO batchParamDTO = new BatchParamDTO();
|
||||
taskId = UUID.randomUUID() + "-" + i + "-" + userHolder.getId();
|
||||
batchParamDTO.setTasks_id(taskId);
|
||||
@@ -2246,16 +2248,17 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Map<ToProductImageVO, Integer> allocateElements(List<ToProductImageVO> voList, int totalResults) {
|
||||
public static Map<String, Integer> allocateElements(List<ToProductImageVO> voList, int totalResults) {
|
||||
|
||||
// 计算基础分配值和余数
|
||||
int baseAllocation = totalResults / voList.size();
|
||||
int remainder = totalResults % voList.size();
|
||||
|
||||
// 初始化分配结果(每个元素先分配基础值)
|
||||
Map<ToProductImageVO, Integer> allocationMap = new HashMap<>();
|
||||
Map<String, Integer> allocationMap = new HashMap<>();
|
||||
for (ToProductImageVO vo : voList) {
|
||||
allocationMap.put(vo, baseAllocation);
|
||||
String key = vo.getElementId() + "_" + vo.getElementType();
|
||||
allocationMap.put(key, baseAllocation);
|
||||
}
|
||||
|
||||
// 如果有余数,随机分配额外的一个结果
|
||||
@@ -2267,7 +2270,8 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
||||
// 将前N个元素各增加1(N=余数)
|
||||
for (int i = 0; i < remainder; i++) {
|
||||
ToProductImageVO toProductImageVO = shuffledIds.get(i);
|
||||
allocationMap.put(toProductImageVO, allocationMap.get(toProductImageVO) + 1);
|
||||
String key = toProductImageVO.getElementId() + "_" + toProductImageVO.getElementType();
|
||||
allocationMap.put(key, allocationMap.get(key) + 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user