ソースを参照

Merge branch '20250925-wyp-uploadVideo' into test

wangyunpeng 1 週間 前
コミット
679f646a7e

+ 1 - 0
api-module/src/main/java/com/tzld/piaoquan/api/common/enums/ExceptionEnum.java

@@ -59,6 +59,7 @@ public enum ExceptionEnum {
     VIDEO_DELETE_FAILED(6004, "视频删除失败"),
     VIDEO_INFO_FAILED(6005, "视频信息获取失败"),
     PQ_ACCOUNT_NOT_BINDING(6006, "票圈账号未绑定"),
+    VIDEO_CITED(6007, "视频已被引用,不能删除"),
 
     // 自动回复
     CGI_REPLY_BUCKET_DATA_NOT_FOUND(10000, "自动回复数据不存在"),

+ 29 - 4
api-module/src/main/java/com/tzld/piaoquan/api/service/contentplatform/impl/ContentPlatformUploadContentServiceImpl.java

@@ -4,16 +4,15 @@ import com.tzld.piaoquan.api.common.enums.ExceptionEnum;
 import com.tzld.piaoquan.api.common.enums.contentplatform.UploadVideoAuditStatusEnum;
 import com.tzld.piaoquan.api.common.exception.CommonException;
 import com.tzld.piaoquan.api.component.VideoApiService;
+import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformGzhPlanVideoMapper;
+import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformQwPlanVideoMapper;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ContentPlatformUploadVideoMapper;
 import com.tzld.piaoquan.api.model.config.LoginUserContext;
 import com.tzld.piaoquan.api.model.param.contentplatform.DeleteVideoParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.PublishVideoParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.UploadVideoListParam;
 import com.tzld.piaoquan.api.model.param.contentplatform.VideoAuditCallBackParam;
-import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformAccount;
-import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformPqAccountRel;
-import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformUploadVideo;
-import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformUploadVideoExample;
+import com.tzld.piaoquan.api.model.po.contentplatform.*;
 import com.tzld.piaoquan.api.model.vo.contentplatform.UploadVideoItemVO;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformSettingService;
 import com.tzld.piaoquan.api.service.contentplatform.ContentPlatformUploadContentService;
@@ -39,6 +38,10 @@ public class ContentPlatformUploadContentServiceImpl implements ContentPlatformU
     ContentPlatformSettingService settingService;
     @Autowired
     VideoApiService videoApiService;
+    @Autowired
+    ContentPlatformGzhPlanVideoMapper gzhPlanVideoMapper;
+    @Autowired
+    ContentPlatformQwPlanVideoMapper qwPlanVideoMapper;
 
     @Override
     public UploadVideoItemVO publishVideo(PublishVideoParam param) {
@@ -132,6 +135,10 @@ public class ContentPlatformUploadContentServiceImpl implements ContentPlatformU
         if (uploadVideo == null) {
             return;
         }
+        // 检查视频是否被引用
+        if (checkVideoCited(uploadVideo)) {
+            throw new CommonException(ExceptionEnum.VIDEO_CITED);
+        }
         uploadVideo.setIsDelete(1);
         uploadVideo.setUpdateTimestamp(System.currentTimeMillis());
         uploadVideoMapper.updateByPrimaryKeySelective(uploadVideo);
@@ -140,6 +147,24 @@ public class ContentPlatformUploadContentServiceImpl implements ContentPlatformU
         videoApiService.deleteVideo(pqAccountRel.getPqUid(), uploadVideo.getVideoId());
     }
 
+    private Boolean checkVideoCited(ContentPlatformUploadVideo uploadVideo) {
+        Boolean result = false;
+        ContentPlatformGzhPlanVideoExample example = new ContentPlatformGzhPlanVideoExample();
+        example.createCriteria().andVideoIdEqualTo(uploadVideo.getVideoId());
+        List<ContentPlatformGzhPlanVideo> gzhPlanVideos = gzhPlanVideoMapper.selectByExample(example);
+        if (CollectionUtils.isNotEmpty(gzhPlanVideos)) {
+            result = true;
+            return result;
+        }
+        ContentPlatformQwPlanVideoExample qwPlanVideoExample = new ContentPlatformQwPlanVideoExample();
+        qwPlanVideoExample.createCriteria().andVideoIdEqualTo(uploadVideo.getVideoId());
+        List<ContentPlatformQwPlanVideo> qwPlanVideos = qwPlanVideoMapper.selectByExample(qwPlanVideoExample);
+        if (CollectionUtils.isNotEmpty(qwPlanVideos)) {
+            result = true;
+        }
+        return result;
+    }
+
     @Override
     public void videoAuditCallBack(VideoAuditCallBackParam param) {
         ContentPlatformUploadVideo uploadVideo = getUploadVideo(param.getVideoId());