Commit 7534649c by Author name

2.12 我关注的用户的动态列表

parent c81aca95
......@@ -120,5 +120,7 @@ public interface IBlogService extends IService<Blog> {
* @param userId
*/
void updateBlogUserAvatar(String userId);
}
......@@ -122,9 +122,6 @@ public class PostApi {
return Response.fieldError(bindingResult.getFieldError());
}
IPage<Post> postPage = postService.getPostPage(pageForm.getPage(),pageForm.getSize());
return Response.success(toPostVOPage(postPage, subject));
}
......@@ -161,6 +158,15 @@ public class PostApi {
return Response.success(toPostVOPage(postPage, subject));
}
@ApiOperation("获取我关注的用户的动态列表")
@GetMapping("/posts/followed")
public Response<?> getMyFollowdePosts (@Valid PageForm pageForm , BindingResult bindingResult, @CurrentSubject Subject subject) {
if (bindingResult.hasErrors()) {
return Response.fieldError(bindingResult.getFieldError());
}
IPage<Post> postPage = postService.getFollowedPostPage(pageForm.getPage(), pageForm.getSize(), (String) subject.getId());
return Response.success(toPostVOPage(postPage, subject));
}
/**
* 动态图片输出格式转化
......
......@@ -61,4 +61,13 @@ public interface IPostService extends IService<Post> {
* @param userId
*/
void updatePostUserNick(String userId);
/**
* 获取我关注用户的动态列表
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
IPage<Post> getFollowedPostPage (Integer pageNumber , Integer pageSize , String userId);
}
......@@ -15,6 +15,8 @@ import cn.meteor.beyondclouds.modules.topic.enums.TopicReferenceType;
import cn.meteor.beyondclouds.modules.topic.service.ITopicReferenceService;
import cn.meteor.beyondclouds.modules.topic.service.ITopicService;
import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
import cn.meteor.beyondclouds.modules.user.service.IUserFollowService;
import cn.meteor.beyondclouds.modules.user.service.IUserService;
import cn.meteor.beyondclouds.util.TopicUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -50,6 +52,13 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
private ITopicReferenceService topicReferenceService;
private IUserFollowService userFollowService;
@Autowired
public void setUserFollowService(IUserFollowService userFollowService) {
this.userFollowService = userFollowService;
}
@Autowired
public void setTopicReferenceService(ITopicReferenceService topicReferenceService) {
this.topicReferenceService = topicReferenceService;
......@@ -233,5 +242,21 @@ public class PostServiceImpl extends ServiceImpl<PostMapper, Post> implements IP
}
@Override
public IPage<Post> getFollowedPostPage(Integer pageNumber, Integer pageSize, String userId) {
IPage<Post> postPage = new Page<>(pageNumber, pageSize);
//查询出我所关注的用户
QueryWrapper<UserFollow> userFollowQueryWrapper = new QueryWrapper<>();
userFollowQueryWrapper.eq("follower_id", userId);
List<String> followdeIds = userFollowService.list(userFollowQueryWrapper).stream()
.map(UserFollow::getFollowedId)
.collect(Collectors.toList());
//获取我关注的用户的动态
QueryWrapper<Post> postQueryWrapper = new QueryWrapper<>();
postQueryWrapper.in("user_id", followdeIds);
postQueryWrapper.orderByDesc("create_time");
return page(postPage, postQueryWrapper);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment