From 79864a9c065d32ecfc4530734cd01091de4a21e4 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 17 六月 2025 11:00:39 +0800
Subject: [PATCH] 视频分享点击、视频列表返回视频长度

---
 framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java              |    3 +++
 framework/src/main/resources/mapper/lmk/VideoMapper.xml                           |    1 +
 framework/src/main/java/cn/lili/modules/lmk/domain/form/ShareClickRecordForm.java |   10 +++++++---
 framework/src/main/java/cn/lili/modules/lmk/service/impl/ShareServiceImpl.java    |   14 ++++++++++++--
 4 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/form/ShareClickRecordForm.java b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ShareClickRecordForm.java
index a8b6aff..2c17163 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/form/ShareClickRecordForm.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/form/ShareClickRecordForm.java
@@ -23,9 +23,13 @@
 @ApiModel(value = "ShareClickRecord琛ㄥ崟", description = "鍒嗕韩鐐瑰嚮璁板綍琛ㄥ崟")
 public class ShareClickRecordForm extends AbsForm {
 
-    @NotBlank(message = "鍒嗕韩id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
-    @ApiModelProperty("鍒嗕韩id")
-    private String shareId;
+    @NotBlank(message = "涓氬姟id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+    @ApiModelProperty("涓氬姟id")
+    private String refId;
+
+    @NotBlank(message = "鍒嗕韩浜轰笉鑳戒负绌�", groups = {Add.class, Update.class})
+    @ApiModelProperty("鍒嗕韩浜篿d")
+    private String shareUserId;
 
     public static ShareClickRecord getEntityByForm(@NonNull ShareClickRecordForm form, ShareClickRecord entity) {
         if(entity == null) {
diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
index d324ee0..827efa3 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/WxVideoVO.java
@@ -63,6 +63,9 @@
     @ApiModelProperty("瑙嗛鏍囩")
     private List<SimpleVideoTagVO> tagList;
 
+    @ApiModelProperty("瑙嗛鏃堕暱锛氱")
+    private Long videoDuration;
+
     /** 瑙嗛濉厖妯″紡 */
     @ApiModelProperty("瑙嗛濉厖妯″紡")
     private String videoFit;
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ShareServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ShareServiceImpl.java
index bf52b55..ba8b794 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ShareServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ShareServiceImpl.java
@@ -22,6 +22,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -135,13 +136,22 @@
 
     @Override
     public Result addShareClick(ShareClickRecordForm form) {
+        // 鏌ュ嚭鍒嗕韩璁板綍
+        Share share = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(Share::getShareUser, form.getShareUserId())
+                .eq(Share::getRefId, form.getRefId())
+                .one();
+        if (Objects.isNull(share)) {
+            return Result.ok();
+        }
         // 娌℃湁璁块棶杩囨墠娣诲姞
         boolean exists = new LambdaQueryChainWrapper<>(shareClickRecordService.getBaseMapper())
                 .eq(ShareClickRecord::getUserId, UserContext.getCurrentUserId())
-                .eq(ShareClickRecord::getShareId, form.getShareId())
+                .eq(ShareClickRecord::getShareId, share.getId())
                 .exists();
         if (! exists) {
-            ShareClickRecord record = ShareClickRecordForm.getEntityByForm(form, null);
+            ShareClickRecord record = new ShareClickRecord();
+            record.setShareId(share.getId());
             record.setUserId(UserContext.getCurrentUserId());
             record.setClickTime(new Date());
             shareClickRecordService.save(record);
diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
index 8981055..840e91f 100644
--- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -85,6 +85,7 @@
         <result column="cover_url" property="coverFileKey" />
         <result column="video_file_key" property="videoFileKey" />
         <result column="video_fit" property="videoFit" />
+        <result column="video_duration" property="videoDuration" />
         <result column="title" property="title" />
         <result column="collect_num" property="collectNum" />
         <result column="comment_num" property="commentNum" />

--
Gitblit v1.8.0