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