Kaynağa Gözat

update content BannerVideo

reghao 10 ay önce
ebeveyn
işleme
2263c8569b

+ 3 - 2
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/controller/VideoQueryController.java

@@ -7,8 +7,9 @@ import cn.reghao.tnb.common.auth.AuthUser;
 import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.common.db.PageScroll;
 import cn.reghao.tnb.common.db.PageScroll;
 import cn.reghao.tnb.content.app.aop.TimeConsumed;
 import cn.reghao.tnb.content.app.aop.TimeConsumed;
-import cn.reghao.tnb.content.api.dto.BannerVideo;
+import cn.reghao.tnb.content.app.vod.model.po.BannerVideo;
 import cn.reghao.tnb.content.api.dto.VideoCard;
 import cn.reghao.tnb.content.api.dto.VideoCard;
+import cn.reghao.tnb.content.app.vod.model.vo.BannerVideoVO;
 import cn.reghao.tnb.content.app.vod.model.vo.VideoDetail;
 import cn.reghao.tnb.content.app.vod.model.vo.VideoDetail;
 import cn.reghao.tnb.content.app.vod.service.RecommendService;
 import cn.reghao.tnb.content.app.vod.service.RecommendService;
 import cn.reghao.tnb.content.app.vod.service.VideoPostQuery;
 import cn.reghao.tnb.content.app.vod.service.VideoPostQuery;
