package com.ylx.message.enums;

import lombok.Getter;

@Getter
public enum TriggerEventEnum {

    // ================== 1. 订单提醒 (Order) ==================

    /** 1. 支付成功：订单支付成功 */
    ORDER_PAY_SUCCESS(1,"order_pay_success"),

    /** 2. 接单成功：商户确认接单 */
    ORDER_ACCEPT_SUCCESS(2,"order_accept_success"),

    /** 3. 商户已到达现场：商户到达现场 */
    MERCHANT_ARRIVED(3,"merchant_arrived"),

    /** 4. 订单完成：商户点击完成 */
    ORDER_COMPLETE(4,"order_complete"),

    /** 5. 待付款：订单提交未支付 */
    ORDER_PENDING_PAYMENT(5,"order_pending_payment"),

    /** 6. 商户未接单 */
    MERCHANT_NOT_ACCEPT(6,"merchant_not_accept"),

    /** 7. 订单失效 */
    ORDER_INVALID(7,"order_invalid"),


    // ================== 2. 售后提醒 (After-Sales) ==================

    /** 1. 退款成功 */
    REFUND_SUCCESS(8,"refund_success"),

    /** 2. 拒绝退款 */
    REFUND_REJECTED(9,"refund_rejected"),

    /** 3. 退款中 */
    REFUND_PROCESSING(10,"refund_processing"),


    // ================== 3. 系统通知 (System) ==================

    /** 优惠券到期提醒 */
    COUPON_EXPIRE_WARN(11,"coupon_expire_warn"),


    // ================== 4. 营销互动 (Marketing) ==================

    /** 获得奖品 */
    PRIZE_RECEIVED(12,"prize_received");

    /**
     * 事件编码
     */
    private final Integer code;

    /**
     * 事件描述
     */
    private final String desc;

    TriggerEventEnum(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

}
