[关闭]
@zhou333666 2017-08-11T13:04:31.000000Z 字数 2291 阅读 704

消息通知机制

未分类


消息通知是因为用户的行为需要通知给用户

如何实现一个消息通知

  1. 在消息模板配置相关设置及文本
  2. 调用MsgDeliveryProcessService.sendByUserId

或者调用MsgDeliveryProcessService.sendByReceiver(匿名,根据手机号发送)
3. 处理消息MsgDeliveryProcessService.handleDeliveryMsg处理消息

消息通知的卡槽

消息源类:MsgDeliveryProcessService
消息发送:MsgDeliveryProcessService.sendByUserId或MsgDeliveryProcessService.sendByReceiver
消息接收:MsgDeliveryProcessService.startEventListen

消息发送的json格式

  1. {
  2. "event": "msg.delivery",
  3. "data": {
  4. "msgDeliveryItems": [
  5. {
  6. "type": "SMS",
  7. "receivers": [
  8. "999"
  9. ],
  10. "anonymous": false,
  11. "tpl": {
  12. "code": "SMS_32590188",
  13. "params": {}
  14. },
  15. {
  16. "type": "WX",
  17. "receivers": [
  18. "999"
  19. ],
  20. "anonymous": false,
  21. "tpl": {
  22. "code": "",
  23. "params": {}
  24. },
  25. {
  26. "type": "APP",
  27. "receivers": [
  28. "999"
  29. ],
  30. "anonymous": false,
  31. "tpl": {
  32. "code": "",
  33. "params": {},
  34. "tpl": {
  35. "msgItemTpl": {
  36. "icon": "",
  37. "title": ",
  38. "persistTitle": ",
  39. "persistUrl": "
  40. }
  41. }
  42. ]
  43. }
  44. }

代码中实现消息通知

业务 templateCode 代码位置
短信验证码发送 VERIFYCODE PersonalCenterController.sendSmsCode
重置信息 RESETMSG 同上
惠民服务员短信验证码 SERVANTVERIFYCODE 同上
绑定会员卡短信验证码 CARDVERIFYCODE 同上
卖家短信验证码 SELLERVERIFYCODE 同上
发货通知 SENDGOODS LogisticsOrderService.sendGoodsMsg
惠民代送 SERVANTSENDGOODS LogisticsOrderService.servantSendGoodsMsg
惠民代收提取码 PICKCODE LogisticsServiceOrderService.sendPickCode
找人代付 BEHALFCODE BehalfPayOrderService.sendBehalfPayMsg
订单代付成功通知 BEHALFSUCCESS BehalfPayOrderService.sendBehalfPaySuccessMsg
退货审核结果 REFUNDSUCCESS ReturnOrderHSService.sendRefundMsg
工单生成 SERVANTORDER LogisticsOrderService.sendWorkOrderMsg
服务员审核结果 SERVANTAUDITSUCCESS ServantManager.sendServantAuditResultMsg

代码流程

卖家发货通知

  1. if(卖家发货成功){
  2. if(工单生成成功){
  3. 发送惠民服务员通知
  4. }
  5. 发送买家通知
  6. }
  7. 通知处理
  8. for(发送通知渠道){
  9. switch(渠道)
  10. case "sms"
  11. 发送短信通知;
  12. break;
  13. case "app"
  14. 发送app通知;
  15. break;
  16. case "wx"
  17. 发送微信通知;
  18. break;
  19. case "mail"
  20. 发送邮件通知;
  21. break;
  22. }

消息通知发送方式

短信,微信,app通知,邮件四种类型
消息发送的方式,内容通过模板配置,模板保存在(ly_text_template)表中

消息模板字段的含义

字段名 字段中文名 备注
category 类别 消息模板的类别;TRADE:交易物流消息,SERVANT:惠民消息
iconTpl 图标 图标显示在“我的消息中心”,如果商品有关的,图标会取商品的图标,所以模板的图标可以设为空
smsRequired 短信模板是否必须 true则会发短信,false不发短信
smsEnable 是否启用短信模板 true则启用发短信,false不启用发短信。smsRequired优先于smsEnable。比如smsRequired为true,smsEnable为false则发送短信
smsTplId 短信模板Id 阿里大鱼短信模板id
wxEnable 是否启用微信模板 true则启用,false不启用
wxTplId 微信模板Id true则启用,false不启用
wxTplTitle 微信模板标题 微信模板前缀
wxTplText 微信模板文本 微信模板后缀
appEnable 是否启用app模板
appTplTitle app模板标题
appTplText app模板文本
persistTplTitle 持久化消息模板标题
persistTplSummary 持久化消息模板概要
persistTplText 持久化消息模板文本
persistTplUrl 持久化消息模板链接

消息通知计数

显示位置

  1. “我的”:显示小红点,代表有消息未读
  2. "消息中心":显示未读消息数量
  3. app图标:显示当前推送数量

app图标计数逻辑

  1. 推送几条显示几条,打开app就清零。比如:推送两条消息,图标右上角显示2,用户打开app,2消失。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注