diff --git a/web-api/ruoyi-admin/src/main/java/com/ruoyi/api/ByteApiController.java b/web-api/ruoyi-admin/src/main/java/com/ruoyi/api/ByteApiController.java index 0e173ea..349606b 100644 --- a/web-api/ruoyi-admin/src/main/java/com/ruoyi/api/ByteApiController.java +++ b/web-api/ruoyi-admin/src/main/java/com/ruoyi/api/ByteApiController.java @@ -432,12 +432,23 @@ public class ByteApiController extends BaseController { } private AjaxResult volcCallbackByteCheck(VideoTaskCallBackRequest request, GetVideoGenerationTaskResponse taskResp) { - String status = request.getStatus().toLowerCase(); + String requestStatus = request.getStatus().toLowerCase(); + String responseStatus = taskResp.getStatus().toLowerCase(); // 请求的状态与字节的状态是否一致 - if (!status.equals(taskResp.getStatus().toLowerCase())) { - logger.error("volcCallback request's status != official status! order third party order num = {}, request's status = {}, official status = {}", - request.getId(), status, taskResp.getStatus()); - return AjaxResult.error(); + if (!requestStatus.equals(responseStatus)) { + // 如果推送的是队列中、执行中,但官方任务可能已进到下一步的状态,(时间差)此种情况不处理,等待后续推送 + if (requestStatus.equals(VideoTaskStatusType.QUEUED.getName()) + || requestStatus.equals(VideoTaskStatusType.RUNNING.getName())) { + logger.warn("volcCallback request's status != official status, no process! order third party order num = {}, request's status = {}, official status = {}", + request.getId(), requestStatus, responseStatus); + // 防止再次推送 + return AjaxResult.success(); + } else { + logger.error("volcCallback request's status != official status! order third party order num = {}, request's status = {}, official status = {}", + request.getId(), requestStatus, responseStatus); + // 不再让对方二次推送 + return AjaxResult.error(); + } } return null; } diff --git a/web-api/ruoyi-admin/src/main/java/com/ruoyi/api/PortalVideoController.java b/web-api/ruoyi-admin/src/main/java/com/ruoyi/api/PortalVideoController.java index 22bce23..57fff94 100644 --- a/web-api/ruoyi-admin/src/main/java/com/ruoyi/api/PortalVideoController.java +++ b/web-api/ruoyi-admin/src/main/java/com/ruoyi/api/PortalVideoController.java @@ -192,6 +192,7 @@ public class PortalVideoController extends BaseController { private void fillVideoOrderRecord(AiOrder aiOrder, PortalVideoGenRequest req, String mode, ByteBodyReq body, String functionTypeResolved) { aiOrder.setText(req.getText()); aiOrder.setMode(mode); + aiOrder.setIsBackfilled(0); applyOrderImages(aiOrder, req); if (req.getDuration() != null) { aiOrder.setDuration(req.getDuration());