发表于: 2018-01-12 20:29:12
1 648
今天完成的内容:
(1)视频详情页。
思路:
接口文档:
请求参数:id(视频id) userid
返回参数:视频的各字段,标题,正文等等,此外还需返回视频的点赞,收藏状态,即是否点赞收藏。
视频的各个字段容易获得,基本与视频列表的思路类似,关键是获取视频的点赞、收藏状态,该状态记录在relation表中。
获取点赞、收藏状态:
1.通过id和userid拼接sql,查得relation表的id。
relation表:视频(文章)和用户的中间表
视频id即targetid,拼接的sql可查得userid和targetid与请求参数相同的记录
ps:最多两条,因为同一个用户和一个视频(文章)只有两种relation关系,要么点赞,要么收藏。
2.查得响应的relationid后,查该记录的relationtype和relationstatus即可。
(2)视频详情代码实现。
//1.通过视频id和用户id拼接sql
Map<String, Object>param = DynamicUtil.getTargetId(id,userId,2);
log.info("sql参数是:" + param);
//2.通过sql获取relation id
List<Long> ids = relationService.getIdsByDynamicCondition(Relation.class,param,start,size);
log.info("the ids are :" + ids);
//3.获取relation表记录
List <Relation> relationList = relationService.getObjectsByIds(ids);
循环取relation中的type和status
while(c > 0){
Relation relation = relationList.get(c-1);
log.info("获得关系表中的relation" );
if (relation.getRelationType()==2) {
model.addAttribute("collectStatus",relation.getRelationStatus());
log.info("查得收藏状态" );
}else if(relation.getRelationType()==1){
model.addAttribute("praiseStatus",relation.getRelationStatus());
log.info("查得点赞状态" );
}
c--;
log.info("完成第"+(2-c)+"个");
}
接口测试:
请求参数
明天的计划:要准备小课堂
遇到的问题:暂无
收获:以上
评论