package com.zfire.mall.manager.constant;

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;

public class Constant {

    //校验的token
    public static final String TOKEN_NAME = "x-token";
    //不可删除的角色
    public static final String NOT_DEL_ROLE_NAME = "经销商";
    public static final String NOT_DEL_ROLE_YWY = "业务员";
    public static final String NOT_DEL_SHANGYONG_ROLE_YWY = "商用业务员";
    public static final List<String> NOT_DEL_ROLE_SPY = Arrays.asList("商用登录审核员", "商用文员");
    //业务员
    public static final String NOT_DEL_ROLE_NAME2 = "财务";
    //商用
    public static final String MAIN_SY = "商用";
    //收款单
    public static final String BILL_TYPE_SKD = "收款单";
    //退款单
    public static final String BILL_TYPE_TKD = "退款单";
    public static final String BILL_TYPE_FKD = "付款单";
    //短信验证码过期时间
    public static final Integer SMS_EXPIRE = 10 * 60;
    //收款单反审
    public static final String BILL_TYPE_SKDFS = "收款单";
    //退款单反审
    public static final String BILL_TYPE_TKDFS = "退款单";
    public static final String BILL_TYPE_FKDFS = "付款单";
    public static final String BILL_TYPE_OFKD = "其他收款单";
    //单据类型
    public static final String BILLTYPE_FLD_ZR = "返利单(折让)";

    //经销商
    public static final String REDIS_ROLE_DEALERS = "dealers";
    //业务端
    public static final String REDIS_ROLE_BUSINESS = "business";

    //押金状态
    public static final String STATUS_NOT_START = "未开始";

    public static final String STATUS_EFFECT = "生效中";

    public static final String STATUS_END = "已结束";

    //币别
    public static final String K3_AMOUNT_TYPE_RMB = "PRE001";

    //登录方式 1.手机号 2.账号
    public static final String LOGIN_TYPE_MOBILE = "mobile";
    public static final String LOGIN_TYPE_ACCOUNT = "account";


    //物流嘉贤编码
    public static final String JIA_XIAN_WU_LIU = "001";

    //请求地址
    public static final String POST_URL_ONE = "127.0.0.1";
    //请求地址
    public static final String POST_URL_TWO = "121.43.111.127";
    //请求地址
    public static final String POST_URL_THREE = "120.25.84.238";

    public static final String CATEGORY_NUMBER_ONE = "CHLB13_SYS";

    public static final String CATEGORY_NUMBER_TWO = "CHLB14_SYS";

    public static final String CATEGORY_NUMBER_THREE = "CHLB09_SYS";

    //其他入库出库方向
    public static final String OTHER_STOCK_IN = "GENERAL";
    public static final String OTHER_STOCK_OUT = "RETURN";


    public static final String RETAIL_UPDATE = "RETAIL";
    public static final String ENGIN_UPDATE = "ENGIN";

    public static final BigDecimal STORAGE_FEE_ONE = new BigDecimal("0.0003");
    public static final BigDecimal STORAGE_FEE_TWO = new BigDecimal("0.0004");


    public static final BigDecimal STORAGE_FEE_SHENGHUO_ONE = new BigDecimal("0.003");
    public static final BigDecimal STORAGE_FEE_SHENGHUO_TWO = new BigDecimal("0.004");


    public static final String GUANG_ZHOU_WEBSIT_ID = "1552238700943994882";
    public static final String FO_SHAN_WEBSIT_ID = "1552227230273335298";


    //其他入库出库方向
    public static final String SUPPLY_ORDER = "supply_order";
    public static final String SUPPLY_CUSTOMER_ORDER = "supply_customer_order";
    public static final String SUPPLY_CUSTOMER_ORDER_REFUND = "supply_customer_order_refund";
    public static final String SUPPLY_CUSTOMER_STOCK_ACC = "supply_customer_stock_acc";
    public static final String SUPPLY_CUSTOMER_CUSTOMER_SYS = "supply_customer";


    public static final String SUPPLY_CHANGE_NUM = "SUPPLY_CHANGE_NUM";


    //嘉贤子经销商权限
    public static final String SUPPLY_ROLE_CHILD_USER = "1646722256677675009";

