Netty+SpringBoot+FastDFS+Html5实现聊天App,项目介绍。
Netty+SpringBoot+FastDFS+Html5实现聊天App, 项目github链接 。
本章完整代码链接 。
/** * @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); }