package com.hzs.common.core.constant;

/**
 * 缓存的统一key 常量
 */
public class CacheConstants {

    /**
     * 统一缓存key前缀
     */
    public final static String CACHE_PREFIX = "global_africa:";

    public final static String UPD_MEMBER = CACHE_PREFIX + "upd:member_name:";

    /**
     * 会员账户
     */
    public final static String MEMBER_ACCOUNT = CACHE_PREFIX + "account:";

    public final static String CUSTOMER_ID = CACHE_PREFIX + "customer:";

    /**
     * 会员缓存刷新时间，默认30天
     */
    public final static long MEMBER_REFRESH_TIME = 30;
    /**
     * 商品缓存刷新时间，默认1天
     */
    public final static long WARES_REFRESH_TIME = 1;

    /**
     * 汇率缓存刷新时间，默认1天
     */
    public final static long CURRENCY_REFRESH_TIME = 7;
    /**
     * 国家缓存key
     */
    public final static String BD_COUNTRY = CACHE_PREFIX + "country:";

    /**
     * 语言常量缓存key
     */
    public static final String LANGUAGE_KEY = CACHE_PREFIX + "language:";

    /**
     * 运输方式
     */
    public static final String TRANSPORT_TYPE = CACHE_PREFIX + "transport:type:";
    /**
     * 权限缓存前缀
     */
    public final static String LOGIN_TOKEN_KEY = CACHE_PREFIX + "login_tokens:";
    /**
     * 权限缓存有效期，默认240（分钟）
     */
    public final static long LOGIN_TOKEN_EXPIRATION = 240;
    /**
     * 权限缓存刷新时间，默认60（分钟）
     */
    public final static long LOGIN_TOKEN_REFRESH_TIME = 60;

    /**
     * 权限缓存有效期，默认30（分钟） -- 30
     */
    public final static long MEMBER_LOGIN_TOKEN_EXPIRATION = 30;
    /**
     * 权限缓存刷新时间，默认10（分钟）
     */
    public final static long MEMBER_LOGIN_TOKEN_REFRESH_TIME = 10;


    /**
     * 安置位置
     */
    public static final String POSITION = CACHE_PREFIX + "member_id:position:";

    /**
     * 系统参数
     */
    public static final String SYSTEM_CONFIG = CACHE_PREFIX + "system:config";

    /**
     * 缓存订单
     */
    public static final String TEMP_ORDER = CACHE_PREFIX + "temp:order:";

    /**
     * 缓存参数
     */
    public static final String TEMP_PARAM = CACHE_PREFIX + "temp:param:";
    /**
     * 会员订单
     */
    public static final String MEMBER_ORDER = CACHE_PREFIX + "order:";

    /**
     * 汇率
     */
    public static final String BD_CURRENCY = CACHE_PREFIX + "currency:";

    /**
     * 根据id查询汇率
     */
    public static final String BD_CURRENCY_PK = CACHE_PREFIX + "currency:pkId:";

    /**
     * 根据id查询汇率
     */
    public static final String BD_HISTORY_CURRENCY_PK = CACHE_PREFIX + "currency:history:pkId:";
    /**
     * 产品
     */
    public static final String BD_PRODUCT = CACHE_PREFIX + "product:";

    /**
     * 产品拓展
     */
    public static final String BD_PRODUCT_EXTEND = CACHE_PREFIX + "product:extend:";


    /**
     * 商品
     */
    public static final String BD_WARES = CACHE_PREFIX + "wares:";
    /**
     * 商品规格
     */
    public static final String BD_WARES_SPECS = CACHE_PREFIX + "wares:specs";
    /**
     * 商品明细值
     */
    public static final String BD_WARES_SPECS_RELATION = CACHE_PREFIX + "wares:specs:relation:";
    /**
     * 邮费
     */
    public static final String BD_POSTAGE = CACHE_PREFIX + "postage:";

    /**
     * 商品分类
     */
    public static final String BD_AREA_CLASSIFY = CACHE_PREFIX + "area:classify:";

