From 6378b1e03b15e66ce58ebdb0f748f1330e2324d9 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期二, 05 八月 2025 09:14:15 +0800
Subject: [PATCH] 修改首页视频显示问题
---
framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoTagRefServiceImpl.java | 5 +
framework/src/main/resources/mapper/lmk/VideoMapper.xml | 104 ++++++++++++++++++++++++++++++++--
framework/src/main/java/cn/lili/modules/lmk/service/impl/ThumbsUpRecordServiceImpl.java | 4 +
framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoServiceImpl.java | 26 +++++++-
framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java | 2
framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java | 8 +-
6 files changed, 133 insertions(+), 16 deletions(-)
diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java
index d6fad30..e4b4bf8 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/mapper/VideoMapper.java
@@ -85,6 +85,8 @@
*/
VideoAccountVO getAuthorInfo(@Param("authorId") String authorId, @Param("currentUserId") String currentUserId);
+ VideoAccountVO getAuthorInfoAdmin(@Param("authorId") String authorId, @Param("currentUserId") String currentUserId);
+
/**
* 鑾峰彇浣滆�呯殑鎵�鏈夎棰慽d
*
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java
index c2ae06e..abc3a70 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/MyCollectServiceImpl.java
@@ -34,10 +34,7 @@
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -169,6 +166,9 @@
@Override
public List<SimpleMyCollectVO> getCollectsByVideoIds(List<String> videoIds) {
+ if (videoIds == null || videoIds.isEmpty()) {
+ return new ArrayList<>();
+ }
return baseMapper.getCollectsByVideoIds(videoIds, UserContext.getCurrentUserId());
}
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ThumbsUpRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ThumbsUpRecordServiceImpl.java
index e3ec3f0..2bee8c4 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/ThumbsUpRecordServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/ThumbsUpRecordServiceImpl.java
@@ -18,6 +18,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
+import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -104,6 +105,9 @@
@Override
public List<SimpleMyThumbsUpVO> getThumbssByVideoIds(List<String> videoIds) {
+ if (videoIds == null || videoIds.isEmpty()) {
+ return new ArrayList<>();
+ }
return baseMapper.getThumbssByVideoIds(videoIds, UserContext.getCurrentUserId());
}
}
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 9cc98f7..0679ce2 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
@@ -19,6 +19,8 @@
import cn.lili.modules.member.entity.dos.Member;
import cn.lili.modules.member.service.FootprintService;
import cn.lili.modules.member.service.MemberService;
+import cn.lili.modules.permission.entity.dos.AdminUser;
+import cn.lili.modules.permission.service.AdminUserService;
import cn.lili.modules.search.entity.dos.EsGoodsIndex;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.CommentTagsEnum;
@@ -85,7 +87,7 @@
private final VideoGoodsService videoGoodsService;
private final KitchenTypeService kitchenTypeService;
private final Cache cache;
-
+ private final AdminUserService adminUserService;
private final RocketmqCustomProperties rocketmqCustomProperties;
private final RocketMQTemplate rocketMQTemplate;
private final ThumbsUpRecordService thumbsUpRecordService;
@@ -251,7 +253,9 @@
String destination = rocketmqCustomProperties.getVideoTopic() + ":" + VideoTagsEnum.ES_DOC_ADD_OR_UPDATE.name();
rocketMQTemplate.asyncSend(destination, JSON.toJSONString(videoIndex), RocketmqSendCallbackBuilder.commonCallback());
return Result.ok("鍙戝竷鎴愬姛锛岃棰戝鏍镐腑~");
- } @Override
+ }
+
+ @Override
@Transactional(rollbackFor = Exception.class)
public Result systemPublish(WxVideoForm form) {
// 1.淇濆瓨瑙嗛
@@ -426,7 +430,10 @@
// 3. 鑾峰彇瑙嗛涓存椂璁块棶鍦板潃銆佽缃棰戞爣绛�
page.getRecords().forEach(v -> {
v.setTagList(tagMap.get(v.getId()));
- v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverUrl()));
+ String coverUrl = v.getCoverUrl();
+ if (StringUtils.isNotBlank(coverUrl)&&!coverUrl.contains("http")) {
+ v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverUrl()));
+ }
v.getGoodsList().forEach(goods ->{
if (StringUtils.isNotBlank(goods.getThumbnail())&&!goods.getThumbnail().contains("http")) {
goods.setThumbnail(cosUtil.getPreviewUrl(goods.getThumbnail()));
@@ -626,7 +633,10 @@
v.setCommentNum(this.getCommentNum(v.getId(), v.getCommentNum()));
v.setCollectNum(this.getCollectNum(v.getId(), v.getCollectNum()));
v.setThumbsUpNum(this.getThumbsUpNum(v.getId(), v.getThumbsUpNum()));
- v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar()));
+ String authorAvatar = v.getAuthorAvatar();
+ if (StringUtils.isNotBlank(authorAvatar)&&!authorAvatar.contains("http")) {
+ v.setAuthorAvatar(cosUtil.getPreviewUrl(v.getAuthorAvatar()));
+ }
if (VideoContentTypeEnum.VIDEO.getValue().equals(v.getVideoContentType())) {
v.setVideoUrl(cosUtil.getPreviewUrl(v.getVideoFileKey()));
v.setCoverUrl(cosUtil.getPreviewUrl(v.getCoverFileKey()));
@@ -799,7 +809,13 @@
@Override
public Result getAuthorInfo(String authorId) {
- VideoAccountVO vo = baseMapper.getAuthorInfo(authorId, UserContext.getCurrentUserId());
+ AdminUser adminUser = adminUserService.getById(authorId);
+ VideoAccountVO vo;
+ if (Objects.isNull(adminUser)) {
+ vo = baseMapper.getAuthorInfo(authorId, UserContext.getCurrentUserId());
+ }else {
+ vo = baseMapper.getAuthorInfoAdmin(authorId, UserContext.getCurrentUserId());
+ }
vo.setSelf(authorId.equals(UserContext.getCurrentUserId()));
// 鏌ヨ鑾疯禐鏁�
List<String> videoIds = baseMapper.getVideoIdsByAuthor(authorId);
diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoTagRefServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoTagRefServiceImpl.java
index 9ea83e2..7732a88 100644
--- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoTagRefServiceImpl.java
+++ b/framework/src/main/java/cn/lili/modules/lmk/service/impl/VideoTagRefServiceImpl.java
@@ -1,5 +1,6 @@
package cn.lili.modules.lmk.service.impl;
+import cn.hutool.core.util.ArrayUtil;
import cn.lili.modules.lmk.domain.entity.VideoTagRef;
import cn.lili.modules.lmk.domain.vo.SimpleVideoTagVO;
import cn.lili.modules.lmk.mapper.VideoTagRefMapper;
@@ -8,6 +9,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -26,6 +28,9 @@
@Override
public List<SimpleVideoTagVO> getTagsByVideoIds(List<String> videoIds) {
+ if (videoIds == null || videoIds.isEmpty()) {
+ return new ArrayList<>();
+ }
return baseMapper.getTagsByVideoIds(videoIds);
}
}
diff --git a/framework/src/main/resources/mapper/lmk/VideoMapper.xml b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
index 1da37db..6f83f46 100644
--- a/framework/src/main/resources/mapper/lmk/VideoMapper.xml
+++ b/framework/src/main/resources/mapper/lmk/VideoMapper.xml
@@ -232,7 +232,41 @@
<if test="query.status != null and query.status != ''">AND LV.status = #{query.status}</if>
</select>
-
+<!-- todo 澶囦唤鍘熸湁鐨勫け鍘讳簡鏂囦欢-->
+<!-- <select id="recommendVideo" resultMap="WxResultMap">-->
+<!-- SELECT-->
+<!-- LV.author_id,-->
+<!-- LV.cover_url,-->
+<!-- LV.video_fit,-->
+<!-- LV.video_duration,-->
+<!-- LV.video_file_key,-->
+<!-- LV.title,-->
+<!-- LV.goods_view_num,-->
+<!-- LV.goods_order_num,-->
+<!-- LV.recommend,-->
+<!-- LV.status,-->
+<!-- LV.play_num,-->
+<!-- LV.comment_num,-->
+<!-- LV.collect_num,-->
+<!-- LV.thumbs_up_num,-->
+<!-- LV.weight,-->
+<!-- LV.audit_pass_time,-->
+<!-- LV.update_time,-->
+<!-- LV.create_time,-->
+<!-- LV.video_content_type,-->
+<!-- LV.video_type,-->
+<!-- LV.video_imgs,-->
+<!-- LV.id,-->
+<!-- LM.nick_name as authorName,-->
+<!-- LM.face as authorAvatar-->
+<!-- FROM-->
+<!-- lmk_video LV-->
+<!-- LEFT JOIN li_member LM ON LV.author_id = LM.id-->
+<!-- WHERE-->
+<!-- LV.delete_flag = 0 AND LV.status = '1' AND LV.video_type = #{query.videoType}-->
+<!-- ORDER BY-->
+<!-- LV.create_time DESC-->
+<!-- </select> -->
<select id="recommendVideo" resultMap="WxResultMap">
SELECT
LV.author_id,
@@ -244,7 +278,7 @@
LV.goods_view_num,
LV.goods_order_num,
LV.recommend,
- LV.status,
+ LV.STATUS,
LV.play_num,
LV.comment_num,
LV.collect_num,
@@ -257,15 +291,52 @@
LV.video_type,
LV.video_imgs,
LV.id,
- LM.nick_name as authorName,
- LM.face as authorAvatar
+ LM.nick_name AS authorName,
+ LM.face AS authorAvatar
FROM
lmk_video LV
- LEFT JOIN li_member LM ON LV.author_id = LM.id
+ LEFT JOIN li_member LM ON LV.author_id = LM.id
WHERE
- LV.delete_flag = 0 AND LV.status = '1' AND LV.video_type = #{query.videoType}
+ LV.delete_flag = 0
+ AND LV.STATUS = '1'
+ AND LV.video_type = #{query.videoType}
+ AND lm.id IS NOT NULL
+ UNION ALL
+ SELECT
+ LV.author_id,
+ LV.cover_url,
+ LV.video_fit,
+ LV.video_duration,
+ LV.video_file_key,
+ LV.title,
+ LV.goods_view_num,
+ LV.goods_order_num,
+ LV.recommend,
+ LV.STATUS,
+ LV.play_num,
+ LV.comment_num,
+ LV.collect_num,
+ LV.thumbs_up_num,
+ LV.weight,
+ LV.audit_pass_time,
+ LV.update_time,
+ LV.create_time,
+ LV.video_content_type,
+ LV.video_type,
+ LV.video_imgs,
+ LV.id,
+ LM.nick_name AS authorName,
+ LM.avatar AS authorAvatar
+ FROM
+ lmk_video LV
+ LEFT JOIN li_admin_user LM ON LV.author_id = LM.id
+ WHERE
+ LV.delete_flag = 0
+ AND LV.STATUS = '1'
+ AND LV.video_type = #{query.videoType}
+ AND lm.id IS NOT NULL
ORDER BY
- LV.create_time DESC
+ create_time DESC
</select>
<select id="recommendVideoByVideoId" resultMap="WxResultMap">
SELECT
@@ -560,6 +631,25 @@
WHERE
LM.id = #{authorId} AND LM.delete_flag = 0
</select>
+ <select id="getAuthorInfoAdmin" resultType="cn.lili.modules.lmk.domain.vo.VideoAccountVO">
+ SELECT
+ LM.id as userId,
+ LM.nick_name as nickName,
+ LM.avatar as avatar,
+ LVA.motto,
+ (SELECT COUNT(*) FROM lmk_my_subscribe WHERE subscribe_user_id = #{authorId} AND delete_flag = 0) as fansNum,
+ (SELECT COUNT(*) FROM lmk_my_subscribe WHERE user_id = #{authorId} AND delete_flag = 0) as subNum,
+ (SELECT CASE
+ WHEN id IS NOT NULL THEN 1
+ ELSE 0
+ END
+ FROM lmk_my_subscribe WHERE user_id = #{currentUserId} AND subscribe_user_id = #{authorId} AND delete_flag = 0) as hasSub
+ FROM
+ li_admin_user LM
+ LEFT JOIN lmk_video_account LVA ON LM.id = LVA.user_id
+ WHERE
+ LM.id = #{authorId} AND LM.delete_flag = 0
+ </select>
<select id="getVideoIdsByAuthor" parameterType="string" resultType="string">
SELECT id FROM lmk_video WHERE author_id = #{authorId} AND delete_flag = 0 AND status = '1'
--
Gitblit v1.8.0