package com.zm.order.tool.server.stream.enums;

import com.zm.order.enums.OrderStatus;
import com.zm.order.tool.server.enums.BizTypeEnum;

/**
 * 订单状态映射
 *
 * <p>
 *
 * </p>
 *
 * @author nianchang
 * @date 2023/03/10 6:01 下午
 */
public enum OrderStatusMapping {

    /**
     * 烘焙待支付
     */
    BAKERY_UN_PAY(BizTypeEnum.BAKING.getType(), 1, OrderStatus.UN_PAY.getType()),
 
    /**
     * 烘焙已支付
     */
    BAKERY_PAYED(BizTypeEnum.BAKING.getType(), 2, OrderStatus.PAYED.getType()),

    /**
     * 烘焙支付中
     */
    BAKERY_PAYING(BizTypeEnum.BAKING.getType(), 3, OrderStatus.IN_PAY.getType()),

    /**
     * 烘焙已完成
     */
    BAKERY_COMPLETED(BizTypeEnum.BAKING.getType(), 4, OrderStatus.COMPLETED.getType()),

    /**
     * 烘焙已关闭
     */
    BAKERY_CLOSED(BizTypeEnum.BAKING.getType(), 8, OrderStatus.CLOSED.getType()),

    ;

    /**
     * 业务类型
     *
     * {@link BizTypeEnum}
     */
    private Integer bizType;

    /**
     * 旧枚举值
     */
    private Integer oldCode;

    /**
     * 新枚举值
     */
    private Integer newCode;

    public Integer getBizType() {
        return bizType;
    }

    public Integer getOldCode() {
        return oldCode;
    }

    public Integer getNewCode() {
        return newCode;
    }

    OrderStatusMapping(Integer bizType, Integer oldCode, Integer newCode) {
        this.bizType = bizType;
        this.oldCode = oldCode;
        this.newCode = newCode;
    }
}
