发表于: 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)+"个");
}

接口测试:

请求参数

明天的计划:要准备小课堂

遇到的问题:暂无

收获:以上


返回列表 返回列表
评论

    分享到