BUGFIX: 添加retry_failed状态,不处理failed状态
All checks were successful
git commit 控制 连卡佛 back-java prod 分支构建部署 / build_and_deploy (push) Has been skipped
All checks were successful
git commit 控制 连卡佛 back-java prod 分支构建部署 / build_and_deploy (push) Has been skipped
This commit is contained in:
@@ -10,7 +10,7 @@ public class OutfitCallbackDTO {
|
||||
|
||||
private String outfit_id;
|
||||
|
||||
// 取值范围:ok || failed || stop || retrying
|
||||
// 取值范围:ok || failed || stop || retrying || retry_failed
|
||||
private String status;
|
||||
|
||||
private String path;
|
||||
|
||||
@@ -27,7 +27,6 @@ import com.alibaba.fastjson2.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import io.netty.util.internal.StringUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -130,18 +129,19 @@ public class StyleServiceImpl extends ServiceImpl<StyleMapper, Style> implements
|
||||
|
||||
// 搭配完成后的回调通知处理
|
||||
public void callback(OutfitCallbackDTO callbackDTO) {
|
||||
if (Objects.isNull(callbackDTO.getStatus())) {
|
||||
if (Objects.isNull(callbackDTO.getStatus()) || callbackDTO.getStatus().equals("failed")) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 1. 判断path是否为空,是 -> 不做任何处理
|
||||
if (!"retrying".equals(callbackDTO.getStatus())
|
||||
&& !"failed".equals(callbackDTO.getStatus())
|
||||
&& StringUtil.isNullOrEmpty(callbackDTO.getPath())) {
|
||||
if (("ok".equals(callbackDTO.getStatus())
|
||||
|| "stop".equals(callbackDTO.getStatus()))
|
||||
&& StringUtils.isBlank(callbackDTO.getPath())) {
|
||||
log.error("状态为ok || stop时,path为空");
|
||||
return;
|
||||
}
|
||||
|
||||
if (StringUtil.isNullOrEmpty(callbackDTO.getOutfit_id())) {
|
||||
if (StringUtils.isBlank(callbackDTO.getOutfit_id())) {
|
||||
log.error("回调参数中,outfit_id为空");
|
||||
return;
|
||||
}
|
||||
@@ -159,26 +159,27 @@ public class StyleServiceImpl extends ServiceImpl<StyleMapper, Style> implements
|
||||
// 3.更新path, items, 状态
|
||||
// 由于数据变化较频繁,考虑存到redis
|
||||
if (outfitResult instanceof OutfitResultVO) {
|
||||
((OutfitResultVO) outfitResult).setPath(minioUtil.getPresignedUrl(callbackDTO.getPath(), CommonConstants.MINIO_PATH_TIMEOUT));
|
||||
String status;
|
||||
switch(callbackDTO.getStatus()) {
|
||||
case "ok":
|
||||
status = StatusEnum.RUNNING.name();
|
||||
((OutfitResultVO) outfitResult).setPath(minioUtil.getPresignedUrl(callbackDTO.getPath(), CommonConstants.MINIO_PATH_TIMEOUT));
|
||||
break;
|
||||
case "stop":
|
||||
status = StatusEnum.SUCCEEDED.name();
|
||||
break;
|
||||
case "failed":
|
||||
status = StatusEnum.FAILED.name();
|
||||
((OutfitResultVO) outfitResult).setPath(minioUtil.getPresignedUrl(callbackDTO.getPath(), CommonConstants.MINIO_PATH_TIMEOUT));
|
||||
break;
|
||||
case "retrying":
|
||||
status = StatusEnum.PENDING.name();
|
||||
((OutfitResultVO) outfitResult).setCreateTimeStamp(System.currentTimeMillis());
|
||||
((OutfitResultVO) outfitResult).setPath(null);
|
||||
break;
|
||||
case /*"failed",*/ "retry_failed":
|
||||
status = StatusEnum.FAILED.name();
|
||||
break;
|
||||
default:
|
||||
log.error("outfit_id为{},回调状态未知{}", requestId, callbackDTO.getStatus());
|
||||
status = "failed";
|
||||
status = StatusEnum.FAILED.name();
|
||||
}
|
||||
|
||||
((OutfitResultVO) outfitResult).setStatus(status);
|
||||
@@ -186,7 +187,9 @@ public class StyleServiceImpl extends ServiceImpl<StyleMapper, Style> implements
|
||||
}
|
||||
|
||||
// 生成结束或失败时更新数据库
|
||||
if ("stop".equals(callbackDTO.getStatus()) || "failed".equals(callbackDTO.getStatus())) {
|
||||
if ("stop".equals(callbackDTO.getStatus())
|
||||
/*|| "failed".equals(callbackDTO.getStatus())*/
|
||||
|| "retry_failed".equals(callbackDTO.getStatus())) {
|
||||
// String requestId = callbackDTO.getOutfit_id();
|
||||
|
||||
LambdaQueryWrapper<Style> queryWrapper = new LambdaQueryWrapper<>();
|
||||
@@ -261,7 +264,7 @@ public class StyleServiceImpl extends ServiceImpl<StyleMapper, Style> implements
|
||||
outfitResultVO.setId(style.getId());
|
||||
outfitResultVO.setRequestId(style.getPythonRequestId());
|
||||
outfitResultVO.setStatus(StatusEnum.of(style.getGenerationStatus()).name());
|
||||
if (!StringUtil.isNullOrEmpty(style.getStyleImageUrl())) {
|
||||
if (!StringUtils.isBlank(style.getStyleImageUrl())) {
|
||||
outfitResultVO.setPath(minioUtil.getPresignedUrl(style.getStyleImageUrl(), CommonConstants.MINIO_PATH_TIMEOUT));
|
||||
}
|
||||
resultVOS.add(outfitResultVO);
|
||||
|
||||
Reference in New Issue
Block a user