generate 接口参数变更
This commit is contained in:
@@ -15,7 +15,7 @@ public interface GenerateService extends IService<Generate> {
|
||||
|
||||
void generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO);
|
||||
|
||||
void processGenerateResult(String taskId, String url);
|
||||
void processGenerateResult(String taskId, String url, String category);
|
||||
|
||||
GenerateLikeVO generateLike(GenerateLikeDTO generateLikeDTO);
|
||||
|
||||
|
||||
@@ -836,6 +836,7 @@ public class CollectionElementServiceImpl extends ServiceImpl<CollectionElementM
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
log.error("designType cannot be empty");
|
||||
throw new BusinessException("element source type cannot be empty!");
|
||||
}
|
||||
}else {
|
||||
|
||||
@@ -141,7 +141,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
// List<String> generatedSketchUrl = asyncCallerUtil.generate(new GenerateToPythonDTO(accountId, Objects.isNull(collectionElement) ? "" : collectionElement.getUrl(),
|
||||
// category, text, mode, "1", generateThroughImageTextDTO.getGender(), generateThroughImageTextDTO.getUniqueId()));
|
||||
Boolean requestResult = pythonService.generateSketchOrPrint(new GenerateToPythonDTO(generateThroughImageTextDTO.getUniqueId(), text,Objects.isNull(collectionElement) ? "" : collectionElement.getUrl(),
|
||||
mode, category));
|
||||
mode, category, generateThroughImageTextDTO.getGender()));
|
||||
// log.info("generate 响应 : " + generatedSketchUrl);
|
||||
// if (CollectionUtils.isEmpty(generatedSketchUrl)) {
|
||||
// return null;
|
||||
@@ -193,7 +193,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void processGenerateResult(String taskId, String url){
|
||||
public void processGenerateResult(String taskId, String url, String category){
|
||||
// 5、处理模型返回的数据
|
||||
// 5.1 将相应的url保存到数据库
|
||||
GenerateDetail generateDetail = new GenerateDetail();
|
||||
@@ -226,7 +226,9 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
generateDetailMapper.insert(generateDetail);
|
||||
|
||||
String key = generateResultKey + ":" + taskId;
|
||||
GenerateResultVO generateResultVO = new GenerateResultVO(taskId, generateDetail.getId(), url, "Success");
|
||||
String imageName = url.substring(url.lastIndexOf("/") + 1);
|
||||
String status = imageName.equals("white_image.jpg") ? "Invalid" : "Success";
|
||||
GenerateResultVO generateResultVO = new GenerateResultVO(taskId, generateDetail.getId(), url, status, category);
|
||||
redisUtil.addToString(key, new Gson().toJson(generateResultVO), CommonConstant.GENERATE_RESULT_EXPIRE_TIME);
|
||||
}
|
||||
|
||||
@@ -266,7 +268,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
generate.setText(text);
|
||||
break;
|
||||
case "Sketchboard":
|
||||
text = "a single item , " + userInput + ", clean background, hand-drawing sketch style, high quality";
|
||||
text = "transparent line drawing, transparent sketch, front of single clothing vector image, clean background, best quality, ultra high res 8k," + userInput;
|
||||
generate.setText(text);
|
||||
default:
|
||||
}
|
||||
@@ -525,15 +527,21 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
||||
String key = generateResultKey + ":" + taskId;
|
||||
GenerateResultVO generateResultVO = new Gson().fromJson(redisUtil.getFromString(key), GenerateResultVO.class);
|
||||
if (!Objects.isNull(generateResultVO) && !StringUtil.isNullOrEmpty(generateResultVO.getUrl())) {
|
||||
generateResultVO.setUrl(minioUtil.getPresignedUrl(generateResultVO.getUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME));
|
||||
if (!StringUtil.isNullOrEmpty(generateResultVO.getStatus())) collect.add(generateResultVO.getStatus());
|
||||
String url = generateResultVO.getUrl();
|
||||
if (url.substring(url.lastIndexOf("/") + 1).equals("white_image.jpg")){
|
||||
generateResultVO.setStatus("Invalid");
|
||||
}else {
|
||||
generateResultVO.setUrl(minioUtil.getPresignedUrl(url, CommonConstant.MINIO_IMAGE_EXPIRE_TIME));
|
||||
}
|
||||
}else if (Objects.isNull(generateResultVO)){
|
||||
generateResultVO = new GenerateResultVO();
|
||||
}
|
||||
if (!StringUtil.isNullOrEmpty(generateResultVO.getStatus())) collect.add(generateResultVO.getStatus());
|
||||
results.add(generateResultVO);
|
||||
});
|
||||
// todo
|
||||
if (taskIdList.size() == 4 && collect.size() == 1 && collect.contains("Fail")){
|
||||
log.info("当前4个生成结果均为失败");
|
||||
throw new BusinessException("generate.interface.error");
|
||||
}
|
||||
return results;
|
||||
|
||||
Reference in New Issue
Block a user