package com.seer.teach.mall.shipping.jt.service;

import lombok.Getter;

public class JtExpressEnums {
    /**
     * expressType: 快递类型
     */
    @Getter
    public enum ExpressType {
        STANDARD("EZ", "标准快递"),
        TU_YOU_DA("TYD", "兔优达");

        private final String code;
        private final String desc;

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

    /**
     * orderType: 订单类型
     */
    @Getter
    public enum OrderType {
        WALK_IN_CUSTOMER("1", "散客"),
        MONTHLY_SETTLEMENT("2", "月结");

        private final String code;
        private final String desc;

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

    /**
     * deliveryType: 派送方式
     */
    @Getter
    public enum DeliveryType {
        DELIVERY_TO_HOME("03", "派送上门"),
        PICKUP_AT_SITE("04", "站点自提"),
        PICKUP_AT_CABINET("05", "快递柜自提"),
        PICKUP_AT_COLLECTION_POINT("06", "代收点自提");

        private final String code;
        private final String desc;

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

    /**
     * serviceType: 服务类型
     */
    @Getter
    public enum ServiceType {
        DOOR_PICKUP("01", "上门取件"),
        STORE_DROP_OFF("02", "门店寄件");

        private final String code;
        private final String desc;

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

    /**
     * goodsType: 货物类型
     */
    @Getter
    public enum GoodsType {
        FILE("bm000001", "文件"),
        ELECTRONICS("bm000002", "数码产品"),
        DAILY_NECESSITIES("bm000003", "生活用品"),
        FOOD("bm000004", "食品"),
        CLOTHING("bm000005", "服饰"),
        OTHER("bm000006", "其他"),
        FRESH("bm000007", "生鲜类"),
        FRAGILE("bm000008", "易碎品"),
        LIQUID("bm000009", "液体");

        private final String code;
        private final String desc;

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

    /**
     * payType: 支付方式
     */
    @Getter
    public enum PayType {
        PREPAID_MONTHLY("PP_PM", "寄付月结"),
        CASH_ON_DELIVERY("CC_CASH", "到付现结");

        private final String code;
        private final String desc;

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

}
