[fix]视频过滤掉已删除的视频

This commit is contained in:
王庆祥 2025-10-01 17:35:26 +08:00
parent 25c5f3466b
commit 62c330fcec
6 changed files with 54 additions and 18 deletions

View File

@ -171,7 +171,5 @@ public interface VlogMapper extends BaseMapper<Vlog> {
IPage<String> getVlogForUser(Page<IndexVlogVO> page, @Param("memberId") Long memberId);
int readVlog(@Param("memberId") Long memberId, @Param("vlogId") String vlogId);
List<IndexVlogVO> selectUserLikeVlogList(@Param("memberId") Long memberId);
}

View File

@ -130,7 +130,6 @@ public interface VlogService extends IService<Vlog> {
List<Map<String, Object>> getRandomVlogs(int limit);
IPage<String> getVlogForUser(Page<IndexVlogVO> page, Long memberId);
int readVlog(Long memberId, String vlogId);
List<IndexVlogVO> getIndexVlogList(VlogBO bo);
Page<IndexVlogVO> getIndexVlogList(VlogBO bo,Page page);
@ -140,4 +139,12 @@ public interface VlogService extends IService<Vlog> {
*/
Page<IndexVlogVO> getIndexSearchVlogList(SearchBO bo, Page page);
// /**
// * 首页搜索/搜索的vlog列表
// */
// Page<IndexVlogVO> getHotVlogList(SearchBO bo, Page page);
}

View File

@ -62,7 +62,8 @@ public class VlogPushServiceImpl implements IVlogPushService {
//从数据库中获取差量数据
Page<Vlog> vlogPage = new Page<>(1, count-rankSet.size());
vlogPage = vlogService.page(vlogPage, new LambdaQueryWrapper<Vlog>()
.orderByDesc(Vlog::getLikeCounts));
.eq(Vlog::getDelFlag, "0")
.orderByDesc(Vlog::getLikeCounts));
Set<String> vlogIds = vlogPage.getRecords().stream().map(vlog -> vlog.getId()).collect(Collectors.toSet());
rankSet.addAll(vlogIds);
}

View File

@ -553,17 +553,7 @@ public class VlogServiceImpl extends ServiceImpl<VlogMapper, Vlog> implements Vl
return baseMapper.getVlogForUser(page, memberId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public int readVlog(Long memberId, String vlogId) {
//加入已读缓存列表数量为1
if (!redisCache.zSetHasMember("vlog:read:" + memberId, vlogId)) {
redisCache.zSetAdd("vlog:read:" + memberId, vlogId, 1);
} else {
redisCache.zSetIncrement("vlog:read:" + memberId, vlogId, 1);
}
return baseMapper.readVlog(memberId, vlogId);
}
@Override
public List<IndexVlogVO> getIndexVlogList(VlogBO bo) {

View File

@ -287,8 +287,8 @@
v.id
FROM
cont_vlog v
WHERE
NOT EXISTS (
WHERE v.is_private = 0 and v.first_frame_img IS NOT NULL and IFNULL(v.del_flag,0) = 0
AND NOT EXISTS (
SELECT 1 FROM cont_vlog_member m
WHERE m.vlog_id = v.id AND m.member_id = ${memberId}
)
@ -329,6 +329,10 @@
ums_member m ON v.member_id = m.id
WHERE
v.member_id = #{memberId}
AND v.status = 1
AND v.first_frame_img IS NOT NULL
AND v.is_private = 0
and IFNULL(v.del_flag,0) = 0
ORDER BY
v.create_time DESC
</select>

View File

@ -28,7 +28,7 @@
ums_member m
ON
v.member_id = m.id
WHERE v.first_frame_img IS NOT NULL
WHERE v.first_frame_img IS NOT NULL and ifnull(v.delete_flag,0) = 0
<if test="bo.isPrivate != null">
AND v.is_private = #{bo.isPrivate}
</if>
@ -108,6 +108,38 @@
AND v.first_frame_img IS NOT NULL
</select>
<select id="getHotVlogList" parameterType="map" resultType="com.wzj.soopin.content.domain.vo.IndexVlogVO">
SELECT
v.id as vlogId,
v.member_id as vlogerId,
m.avatar as vlogerFace,
m.nickname as vlogerName,
v.title as content,
v.url as url,
v.cover as cover,
v.width as width,
v.height as height,
v.like_counts as likeCounts,
v.comments_counts as commentsCounts,
v.is_private as isPrivate,
v.city_code as cityCode,
v.reason as reason,
v.file_id as fileId,
v.status as status,
v.first_frame_img as firstFrameImg,
v.id as vlogId
FROM
cont_vlog v
LEFT JOIN
ums_member m
ON
v.member_id = m.id
WHERE
v.id = #{paramMap.vlogId}
AND v.status = 1
AND v.first_frame_img IS NOT NULL
</select>
<select id="getMyLikedVlogList" parameterType="map" resultType="com.wzj.soopin.content.domain.vo.IndexVlogVO">
SELECT
v.id as vlogId,
@ -142,9 +174,11 @@
v.member_id = m.id
WHERE
mlv.member_id = #{paramMap.myId}
AND v.status = 1
AND v.first_frame_img IS NOT NULL
AND v.is_private = 0
and ifnull(v.del_flag,0) = 0
<if test="paramMap.blockVd != null and paramMap.blockVd.size() > 0">
AND v.id NOT IN
<foreach collection="paramMap.blockVd" item="vlogId" open="(" separator="," close=")">
@ -192,6 +226,7 @@
AND v.is_private = 0
AND v.STATUS = 1
AND v.first_frame_img IS NOT NULL
and ifnull(v.del_flag,0) = 0
AND
f.fan_id = #{paramMap.myId}
ORDER BY
@ -230,6 +265,7 @@
AND v.first_frame_img IS NOT NULL
AND f.fan_id = #{paramMap.myId}
AND f.friend_flag = 1
and ifnull(v.del_flag,0) = 0
AND NOT EXISTS ( SELECT 1 FROM cont_vlog_member vm WHERE v.id = vm.vlog_id AND vm.member_id= #{paramMap.myId} )
ORDER BY
v.create_time DESC