Skip to content

事件类型列表

本页面列出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) {
    // 发送短信通知...
}

配置事件处理器

在平台管理后台配置:

菜单路径:系统设置 → 事件处理器 → 新增

配置说明:

  1. 事件标识:选择要监听的事件(如 ORDER_PAY_SUCCESS)
  2. 处理器名称:描述性名称(如"订单支付-同步ERP")
  3. Magic API:选择处理事件的Magic API接口
  4. 执行方式:同步/异步
  5. 状态:启用/禁用

下一步

成都艾唯特软件有限公司