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);}

添加好友功展示

通过搜索好友姓名添加好友



通过扫描二维码添加好友



Netty+SpringBoot+FastDFS+Html5实现聊天App详解(四)相关推荐

  1. Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)

    Netty学习 Netty+SpringBoot+FastDFS+Html5实现聊天App,项目介绍:https://segmentfault.com/a/11... Netty+SpringBoot ...

  2. Netty+SpringBoot+FastDFS+Html5实现聊天App

    Netty+SpringBoot+FastDFS+Html5实现聊天App github链接: https://github.com/ShimmerPig... 已将前端代码上传至github,修改a ...

  3. pomelo分布式聊天服务器详解

    pomelo分布式聊天服务器详解 2014-01-05 11:43:49|  分类: node |  标签:pomelo  pomelo聊天  nodejs分布式聊天  pomelo分布式  |举报| ...

  4. 视频教程-HTML5+CSS3项目实战详解-HTML5/CSS

    HTML5+CSS3项目实战详解 13年软件开发经验,设计开发30多个大型软件,涉及政府.银行.电信.能源等大型软件项目. 精通J2EE体系架构,熟练使用Struts.Spring.hibernate ...

  5. springboot 详解 (四)redis filter

    ---------------------------------------------------------------------------------------------------- ...

  6. 《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口

    HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和Fi ...

  7. SpringBoot使用AOP,PointCut表达式详解以及使用

    SpringBoot使用AOP,PointCut表达式详解以及使用 1.相关注解 2.PointCut 表达式详解 2.1 execution: 2.1 within: 2.3. this: 2.4. ...

  8. canvas插件_HTML系列之-HTML5新元素之Canvas详解

    课程简介: 课程目标:通过本课程学习,掌握HTML5中图形绘制canvas的基本原理和使用,并利用canvas解决实际相关问题. 适用人群:具有一定html.css.javascript开发基础的人员 ...

  9. php仿苹果,关于8个超炫酷仿苹果应用的HTML5动画的图文详解

    苹果的产品一直以精美的UI著称,无论是软件应用还是硬件设备.本文主要分享了8个很不错的HTML5动画应用,这些动画正式模仿了苹果的各类应用,有焦点图.钟表.菜单等HTML5应用和jQuery插件,大家 ...

最新文章

  1. 一个检查分区内存并且发送邮件的shell脚本
  2. zookeeper同一台服务器创建伪集群
  3. Swift类与结构、存储属性、计算属性、函数与方法、附属脚本等
  4. 44.作用域,局部和全局变量
  5. First Scrum 冲刺
  6. java jbutton 不显示_java – JButton中的图像未显示
  7. Hindenburg发布亿邦国际做空报告,称其股份增发套现、矿机销量萎靡
  8. [Silverlight入门系列]动态创建控件和绑定
  9. 计算机视觉论文-2021-11-02
  10. 不同时区时间换算_世界时间换算(全球时间对照表)
  11. 临安推进智慧交通频频升级
  12. 智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码
  13. 攻防世界-MISC-摩斯电码
  14. 一叶知秋,很多IT“专家”其实都只是“砖家”
  15. wordpress框架图片上传
  16. 【高分励志电影合集】
  17. 计算机农业类的sci,农学类比较好投的SCI期刊有哪些
  18. 主题:内存的管理 DATE:2004-09-17
  19. 怎么安装LINUX系统
  20. [学位]燕山大学中文学术期刊目录(2020修订版)

热门文章

  1. Vancouver wechat
  2. SGU-169 Numbers(找规律)
  3. iOS学习笔记(十五)——数据库操作(SQLite)
  4. 深入理解 Laravel 管道
  5. 一个前端er使用浏览器打印功能快速制作PDF简历
  6. Tomcat学习--源码导入和运行
  7. Grunt的配置及使用(压缩合并js/css)
  8. PostgreSQL 主从差异查看
  9. HttpServletResponse中sendError与setStatus的区别
  10. 计划任务中使用NT AUTHORITY\SYSTEM用户和普通管理员用户有什么差别