    //商户经销商权限
    public static final String SUPPLY_ROLE_CHILD_GONGCHENG = "1685182772777353218";
    public static final String SHANGYONGJINGXIAOSHANG = "1001";
    public static final String SHANGYONGYEWUYUAN = "1698637034885181441";

    public class Ali {
        public final static String ACCESS_KEY_ID = "LTAI5tN5RSgMtdGDrNDAqMLT";
        public final static String ACCESS_KEY_SECERT = "mvWc8VtBFOj10DIa9E1eKiw3F0NRxf";
        public final static String OSS_BUCKET_NAME="zfire-supply";
        public final static String OSS_ENDPOINT_WW = "oss-cn-guangzhou.aliyuncs.com/";
        public final static String OSS_ENDPOINT = "oss-cn-guangzhou-internal.aliyuncs.com/";
        public final static String OSS_TYPE_PIC = "uploadfile/";
    }

    public class Ali_DEV {
        public final static String ACCESS_KEY_ID = "LTAI4GK1q4mnpCFbonMd1pji";
        public final static String ACCESS_KEY_SECERT = "E5LW0V1H8HBxqjKkExIxaXUgSyex6C";
        public final static String OSS_BUCKET_NAME="zfiresupply";
        public final static String OSS_ENDPOINT_WW = "oss-cn-hangzhou.aliyuncs.com/";
        public final static String OSS_ENDPOINT = "oss-cn-hangzhou-internal.aliyuncs.com/";
        public final static String OSS_TYPE_PIC = "uploadfile/";
    }

    public class File {
        //系统通告附件
        public final static String NOTICE = "notice_file";
    }

    public class RedisPrefix {

        //工单token
        public final static String TOKEN_GONGDAN = "SETTLE:TOKEN_GONGDAN:TOKEN";

        //验证码
        public final static String VERIFICATION = "supply:verification:";
        //管理后台登录会话
        public final static String TOKEN_MGR = "supply:token:mgr:";
        //库存锁
        public final static String LOCK_STOCK = "supply:lock:stock:";
        //金蝶任务同步锁
        public final static String LOCK_K3_TASK = "supply:lock:k3:task:";
        // 发送短信
        public final static String VALIDA_PHONE_SMS = "supply:lock:valida:phone:sms:";

        // 登录验证码
        public final static String LOGIN_MOBILE_SMS = "supply:login:mobile:sms:";

        // 库存redis锁
        public final static String STOCK_RESERVE = "supply:stock_reserve";

        // 提货管理redis锁
        public final static String PICK_MANAGER = "supply:pick:manager";

        // 提货管理验证码
        public final static String VALIDA_PICK_MANAGER = "supply:valida:pick:manager";

        // 提货管理redis锁
        public final static String PRINT_PICK_MANAGER = "supply:print:pick:manager";

        public final static String GEN_BILL_ID = "supply:material:bill:";

        // 计划单redis锁
        public final static String PLAN_ORDER = "supply:plan:order";

        // 申请单redis锁
        public final static String INVOICE_APPLICATION = "supply:invoice:application";

        // 申请单redis锁
        public final static String CUSTOMER_ORDER_NUMBER = "supply:customer:order:number";

        // 申请单redis锁
        public final static String CUSTOMER_ORDER_REFUND_NUMBER = "supply:customer:order:refund_number";

        // 申请单redis计数
        public final static String INVOICE_APPLICATION_NUMBER = "supply:invoice:application:number";

        // 申请单redis锁
        public final static String INVOICE_CUSTOMER_FRONT = "supply:CUSTOMER:FRONT";

        // 调拨单
        public final static String INVOICE_CUSTOMER_TRANSFER = "supply:INVOICE_CUSTOMER_TRANSFER";

        // 销售退库单
        public final static String SALES_RETREAT_ORDER = "supply:retreat:order";

        //经销商钱包锁
        public final static String LOCK_WALLET = "supply:lock:wallet2:";

        public final static String LOCK_CUSTOMER = "supply:lock:customer:";

        public final static String LOCK_REBATE_APPLY = "supply:lock:apply:";
        public final static String LOCK_REBATE_EXAMINE = "supply:lock:examine:";
        public final static String LOCK_REBATE_EXAMINE2 = "supply:lock:examine2:";

        //其他单
        public final static String LOCK_OTHER = "supply:lock:other:";
        //返利单
        public final static String LOCK_REBATE = "supply:rebate:";

