generate 接口参数变更
This commit is contained in:
@@ -88,6 +88,9 @@ public class GenerateConsumer {
|
|||||||
channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false);
|
channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false);
|
||||||
// 将消息从redis排队队列中删除,需保证被消费的消息存储到db之后再从redis删除
|
// 将消息从redis排队队列中删除,需保证被消费的消息存储到db之后再从redis删除
|
||||||
redisUtil.removeFromZSet(consumptionOrderKey, uniqueId);
|
redisUtil.removeFromZSet(consumptionOrderKey, uniqueId);
|
||||||
|
String key = generateResultKey + ":" + uniqueId;
|
||||||
|
GenerateResultVO generateResultVO = new GenerateResultVO(generateThroughImageTextDTO.getUniqueId(), null, null, "Fail");
|
||||||
|
redisUtil.addToString(key, new Gson().toJson(generateResultVO), CommonConstant.GENERATE_RESULT_EXPIRE_TIME);
|
||||||
} catch (IOException exception) {
|
} catch (IOException exception) {
|
||||||
log.error("手动确认,取消返回队列,不再重新消费");
|
log.error("手动确认,取消返回队列,不再重新消费");
|
||||||
}
|
}
|
||||||
@@ -115,9 +118,10 @@ public class GenerateConsumer {
|
|||||||
try {
|
try {
|
||||||
log.info("tasks_id : {} start ", generateResult.get("tasks_id"));
|
log.info("tasks_id : {} start ", generateResult.get("tasks_id"));
|
||||||
if (generateResult.get("status").equals("SUCCESS")) {
|
if (generateResult.get("status").equals("SUCCESS")) {
|
||||||
String url = generateResult.get("data");
|
String url = generateResult.get("image_url");
|
||||||
String taskId = generateResult.get("tasks_id");
|
String taskId = generateResult.get("tasks_id");
|
||||||
generateService.processGenerateResult(taskId, url);
|
String category = generateResult.get("category");
|
||||||
|
generateService.processGenerateResult(taskId, url, category);
|
||||||
} else {
|
} else {
|
||||||
// 修改redis中的数据状态为exception
|
// 修改redis中的数据状态为exception
|
||||||
String key = generateResultKey + ":" + generateResult.get("tasks_id");
|
String key = generateResultKey + ":" + generateResult.get("tasks_id");
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
package com.ai.da.common.constant;
|
package com.ai.da.common.constant;
|
||||||
|
|
||||||
public class CommonConstant {
|
public class CommonConstant {
|
||||||
// 单位 秒 一天过期
|
// 单位 秒 10分钟过期
|
||||||
public static final Long TASK_EXPIRE_TIME = 24 * 60 * 60L;
|
// public static final Long TASK_EXPIRE_TIME = 24 * 60 * 60L;
|
||||||
|
public static final Long TASK_EXPIRE_TIME = 10 * 60L;
|
||||||
// 单位 秒 两天过期
|
// 单位 秒 两天过期
|
||||||
public static final Long CREDITS_EXPIRE_TIME = 2 * 24 * 60 * 60L;
|
public static final Long CREDITS_EXPIRE_TIME = 2 * 24 * 60 * 60L;
|
||||||
// 单位 分钟
|
// 单位 分钟
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ public class GenerateThroughImageTextDTO {
|
|||||||
@ApiModelProperty("text image text-image")
|
@ApiModelProperty("text image text-image")
|
||||||
String generateType;
|
String generateType;
|
||||||
|
|
||||||
/** 暂时没有用上 */
|
|
||||||
@ApiModelProperty("图片是update,还是从library中选择")
|
@ApiModelProperty("图片是update,还是从library中选择")
|
||||||
String designType;
|
String designType;
|
||||||
|
|
||||||
|
|||||||
@@ -22,15 +22,16 @@ public class GenerateToPythonDTO {
|
|||||||
// 去除
|
// 去除
|
||||||
// private String version;
|
// private String version;
|
||||||
// 去掉
|
// 去掉
|
||||||
// private String gender;
|
private String gender;
|
||||||
// taskId的最后拼接用户id
|
// taskId的最后拼接用户id
|
||||||
private String tasks_id;
|
private String tasks_id;
|
||||||
|
|
||||||
public GenerateToPythonDTO(String tasks_id, String prompt, String image_url, String mode, String category) {
|
public GenerateToPythonDTO(String tasks_id, String prompt, String image_url, String mode, String category, String gender) {
|
||||||
this.image_url = image_url;
|
this.image_url = image_url;
|
||||||
this.category = category;
|
this.category = category;
|
||||||
this.prompt = prompt;
|
this.prompt = prompt;
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
this.tasks_id = tasks_id;
|
this.tasks_id = tasks_id;
|
||||||
|
this.gender = gender;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,15 @@ public class GenerateResultVO {
|
|||||||
|
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
private String category;
|
||||||
|
|
||||||
|
public GenerateResultVO(String taskId, Long id, String url, String status) {
|
||||||
|
this.taskId = taskId;
|
||||||
|
this.id = id;
|
||||||
|
this.url = url;
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
public GenerateResultVO(Long id, String url, String status) {
|
public GenerateResultVO(Long id, String url, String status) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.url = url;
|
this.url = url;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public interface GenerateService extends IService<Generate> {
|
|||||||
|
|
||||||
void generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO);
|
void generateThroughImageText(GenerateThroughImageTextDTO generateThroughImageTextDTO);
|
||||||
|
|
||||||
void processGenerateResult(String taskId, String url);
|
void processGenerateResult(String taskId, String url, String category);
|
||||||
|
|
||||||
GenerateLikeVO generateLike(GenerateLikeDTO generateLikeDTO);
|
GenerateLikeVO generateLike(GenerateLikeDTO generateLikeDTO);
|
||||||
|
|
||||||
|
|||||||
@@ -836,6 +836,7 @@ public class CollectionElementServiceImpl extends ServiceImpl<CollectionElementM
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
log.error("designType cannot be empty");
|
||||||
throw new BusinessException("element source type cannot be empty!");
|
throw new BusinessException("element source type cannot be empty!");
|
||||||
}
|
}
|
||||||
}else {
|
}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(),
|
// List<String> generatedSketchUrl = asyncCallerUtil.generate(new GenerateToPythonDTO(accountId, Objects.isNull(collectionElement) ? "" : collectionElement.getUrl(),
|
||||||
// category, text, mode, "1", generateThroughImageTextDTO.getGender(), generateThroughImageTextDTO.getUniqueId()));
|
// category, text, mode, "1", generateThroughImageTextDTO.getGender(), generateThroughImageTextDTO.getUniqueId()));
|
||||||
Boolean requestResult = pythonService.generateSketchOrPrint(new GenerateToPythonDTO(generateThroughImageTextDTO.getUniqueId(), text,Objects.isNull(collectionElement) ? "" : collectionElement.getUrl(),
|
Boolean requestResult = pythonService.generateSketchOrPrint(new GenerateToPythonDTO(generateThroughImageTextDTO.getUniqueId(), text,Objects.isNull(collectionElement) ? "" : collectionElement.getUrl(),
|
||||||
mode, category));
|
mode, category, generateThroughImageTextDTO.getGender()));
|
||||||
// log.info("generate 响应 : " + generatedSketchUrl);
|
// log.info("generate 响应 : " + generatedSketchUrl);
|
||||||
// if (CollectionUtils.isEmpty(generatedSketchUrl)) {
|
// if (CollectionUtils.isEmpty(generatedSketchUrl)) {
|
||||||
// return null;
|
// return null;
|
||||||
@@ -193,7 +193,7 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void processGenerateResult(String taskId, String url){
|
public void processGenerateResult(String taskId, String url, String category){
|
||||||
// 5、处理模型返回的数据
|
// 5、处理模型返回的数据
|
||||||
// 5.1 将相应的url保存到数据库
|
// 5.1 将相应的url保存到数据库
|
||||||
GenerateDetail generateDetail = new GenerateDetail();
|
GenerateDetail generateDetail = new GenerateDetail();
|
||||||
@@ -226,7 +226,9 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
|||||||
generateDetailMapper.insert(generateDetail);
|
generateDetailMapper.insert(generateDetail);
|
||||||
|
|
||||||
String key = generateResultKey + ":" + taskId;
|
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);
|
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);
|
generate.setText(text);
|
||||||
break;
|
break;
|
||||||
case "Sketchboard":
|
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);
|
generate.setText(text);
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
@@ -525,15 +527,21 @@ public class GenerateServiceImpl extends ServiceImpl<GenerateMapper, Generate> i
|
|||||||
String key = generateResultKey + ":" + taskId;
|
String key = generateResultKey + ":" + taskId;
|
||||||
GenerateResultVO generateResultVO = new Gson().fromJson(redisUtil.getFromString(key), GenerateResultVO.class);
|
GenerateResultVO generateResultVO = new Gson().fromJson(redisUtil.getFromString(key), GenerateResultVO.class);
|
||||||
if (!Objects.isNull(generateResultVO) && !StringUtil.isNullOrEmpty(generateResultVO.getUrl())) {
|
if (!Objects.isNull(generateResultVO) && !StringUtil.isNullOrEmpty(generateResultVO.getUrl())) {
|
||||||
generateResultVO.setUrl(minioUtil.getPresignedUrl(generateResultVO.getUrl(), CommonConstant.MINIO_IMAGE_EXPIRE_TIME));
|
String url = generateResultVO.getUrl();
|
||||||
if (!StringUtil.isNullOrEmpty(generateResultVO.getStatus())) collect.add(generateResultVO.getStatus());
|
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)){
|
}else if (Objects.isNull(generateResultVO)){
|
||||||
generateResultVO = new GenerateResultVO();
|
generateResultVO = new GenerateResultVO();
|
||||||
}
|
}
|
||||||
|
if (!StringUtil.isNullOrEmpty(generateResultVO.getStatus())) collect.add(generateResultVO.getStatus());
|
||||||
results.add(generateResultVO);
|
results.add(generateResultVO);
|
||||||
});
|
});
|
||||||
// todo
|
// todo
|
||||||
if (taskIdList.size() == 4 && collect.size() == 1 && collect.contains("Fail")){
|
if (taskIdList.size() == 4 && collect.size() == 1 && collect.contains("Fail")){
|
||||||
|
log.info("当前4个生成结果均为失败");
|
||||||
throw new BusinessException("generate.interface.error");
|
throw new BusinessException("generate.interface.error");
|
||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
|
|||||||
Reference in New Issue
Block a user