VolcengineVideoController.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.backendsys.modules.ai.volcengine.controller;
  2. import com.backendsys.modules.ai.volcengine.entity.VolcengineVideoCollect;
  3. import com.backendsys.modules.ai.volcengine.entity.VolcengineVideoTask;
  4. import com.backendsys.modules.ai.volcengine.entity.VolcengineVideoTaskDTO;
  5. import com.backendsys.modules.ai.volcengine.service.VolcengineVideoCollectService;
  6. import com.backendsys.modules.ai.volcengine.service.VolcengineVideoTaskService;
  7. import com.backendsys.modules.common.config.security.utils.SecurityUtil;
  8. import com.backendsys.modules.common.utils.Result;
  9. import io.swagger.v3.oas.annotations.Operation;
  10. import io.swagger.v3.oas.annotations.tags.Tag;
  11. import lombok.AllArgsConstructor;
  12. import org.springframework.security.access.prepost.PreAuthorize;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.*;
  15. @AllArgsConstructor
  16. @Validated
  17. @RestController
  18. @Tag(name = "火山大模型 视频生成")
  19. public class VolcengineVideoController {
  20. private final VolcengineVideoTaskService volcengineVideoTaskService;
  21. private final VolcengineVideoCollectService volcengineVideoCollectService;
  22. @Operation(summary = "创建图生视频任务")
  23. @PreAuthorize("@sr.hasPermission('37.1.1')")
  24. @PostMapping("/api/ai/volcegine/generateVideo")
  25. public Result generateVideo(@Validated(VolcengineVideoTask.Generate.class) @RequestBody VolcengineVideoTask volcengineVideoTask) {
  26. volcengineVideoTask.setUser_id(SecurityUtil.getUserId());
  27. return Result.success().put("data", volcengineVideoTaskService.generateVideo(volcengineVideoTask));
  28. }
  29. @Operation(summary = "查询图生视频任务状态")
  30. @PreAuthorize("@sr.hasPermission('37.1.2')")
  31. @GetMapping("/api/ai/volcegine/video/getTaskStatus/{volcengineTaskId}")
  32. public Result getTaskStatus(@PathVariable String volcengineTaskId) {
  33. return Result.success().put("data", volcengineVideoTaskService.selectTaskStatus(volcengineTaskId));
  34. }
  35. @Operation(summary = "分页获取图生视频任务记录")
  36. @PreAuthorize("@sr.hasPermission('37.1.3')")
  37. @GetMapping("/api/ai/volcegine/video/getTaskList")
  38. public Result getTaskList(VolcengineVideoTaskDTO dto) {
  39. dto.setUser_id(SecurityUtil.getUserId());
  40. return Result.success().put("data", volcengineVideoTaskService.selectTaskList(dto));
  41. }
  42. @Operation(summary = "视频收藏/取消收藏")
  43. @PreAuthorize("@sr.hasPermission('37.1.4')")
  44. @PutMapping("/api/ai/volcegine/video/setCollect")
  45. public Result setCollect(@Validated(VolcengineVideoCollect.Collect.class) @RequestBody VolcengineVideoCollect volcengineVideoCollect) {
  46. volcengineVideoCollect.setUser_id(SecurityUtil.getUserId());
  47. return Result.success().put("data", volcengineVideoCollectService.setCollect(volcengineVideoCollect));
  48. }
  49. }