package com.ms.biz.consts;

import java.util.ArrayList;
import java.util.List;

public class DoudianMsgConst {

    public static final Integer TAG_TRADE_CREATE = 100;//订单创建消息
    public static final Integer TAG_TRADE_PAID = 101;//订单支付/确认消息
    public static final Integer TAG_TRADE_SELLER_SHIP = 102;//卖家发货消息
    public static final Integer TAG_TRADE_SUCCESS = 103;//交易完成消息
    public static final Integer TAG_TRADE_LOGISTICS_CHANGED = 104;//发货物流变更消息
    public static final Integer TAG_TRADE_ADDRESS_CHANGED = 105;//买家收货信息变更消息
    public static final Integer TAG_TRADE_CANCELED = 106;//订单取消消息
    public static final Integer TAG_TRADE_PARTLY_SELLER_SHIP = 108;//订单部分发货消息
    public static final Integer TAG_TRADE_AMOUNT_CHANGED = 109;//订单金额修改消息
    public static final Integer TAG_TRADE_PENDING = 110;//订单已支付待处理
    public static final Integer TAG_TRADE_ADDRESS_CHANGE_APPLIED = 111;//买家收货信息变更申请消息
    public static final Integer TAG_TRADE_APPOINTMENT = 112;//预约发货提交消息
    public static final Integer TAG_TRADE_MEMO_MODIFY = 113;//订单商家备注消息推送
    public static final Integer TAG_TRADE_LOGISTICS_ORDER_TAG_PUSH = 10003;//订单标记推送

    public static final List<Integer> ALL_TRADE_TAGS = new ArrayList<>();
    static {
        ALL_TRADE_TAGS.add(TAG_TRADE_CREATE);
        ALL_TRADE_TAGS.add(TAG_TRADE_PAID);
        ALL_TRADE_TAGS.add(TAG_TRADE_SELLER_SHIP);
        ALL_TRADE_TAGS.add(TAG_TRADE_SUCCESS);
        ALL_TRADE_TAGS.add(TAG_TRADE_LOGISTICS_CHANGED);
        ALL_TRADE_TAGS.add(TAG_TRADE_ADDRESS_CHANGED);
        ALL_TRADE_TAGS.add(TAG_TRADE_CANCELED);
        ALL_TRADE_TAGS.add(TAG_TRADE_PARTLY_SELLER_SHIP);
        ALL_TRADE_TAGS.add(TAG_TRADE_AMOUNT_CHANGED);
        ALL_TRADE_TAGS.add(TAG_TRADE_PENDING);
        ALL_TRADE_TAGS.add(TAG_TRADE_ADDRESS_CHANGE_APPLIED);
        ALL_TRADE_TAGS.add(TAG_TRADE_APPOINTMENT);
        ALL_TRADE_TAGS.add(TAG_TRADE_MEMO_MODIFY);
        ALL_TRADE_TAGS.add(TAG_TRADE_LOGISTICS_ORDER_TAG_PUSH);
    }


    public static final Integer TAG_REFUND_ARBITRATE_APPLIED = 212;//买家发起客服仲裁消息
    public static final Integer TAG_REFUND_ARBITRATE_AUDITED = 216;//客服仲裁结果消息
    public static final Integer TAG_REFUND_ARBITRATE_CANCELLED = 215;//买家取消仲裁消息
    public static final Integer TAG_REFUND_ARBITRATE_SUBMITED = 214;//商家上传仲裁凭证消息
    public static final Integer TAG_REFUND_ARBITRATE_SUBMITING = 213;//客服要求商家上传凭证消息
    public static final Integer TAG_REFUND_BUYER_RETURN_GOODS = 203;//买家退货给卖家消息
    public static final Integer TAG_REFUND_EXCHANGE_COMFIRMED = 211;//确认收货并二次发货成功
    public static final Integer TAG_REFUND_EXPIRATION_CHANGE = 209;//售后超时时长变更消息
    public static final Integer TAG_REFUND_REFUND_AGREED = 201;//同意退款消息
    public static final Integer TAG_REFUND_REFUND_CLOSED = 207;//售后关闭消息
    public static final Integer TAG_REFUND_REFUND_CREATED = 200;//买家发起售后申请消息
    public static final Integer TAG_REFUND_REFUND_MODIFIED = 208;//买家修改售后申请消息
    public static final Integer TAG_REFUND_REFUND_REFUSED = 204;//拒绝退款消息
    public static final Integer TAG_REFUND_REFUND_SUCCESS = 206;//退款成功消息
    public static final Integer TAG_REFUND_RETURN_APPLY_AGREED = 202;//同意退货申请消息
    public static final Integer TAG_REFUND_RETURN_APPLY_REFUSED = 205;//拒绝退货申请消息
    public static final Integer TAG_REFUND_RETURN_SPECIAL_REFUND = 224;//特殊权益售后消息
    public static final Integer TAG_REFUND_RETURN_SPECIAL_REFUND_SUCCESS = 225;//特殊权益售后退款成功消息
    public static final Integer TAG_REFUND_RESEND_CONFIRMED = 226;//补寄单商家补寄消息
    public static final Integer TAG_REFUND_RESEND_AGREE = 227;//商家同意补寄消息