@@ -89,7 +90,7 @@ public class VideoQueryController {
     @ApiOperation(value = "获取热门视频", notes = "N")
     @ApiOperation(value = "获取热门视频", notes = "N")
     @GetMapping(value = "/hot", produces = MediaType.APPLICATION_JSON_VALUE)
     @GetMapping(value = "/hot", produces = MediaType.APPLICATION_JSON_VALUE)
     public String getHotList() {
     public String getHotList() {
-        List<BannerVideo> list = recommendService.getBannerVideos();
+        List<BannerVideoVO> list = recommendService.getBannerVideos();
         return WebResult.success(list);
         return WebResult.success(list);
     }
     }
 
 

+ 17 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/db/mapper/BannerVideoMapper.java

@@ -0,0 +1,17 @@
+package cn.reghao.tnb.content.app.vod.db.mapper;
+
+import cn.reghao.jutil.jdk.db.BaseMapper;
+import cn.reghao.tnb.content.app.vod.model.po.BannerVideo;
+import cn.reghao.tnb.content.app.vod.model.vo.BannerVideoVO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * @author reghao
+ * @date 2025-05-23 23:57:08
+ */
+@Mapper
+public interface BannerVideoMapper extends BaseMapper<BannerVideo> {
+    List<BannerVideoVO> findBannerVideos();
+}

+ 2 - 1
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/db/mapper/VideoPostMapper.java

@@ -7,7 +7,7 @@ import cn.reghao.tnb.content.api.dto.VideoPostCard;
 import cn.reghao.tnb.content.app.vod.model.dto.VideoInfoUpdate;
 import cn.reghao.tnb.content.app.vod.model.dto.VideoInfoUpdate;
 import cn.reghao.tnb.content.app.vod.model.dto.VideoScopeUpdate;
 import cn.reghao.tnb.content.app.vod.model.dto.VideoScopeUpdate;
 import cn.reghao.tnb.content.app.vod.model.query.VideoQuery;
 import cn.reghao.tnb.content.app.vod.model.query.VideoQuery;
-import cn.reghao.tnb.content.api.dto.BannerVideo;
+import cn.reghao.tnb.content.app.vod.model.po.BannerVideo;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
 import cn.reghao.tnb.content.app.vod.model.vo.*;
 import cn.reghao.tnb.content.app.vod.model.vo.*;
 import cn.reghao.tnb.content.app.vod.model.dto.SearchCriteria;
 import cn.reghao.tnb.content.app.vod.model.dto.SearchCriteria;
@@ -55,6 +55,7 @@ public interface VideoPostMapper extends BaseMapper<VideoPost> {
     int countBySearchCriteria(SearchCriteria searchCriteria);
     int countBySearchCriteria(SearchCriteria searchCriteria);
     List<VideoPost> findSearchCriteriaByPage(Page page, SearchCriteria searchCriteria);
     List<VideoPost> findSearchCriteriaByPage(Page page, SearchCriteria searchCriteria);
     List<VideoPost> findAllById(int pageSize, int nextId);
     List<VideoPost> findAllById(int pageSize, int nextId);
+    @Deprecated
     List<BannerVideo> findBannerVideos(List<String> videoIds);
     List<BannerVideo> findBannerVideos(List<String> videoIds);
     List<GroupCount> findPublishByPost();
     List<GroupCount> findPublishByPost();
     List<GroupCount> findPublishByVideo();
     List<GroupCount> findPublishByVideo();

+ 29 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/model/po/BannerVideo.java

@@ -0,0 +1,29 @@
+package cn.reghao.tnb.content.app.vod.model.po;
+
+import cn.reghao.jutil.jdk.db.BaseObject;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author reghao
+ * @date 2024-04-06 22:31:16
+ */
+@NoArgsConstructor
+@Setter
+@Getter
+public class BannerVideo extends BaseObject<Integer> {
+    private Long createAt;
+    private String videoId;
+    private String title;
+    private String coverUrl;
+
+    public BannerVideo(VideoPost videoPost, long createAt) {
+        this.videoId = videoPost.getVideoId();
+        this.title = videoPost.getTitle();
+        this.coverUrl = videoPost.getCoverUrl();
+        this.createAt = createAt;
+    }
+}

+ 3 - 5
content/content-api/src/main/java/cn/reghao/tnb/content/api/dto/BannerVideo.java → content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/model/vo/BannerVideoVO.java

@@ -1,17 +1,15 @@
-package cn.reghao.tnb.content.api.dto;
+package cn.reghao.tnb.content.app.vod.model.vo;
 
 
 import lombok.Getter;
 import lombok.Getter;
-import lombok.NoArgsConstructor;
 import lombok.Setter;
 import lombok.Setter;
 
 
 /**
 /**
  * @author reghao
  * @author reghao
- * @date 2024-04-06 22:31:16
+ * @date 2025-05-24 00:01:56
  */
  */
-@NoArgsConstructor
 @Setter
 @Setter
 @Getter
 @Getter
-public class BannerVideo {
+public class BannerVideoVO {
     private String videoId;
     private String videoId;
     private String title;
     private String title;
     private String coverUrl;
     private String coverUrl;

+ 1 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/rpc/AdminVideoServiceImpl.java

@@ -12,6 +12,7 @@ import cn.reghao.tnb.content.api.dto.*;
 import cn.reghao.tnb.content.api.iface.AdminVideoService;
 import cn.reghao.tnb.content.api.iface.AdminVideoService;
 import cn.reghao.tnb.content.app.vod.db.mapper.VideoPostMapper;
 import cn.reghao.tnb.content.app.vod.db.mapper.VideoPostMapper;
 import cn.reghao.tnb.content.app.vod.db.repository.VideoRepository;
 import cn.reghao.tnb.content.app.vod.db.repository.VideoRepository;
+import cn.reghao.tnb.content.app.vod.model.po.BannerVideo;
 import cn.reghao.tnb.content.app.vod.model.po.VideoCategory;
 import cn.reghao.tnb.content.app.vod.model.po.VideoCategory;
 import cn.reghao.tnb.content.app.vod.model.po.VideoFile;
 import cn.reghao.tnb.content.app.vod.model.po.VideoFile;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;

+ 3 - 2
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/service/RecommendService.java

@@ -1,8 +1,9 @@
 package cn.reghao.tnb.content.app.vod.service;
 package cn.reghao.tnb.content.app.vod.service;
 
 
 import cn.reghao.tnb.common.db.PageScroll;
 import cn.reghao.tnb.common.db.PageScroll;
-import cn.reghao.tnb.content.api.dto.BannerVideo;
+import cn.reghao.tnb.content.app.vod.model.po.BannerVideo;
 import cn.reghao.tnb.content.api.dto.VideoCard;
 import cn.reghao.tnb.content.api.dto.VideoCard;
+import cn.reghao.tnb.content.app.vod.model.vo.BannerVideoVO;
 
 
 import java.util.*;
 import java.util.*;
 
 
@@ -17,5 +18,5 @@ public interface RecommendService {
     void dislikeVideo(long userId, String videoId);
     void dislikeVideo(long userId, String videoId);
     String getSimilarVideos(String videoId);
     String getSimilarVideos(String videoId);
     PageScroll<VideoCard> getVideoTimeline(long userId, String nextIdStr);
     PageScroll<VideoCard> getVideoTimeline(long userId, String nextIdStr);
-    List<BannerVideo> getBannerVideos();
+    List<BannerVideoVO> getBannerVideos();
 }
 }

+ 3 - 2
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/service/VideoPostQuery.java

@@ -3,8 +3,9 @@ package cn.reghao.tnb.content.app.vod.service;
 import cn.reghao.jutil.jdk.db.PageList;
 import cn.reghao.jutil.jdk.db.PageList;
 import cn.reghao.oss.sdk.model.dto.media.VideoInfo;
 import cn.reghao.oss.sdk.model.dto.media.VideoInfo;
 import cn.reghao.tnb.content.api.dto.*;
 import cn.reghao.tnb.content.api.dto.*;
-import cn.reghao.tnb.content.api.dto.BannerVideo;
+import cn.reghao.tnb.content.app.vod.model.po.BannerVideo;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
+import cn.reghao.tnb.content.app.vod.model.vo.BannerVideoVO;
 import cn.reghao.tnb.content.app.vod.model.vo.VideoDetail;
 import cn.reghao.tnb.content.app.vod.model.vo.VideoDetail;
 
 
 import java.util.*;
 import java.util.*;
@@ -22,7 +23,7 @@ public interface VideoPostQuery {
     String getVideoPostData(String videoId);
     String getVideoPostData(String videoId);
     UserVideoPost getUserVideoPost(VideoPost videoPost);
     UserVideoPost getUserVideoPost(VideoPost videoPost);
     PageList<VideoCard> getTagVideos(String tag, int pn);
     PageList<VideoCard> getTagVideos(String tag, int pn);
-    List<BannerVideo> getBannerVideos(List<String> videoIds);
+    List<BannerVideoVO> getBannerVideos();
     List<String> getRandomTags(int size);
     List<String> getRandomTags(int size);
     List<String> getRandomVideoIds(List<Integer> userScopes, int size);
     List<String> getRandomVideoIds(List<Integer> userScopes, int size);
     /**
     /**

+ 7 - 29
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/service/impl/RecommendServiceImpl.java

@@ -1,32 +1,27 @@
 package cn.reghao.tnb.content.app.vod.service.impl;
 package cn.reghao.tnb.content.app.vod.service.impl;
 
 
 import cn.reghao.jutil.web.WebResult;
 import cn.reghao.jutil.web.WebResult;
-import cn.reghao.jutil.jdk.thread.ThreadPoolWrapper;
 import cn.reghao.tnb.common.db.PageScroll;
 import cn.reghao.tnb.common.db.PageScroll;
 import cn.reghao.tnb.content.api.dto.VideoCard;
 import cn.reghao.tnb.content.api.dto.VideoCard;
 import cn.reghao.tnb.content.api.dto.VideoPostCard;
 import cn.reghao.tnb.content.api.dto.VideoPostCard;
 import cn.reghao.tnb.content.app.util.redis.ds.RedisList;
 import cn.reghao.tnb.content.app.util.redis.ds.RedisList;
 import cn.reghao.tnb.content.app.vod.db.mapper.VideoPostMapper;
 import cn.reghao.tnb.content.app.vod.db.mapper.VideoPostMapper;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
 import cn.reghao.tnb.content.app.vod.model.po.VideoPost;
-import cn.reghao.tnb.content.api.dto.BannerVideo;
 import cn.reghao.tnb.content.app.vod.model.query.VideoQuery;
 import cn.reghao.tnb.content.app.vod.model.query.VideoQuery;
+import cn.reghao.tnb.content.app.vod.model.vo.BannerVideoVO;
 import cn.reghao.tnb.content.app.vod.service.ContentPermission;
 import cn.reghao.tnb.content.app.vod.service.ContentPermission;
 import cn.reghao.tnb.content.app.vod.service.RecommendService;
 import cn.reghao.tnb.content.app.vod.service.RecommendService;
 import cn.reghao.tnb.content.app.vod.service.VideoPostQuery;
 import cn.reghao.tnb.content.app.vod.service.VideoPostQuery;
 import cn.reghao.tnb.content.app.vod.service.rcmd.task.RcmdData;
 import cn.reghao.tnb.content.app.vod.service.rcmd.task.RcmdData;
 import cn.reghao.tnb.content.app.vod.service.rcmd.task.RcmdProducer;
 import cn.reghao.tnb.content.app.vod.service.rcmd.task.RcmdProducer;
 import cn.reghao.tnb.content.app.vod.service.rcmd.RedisKeys;
 import cn.reghao.tnb.content.app.vod.service.rcmd.RedisKeys;
-import cn.reghao.tnb.content.app.vod.service.rcmd.UserInterestBased;
-import cn.reghao.tnb.content.app.util.redis.ds.RedisHash;
 import cn.reghao.tnb.content.app.util.redis.ds.RedisSet;
 import cn.reghao.tnb.content.app.util.redis.ds.RedisSet;
-import cn.reghao.tnb.content.app.util.redis.ds.RedisSortedSet;
 import cn.reghao.tnb.user.api.iface.UserService;
 import cn.reghao.tnb.user.api.iface.UserService;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.*;
-import java.util.concurrent.ExecutorService;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -38,29 +33,20 @@ public class RecommendServiceImpl implements RecommendService {
     @DubboReference(check = false, retries = 0, timeout = 3000)
     @DubboReference(check = false, retries = 0, timeout = 3000)
     private UserService userService;
     private UserService userService;
 
 
-    private final ExecutorService threadPool = ThreadPoolWrapper.threadPool("rcmd-task", 20);
     private final int pageSize = 12;
     private final int pageSize = 12;
-    private final String bannerKey = "tnb:content:video:banner";
-    private final RedisSortedSet sortedSet;
-    private final RedisHash<VideoCard> redisHash;
     private final ContentPermission contentPermission;
     private final ContentPermission contentPermission;
     private final VideoPostMapper videoPostMapper;
     private final VideoPostMapper videoPostMapper;
     private final VideoPostQuery videoPostQuery;
     private final VideoPostQuery videoPostQuery;
-    private final UserInterestBased userInterestBased;
     private final RedisSet redisSet;
     private final RedisSet redisSet;
     private final RedisList redisList;
     private final RedisList redisList;
     private final RcmdProducer rcmdProducer;
     private final RcmdProducer rcmdProducer;
 
 
-    public RecommendServiceImpl(RedisSortedSet sortedSet, RedisHash<VideoCard> redisHash,
-                                ContentPermission contentPermission, VideoPostMapper videoPostMapper,
-                                VideoPostQuery videoPostQuery, UserInterestBased userInterestBased,
-                                RedisSet redisSet, RedisList redisList, RcmdProducer rcmdProducer) {
-        this.sortedSet = sortedSet;
-        this.redisHash = redisHash;
+    public RecommendServiceImpl(ContentPermission contentPermission, VideoPostMapper videoPostMapper,
+                                VideoPostQuery videoPostQuery, RedisSet redisSet, RedisList redisList,
+                                RcmdProducer rcmdProducer) {
         this.contentPermission = contentPermission;
         this.contentPermission = contentPermission;
         this.videoPostMapper = videoPostMapper;
         this.videoPostMapper = videoPostMapper;
         this.videoPostQuery = videoPostQuery;
         this.videoPostQuery = videoPostQuery;
-        this.userInterestBased = userInterestBased;
         this.redisSet = redisSet;
         this.redisSet = redisSet;
         this.redisList = redisList;
         this.redisList = redisList;
         this.rcmdProducer = rcmdProducer;
         this.rcmdProducer = rcmdProducer;
@@ -92,6 +78,7 @@ public class RecommendServiceImpl implements RecommendService {
             rcmdProducer.put(rcmdData);
             rcmdProducer.put(rcmdData);
         } catch (InterruptedException e) {
         } catch (InterruptedException e) {
             e.printStackTrace();
             e.printStackTrace();
+            Thread.currentThread().interrupt();
         }
         }
     }
     }
 
 
@@ -147,8 +134,6 @@ public class RecommendServiceImpl implements RecommendService {
             nextId = videoPost.getId();
             nextId = videoPost.getId();
         }
         }
 
 
-        List<Integer> scopes = contentPermission.getUserScopes();
-        VideoQuery videoQuery = new VideoQuery.Builder().scope(scopes).categoryId(20).build();
         List<VideoPostCard> list = videoPostMapper.findByUserIds(followings, pageSize, nextId);
         List<VideoPostCard> list = videoPostMapper.findByUserIds(followings, pageSize, nextId);
         if (list.isEmpty()) {
         if (list.isEmpty()) {
             return PageScroll.empty();
             return PageScroll.empty();
@@ -161,14 +146,7 @@ public class RecommendServiceImpl implements RecommendService {
         return PageScroll.pageList(0, nextIdStr, nextIdStr, list1);
         return PageScroll.pageList(0, nextIdStr, nextIdStr, list1);
     }
     }
 
 
-    public List<BannerVideo> getBannerVideos() {
-        /*Set<String> topTen = sortedSet.zrevrange(bannerKey, 0, 9);
-        if (topTen.isEmpty()) {
-            return Collections.emptyList();
-        }
-
-        return videoQueryService.getBannerVideos(new ArrayList<>(topTen));*/
-
-        return videoPostQuery.getBannerVideos(new ArrayList<>());
+    public List<BannerVideoVO> getBannerVideos() {
+        return videoPostQuery.getBannerVideos();
     }
     }
 }
 }

+ 9 - 4
content/content-service/src/main/java/cn/reghao/tnb/content/app/vod/service/impl/VideoPostQueryImpl.java

@@ -17,7 +17,8 @@ import cn.reghao.tnb.content.api.dto.VideoPostCard;
 import cn.reghao.tnb.content.app.vod.db.mapper.*;
 import cn.reghao.tnb.content.app.vod.db.mapper.*;
 import cn.reghao.tnb.content.app.vod.db.repository.VideoRepository;
 import cn.reghao.tnb.content.app.vod.db.repository.VideoRepository;
 import cn.reghao.tnb.content.app.vod.model.po.*;
 import cn.reghao.tnb.content.app.vod.model.po.*;
-import cn.reghao.tnb.content.api.dto.BannerVideo;
+import cn.reghao.tnb.content.app.vod.model.po.BannerVideo;
+import cn.reghao.tnb.content.app.vod.model.vo.BannerVideoVO;
 import cn.reghao.tnb.content.app.vod.model.vo.VideoDetail;
 import cn.reghao.tnb.content.app.vod.model.vo.VideoDetail;
 import cn.reghao.tnb.content.app.vod.model.query.VideoQuery;
 import cn.reghao.tnb.content.app.vod.model.query.VideoQuery;
 import cn.reghao.tnb.content.app.vod.service.CategoryService;
 import cn.reghao.tnb.content.app.vod.service.CategoryService;
@@ -59,11 +60,13 @@ public class VideoPostQueryImpl implements VideoPostQuery {
     private final VideoRepository videoRepository;
     private final VideoRepository videoRepository;
     private final Random random = new SecureRandom();
     private final Random random = new SecureRandom();
     private final IDObfuscation userIdObfuscation;
     private final IDObfuscation userIdObfuscation;
+    private final BannerVideoMapper bannerVideoMapper;
 
 
     public VideoPostQueryImpl(VideoPostMapper videoPostMapper, VideoFileMapper videoFileMapper, VideoTagMapper videoTagMapper,
     public VideoPostQueryImpl(VideoPostMapper videoPostMapper, VideoFileMapper videoFileMapper, VideoTagMapper videoTagMapper,
                               VideoStatisticMapper videoStatisticMapper, VideoCategoryPostMapper videoCategoryPostMapper,
                               VideoStatisticMapper videoStatisticMapper, VideoCategoryPostMapper videoCategoryPostMapper,
                               ContentPermission contentPermission, CategoryService categoryService,
                               ContentPermission contentPermission, CategoryService categoryService,
-                              VideoRepository videoRepository, VideoPostTagMapper videoPostTagMapper) {
+                              VideoRepository videoRepository, VideoPostTagMapper videoPostTagMapper,
+                              BannerVideoMapper bannerVideoMapper) {
         this.videoPostMapper = videoPostMapper;
         this.videoPostMapper = videoPostMapper;
         this.videoFileMapper = videoFileMapper;
         this.videoFileMapper = videoFileMapper;
         this.videoTagMapper = videoTagMapper;
         this.videoTagMapper = videoTagMapper;
@@ -74,6 +77,7 @@ public class VideoPostQueryImpl implements VideoPostQuery {
         this.videoRepository = videoRepository;
         this.videoRepository = videoRepository;
         this.userIdObfuscation = new IDObfuscation(0x12345);
         this.userIdObfuscation = new IDObfuscation(0x12345);
         this.videoPostTagMapper = videoPostTagMapper;
         this.videoPostTagMapper = videoPostTagMapper;
+        this.bannerVideoMapper = bannerVideoMapper;
     }
     }
 
 
     public List<VideoCard> getVideoCards(List<String> videoIds) {
     public List<VideoCard> getVideoCards(List<String> videoIds) {
@@ -277,8 +281,9 @@ public class VideoPostQueryImpl implements VideoPostQuery {
         return new UserVideoPost(videoId, title, description, coverUrl, pubDate, scope, status, duration, quality, direction, codec);
         return new UserVideoPost(videoId, title, description, coverUrl, pubDate, scope, status, duration, quality, direction, codec);
     }
     }
 
 
-    public List<BannerVideo> getBannerVideos(List<String> videoIds) {
-        return videoPostMapper.findBannerVideos(videoIds);
+    public List<BannerVideoVO> getBannerVideos() {
+        List<BannerVideoVO> list = bannerVideoMapper.findBannerVideos();
+        return list;
     }
     }
 
 
     public List<String> getRandomTags(int size) {
     public List<String> getRandomTags(int size) {

+ 25 - 0
content/content-service/src/main/resources/mapper/vod/BannerVideoMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="cn.reghao.tnb.content.app.vod.db.mapper.BannerVideoMapper">
+    <insert id="save" useGeneratedKeys="true" keyProperty="id">
+        insert into vod_banner_video
+        (`video_id`,`title`,`cover_url`)
+        values
+        (#{videoId},#{title},#{coverUrl})
+    </insert>
+    <insert id="saveAll" useGeneratedKeys="true" keyProperty="id">
+        insert ignore into vod_banner_video
+        (`video_id`,`title`,`cover_url`)
+        values
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.videoId},#{item.title},#{item.coverUrl})
+        </foreach>
+    </insert>
+
+    <select id="findBannerVideos" resultType="cn.reghao.tnb.content.app.vod.model.vo.BannerVideoVO">
+        select video_id,title,cover_url
+        from vod_banner_video
+        limit 10
+    </select>
+</mapper>

+ 1 - 1
content/content-service/src/main/resources/mapper/vod/VideoPostMapper.xml

@@ -473,7 +473,7 @@
         limit #{pageSize}
         limit #{pageSize}
     </select>
     </select>
 
 
-    <select id="findBannerVideos" resultType="cn.reghao.tnb.content.api.dto.BannerVideo">
+    <select id="findBannerVideos" resultType="cn.reghao.tnb.content.app.vod.model.po.BannerVideo">
         select post.video_id,post.cover_url,post.title
         select post.video_id,post.cover_url,post.title
         from vod_video_post post
         from vod_video_post post
         where deleted=0
         where deleted=0