    /**
     * 规格分类
     */
    public static final String BD_CLASSIFY = CACHE_PREFIX + "classify:";

    /**
     * 产品规格
     */
    public static final String BD_SPECS = CACHE_PREFIX + "specs:";

    /**
     * 规格类型
     */
    public static final String BD_SPECS_TYPE = CACHE_PREFIX + "specs:type:";

    /**
     * 标签
     */
    public static final String BD_LABEL = CACHE_PREFIX + "label:";

    /**
     * 等级
     */
    public static final String BD_GRADE = CACHE_PREFIX + "grade:";

    /**
     * 专区币种 放入List中，国家+专区作为键
     */
    public static final String BD_AREA_CURRENCY = CACHE_PREFIX + "area:currency";
    /**
     * 分红配置
     */
    public static final String BD_SHARE = CACHE_PREFIX + "share:";

    /**
     * 提现配置
     */
    public static final String BD_WITHDRAWAL = CACHE_PREFIX + "withdrawal:";

    /**
     * 提现手续费配置
     */
    public static final String BD_WITHDRAWAL_PROCESS = CACHE_PREFIX + "withdrawalProcess:";


    /**
     * 自动提现明细配置
     */
    public static final String BD_WITHDRAWAL_AUTO = CACHE_PREFIX + "withdrawalAuto:";

    /**
     * 查询所有配置了自动提现的提现配置列表
     */
    public static final String BD_WITHDRAWAL_IS_AUTO = CACHE_PREFIX + "withdrawal:is:auto:";

    /**
     * 个税明细配置
     */
    public static final String BD_WITHDRAWAL_TAX = CACHE_PREFIX + "withdrawalTax:";


    /**
     * 提现特殊配置列表
     */
    public static final String BD_WITHDRAWAL_SPECIAL = CACHE_PREFIX + "withdrawalSpecial:";

    /**
     * 转账配置配置列表
     */
    public static final String BD_TRANSFER = CACHE_PREFIX + "transfer:";

    /**
     * 转账特殊配置列表
     */
    public static final String BD_TRANSFER_SPECIAL = CACHE_PREFIX + "transferSpecial:";

    /**
     * 根据会员编号查询转账特殊配置
     */
    public static final String BD_TRANSFER_SPECIAL_MEMBER_CODE = CACHE_PREFIX + "transferSpecial:memberCode:";

    /**
     * 奖衔配置
     */
    public static final String BD_AWARDS = CACHE_PREFIX + "awards:";

    /**
     * 奖项配置
     */
    public static final String BD_BONUS_ITEMS = CACHE_PREFIX + "bonus:items:";

    /**
     * 配送中心配置
     */
    public static final String BD_SHOP = CACHE_PREFIX + "shop:";

    /**
     * 极差配置
     */
    public static final String BD_RANGE = CACHE_PREFIX + "range:";

    /**
     * 辅导分红配置
     */
    public static final String BD_AWARDS_COACH = CACHE_PREFIX + "awards:coach:";

    /**
     * 隶属团队配置
     */
    public static final String CU_MEMBER_TEAM = CACHE_PREFIX + "member:team:";

    /**
     * 隶属团队配置
     */
    public static final String CU_MEMBER_TEAM_ID = CACHE_PREFIX + "member:team:id";

    /**
     * 币种配置
     */
    public static final String BD_ACCOUNT = CACHE_PREFIX + "bdaccount:";

    /**
     * 查询币种转换
     */
    public static final String BD_ACCOUNT_CHANGE = CACHE_PREFIX + "bdac:change:";

    /**
     * 行政区划
     */
    public static final String BD_AREA = CACHE_PREFIX + "area:";

    /**
     * 银行卡
     */
    public static final String BD_BANK = CACHE_PREFIX + "bank:";

    /**
     * 体系配置
     */
    public static final String BD_VERTEX = CACHE_PREFIX + "vertex:";
    /**
     * 服务补贴
     */
    public static final String BD_BONUS_SERVICE = CACHE_PREFIX + "bonus:service:";

    /**
     * 奖金扣项
     */
    public static final String BD_BONUS_DEDUCT = CACHE_PREFIX + "bonus:deduct:";

