From 9c6c57d3a81571e10a6a46446e18175067f4a8df Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 14 八月 2025 14:49:54 +0800
Subject: [PATCH] 视频评论删除

---
 framework/src/main/java/cn/lili/modules/lmk/service/VideoCommentService.java          |    3 +
 framework/src/main/resources/mapper/lmk/VideoCommentMapper.xml                        |   32 ++++++++++
 framework/src/main/java/cn/lili/modules/lmk/mapper/VideoCommentMapper.java            |    4 +
 framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoCommentMangerQuery.java |   42 ++++++++++++++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java     |    7 +
 framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java |    8 ++
 framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java        |    6 +
 manager-api/src/main/java/cn/lili/controller/lmk/VideoCommentController.java          |   33 +++++++++++
 8 files changed, 132 insertions(+), 3 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoCommentMangerQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoCommentMangerQuery.java
new file mode 100644
index 0000000..93b400b
--- /dev/null
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/query/VideoCommentMangerQuery.java
@@ -0,0 +1,42 @@
+package cn.lili.modules.lmk.domain.query;
+
+
+import cn.lili.base.AbsQuery;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.util.Date;
+
+/**
+ * lmk-shop-java
+ *
+ * @author : zxl
+ * @date : 2025-08-14 10:37
+ **/
+@Data
+@ApiModel(value = "VideoCommentMangerQuery鏌ヨ鍙傛暟", description = "绠$悊绔棰戣瘎璁烘煡璇㈠弬鏁�")
+public class VideoCommentMangerQuery extends AbsQuery {
+
+    @ApiModelProperty("瑙嗛id")
+    private String videoId;
+
+    @ApiModelProperty("璇勮鍐呭")
+    private String commentContent;
+
+    @ApiModelProperty("鐢ㄦ埛鍚嶇О")
+    private String nickName;
+
+    @ApiModelProperty("璧峰鏃堕棿")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+    @ApiModelProperty("缁撴潫鏃堕棿")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endTime;
+
+}
\ No newline at end of file
diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoCommentMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoCommentMapper.java
index d05610e..94bc442 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoCommentMapper.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoCommentMapper.java
@@ -1,6 +1,7 @@
 package cn.lili.modules.lmk.mapper;
 
 import cn.lili.modules.lmk.domain.entity.VideoComment;
+import cn.lili.modules.lmk.domain.query.VideoCommentMangerQuery;
 import cn.lili.modules.lmk.domain.vo.CollectTypeNumVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -27,6 +28,9 @@
      */
     VideoCommentVO getById(String id);
 
+
+    IPage getManagerPage (IPage page, @Param("query") VideoCommentMangerQuery query);
+
     /**
     *  鍒嗛〉
     */
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/VideoCommentService.java b/framework/src/main/java/cn/lili/modules/lmk/service/VideoCommentService.java
index b6bc798..fb24cf7 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/VideoCommentService.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/VideoCommentService.java
@@ -3,6 +3,7 @@
 import cn.lili.modules.lmk.domain.entity.ThumbsUpRecord;
 import cn.lili.modules.lmk.domain.entity.VideoComment;
 import cn.lili.modules.lmk.domain.form.ThumbsUpRecordForm;
+import cn.lili.modules.lmk.domain.query.VideoCommentMangerQuery;
 import cn.lili.modules.lmk.domain.vo.CollectTypeNumVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import cn.lili.base.Result;
