zoukankan      html  css  js  c++  java
  • 消息系统的设计

    简介:

    消息系统主要分为了两种

    ① 站内信

        公告,私信(运营到用户),群组通信,全员信息

    ② 站外信

        短信,邮件,微信提醒

    例图:

    数据库设计:

    一、消息信息表

    create table `news` (

        `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',

        `content` text NOT NULL COMMENT '消息内容',

        `type` tinyint(1) NOT NULL COMMENT '消息类型,1:公告,2:站内信,3:群组信,4:全员发送',

        `sender` int(11) unsigned NOT NULL COMMENT '发送者id',

        `senderName` varchar(80) NOT NULL DEFAULT '' COMMENT '发送者名称',

        `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1,发送,2,撤销',

        `createTime` int(11) unsigned NOT NULL,

        PRIMARY KEY (`id`),

        KEY index_c (`createTime`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='消息信息表';

    用户消息表

    create table `userNews` (

        `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',

        `isRead` tinyint NOT NULL DEFAULT 0 COMMENT '是否已经读取 0,未读:1,已读',

        `user_id` int unsigned NOT NULL COMMENT '消息所有者',

        `notify_id` int unsigned NOT NULL COMMENT '关联notify表的id',

        `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1,发送,2,撤销',

        `createTime` int(11) unsigned NOT NULL,

        PRIMARY KEY (`id`),

        KEY index_u_s_c (`user_id`, `status`, `createTime`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户消息表'

    分组关联表

    create table `userGroup` (

        `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',

        `groupName` varchar(40) NOT NULL COMMENT '分组名',

        `groupId` int(11) unsigned NOT NULL DEFAULT 0,

        `user_id` int(11) unsigned NOT NULL COMMENT '消息所有者',

        `createTime` int(11) unsigned NOT NULL,

        PRIMARY KEY (`id`),

        KEY index_g (`groupId`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户分组表'


    服务层设计:

    新建一条公告

    1. 请求地址

    2. 请求类型
      POST

    新建一条私信

    1. 请求地址

    2. 请求类型
      POST

    新建一条群组消息

    1. 请求地址

    2. 请求类型
      POST

    新建一条全员消息

    1. 请求地址

    2. 请求类型
      POST

    获取用户未读消息数

    1. 请求地址

    2. 请求类型
      POST

    获取用户消息列表

    1. 请求地址

    2. 请求类型
      POST

    实时获取用户消息

    1. 请求地址

    2. 请求类型
      POST

    发送短信

    1. 请求地址

    2. 请求类型
      POST

    发送邮件

    1. 请求地址

    2. 请求类型
      POST
  • 相关阅读:
    线程执行器(一)
    修改锁的公平性
    Spark学习视频整合
    使用读写锁实现同步数据访问
    使用锁实现同步
    使用工厂类创建线程
    线程的分组
    android手机状态解释,比方android.os.Build.VERSION.SDK
    Android-Dalvik指令集
    selenium使用Xpath定位之完整篇
  • 原文地址:https://www.cnblogs.com/tangchuanyang/p/6004106.html
Copyright © 2011-2022 走看看