Explorar el Código

update content-service VideoPostController

reghao hace 2 semanas
padre
commit
06ebeaf129

+ 7 - 6
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/controller/VideoPostController.java

@@ -83,22 +83,23 @@ public class VideoPostController {
 
     @AuthUser
     @Operation(summary = "删除视频稿件", description = "N")
-    @DeleteMapping("/{videoId}")
-    public String deleteVideoPost(@PathVariable("videoId") String videoId) {
-        videoPostService.deleteVideo(videoId);
+    @PostMapping("/delete")
+    public String deleteVideoPost(@RequestBody @Validated VideoId videoId) {
+        String videoId1 = videoId.getVideoId();
+        videoPostService.deleteVideo(videoId1);
         return WebResult.success();
     }
     
     @Operation(summary = "获取视频稿件列表", description = "N")
-    @GetMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE)
+    @GetMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)
     public String getVideoPosts(@RequestParam("page") int page) {
         PageList<UserVideoPost> pageList = videoPostQuery.getUserVideoPost(page);
         return WebResult.success(pageList);
     }
 
     @Operation(summary = "获取视频稿件详情", description = "N")
-    @GetMapping(value = "/{videoId}", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getVideoPost(@PathVariable("videoId") String videoId) {
+    @GetMapping(value = "/info", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String getVideoPost(@RequestParam("videoId") String videoId) {
         UserVideoPost userVideoPost = videoPostQuery.getUserVideoDetail(videoId);
         return WebResult.success(userVideoPost);
     }

+ 16 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/model/dto/VideoId.java

@@ -0,0 +1,16 @@
+package cn.reghao.tnb.content.app.vod.model.dto;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+
+/**
+ * @author reghao
+ * @date 2026-06-02 17:06:55
+ */
+@Data
+public class VideoId {
+    @NotBlank
+    @Size(min = 1, max = 10, message = "videoId 不能超过 10 个字符")
+    private String videoId;
+}

+ 0 - 2
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/model/query/VideoQuery.java

@@ -54,8 +54,6 @@ public class VideoQuery {
         private String orderDirection;
 
         public Builder() {
-            this.status = VideoStatus.PUBLISHED.getCode();
-            //this.scope = List.of(PostScope.PUBLIC.getCode());
         }
 
         public Builder status(Integer status) {

+ 9 - 9
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/service/VideoPostService.java

@@ -170,14 +170,18 @@ public class VideoPostService {
         try {
             ObjectMeta objectMeta = ossService.getObjectMeta(coverFileId);
             if (objectMeta == null) {
+                log.error("cover objectId {} not exist", coverFileId);
                 return;
             }
 
+            String currentCover = videoPost.getCoverUrl();
             String coverUrl = objectMeta.getUrl();
-            ossService.deleteByObjectUrl(coverUrl);
             videoRepository.updateVideoCover(videoId, coverUrl);
+            if (currentCover != null && !currentCover.isBlank()) {
+                ossService.deleteByObjectUrl(currentCover);
+            }
         } catch (Exception e) {
-            log.error("{}", e.getMessage());;
+            log.error("{}", e.getMessage());
         }
     }
 
@@ -220,20 +224,16 @@ public class VideoPostService {
 
     public void deleteVideo(String videoId) {
         VideoPost videoPost = videoRepository.getVideoPost(videoId);
-        long owner = -1L;
+        long owner = videoPost.getPublishBy();
+        //owner = -1L;
         if (owner == UserContext.getUserId()) {
             // 删除 videoId 关联的所有数据, 包括观看记录, 用户收藏, 视频数据, 视频标签, 推荐数据等
             String coverUrl = videoPost.getCoverUrl();
             ossService.deleteByObjectUrl(coverUrl);
-
             List<VideoUrlDto> list = videoRepository.getVideoUrls(videoId);
             for (VideoUrlDto videoUrlDto : list) {
                 String videoFileId = videoUrlDto.getObjectId();
-                try {
-                    ossService.deleteByObjectId(videoFileId);
-                } catch (Exception e) {
-                    log.error("{}", e.getMessage());;
-                }
+                ossService.deleteByObjectId(videoFileId);
             }
 
             videoRepository.deleteVideoPost(videoId);