java实现好友添加_SpringBoot+LayIM+t-io 实现好友申请通知流程

本文介绍了使用Java的SpringBoot框架和LayIM、t-io库实现好友申请通知的详细流程,包括用户界面的准备、发起好友申请、服务端主动推送消息以及事件监听的应用。通过示例代码展示了如何处理好友申请,以及在用户不在线时的消息处理策略。
摘要由CSDN通过智能技术生成

前言

在上一篇 Spring boot + LayIM + t-io 文件上传、 监听用户状态的实现 中,已经介绍了两个小细节:用户的在离线状态和群人数的状态变化。今天的主要内容就是用户加好友的实现。

简介

加好友,大家用过QQ都知道,无非是发起好友申请,对方收到消息通知,然后处理。不过,本篇只讲前半部分,消息通知的处理留到下一篇去讲。因为内容有点多,怕是一时半会消化不了。在介绍主体流程之前,先给大家介绍一下准备工作。

准备工作

首先,为了让数据更贴近实战,所以我用了比较“真实”的用户数据。结合fly模板,完善了用户中心头部的用户信息的数据绑定。数据绑定部分判断了是否已经是好友,来决定是否出现“加为好友”的按钮。示例如下,当用户自己看到自己的主页时,是这样的:

b499f37d1f7447d92d901f650901dc10.png

看到非好友的用户主页,是这样的:

79b6f5b6404a30d7f726c68b81294019.png

绑定数据部分,简单给大家介绍一下,就是用thymleaf模板绑定。后台访问页面的时候,将 Model 赋值即可。

/**

* 属性赋值

* */

private void setModel(User user,Model model){

long currentUserId = getUserId();

long visitUserId = user.getId();

//是否是自己

boolean isSelf = currentUserId == visitUserId;

//两个用户是否已经是好友

boolean isFriend = groupService.isFriend(currentUserId,visitUserId);

Map userMap = new HashMap<>(8);

userMap.put("avatar",user.getAvatar());

userMap.put("name",user.getUserName());

userMap.put("addtime", TimeUtil.formatDate(user.getCreateAt())+" 加入");

if(user.getSign()==null ||user.getSign().length()==0) {

userMap.put("sign", "");

}else {

userMap.put("sign", "(" + user.getSign() + ")");

}

userMap.put("uid",user.getId());

user

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值