[fix]增加视频已读
This commit is contained in:
parent
ec715206ef
commit
49e52a9a55
@ -190,6 +190,7 @@ tenant:
|
||||
- trans_divide_rule
|
||||
- trans_divide_rule_detail
|
||||
- trans_pay_order
|
||||
- cont_vlog_member
|
||||
- aws_system_statistics
|
||||
- act_integral_history
|
||||
- sys_version
|
||||
|
@ -0,0 +1,33 @@
|
||||
package com.wzj.soopin.content.domain.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.core.domain.model.BaseAudit;
|
||||
|
||||
|
||||
/**
|
||||
* 我的已读视频
|
||||
*
|
||||
* @author Chopper
|
||||
* @since 2023-12-20 16:00
|
||||
*/
|
||||
@Data
|
||||
@TableName("cont_vlog_member")
|
||||
public class MyReadVlog extends BaseAudit {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 视频id
|
||||
*/
|
||||
private String vlogId;
|
||||
/**
|
||||
* 会员id
|
||||
*/
|
||||
private Long memberId;
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.wzj.soopin.content.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.wzj.soopin.content.domain.po.MyReadVlog;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* 我的已读视频Mapper接口
|
||||
*
|
||||
* @author Chopper
|
||||
* @since 2023-12-20 16:00
|
||||
*/
|
||||
@Repository
|
||||
@Mapper
|
||||
public interface MyReadVlogMapper extends BaseMapper<MyReadVlog> {
|
||||
}
|
@ -6,6 +6,8 @@ import com.tencentcloudapi.common.exception.TencentCloudSDKException;
|
||||
import com.tencentcloudapi.vod.v20180717.VodClient;
|
||||
import com.tencentcloudapi.vod.v20180717.models.*;
|
||||
import com.wzj.soopin.content.domain.bo.VlogBO;
|
||||
import com.wzj.soopin.content.domain.po.MyReadVlog;
|
||||
import com.wzj.soopin.content.mapper.MyReadVlogMapper;
|
||||
import com.wzj.soopin.content.service.IVlogPullService;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@ -42,6 +44,7 @@ public class VlogPullServiceImpl implements IVlogPullService {
|
||||
private final VlogService vlogService;
|
||||
private final ApplicationEventPublisher eventPublisher;
|
||||
private final TencentCloudUtil tencentCloudUtil;
|
||||
private final MyReadVlogMapper myReadVlogMapper;
|
||||
|
||||
@Override
|
||||
public Page<IndexVlogVO> pullFromMq(Page<IndexVlogVO> page) {
|
||||
@ -64,6 +67,9 @@ public class VlogPullServiceImpl implements IVlogPullService {
|
||||
VlogBO vlogBO = new VlogBO();
|
||||
vlogBO.setIds(ids);
|
||||
List<IndexVlogVO> vlogVOList = vlogService.getIndexVlogList(vlogBO);
|
||||
|
||||
//标记已读
|
||||
saveMyReadVlog(vlogVOList, loginUser.getUserId());
|
||||
return page.setRecords(vlogVOList);
|
||||
} else {
|
||||
if (loginUser != null) {
|
||||
@ -75,6 +81,8 @@ public class VlogPullServiceImpl implements IVlogPullService {
|
||||
//发出事件
|
||||
//先临时取10条数据
|
||||
Page<IndexVlogVO> indexVlogVOPage = vlogService.getIndexVlogList(null, page);
|
||||
//标记已读
|
||||
saveMyReadVlog(indexVlogVOPage.getRecords(), loginUser.getUserId());
|
||||
//直接获取数据库数据,并要求push类推送数据
|
||||
return indexVlogVOPage;
|
||||
}
|
||||
@ -86,6 +94,17 @@ public class VlogPullServiceImpl implements IVlogPullService {
|
||||
}
|
||||
|
||||
|
||||
private void saveMyReadVlog(List<IndexVlogVO> myReadVlog,Long memberId) {
|
||||
if(CollectionUtil.isNotEmpty(myReadVlog)){
|
||||
myReadVlog.forEach(indexVlogVO -> {
|
||||
MyReadVlog myReadVlog1 = new MyReadVlog();
|
||||
myReadVlog1.setVlogId(indexVlogVO.getId());
|
||||
myReadVlog1.setMemberId(memberId);
|
||||
myReadVlogMapper.insert(myReadVlog1);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pullFromTencentCloud(VlogBO vlogBO) {
|
||||
try {
|
||||
|
@ -289,7 +289,7 @@
|
||||
cont_vlog v
|
||||
WHERE
|
||||
NOT EXISTS (
|
||||
SELECT 1 FROM cms_vlog_member m
|
||||
SELECT 1 FROM cont_vlog_member m
|
||||
WHERE m.vlog_id = v.id AND m.member_id = ${memberId}
|
||||
)
|
||||
AND NOT EXISTS (
|
||||
@ -301,9 +301,6 @@
|
||||
|
||||
</select>
|
||||
|
||||
<update id="readVlog">
|
||||
insert into cms_vlog_member (vlog_id, member_id,status) values (#{vlogId}, #{memberId},1)
|
||||
</update>
|
||||
|
||||
<select id="selectUserLikeVlogList" resultType="com.wzj.soopin.content.domain.vo.IndexVlogVO">
|
||||
SELECT
|
||||
|
@ -188,7 +188,7 @@
|
||||
LEFT JOIN ums_fans f ON v.member_id = f.vlogger_id
|
||||
LEFT JOIN ums_member m ON v.member_id = m.id
|
||||
WHERE
|
||||
NOT EXISTS ( SELECT 1 FROM cms_vlog_member vm WHERE v.id = vm.vlog_id AND vm.member_id = #{paramMap.myId} )
|
||||
NOT EXISTS ( SELECT 1 FROM cont_vlog_member vm WHERE v.id = vm.vlog_id AND vm.member_id = #{paramMap.myId} )
|
||||
AND v.is_private = 0
|
||||
AND v.STATUS = 1
|
||||
AND v.first_frame_img IS NOT NULL
|
||||
@ -230,7 +230,7 @@
|
||||
AND v.first_frame_img IS NOT NULL
|
||||
AND f.fan_id = #{paramMap.myId}
|
||||
AND f.friend_flag = 1
|
||||
AND NOT EXISTS ( SELECT 1 FROM cms_vlog_member vm WHERE v.id = vm.vlog_id AND vm.member_id= #{paramMap.myId} )
|
||||
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
|
||||
</select>
|
||||
|
@ -57,6 +57,7 @@ public class MemberCreateEventListener {
|
||||
//解绑
|
||||
member.setUserId(0l);
|
||||
memberService.updateById(member);
|
||||
tencentIMService.updateMemberRole(member);
|
||||
}else{
|
||||
//如果已经绑定过了 则不再更新
|
||||
// return;
|
||||
|
@ -251,6 +251,10 @@ public class IMCallbackServiceImpl implements IMCallbackService {
|
||||
// 例如:使用上海时区(Asia/Shanghai)
|
||||
LocalDate localDate = instant.atZone(ZoneId.of("Asia/Shanghai")).toLocalDate();
|
||||
member.setBirthday(localDate);
|
||||
break;
|
||||
case "Tag_Profile_IM_Image":
|
||||
member.setAvatar(value.toString());
|
||||
break;
|
||||
default:
|
||||
log.debug("未处理的用户资料字段: tag={}, value={}", tag, value);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user