    /**
     * 奖金期间
     */
    public static final String CU_MEMBER_SETTLE_PERIOD = CACHE_PREFIX + "bonus:period:";
    /**
     * 购物车
     */
    public static final String SHOPPIN_GCART = CACHE_PREFIX + "shoppin:gcart:";

    /**
     * 抽奖奖品
     */
    public final static String DRAW_REWARD_GIFT = CACHE_PREFIX + "reward:gift:";

    /**
     * 抽奖更新次数
     */
    public final static String DRAW_REWARD_NUMBER = CACHE_PREFIX + "reward:num:";

    /**
     * 抽奖更新次数
     */
    public final static String MEMBER_DEFAULT_DISPLAY = CACHE_PREFIX + "member:display:";


    /**
     * 交易配置
     */
    public final static String TRADE_CONFIG = CACHE_PREFIX + "trade:config";

    /**
     * 奖金年金
     */
    public final static String BONUS_ANNUITY = CACHE_PREFIX + "bonus:annuity:";
    /**
     * 交易白名单配置
     */
    public final static String TRADE_CONFIG_WHITE = CACHE_PREFIX + "trade:config:white";

    /**
     * 采购订单锁
     */
    public static final String PO_ORDER_LOCK = CACHE_PREFIX + "lock:po:order:";

    /**
     * 采购入库单锁
     */
    public static final String IC_PURCHASE_IN_LOCK = CACHE_PREFIX + "lock:ic:purchase:";

    /**
     * 其他入库单锁
     */
    public static final String IC_GENERAL_IN_LOCK = CACHE_PREFIX + "lock:ic:general-in:";

    /**
     * 其他出库单锁
     */
    public static final String IC_GENERAL_OUT_LOCK = CACHE_PREFIX + "lock:ic:general-out:";

    /**
     * 调拨订单单锁
     */
    public static final String TRANSFER_ORDER_LOCK = CACHE_PREFIX + "lock:ic:transfer-order:";

    /**
     * 调拨入库单锁
     */
    public static final String TRANSFER_IN_LOCK = CACHE_PREFIX + "lock:ic:transfer-in:";

    /**
     * 调拨出库单锁
     */
    public static final String TRANSFER_OUT_LOCK = CACHE_PREFIX + "lock:ic:transfer-out:";

    /**
     * 库存盘点单锁
     */
    public static final String INVENTORY_ORDER_LOCK = CACHE_PREFIX + "lock:ic:inventory:";

    /**
     * 现存量
     */
    public static final String IC_ON_HAND_NUM_LOCK = CACHE_PREFIX + "lock:ic:hand:";

    /**
     * 店铺现存量
     */
    public static final String IC_STORE_HAND_NUM_LOCK = CACHE_PREFIX + "lock:ic:store:";

    /**
     * 业务领用订单
     */
    public static final String IO_ORDER_LOCK = CACHE_PREFIX + "lock:io:order:";

    /**
     * 可用量
     */
    public static final String IC_AVAILABLE_NUM_LOCK = CACHE_PREFIX + "lock:ic:available:";

    /**
     * 批次号
     */
    public static final String BATCH_CODE = CACHE_PREFIX + "lock:ic:batch-code:";

    /**
     * 产品bas
     */
    public static final String BD_PRODUCT_BAS = CACHE_PREFIX + "product:bas:";

    /**
     * 审批签呈锁key
     */
    public static final String APPROVAL_LOCK = CACHE_PREFIX + "approval:";

    /**
     * 会员银行卡锁key
     */
    public static final String CU_MEMBER_BANK_LOCK = CACHE_PREFIX + "bank:";

    /**
     * 2024.05.20 签呈需求，指定部分国家控制发货方式
     * 例：国家ID为107需要控制发货方式，需要添加缓存key为：global_africa:control_deliver:107
     * 使用时会判断是否存在这个key，如果存在则控制发货方式
     */
    public static final String CONTROL_DELIVERY_FLAG = CACHE_PREFIX + "control_deliver:";

}