@@ -18,6 +19,8 @@
  */
 public interface VideoCommentService extends IService<VideoComment> {
 
+    Result mangerComment(VideoCommentMangerQuery query);
+
     /**
      * 娣诲姞
      * @param form
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java
index 12715a1..030cc06 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ActivityServiceImpl.java
@@ -105,8 +105,11 @@
     public Result remove(List<String> ids) {
         //鍒ゆ柇娲诲姩id鏄惁宸茬粡瀛樺湪鎶ュ悕浜哄憳
         for(String id : ids){
-            canDeleteActivity(id);
-
+            Result result = canDeleteActivity(id);
+            Integer code = (Integer) result.get("CODE");
+            if (code != 200){
+                return result;
+            }
         }
 
         return Result.ok("鍒犻櫎鎴愬姛");
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java
index ca4e7af..bdff64b 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoCommentServiceImpl.java
@@ -9,6 +9,7 @@
 import cn.lili.modules.lmk.constant.RedisKeyExpireConstant;
 import cn.lili.modules.lmk.domain.entity.ThumbsUpRecord;
 import cn.lili.modules.lmk.domain.form.ThumbsUpRecordForm;
+import cn.lili.modules.lmk.domain.query.VideoCommentMangerQuery;
 import cn.lili.modules.lmk.domain.vo.CollectTypeNumVO;
 import cn.lili.modules.lmk.enums.general.VideoCommentStatusEnum;
 import cn.lili.modules.lmk.event.event.VideoCommentNumCacheEvent;
@@ -63,6 +64,13 @@
     private final RocketmqCustomProperties rocketmqCustomProperties;
     private final ApplicationEventPublisher eventPublisher;
 
+    @Override
+    public Result mangerComment(VideoCommentMangerQuery query) {
+        IPage<VideoCommentVO> page = PageUtil.getPage(query, VideoCommentVO.class);
+        baseMapper.getManagerPage(page, query);
+        return Result.ok().data(page.getRecords()).total(page.getTotal());
+    }
+
     /**
      * 娣诲姞
      * @param form
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
index 9e8fde1..d39a7a2 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java
@@ -743,8 +743,12 @@
                 }
                 if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) {
                     v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey()));
+
                     String coverFileKey = v.getCoverFileKey();
-                    v.setCoverUrl(cosUtil.getPreviewUrl(coverFileKey));
+                    if (StringUtils.isNotBlank(coverFileKey) && !coverFileKey.contains("http")) {
+                        v.setCoverUrl(cosUtil.getPreviewUrl(coverFileKey));
+                    }
+
                 } else if (VideoContentTypeEnum.IMG.getValue().equals(v.getVideoContentType()) && StringUtils.isNotBlank(v.getVideoImgs())) {
                     v.setImgs(JSON.parseArray(v.getVideoImgs(), String.class).stream().map(fileKey -> cosUtil.getPreviewUrl(fileKey)).collect(Collectors.toList()));
                 }
diff --git a/framework/src/main/resources/mapper/lmk/VideoCommentMapper.xml b/framework/src/main/resources/mapper/lmk/VideoCommentMapper.xml
index 672c021..eb8528b 100644
--- a/framework/src/main/resources/mapper/lmk/VideoCommentMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/VideoCommentMapper.xml
@@ -49,6 +49,38 @@
             LVC.id = #{id} AND LVC.delete_flag = 0
     </select>
 
+    <select id="getManagerPage" resultMap="BaseResultMap">
+        SELECT
+            LVC.video_id,
+            LVC.comment_content,
+            LVC.reply_id,
+            LVC.reply_user_id,
+            LVC.reply_user_nickname,
+            LVC.master_comment_id,
+            LVC.status,
+            LVC.thumbs_up_num,
+            LVC.id,
+            LVC.user_id,
+            LVC.user_nickname,
+            LVC.user_avatar,
+            LVC.create_time
+        FROM
+            lmk_video_comment LVC
+        WHERE
+         LVC.video_id = #{query.videoId} AND LVC.delete_flag = 0
+        <if test="query.commentContent != null and query.commentContent !=''">
+            AND LVC.comment_content like concat('%',#{query.commentContent},'%')
+        </if>
+        <if test="query.nickName != null and query.nickName !=''">
+            AND LVC.user_nickname like concat('%',#{query.nickName},'%')
+        </if>
+        <if test="query.startTime != null">
+            AND LVC.create_time >= #{query.startTime}
+        </if>
+        <if test="query.endTime != null">
+            AND LVC.create_time &lt;= #{query.endTime}
+        </if>
+    </select>
 
     <select id="getPage" resultMap="BaseResultMap">
         SELECT
diff --git a/manager-api/src/main/java/cn/lili/controller/lmk/VideoCommentController.java b/manager-api/src/main/java/cn/lili/controller/lmk/VideoCommentController.java
new file mode 100644
index 0000000..7a89ccc
--- /dev/null
+++ b/manager-api/src/main/java/cn/lili/controller/lmk/VideoCommentController.java
@@ -0,0 +1,33 @@
+package cn.lili.controller.lmk;
+
+
+import cn.lili.base.Result;
+import cn.lili.modules.lmk.domain.query.VideoCommentMangerQuery;
+import cn.lili.modules.lmk.service.VideoCommentService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * lmk-shop-java
+ * 绠$悊绔瘎浠风鐞�
+ *
+ * @author : zxl
+ * @date : 2025-08-14 10:50
+ **/
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/manager/lmk/videoComment")
+public class VideoCommentController {
+    private final VideoCommentService videoCommentService;
+
+    @GetMapping()
+    public Result getPage(VideoCommentMangerQuery query){
+        return videoCommentService.mangerComment(query);
+    }
+    @DeleteMapping("/{id}")
+    public Result delete(@PathVariable("id")String id){
+        return videoCommentService.removeById(id);
+    }
+}

--
Gitblit v1.8.0