Commit eb1a4a01 by 段启岩

Merge remote-tracking branch 'origin/fix-issue#14'

# Conflicts:
#	src/main/resources/application.yml
parents b66868cd 1ec0d5d0
...@@ -7,6 +7,7 @@ import cn.meteor.beyondclouds.core.annotation.CurrentSubject; ...@@ -7,6 +7,7 @@ import cn.meteor.beyondclouds.core.annotation.CurrentSubject;
import cn.meteor.beyondclouds.core.api.Response; import cn.meteor.beyondclouds.core.api.Response;
import cn.meteor.beyondclouds.core.bean.Subject; import cn.meteor.beyondclouds.core.bean.Subject;
import cn.meteor.beyondclouds.modules.user.entity.User; import cn.meteor.beyondclouds.modules.user.entity.User;
import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist;
import cn.meteor.beyondclouds.modules.user.entity.UserFollow; import cn.meteor.beyondclouds.modules.user.entity.UserFollow;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import cn.meteor.beyondclouds.modules.user.form.UserBaseInfoFrom; import cn.meteor.beyondclouds.modules.user.form.UserBaseInfoFrom;
...@@ -162,6 +163,32 @@ public class UserApi { ...@@ -162,6 +163,32 @@ public class UserApi {
} }
} }
@ApiOperation(("取消拉黑"))
@DeleteMapping("/my/blacklist/{userId}")
public Response delblacklist(@PathVariable(name = "userId") String userId, @CurrentSubject Subject subject){
try {
userBlacklistService.delblacklist(userId, (String) subject.getId());
return Response.success();
} catch (UserServiceException e) {
e.printStackTrace();
return Response.error(e);
}
}
@ApiOperation(("我的黑名单"))
@GetMapping("/my/blacklist/{userId}")
public Response myBlacklist(@Valid PageForm pageForm, @PathVariable(name = "userId") String userId){
// 根据userId获取粉丝并返回
IPage<UserBlacklist> blacklistIPage = userBlacklistService.getmyBlackList(pageForm.getPage(), pageForm.getSize(), userId);
PageVO<UserBlacklist> blacklistPageVO = new PageVO<>(blacklistIPage);
return Response.success(blacklistPageVO);
}
@ApiOperation(("取消关注")) @ApiOperation(("取消关注"))
@DeleteMapping("/user/{userId}/follower") @DeleteMapping("/user/{userId}/follower")
public Response delFollower(@PathVariable(name = "userId") String userId, @CurrentSubject Subject subject){ public Response delFollower(@PathVariable(name = "userId") String userId, @CurrentSubject Subject subject){
......
...@@ -20,7 +20,8 @@ public enum UserErrorCode implements IErrorCode { ...@@ -20,7 +20,8 @@ public enum UserErrorCode implements IErrorCode {
NON_FOLLOWED(1007, "没有关注过该用户"), NON_FOLLOWED(1007, "没有关注过该用户"),
USER_ALREADY_BLACKED(1008,"用户已经被你拉进黑名单"), USER_ALREADY_BLACKED(1008,"用户已经被你拉进黑名单"),
YOU_ALREADY_BLACKED(1009,"你已经被对方拉进黑名单"), YOU_ALREADY_BLACKED(1009,"你已经被对方拉进黑名单"),
CAN_NOT_BLACKE_SELF(1010,"不能拉黑自己"); CAN_NOT_BLACKE_SELF(1010,"不能拉黑自己"),
USER_NOT_BLACKED(1011,"用户没有被拉黑");
UserErrorCode(long code, String msg) { UserErrorCode(long code, String msg) {
this.code = code; this.code = code;
......
...@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.user.service; ...@@ -2,6 +2,7 @@ package cn.meteor.beyondclouds.modules.user.service;
import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist; import cn.meteor.beyondclouds.modules.user.entity.UserBlacklist;
import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**
...@@ -20,4 +21,22 @@ public interface IUserBlacklistService extends IService<UserBlacklist> { ...@@ -20,4 +21,22 @@ public interface IUserBlacklistService extends IService<UserBlacklist> {
* @param userId * @param userId
*/ */
void blacklist(String blackeId, String userId) throws UserServiceException; void blacklist(String blackeId, String userId) throws UserServiceException;
/**
* 取消拉黑
* @param userId
* @param id
* @throws UserServiceException
*/
void delblacklist(String userId, String id) throws UserServiceException;
/**
* 查看黑名单
* @param page
* @param size
* @param userId
* @return
*/
IPage<UserBlacklist> getmyBlackList(Integer page, Integer size, String userId);
} }
...@@ -6,6 +6,8 @@ import cn.meteor.beyondclouds.modules.user.exception.UserServiceException; ...@@ -6,6 +6,8 @@ import cn.meteor.beyondclouds.modules.user.exception.UserServiceException;
import cn.meteor.beyondclouds.modules.user.mapper.UserBlacklistMapper; import cn.meteor.beyondclouds.modules.user.mapper.UserBlacklistMapper;
import cn.meteor.beyondclouds.modules.user.service.IUserBlacklistService; import cn.meteor.beyondclouds.modules.user.service.IUserBlacklistService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -45,4 +47,41 @@ public class UserBlacklistServiceImpl extends ServiceImpl<UserBlacklistMapper, U ...@@ -45,4 +47,41 @@ public class UserBlacklistServiceImpl extends ServiceImpl<UserBlacklistMapper, U
userBlacklist.setUserId(userId); userBlacklist.setUserId(userId);
save(userBlacklist); save(userBlacklist);
} }
/**
* 取消拉黑
* @param delBlackedId 取消被拉黑的用户id
* @param userId
*/
@Override
public void delblacklist(String delBlackedId, String userId) throws UserServiceException {
//查询 是否用户已被拉黑
QueryWrapper<UserBlacklist> blackListQueryWrapper = new QueryWrapper<>();
blackListQueryWrapper.eq("user_id", userId);
blackListQueryWrapper.eq("blacked_id", delBlackedId);
if(null == getOne(blackListQueryWrapper)){
throw new UserServiceException(UserErrorCode.USER_NOT_BLACKED);
}
remove(blackListQueryWrapper);
}
/**
* 查看黑名单
* @param pageNumber
* @param pageSize
* @param userId
* @return
*/
@Override
public IPage<UserBlacklist> getmyBlackList(Integer pageNumber, Integer pageSize, String userId) {
IPage<UserBlacklist> page = new Page<>(pageNumber, pageSize);
QueryWrapper<UserBlacklist> blacklistQueryWrapper = new QueryWrapper<>();
blacklistQueryWrapper.eq("user_id", userId);
return page(page, blacklistQueryWrapper);
}
} }
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