Skip to content

notice 消息发送开发

消息发送概述

消息发送包括:SMS 短信、微信模板消息、微信小程序提醒消息

  • 短信(SMS):通过第三方短信服务商发送短信通知

  • 微信公众号(Wechat):发送公众号模板消息

  • 微信小程序(Weapp):发送小程序订阅消息

文件位置

如果开发者直接是修改 niucloud-admin 框架,文件路径为:niucloud-core/src/main/resources/core/loader/notice/ 如果开发者开发一个插件,文件路径为:niucloud-addon/插件名称/src/main/resources/插件名称/loader/notice/

首先定义一个模版消息提醒类型

notice.json 消息模板配置

关键代码参考:


    {
    "shop_order_pay": {     //消息模板key
      "addon": "shop",  // 插件key
      "key": "shop_order_pay",    // 消息模板key
      "receiver_type": 1,   // 消息接收者,1表示会员接收,0表示平台用户接收 
      "name": "订单支付成功通知",   // 模板名称,消息类型的名称
      "title": "订单支付成功后发送",   // 使用场景
      "async": true,     // true:同步,false:异步,根据具体的业务场景定义。比如短信验证码,需要返回值,就是同步。比如订单完成消息,这种就是异步
      "variable": {
        "order_money": "订单总额",
        "pay_time": "支付时间",
        "create_time": "支付时间",
        "body": "订单内容",
        "order_no": "订单编号",
        "url": "订单链接"
      },
      "driver": "com.niu.shop.service.core.notice.driver.ShopOrderPay"  // 功能的具体执行类
    }

定义消息类型后,会在系统中自动加载:

对定义的模版消息提醒类型,定义不同类型的实现(短信、微信公众号模板消息、微信小程序订阅消息)

开发者先定义一个消息提醒类型。在实际的应用中,这种消息提醒可能只发送短信,也可能会同时发送短信,微信模版消息,小程序消息。开发者需要在不同的文件中定义不同类型的实现

sms.json 定义短信消息提醒

关键代码参考:

{
  "shop_order_pay": {
    "content": "您购买的{body}已支付成功。查看详情{url}"
  }
}

wechat.json 定义微信公众号模版消息提醒

关键代码参考:

 {
    "shop_order_pay": {     // 消息模板key
      "temp_key": "43216",  // 模板消息ID
      "content": [  // 模板内容
        [
          "下单时间",
          "{create_time}",
          "time4"
        ],
        [
          "订单编号",
          "{order_no}",
          "character_string2"
        ],
        [
          "商品信息",
          "{body}",
          "thing3"
        ],
        [
          "订单金额",
          "{order_money}",
          "amount5"
        ]
      ],
      "keyword_name_list": [    // 选用的类目模板的关键词,按顺序传入,如果为空,或者关键词不在模板库中,会返回40246错误码
        "下单时间",
        "订单号",
        "商品名称",
        "支付金额"
      ],
      "tips": "使用该消息请将微信公众号服务类目选择为:生活服务——>百货/超市/便利店"     // 提示信息
    }
 }

weapp.json 定义微信小程序订阅消息提醒

关键代码参考:

{
	"shop_order_pay": {     // 消息模板key
		"tid": "30808",     // 模板编号
		"content": [        // 模板内容
			[
				"订单编号",
				"{order_no}",
				"character_string1"
			],
			[
				"下单时间",
				"{create_time}",
				"time2"
			],
			[
				"商品名称",
				"{body}",
				"thing4"
			],
			[
				"订单金额",
				"{order_money}",
				"amount3"
			]
		],
		"kid_list": [   // 开发者自行组合好的模板关键词列表,关键词顺序可以自由搭配(例如 [3,5,4] 或 [4,5,3]),最多支持5个,最少2个关键词组合
			1,
			2,
			4,
			3
		],
		"scene_desc": "订单支付之后通知",   // 服务场景描述,15个字以内
		"tips": "使用该消息请在小程序的服务类目中添加类目:一级类目:商业服务 二级类目:软件\/建站\/技术开发"   // 提示信息
	}
}

基于 MIT 协议发布