个人知乎 ##功能四-站内信

本文介绍了一种基于Message表的知乎站内信系统设计,包括消息中心的业务流程、数据表结构、模型定义及DAO与Service层实现,还详细说明了如何通过Controller层处理私信发送与接收。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

个人知乎

功能四-站内信

业务分析

消息中心,私信是相互的

数据表Message

id:
from_id:发
to_id:收
content:
created_date:
has_read:对方是否读过
conversation_id:与某人的会话,小的排在前面收发一致

Message

和表对应的模型,get/set方法

MessageDAO

addMessage(Message ):插入数据库表
selectConversationDetail(conversation_id):通过conversation_id查询与某人全部私信
selectConversation(user_id):通过userid查与之相关的全部最新私信
    select * ,count(id) as cnt from(select * from message where from_id=userid or to_id=user_id order by created_date desc) tt group by conversation_id order by created_date 
    //技巧:用无用的id来存数会话个数count(id) as id,保证Message模型

MessageService

addMessage():调用DAO.addMessage()
List <Message> selectConversationDetail()                                                   调用DAO.selectConversationDetail
List<Message> getConversationList()
    调用DAO.selectConversation()

MessageController

/msg/addMessage
addMessage(toName,content):发私信

/msg/detail?conversation=id
getConversationDetail()
    List<ViewObject> vo
    ViewObject拥有user,Message两部分,表示发送方用户,消息内容
    将vo传给html

/msg/list?user_id=id
getConversationList():展示用户最近的和别人私信
    List<ViewObject> vo
    ViewObject拥有user,Message两部分,表示会话用户,消息内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值