package com.ningdatech.pmapi.common.constant;

import com.ningdatech.basic.model.ApiResponse;

import java.math.BigDecimal;

/**
 * <p>
 * 业务常量
 * </p>
 *
 * @author WendyYang
 * @since 13:42 2022/12/1
 */
public interface BizConst {

    /**
     * SQL查询一条
     */
    String LIMIT_1 = "limit 1";

    String COOKIE_KEY = "ND_PROJECT_MANAGEMENT_JSESSION";

    /**
     * 一小时秒数
     **/
    BigDecimal SECONDS_BY_HOUR = new BigDecimal(60 * 60);

    /**
     * 十分钟的毫秒数
     */
    long MILLS_10_MIN = 1000L * 60 * 10;

    /**
     * 中国行政区划编码
     */
    long ROOT_REGION_CODE = 100000L;

    /**
     * 一级行政区划数量
     */
    int NUM_PROVINCE = 34;

    /**
     * 默认的父id
     */
    long PARENT_ID = 0L;

    /**
     * 默认树层级
     */
    int TREE_GRADE = 0;

    /**
     * 默认的排序
     */
    int SORT_VALUE = 0;

    /**
     * 浙江省的region_id
     */
    long ZJ_REGION_CODE = 330000L;

    /**
     * 省/直辖市 level
     */
    int GOV_L1 = 1;

    /**
     * 市 level
     */
    int GOV_L2 = 2;

    /**
     * 区/县 level
     */
    int GOV_L3 = 3;

    /**
     * 密码正则：长度8-20位且至少包含大写字母、小写字母、数字或特殊符号中的任意三种
     */
    String REGEX_PASS = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,20}$";

    ApiResponse<Void> UNAUTHENTICATED = ApiResponse.of(401, "用户未登录", null);

    int MAX_EXPORT_COUNT = 5000;

}
