Netty+SpringBoot+FastDFS+Html5实现聊天App,项目介绍。
Netty+SpringBoot+FastDFS+Html5实现聊天App,项目github链接。
本章完整代码链接。
本章内容
(1) 查询好友列表的接口
(2)通过或忽略好友请求的接口
(3)添加好友功能展示
查询好友列表的接口
/**
* @Description: 查询我的好友列表
*/
@PostMapping("/myFriends")
public IMoocJSONResult myFriends(String userId) {
// 0. userId 判断不能为空
if (StringUtils.isBlank(userId)) {
return IMoocJSONResult.errorMsg("");
}
// 1. 数据库查询好友列表
List<MyFriendsVO> myFirends = userService.queryMyFriends(userId);
return IMoocJSONResult.ok(myFirends);
}
通过或忽略好友请求的接口
定义枚举类型
/**
*
* @Description: 忽略或者通过 好友请求的枚举
*/
public enum OperatorFriendRequestTypeEnum {
IGNORE(0, "忽略"),
PASS(1, "通过");
public final Integer type;
public final String msg;
OperatorFriendRequestTypeEnum(Integer type, String msg){
this.type = type;
this.msg = msg;
}
public Integer getType() {
return type;
}
public static String getMsgByType(Integer type) {
for (OperatorFriendRequestTypeEnum operType : OperatorFriendRequestTypeEnum.values()) {
if (operType.getType() == type) {
return operType.msg;
}
}
return null;
}
}
controller中提供通过或忽略好友请求的接口
/**
* @Description: 接受方 通过或者忽略朋友请求
*/
@PostMapping("/operFriendRequest")
public IMoocJSONResult operFriendRequest(String acceptUserId, String sendUserId,
Integer operType) {
// 0. acceptUserId sendUserId operType 判断不能为空
if (StringUtils.isBlank(acceptUserId)
|| StringUtils.isBlank(sendUserId)
|| operType == null) {
return IMoocJSONResult.errorMsg("");
}
// 1. 如果operType 没有对应的枚举值,则直接抛出空错误信息
if (StringUtils.isBlank(OperatorFriendRequestTypeEnum.getMsgByType(operType))) {
return IMoocJSONResult.errorMsg("");
}
if (operType == OperatorFriendRequestTypeEnum.IGNORE.type) {
// 2. 判断如果忽略好友请求,则直接删除好友请求的数据库表记录
userService.deleteFriendRequest(sendUserId, acceptUserId);
} else if (operType == OperatorFriendRequestTypeEnum.PASS.type) {
// 3. 判断如果是通过好友请求,则互相增加好友记录到数据库对应的表
// 然后删除好友请求的数据库表记录
userService.passFriendRequest(sendUserId, acceptUserId);
}
// 4. 数据库查询好友列表
List<MyFriendsVO> myFirends = userService.queryMyFriends(acceptUserId);
// 5. 将查询到的好友列表返回给前端
return IMoocJSONResult.ok(myFirends);
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。