package com.tofly.common.constant;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
 * @author haiqiu
 * @date 2022/8/5
 * 常量
 */
public class SysConstants {
    /**
     * 顶级父ID
     */
    public static final Long PID = 0L;

    /**
     * 顶级公司ID（集团公司ID）
     */
    public static final Long TOP_TENANT_ID = 1L;
    /**
     * 是否锁定，1正常，0锁定
     */
    public static Integer LOCK = 0;
    public static Integer UNLOCK = 1;


    public static final  String USER_TOKEN_INFO = "tofly_oauth:zmrq:auth:";
    public static final  String USER_DATA_INFO = "user_details_zmrq";

    /**
     * 密码前缀
     */
    public static final String PWD_BEARER = "{bcrypt}";

    /**
     * 新增用户默认密码六个零的hash值
     */
    public static String defaultPwd = "c984aed014aec7623a54f0591da07a85fd4b762d";

    /**
     * 获取加密后的默认000000密码
     * @return 加密后的密码
     */
    public static String getUserDefaultPwd(){
        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
        // 用户默认密码六个零的hash值
        String defaultPwd = passwordEncoder.encode(SysConstants.PWD_BEARER + SysConstants.defaultPwd);
        return defaultPwd;
    }

    /**
     * Excel 文件后缀
     */
    public  static  String XLSX = "xlsx";


    /**
     * admin账户用户名
     */
    public  static  String ADMIN = "admin";

    /**
     * 数据库表名
     */
    public static String SYS_APP = "SYS_APP";

    public static int SYS_APP_RELEASE = 1;

    public static int SYS_APP_NOT_RELEASE = 0;


    /**
     * 删除
     */
    public static int DEL = 1;

    /**
     * 未删除
     */
    public static int NOT_DEL = 0;

    /**
     * 菜单绑定的公司为0，表示菜单为共享
     */
    public static Integer TENANT_ID = 0;


    /**
     * 用户级别  用于超级管理员与其他用户区分等  。0 超级管理员,1普通管理员,2其他公司超级管理员,3其他公司管理员
     */
    public static Integer USER_LEVEL_0 = 0;
    public static Integer USER_LEVEL_1 = 1;
    public static Integer USER_LEVEL_2 = 2;
    public static Integer USER_LEVEL_3 = 3;
}
