消息通知与事件中心
1. 概述
MISEB 系统内置了一个分布式的事件通知中心,用于在系统关键业务节点触发事件。通过配置事件处理器,可以灵活地定义业务逻辑(如发送短信、推送模板消息、记录日志等),而无需修改核心代码。
系统支持基于 Redis 的事件发布与订阅,确保高并发下的性能和可靠性。
2. 标准事件列表
系统目前预定义了以下标准事件,您可以在“事件通知管理”中针对这些事件配置相应的处理器:
用户相关
USER_REGISTER: 用户注册成功USER_UPDATE_INFO: 用户信息修改USER_UPDATE_PHONE: 用户手机号修改USER_LOGOFF: 用户注销USER_SIGN_IN: 用户签到成功USER_POINTS_EXCHANGE: 用户积分兑换成功USER_RECHARGE_SUCCESS: 用户充值成功USER_CONSUME_SUCCESS: 用户消费成功(余额减少)
订单相关
ORDER_CREATE_SUCCESS: 订单创建成功ORDER_PAY_SUCCESS: 订单支付成功ORDER_DELIVERY_PART: 订单部分发货成功ORDER_DELIVERY_ALL: 订单全部发货成功ORDER_REFUND_APPLY: 订单申请退款成功ORDER_REFUND_AGREE: 订单同意退款ORDER_RETURN_COMPLETE: 订单退货完成
商品相关
PRODUCT_CREATE_SUCCESS: 商品创建成功PRODUCT_ON_SHELF: 商品上架成功PRODUCT_OFF_SHELF: 商品下架成功
3. 事件处理器配置
管理员可以在 系统维护 -> 事件通知管理 中配置事件处理器。
3.1 处理器字段说明
| 字段名 | 说明 | 备注 |
|---|---|---|
| 事件标识 (Event Key) | 触发事件的唯一标识 | 必须填写标准事件列表中的 Key,如 ORDER_PAY_SUCCESS |
| 处理器名称 | 业务描述 | 例如“订单支付成功发送短信通知” |
| Magic API ID | 关联的 Magic API 接口 ID | 系统将调用指定的 Magic API 脚本执行具体逻辑 |
| 执行方式 | 同步/异步 | 推荐使用异步执行,以免阻塞主业务流程 |
| 状态 | 启用/禁用 | 控制处理器是否生效 |
3.2 配置示例
假设需要在“用户注册成功”后赠送 100 积分,可以按如下步骤配置:
开发 Magic API:
- 在 Magic API 编辑器中创建一个新接口(例如
user/register/gift_points)。 - 编写脚本逻辑:获取
context.payload中的用户 ID,调用积分服务增加积分。
- 在 Magic API 编辑器中创建一个新接口(例如
配置事件处理器:
- 事件标识:
USER_REGISTER - 处理器名称:注册赠送积分
- Magic API ID:选择刚才创建的接口
- 执行方式:异步
- 状态:启用
- 事件标识:
4. 扩展说明
如果您需要新增自定义事件,可以通过二次开发的方式在 EventConstants 中添加定义,并在业务代码中调用 eventPublisher.publish 发布事件。新增的事件将自动支持上述配置流程。
