(Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
接着上一篇文章来搞,批量查询点赞状态。这个接口提供给其他的微服务调用所以这里会用到FeignClient
直接上接口
1. 接口信息
这里是查询多个业务的点赞状态,因此请求参数自然是业务id的集合。由于是查询当前用戶的点赞状态,因此无需传递用戶信息。当前用户指的是登录用户
经过筛选判断后,我们把点赞过的业务id集合返回即可
综上,按照Restful来设计该接口,接口信息如下:
2. 实现接口
Controller类中加入批量查询点赞状态的接口
@GetMapping("list")
@ApiOperation("查询指定业务id的点赞状态")
public Set<Long> isBizLiked(@RequestParam("bizIds") List<Long> bizIds){
return likedRecordService.isBizLiked(bizIds);
}
service类: 需要实现接口中isBizLiked是否点赞的状态信息的方法
Set<Long> isBizLiked(List<Long> bizIds);
LikedRecordServiceImpl实现类,实现这个方法
/**
* 判断业务是否点赞
* @param bizIds
* @return
*/
@Override
public Set<Long> isBizLiked(List<Long> bizIds) {
// 1.获取登录用户id
Long userId = UserContext.getUser();
// 2.查询点赞状态
List<LikedRecord> list = lambdaQuery()
.in(LikedRecord::getBizId, bizIds)