消息中心开发

April28, 2015

工作文档,关于消息模块的功能开发。

数据库设计

  • 消息内容信息表

    message_info:存放所有的消息模板的数据信息,其中的content使用JS∞→△△¡✘☤message_info:存放所有的消息模板的数据信息,其中的content使用JSON进行存储,在使用的时候进行键值对的匹配
    字段名称字段类型默认值其他说明
    idINT(11)PK AI NN主✎웃键
    na⑦】♫meVARCHAR(100)NN消息名称
    typeTINYINT(4)NN消息通道类型,1-模板消息,2-短信,3-EC
    tenant_idINT(11)NN商户ID
    template_id_shortVARCHAR(100)模板库中模板的编号,有“TM”和“OPENTMTM”等形式
    template_idVARCHAR(200)模板ID,调用微信模板消息API时需要使用
    contextLONGTEXT内容json
    confLON⑧⑩◣GTEXT模板内容对应的本地解析数据
    ct◑✌✈mDATETIMENN创◐℉Ⅳ建时间
    utm◑◈TIMESTAMP自动存储当前时间▸©℃更新时间
  • 消息℃❥½规则表

    message_rule:存✉¿❥放所有的消息调用规则
    字段名称字段类型默认值其他说明
    idINT(11)PK AI N─☿☂N主键
    titleVARCHAR(100)NN规则名称
    ▌〗ⅡkeyVARCHAR(100)NN规则关键字
    tenant_idINT(11)NN商户ID
    info_idINT(11)NN消息内容ID-message_info
    to_userVARCHAR(45)NN接受人,1(用户),2(工作人员) eg:1,2
    work_idINT(11)工作人员ID
    statusTINYINT(4)1状态,1-有效▾•✿,0-无效
    ctmDATETIMEN⑥⊿°N创建时间
    utmTIMESTAMP☿ツ自动存储当前时间更新ⅨⅦⅥ时间
  • 消息工作人员接收表

    message_work_user:存放接收消息的工作人员信息
    字段名称字段类型默认值其他说明
    idINT(11)PK AI NN主键
    tenant_idINT(11)NN商户ID
    nameVARCHAR(100)NN用户姓名
    phoneVARCHAR(50)❅✪↗NN手机号┄☿码
    o◐⑩penidVARCHAR(500)NN
    keyVARCHAR(500)NN用于处理二维码扫描时候的唯一标识
    statusTINYINT(4)1状态,1-有效,0-无效
    ☣⑤✌ctmDATETIMENN创建时间
  • 发送消息表

    message_send:所有发送的消息信息
    字段名称字段类型默认值其他说明
    idINT(11)PK AI ×┈NN主键
    tenant_idINT(11)NN商户ID
    rule_idINT(11)NN规则ID-messa✞Σ↔ge_rule
    info_idINT(11)NN消息模板ID-message_info
    user_type♫ΘⅨTINYINT(4)▅✞NN发送人性质,1-触发用户,2-工作人员
    msgidINT(11)发送成功后返回的消息③⑧♋ID
    uidINT(11)根据user_type判断,user_type=1时:wx_user_info中的ID,user_type=2时:message_work_user中的ID
    statusTINY☁➳⊿INT(4)1状态,1-◂♡€成功,0-失败
    ctmDATETIMENN发送时间
    stmTIMESTAMP发送成功时间
  • SQL代码

CREATE TABLE `message_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL COMMENT '消息名称',
  `type` tinyint(4) NOT NULL COMMENT '消息通道类型,1-模板消息,2-短信,3-EC',
  `tenant_id` int(11) NOT NULL,
  `template_id_short` varchar(100) DEFAULT NULL COMMENT '模板库中模板的编号,有“TM”和“OPENTMTM”等形式',
  `template_id` varchar(100) DEFAULT NULL,
  `content` longtext COMMENT '内容json',
  `conf` longtext COMMENT '模板内容对应的本地解析数据',
  `ctm` datetime NOT NULL,
  `utm` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `message_rule` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '消息触发事件表',
  `title` varchar(100) NOT NULL,
  `key` varchar(100) NOT NULL COMMENT '规则关键字',
  `tenant_id` int(11) NOT NULL COMMENT '商户ID',
  `info_id` int(11) NOT NULL COMMENT '消息规则',
  `to_user` varchar(45) NOT NULL COMMENT '接受人,1(用户),2(工作人员) eg:1,2',
  `work_id` int(11) DEFAULT NULL,
  `status` tinyint(4) DEFAULT '1' COMMENT '状态,1-有效,0-无效',
  `ctm` datetime NOT NULL,
  `utm` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `message_send` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tenant_id` int(11) NOT NULL,
  `rule_id` int(11) NOT NULL COMMENT '规则ID-message_rule',
  `info_id` int(11) NOT NULL COMMENT '消息模板ID-message_info',
  `user_type` tinyint(4) NOT NULL COMMENT '发送人性质,1-触发用户,2-工作人员',
  `msgid` int(11) DEFAULT NULL COMMENT '发送成功后返回的消息ID',
  `uid` int(11) DEFAULT NULL COMMENT '根据user_type判断,user_type=1时:wx_user_info中的ID,user_type=2时:message_work_user中的ID',
  `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态,0-未发送,1-成功,2-发送中,3-发送失败',
  `ctm` datetime NOT NULL COMMENT '发送时间',
  `stm` timestamp NULL DEFAULT NULL COMMENT '发送成功时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `message_work_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tenant_id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `phone` varchar(50) DEFAULT NULL,
  `openid` varchar(500) DEFAULT NULL,
  `key` varchar(500) DEFAULT NULL COMMENT '用于处理二维码扫描时候的唯一标识',
  `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态,1-有效,0-无效',
  `ctm` datetime NOT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

接口实现流程图

游客评论区

#1 ☽☆ 匿名游客2021-04-16 21:17:29 /回复

做个头像测试


#2 大魔王2021-06-30 01:52:33 /回复

测试成功


#3 小野aji人2021-03-02 19:28:×▉☤11 /回复

虽然看不懂,但是顶一①♚♚发(

#2020-11-04 琴吹Emi←✉➳na2020-12-21 09:57:23 /回复

■◈▲哇哦

#4 匿名游客2020-09-26 14:37:00 /回复

test


#5 ▾✡Ⅳ 大魔王2020-10-01 14:56:19 /回复

测试下邮箱的正则判断


发表评论

(°✞£请不要填写空的评论)
提交评论使用QQ登录