事件类型列表
本页面列出MISEB系统支持的所有事件类型(EventConstants)。
事件类型概览
| 分类 | 事件数量 | 说明 |
|---|---|---|
| 用户事件 | 14个 | 用户注册、登录、会员等 |
| 订单事件 | 12个 | 订单全生命周期事件 |
| 商品事件 | 4个 | 商品状态变更事件 |
| 营销事件 | 6个 | 优惠券、拼团、秒杀等 |
| 分销事件 | 5个 | 分销商申请、佣金提现 |
| 系统事件 | 2个 | 系统启动、定时任务 |
事件数据结构
所有事件都使用 MisebEvent 结构:
java
public class MisebEvent {
private String eventKey; // 事件标识
private Object payload; // 业务数据
private Long timestamp; // 时间戳
}payload说明
payload 通常是业务数据的标识(如订单号、用户ID),在Magic API中可通过数据库查询获取完整信息。
用户事件
| 事件标识 | 说明 | payload类型 |
|---|---|---|
| USER_REGISTER | 用户注册 | 用户ID |
| USER_LOGIN_SUCCESS | 用户登录成功 | 用户ID |
| USER_UPDATE_INFO | 用户信息修改 | 用户ID |
| USER_UPDATE_PHONE | 用户手机号修改 | 用户ID |
| USER_CHANGE_PASSWORD | 用户密码修改 | 用户ID |
| USER_BIND_WECHAT | 用户绑定微信 | 用户ID |
| USER_BIND_ALIPAY | 用户绑定支付宝 | 用户ID |
| USER_LOGOFF | 用户注销 | 用户ID |
| USER_SIGN_IN | 用户签到成功 | 用户ID |
| USER_POINTS_EXCHANGE | 用户积分兑换成功 | 兑换记录ID |
| USER_RECHARGE_SUCCESS | 用户充值成功 | 充值订单号 |
| USER_CONSUME_SUCCESS | 用户消费成功 | 消费订单号 |
| USER_LEVEL_UP | 会员等级升级 | 用户ID |
| USER_PAID_MEMBER_BUY | 购买付费会员成功 | 会员订单ID |
详见:用户事件
订单事件
| 事件标识 | 说明 | payload类型 |
|---|---|---|
| ORDER_CREATE_SUCCESS | 订单创建成功 | 订单号 |
| ORDER_CANCEL | 订单取消 | 订单号 |
| ORDER_PAY_SUCCESS | 订单支付成功 | 订单号 |
| ORDER_DELIVERY_PART | 订单部分发货成功 | 订单号 |
| ORDER_DELIVERY_ALL | 订单全部发货成功 | 订单号 |
| ORDER_CONFIRM_RECEIPT | 订单确认收货 | 订单号 |
| ORDER_COMMENT | 订单评价 | 订单号 |
| ORDER_REFUND_APPLY | 订单申请退款成功 | 退款订单号 |
| ORDER_REFUND_AGREE | 订单同意退款 | 退款订单号 |
| ORDER_REFUND_REFUSE | 订单拒绝退款 | 退款订单号 |
| ORDER_REFUND_CANCEL | 订单取消退款 | 退款订单号 |
| ORDER_RETURN_COMPLETE | 订单退货完成 | 退款订单号 |
详见:订单事件
商品事件
| 事件标识 | 说明 | payload类型 |
|---|---|---|
| PRODUCT_CREATE_SUCCESS | 商品创建成功 | 商品ID |
| PRODUCT_UPDATE | 商品更新 | 商品ID |
| PRODUCT_ON_SHELF | 商品上架成功 | 商品ID |
| PRODUCT_OFF_SHELF | 商品下架成功 | 商品ID |
详见:商品事件
营销事件
| 事件标识 | 说明 | payload类型 |
|---|---|---|
| MARKETING_COUPON_RECEIVE | 领取优惠券 | 优惠券领取记录ID |
| MARKETING_COUPON_USE | 使用优惠券 | 优惠券使用记录ID |
| MARKETING_GROUP_JOIN | 参与拼团成功 | 拼团记录数据对象 |
| MARKETING_GROUP_SUCCESS | 拼团完成 | 拼团ID |
| MARKETING_GROUP_FAIL | 拼团失败 | 拼团ID |
| MARKETING_SECKILL_SUCCESS | 参与秒杀成功 | 秒杀订单号 |
详见:营销事件
分销事件
| 事件标识 | 说明 | payload类型 |
|---|---|---|
| DISTRIBUTION_APPLY | 申请成为分销商 | 申请ID |
| DISTRIBUTION_AUDIT_PASS | 分销商审核通过 | 分销商ID |
| DISTRIBUTION_WITHDRAW_APPLY | 佣金提现申请 | 提现记录ID |
| DISTRIBUTION_WITHDRAW_SUCCESS | 佣金提现打款成功 | 提现记录ID |
| DISTRIBUTION_WITHDRAW_FAIL | 佣金提现申请失败 | 提现记录ID |
详见:分销事件
系统事件
| 事件标识 | 说明 | payload类型 |
|---|---|---|
| SYSTEM_STARTUP | 系统启动 | 启动时间 |
| SYSTEM_SCHEDULE_JOB | 定时任务执行 | 任务名称 |
事件处理示例
获取事件数据
javascript
// 获取事件信息
var event = payload.event;
var eventKey = event.eventKey; // 事件标识
var data = event.payload; // 业务数据(通常是ID)
var timestamp = event.timestamp; // 事件时间
log.info("收到事件: eventKey={}, payload={}", eventKey, data);根据payload查询详情
由于payload通常只包含ID,需要查询数据库获取完整信息:
javascript
// 订单支付成功事件处理
var orderNo = event.payload; // payload是订单号
// 查询订单详情
var order = db.selectOne(`
SELECT o.*, m.mer_name, u.nickname, u.phone
FROM eb_store_order o
LEFT JOIN eb_merchant m ON o.mer_id = m.id
LEFT JOIN eb_user u ON o.uid = u.uid
WHERE o.order_id = ?
`, orderNo);
// 查询订单商品
var products = db.select(`
SELECT * FROM eb_store_order_info
WHERE order_no = ?
`, orderNo);
log.info("订单详情: {}", order);用户注册事件处理
javascript
// 用户注册事件处理
var userId = event.payload; // payload是用户ID
// 查询用户信息
var user = db.selectOne(`
SELECT uid, nickname, avatar, phone, create_time
FROM eb_user
WHERE uid = ?
`, userId);
// 发放新人优惠券
db.insert(`
INSERT INTO eb_store_coupon_user (uid, coupon_id, status, create_time)
VALUES (?, ?, 0, NOW())
`, userId, 1); // 假设优惠券ID为1
// 同步到CRM
http.post(env.get('CRM_API_URL') + '/customer/create', {
headers: { 'Authorization': 'Bearer ' + env.get('CRM_TOKEN') },
body: {
externalId: 'miseb_' + user.uid,
name: user.nickname,
phone: user.phone,
source: 'MISEB商城'
}
});
log.info("用户注册处理完成: userId={}", userId);拼团事件处理
拼团事件的payload可能包含更多数据:
javascript
// 拼团成功事件
var groupData = event.payload; // 拼团记录数据对象
log.info("拼团成功: groupId={}, orderId={}", groupData.groupId, groupData.orderId);
// 发送拼团成功通知
var members = db.select(`
SELECT u.phone, u.nickname
FROM eb_group_buy_record r
LEFT JOIN eb_user u ON r.uid = u.uid
WHERE r.group_id = ?
`, groupData.groupId);
for (member in members) {
// 发送短信通知...
}配置事件处理器
在平台管理后台配置:
菜单路径:系统设置 → 事件处理器 → 新增
配置说明:
- 事件标识:选择要监听的事件(如 ORDER_PAY_SUCCESS)
- 处理器名称:描述性名称(如"订单支付-同步ERP")
- Magic API:选择处理事件的Magic API接口
- 执行方式:同步/异步
- 状态:启用/禁用
下一步
- 订单事件 - 订单事件详情
- 用户事件 - 用户事件详情
- 商品事件 - 商品事件详情
- 事件+Magic-API - 完整实战示例
