有关站内信的数据库设计

发布时间:2019-09-28  栏目:sqlite  评论:0 Comments

站内信:网址运维人士能够向单个(单发)或七个(群发)客户推送音讯,站内信其实正是向数据库中插入一条条笔录。

站内信数据库设计:

数据库设计:

message【站内信发件箱表】{每一遍运维职员发送一条站内信(无论是单发或是群发)就能在发件箱表中增加一条记下}

 图片 1

 表字段:ID、SendID、RecID、MessageID、Statue、DateTime

messagetext【站内信发件内容表】{每一趟运行人士发送站内信的原委就能保留到站内信发件内容表中}

图片 2

表字段:ID、Title、Message、PData

messageuserinfo【站内信接收箱表】{顾客站内信收件箱}

图片 3

表字段:ID、SendID、RecID、MessageID、Statue、DateTime

 

消息接收表:receive

事情逻辑:在运转职员发送了一条站内信后,当顾客又一次登入时就能够刷新历史站内信,而这几个不活跃的客商就不会更新站内信。

情景:运行职员向有个别(单发)或七个(群发)顾客发送站内信

增加发件内容:向messagetext站内信发件内容表中增多一条内容记录
{这里先增多messagetext站内信发件内容表产生一条记下,前边message站内信发件箱表中才有MessageID能够提到}

加多发件人发件记录:向message站内信发件箱表中增加一条发送记录
{备注:假诺是单发RecID则是点名客户的UserID,如若是群发RecID则是0。(0表示全体顾客)}

客户登入时刷新与和煦有关的站内信,并将数据拉长到messageuserinfo站内信接收箱表

  1. 询问条件:【发件人不是和煦】并且【收件人是和谐如故收件人是全数人】而且【本人收件表中官样文章的记录】

    select m.id from Message as m where (m.recid='所有人' or m.recid='自己的ID') and m.sendid!='自己的ID' and m.MessageID not in (select u.messageid from MessageUserInfo as u  where u.recid='自己的ID')
    

      

  2. 将有关的站内信音讯增添到自个儿的收件表中,并标识未读。

    1.   将方面【查询条件】中询问出来的id音讯用做查询message站内信发件箱表的条件

      select * from message  where id=上面的m.id
      

        

    2. 将收获到message站内信发件箱表数量增加到messageuserinfo站内信接收箱表

  3. 询问出团结的站内信记录

    select u.ID,u.RecID,m.Title,m.Message,u.Statue,m.PDate from messageuserinfo as u join messagetext as m on u.MessageID = m.ID where u.RecID='自己的ID'
    

      

     

| 字段          | 类型        | 注释                            |

| ————– | ———— | ——————————- |

| id            | int          | 自增长id                        |

| state          | tinyint      | 新闻状态                        |

| newsid        | int          | 外键关联音讯表                  |

| receiveTime    | datatime    | 收信时间                        |

音信状态分别为:未读,已读;

可对新闻举行删减操作。

消息表:news

| 字段        | 类型        | 注释                            |

| ———— | ———— | ——————————- |

| id          | int          | 自增长id                        |

| state        | tinyint      | 新闻状态                        |

| title        | varchar(100) | 信息标题                        |

| content      | varchar(520) | 新闻内容                        |

| type        | varchar(20)  | 新闻类型                        |

| receiveType  | tinyint      | 收信人类型                      |

| receive      | tinyint      | 收信人                          |

| createTime  | datatime    | 发信时间                        |

客商将发送的新闻记录在send表,在查阅时可依附音讯的类型和气象举办区分查看;

音讯类型分别为:产品新闻,安全新闻,服务音讯,活动音讯,历史音讯,故障消息;

新闻状态分别为:未发送,已发送;

收信类型分别为:单客商,多客户,客商类型,全体客商;

可对音讯实行编写制定和删除操作。

领队群发消息时,发送类型为多用户,类别顾客,全体客商时,系统将新闻实行预留存款和储蓄,在系统监测到客商登入时便自动将协会者群发的新闻插入到顾客;

能够再系统中设定群发音信的年限,超过时间限制便删除该条群发音讯,防止止数据的堆集;

顾客在音讯时间限制内登入可选用到群发消息,高出时间限制后登陆便不再插入。

留下评论

网站地图xml地图