Commit 7c0d2717 by 张晋雄

用户模块基本功能

parent dec08b0a
......@@ -144,10 +144,10 @@ public class UserApi {
}
@ApiOperation(("关注"))
@PostMapping("/user/{userId}/follower")
public Response follower(@PathVariable(name = "userId") String userId, @CurrentSubject Subject subject){
userFollowService.follower(userId, String.valueOf(subject.getId()));
return Response.success();
......@@ -156,6 +156,7 @@ public class UserApi {
@ApiOperation(("取消关注"))
@DeleteMapping("/user/{userId}/follower")
public Response delFollower(@PathVariable(name = "userId") String userId, @CurrentSubject Subject subject){
userFollowService.delFollower(userId, String.valueOf(subject.getId()));
return Response.success();
......@@ -165,8 +166,8 @@ public class UserApi {
@GetMapping("/my/fans")
public Response myFans(@Valid PageForm pageForm, @CurrentSubject Subject subject){
// 根据用户获取列表并返回
IPage<UserFollow> fansPage = userFollowService.getPage(pageForm.getPage(), pageForm.getSize(), String.valueOf(subject.getId()));
// 根据userId获取粉丝并返回
IPage<UserFollow> fansPage = userFollowService.getFansPage(pageForm.getPage(), pageForm.getSize(), String.valueOf(subject.getId()));
PageVO<UserFollow> fansPageVo = new PageVO<>();
fansPageVo.setTotalPage(fansPage.getPages());
fansPageVo.setDataList(fansPage.getRecords());
......@@ -176,22 +177,39 @@ public class UserApi {
@ApiOperation(("获取他人粉丝"))
@GetMapping("/user/{userId}/fans")
public Response otherFans(@PathVariable(name = "userId") String userId){
return Response.success(userFollowService.Fans(userId));
public Response otherFans(@Valid PageForm pageForm, @PathVariable(name = "userId") String userId){
// 根据userId获取粉丝并返回
IPage<UserFollow> fansPage = userFollowService.getFansPage(pageForm.getPage(), pageForm.getSize(),userId);
PageVO<UserFollow> fansPageVo = new PageVO<>();
fansPageVo.setTotalPage(fansPage.getPages());
fansPageVo.setDataList(fansPage.getRecords());
return Response.success(fansPageVo);
}
@ApiOperation(("获取我的关注"))
@GetMapping("/my/follower")
public Response myFollower(@CurrentSubject Subject subject){
return Response.success(userFollowService.myFollower(String.valueOf(subject.getId())));
public Response myFollower(@Valid PageForm pageForm, @CurrentSubject Subject subject){
// 根据userId获取关注列表并返回
IPage<UserFollow> followersPage = userFollowService.getFollowersPage(pageForm.getPage(), pageForm.getSize(), String.valueOf(subject.getId()));
PageVO<UserFollow> followersPageVo = new PageVO<>();
followersPageVo.setTotalPage(followersPage.getPages());
followersPageVo.setDataList(followersPage.getRecords());
return Response.success(followersPageVo);
}
@ApiOperation(("获取他人关注"))
@GetMapping("/user/{userId}/follower")
public Response otherFollower(@PathVariable(name = "userId") String userId){
return Response.success(userFollowService.otherFollower(userId));
public Response otherFollower(@Valid PageForm pageForm, @PathVariable(name = "userId") String userId){
// 根据userId获取关注列表并返回
IPage<UserFollow> followersPage = userFollowService.getFollowersPage(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<UserFollow> followersPageVo = new PageVO<>();
followersPageVo.setTotalPage(followersPage.getPages());
followersPageVo.setDataList(followersPage.getRecords());
return Response.success(followersPageVo);
}
......
......@@ -13,5 +13,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IUserBlacklistService extends IService<UserBlacklist> {
/**
* 拉黑
* @param blackId
* @param userId
*/
void blacklist(String blackId, String userId);
}
package cn.meteor.beyondclouds.modules.user.service;
import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @author 段启岩
......@@ -30,41 +28,23 @@ public interface IUserFollowService extends IService<UserFollow> {
void delFollower(String userId, String myUserId);
/**
* 查看我的粉丝
* @param userId
* @return
*/
List<User> myFans(String userId);
/**
* 查看其他用户的粉丝
* @param userId
* @return
*/
List<User> Fans(String userId);
/**
* 查看我关注的人
* @param userId
* @return
*/
List<User> myFollower(String userId);
/**
* 查看其他用户关注的人
* 根据userId查询粉丝
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
List<User> otherFollower(String userId);
IPage<UserFollow> getFansPage(Integer pageNumber, Integer pageSize, String userId);
/**
* 根据userId做分页查询
* 根据userId查询关注的用户
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
IPage<UserFollow> getPage(Integer pageNumber, Integer pageSize, String userId);
IPage<UserFollow> getFollowersPage(Integer pageNumber, Integer pageSize, String userId);
}
......@@ -12,7 +12,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author 段启岩
......@@ -59,43 +58,15 @@ public class UserFollowServiceImpl extends ServiceImpl<IUserFollowMapper, UserFo
}
@Override
public List<User> myFans(String userId) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("followed_id", userId);
return list(queryWrapper);
}
@Override
public List<User> Fans(String userId) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("followed_id", userId);
return list(queryWrapper);
}
@Override
public List<User> myFollower(String userId) {
return null;
}
@Override
public List<User> otherFollower(String userId) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("follower_id", userId);
return list(queryWrapper);
public IPage<UserFollow> getFansPage(Integer pageNumber, Integer pageSize, String userId) {
IPage<UserFollow> page = new Page<>(pageNumber, pageSize);
QueryWrapper<UserFollow> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("followed_id", userId);
return page(page, projectQueryWrapper);
}
@Override
public IPage<UserFollow> getPage(Integer pageNumber, Integer pageSize, String userId) {
public IPage<UserFollow> getFollowersPage(Integer pageNumber, Integer pageSize, String userId) {
IPage<UserFollow> page = new Page<>(pageNumber, pageSize);
QueryWrapper<UserFollow> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("follower_id", userId);
......
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