        // 工程订单锁
        public final static String ENGIN_ORDER = "supply:engin:order:";

        // 产品小类添加锁
        public final static String PRODUCT_SUB_CATEGORY = "supply:product:sub:category:";

        // 工程信息单
        public final static String ENGIN_INFO_ORDER = "supply:engin:info:order:";

        //直调单锁
        public final static String LOCK_DIRECT_TRANSFER = "supply:lock:direct:transfer:";

        //零售单锁
        public final static String LOCK_RETAIL = "supply:lock:retail:";


        // 退单redis锁
        public final static String RETREAT_APPLICATION = "supply:retreat:application:";

        // 预留单redis锁
        public final static String RESERVED_APPLICATION = "supply:reserved:application";

        // 押金管理锁
        public final static String DEPOSIT_MANAGE = "supply:deposit:manage:";
        // 押金管理锁
        public final static String LOCK_DEPOSIT_MANAGE = "supply:lock:deposit:manage:";

        // 直接调拨单redis锁
        public final static String REQUISITION_APPLICATION = "supply:requisition:application";

        // 置换单添加锁
        public final static String DISPLACE_ORDER_ADD = "supply:displace:order:add:";

        // 置换单锁
        public final static String DISPLACE_ORDER = "supply:displace:order:";

        //返利弹框key
        public final static String REBATE_NOTICE = "supply::window::notice::";

        //订单号每日流水
        public final static String ORDER_NUM = "supply:orderNo:";

        //信息单号每年流水
        public final static String INFO_ORDER_NUM = "supply:info:order:no:";


        // 商用工程登录单锁
        public final static String TRADE_LOGIN_ORDER = "supply:trade:login:order:";
        // 商用工程引用登录单锁
        public final static String TRADE_LOGIN_REF_ORDER = "supply:trade:login:ref:order";

    }


    //嘉贤同步返回
    //toC 物流订单轨迹
    public static final String JIAXIAN_BRANCH_ORDER_TRACK = "BRANCH_ORDER_TRACK";
    //派车单扫码条码头
    public static final String JIAXIAN_SCAN_BAR_CODE = "SCAN_BAR_CODE";
    //仓储出库物料条码
    public static final String JIAXIAN_OUT_SCAN_BAR_CODE = "OUT_SCAN_BAR_CODE";
    //商家结算费用账单
    public static final String JIAXIAN_COST_BILL = "COST_BILL";



    //商家对账中
    public static final String JIAXIAN_COST_IN_MERCHANT_CHECK = "COST_IN_MERCHANT_CHECK";

    //销司对账中
    public static final String JIAXIAN_COST_IN_SALES_CHECK = "COST_IN_SALES_CHECK";

    //对账完成
    public static final String JIAXIAN_COST_FINISH_CHECK = "COST_FINISH_CHECK";

    //等待发起销司对账
    public static final String JIAXIAN_COST_WAIT_START_SALES_CHECK = "COST_WAIT_START_SALES_CHECK";

    //商家对账
    public static final String JIAXIAN_MERCHANT_CHECK = "MERCHANT_CHECK";

    //销司对账
    public static final String JIAXIAN_SALES_CHECK = "SALES_CHECK";


    //设备条码接口
    public static final String SUPPLY_EXTERNAL_CODE = "/java/externalCode/equipment/list";

    //获得token
    public static final String SUPPLY_EXTERNAL_CODE_GET_TOKEN = "/java/code/equipment/getToken";

    //导入复验条码
    public static final String SUPPLY_EXTERNAL_CODE_IMPORT_BATCH = "/java/externalCode/equipment/importBatch";

    //复验条码列表
    public static final String SUPPLY_EXTERNAL_CODE_CHECK = "/java/externalCode/equipment/listBatch";

    //批量条码核验记录List导出
    public static final String SUPPLY_EXTERNAL_CODE_CHECK_EXPORT = "/java/externalCode/equipment/exportBatch";

    //批量条码核验记录List导出
    public static final String SUPPLY_EXTERNAL_CODE_CHECK_EXPORT_CODE = "/java/externalCode/equipment/export";

    //设备条码接口
    public static final String SUPPLY_EXTERNAL_CODE_IS_WEBSIT = "/java/externalCode/equipment/isWebsit";
}
