Prechádzať zdrojové kódy

1、文生视频、图生视频的异步请求处理

liyanbo 9 mesiacov pred
rodič
commit
65446f3423

+ 2 - 0
byzs-module-ai/src/main/java/cn/iocoder/byzs/module/ai/service/video/AiVideoService.java

@@ -5,6 +5,7 @@ import cn.iocoder.byzs.module.ai.controller.admin.video.vo.AiVideoDrawReqVO;
 import cn.iocoder.byzs.module.ai.controller.admin.video.vo.AiVideoPageReqVO;
 import cn.iocoder.byzs.module.ai.controller.admin.video.vo.AiVideoPublicPageReqVO;
 import cn.iocoder.byzs.module.ai.controller.admin.video.vo.AiVideoUpdateReqVO;
+import cn.iocoder.byzs.module.ai.dal.dataobject.model.AiModelDO;
 import cn.iocoder.byzs.module.ai.dal.dataobject.video.AiVideoDO;
 import jakarta.validation.Valid;
 
@@ -26,6 +27,7 @@ public interface AiVideoService {
      */
     PageResult<AiVideoDO> getVideoPageMy(Long userId, AiVideoPageReqVO pageReqVO);
 
+    void executeDrawVideo(AiVideoDO video, AiVideoDrawReqVO reqVO, AiModelDO model);
     /**
      * 获取公开的绘图分页
      *

+ 4 - 9
byzs-module-ai/src/main/java/cn/iocoder/byzs/module/ai/service/video/AiVideoServiceImpl.java

@@ -18,7 +18,6 @@ import cn.iocoder.byzs.module.ai.dal.mysql.video.AiVideoMapper;
 import cn.iocoder.byzs.module.ai.enums.video.AiVideoStatusEnum;
 import cn.iocoder.byzs.module.ai.service.model.AiApiKeyService;
 import cn.iocoder.byzs.module.ai.service.model.AiModelService;
-import cn.iocoder.byzs.module.ai.service.model.AiModelServiceImpl;
 import cn.iocoder.byzs.module.infra.api.file.FileApi;
 import com.volcengine.ark.runtime.model.content.generation.CreateContentGenerationTaskRequest;
 import com.volcengine.ark.runtime.model.content.generation.CreateContentGenerationTaskRequest.Content;
@@ -61,8 +60,6 @@ public class AiVideoServiceImpl implements AiVideoService {
     private FileApi fileApi;
     @Resource
     private AiApiKeyService apiKeyService;
-    @Resource
-    private AiModelServiceImpl aiModelService;
 
     @Override
     public PageResult<AiVideoDO> getVideoPageMy(Long userId, AiVideoPageReqVO pageReqVO) {
@@ -100,13 +97,12 @@ public class AiVideoServiceImpl implements AiVideoService {
         videoMapper.insert(video);
 
         // 3. 异步绘制,后续前端通过返回的 id 进行轮询结果
-        executeDrawVideo(video, drawReqVO, model);
+        getSelf().executeDrawVideo(video, drawReqVO, model);
         return video.getId();
     }
-
     @Async
+    @Override
     public void executeDrawVideo(AiVideoDO video, AiVideoDrawReqVO reqVO, AiModelDO model) {
-
         String filePath = "";
 
         try {
@@ -258,8 +254,7 @@ public class AiVideoServiceImpl implements AiVideoService {
      *
      * @return 自己
      */
-    private AiVideoServiceImpl getSelf() {
-        return SpringUtil.getBean(getClass());
+    private AiVideoService getSelf() {
+        return SpringUtil.getBean(AiVideoService.class);
     }
-
 }