AS3Chat计划加入好友列表

博主昨日计划加入SSL/TLS安全协议,今日决定增加好友列表功能,将直接从数据库获取用户好友列表,放弃使用单独链表保存。该文探讨了即时通讯应用中好友列表的实现方式。

昨天记录了计划加入SSL/TLS安全协议,今天想想,还是要加入好友列表,一开始打算做个IM的。

用户好友列表,直接从数据库获取,不再也不必用单独的链表去保存。

转载于:https://my.oschina.net/myleft/blog/6519

服务端传给客户端 一个聊天私聊群聊类型数据ConcurrentHashMap 一个聊天消息类型数据ConcurrentHashMap ConcurrentHashMap<Long, List<ChatMessage>> messageMap = new ConcurrentHashMap<>(); ConcurrentHashMap<Long, List<GroupMessage>> groupMessageMap = new ConcurrentHashMap<>(); 查询聊天私聊群聊类型组件 先查私聊有没有头像 用户名 还要置顶 SELECT m.user_id, m.isPinned, u.username, u.image FROM friend m JOIN user u ON m.user_id = u.id " WHERE m.friend_id = ? 再差私聊有没有最后消息 最后活动时间 未读消息 SELECT CASE WHEN sender_id = ? THEN receiver_id ELSE sender_id END as chat_id, MAX(time) as last_time, (SELECT content FROM messages m WHERE (m.sender_id = ? OR m.receiver_id = ?) AND (CASE WHEN m.sender_id = ? THEN m.receiver_id ELSE m.sender_id END) = chat_id AND m.room_id IS NULL ORDER BY m.time DESC LIMIT 1) as last_message, SUM(CASE WHEN receiver_id = ? AND status = 0 THEN 1 ELSE 0 END) as unread_count FROM messages WHERE (sender_id = ? OR receiver_id = ?) AND room_id IS NULL GROUP BY chat_id ORDER BY last_time DESC; 这是用来全部查询好友消息的操作 SELECT g.id AS group_id, g.name AS group_name, g.image AS group_avatar, MAX(ug.timeship) AS last_active_time, (SELECT ug2.message FROM user_group ug2 WHERE ug2.group_id = g.id ORDER BY ug2.timeship DESC LIMIT 1) AS last_message, SUM(CASE WHEN ug.status = 1 AND ug.user_id != ? THEN 1 ELSE 0 END) AS unread_count, MAX(ug.isPinned) AS is_pinned FROM groupsql g JOIN user_group ug ON g.id = ug.group_id WHERE ug.user_id = ? OR EXISTS (SELECT 1 FROM user_group WHERE group_id = g.id AND user_id = ?) GROUP BY g.id, g.name, g.image ORDER BY is_pinned DESC, last_active_time DESC; 你替我完善一下,我要发博客
05-14
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值