    public static final List<Integer> ALL_AFTERSALE_TAGS = new ArrayList<>();
    static {
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_ARBITRATE_APPLIED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_ARBITRATE_AUDITED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_ARBITRATE_CANCELLED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_ARBITRATE_SUBMITED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_ARBITRATE_SUBMITING);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_BUYER_RETURN_GOODS);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_EXCHANGE_COMFIRMED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_EXPIRATION_CHANGE);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_REFUND_AGREED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_REFUND_CLOSED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_REFUND_CREATED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_REFUND_MODIFIED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_REFUND_REFUSED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_REFUND_SUCCESS);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_RETURN_APPLY_AGREED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_RETURN_APPLY_REFUSED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_RETURN_SPECIAL_REFUND);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_RETURN_SPECIAL_REFUND_SUCCESS);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_RESEND_CONFIRMED);
        ALL_AFTERSALE_TAGS.add(TAG_REFUND_RESEND_AGREE);
    }

    /**
     * 代打代发:商家修改备注消息
     */
    public static final Integer TAG_IOP_TRADE_UPDATE_REMARK = 500;

    /**
     * 代打代发:商家订单分配消息
     */
    public static final Integer TAG_IOP_TRADE_DISTRIBUTION = 501;

    /**
     * 代打代发:商家取消分配订单消息
     */
    public static final Integer TAG_IOP_TRADE_DISTRIBUTION_CANCEL = 503;

    /**
     * 代打代发:修改收件人信息消息
     */
    public static final Integer TAG_IOP_TRADE_UPDATE_RECEIVER = 504;

    /**
     * 代打代发:代打运单回传状态变更消息
     */
    public static final Integer TAG_IOP_TRADE_STATUS_RETURN = 505;

    public static final List<Integer> ALL_IOP_TRADE_TAGS = new ArrayList<>();

    static {
        ALL_IOP_TRADE_TAGS.add(TAG_IOP_TRADE_UPDATE_REMARK);
        ALL_IOP_TRADE_TAGS.add(TAG_IOP_TRADE_DISTRIBUTION);
        ALL_IOP_TRADE_TAGS.add(TAG_IOP_TRADE_DISTRIBUTION_CANCEL);
        ALL_IOP_TRADE_TAGS.add(TAG_IOP_TRADE_UPDATE_RECEIVER);
        ALL_IOP_TRADE_TAGS.add(TAG_IOP_TRADE_STATUS_RETURN);
    }



    public static final Integer SPI_CODE_SUCCESS = 0;//业务处理成功
    public static final Integer SPI_CODE_CHECK_SIGN_FAIL = 100001;//验签失败
    public static final Integer SPI_CODE_PARAM_ERROR = 100002;//	参数错误
    public static final Integer SPI_CODE_SYSTEM_ERROR = 100003;//系统错误
    public static final Integer SPI_CODE_CHANGE_FAIL = 200023;//系统异常，地址修改失败建议联系商家修改
    public static final Integer SPI_CODE_ORDER_ALREADY_DELIVERY = 200015;//订单已经发货无法修改地址
    public static final Integer SPI_CODE_ORDER_FINISH = 200021;//订单已经签收无法修改地址
    public static final Integer SPI_CODE_ORDER_NOT_EXIST = 200022;//订单不存在，请稍后重试
    public static final Integer SPI_CODE_ORDER_IN_AFTER_SALE = 200002;//订单进入审单不支持改地址
}
