package org.dromara.common.core.constant;

/**
 * 通用常量信息
 *
 * @author ruoyi
 */
public interface Constants {

    /**
     * UTF-8 字符集
     */
    String UTF8 = "UTF-8";

    /**
     * GBK 字符集
     */
    String GBK = "GBK";

    /**
     * www主域
     */
    String WWW = "www.";

    /**
     * http请求
     */
    String HTTP = "http://";

    /**
     * https请求
     */
    String HTTPS = "https://";

    /**
     * 通用成功标识
     */
    String SUCCESS = "0";

    /**
     * 通用失败标识
     */
    String FAIL = "1";

    /**
     * 登录成功
     */
    String LOGIN_SUCCESS = "Success";

    /**
     * 注销
     */
    String LOGOUT = "Logout";

    /**
     * 注册
     */
    String REGISTER = "Register";

    /**
     * 登录失败
     */
    String LOGIN_FAIL = "Error";

    /**
     * 验证码有效期（分钟）
     */
    Integer CAPTCHA_EXPIRATION = 5;

    /**
     * 顶级父级id
     */
    Long TOP_PARENT_ID = 0L;

    /**
     * 资源映射路径 前缀
     */
    String RESOURCE_PREFIX = "/profile";

    /**
     * 默认租户id
     */
    String TENANT_ID = "000000";
    String ONE = "1";
    String TWO = "2";
    String THR = "3";
    String FOR = "4";
    String FIV = "5";
    String Y = "Y";
    String N = "N";
    String FRONT = "front";
    String BACK = "back";
    String UP = "up";
    String DOWN = "down";
    //持平
    String FLAT = "flat";
    //住户角色
    String TENEMENT = "tenement";
    //游客角色
    String VISITOR = "visitor";
    //-----------------------web首页统计的key--------------
//web首页统计上月外来车辆数量
    String LAST_MONTH_VISITOR_CAR = "last_month_visitor_car:";
    //web首页统计当月外来车辆数量
    String NOW_MONTH_VISITOR_CAR = "now_month_visitor_car:";
    //web首页统计上月违停车辆数量
    String LAST_MONTH_ILLEGAL_CAR = "last_month_illegal_car:";
    //web首页统计当月违停车辆数量
    String NOW_MONTH_ILLEGAL_CAR = "now_month_illegal_car:";
    //--------------------app首页统计的key----------------
//用户个人报修维修未完成的数量property_repair_no:{userId} KEY=数量
    String PROPERTY_REPAIR_NO = "property_repair_no:";
    //维修未完成的总数量 property_repair_no_all: KEY=数量
    String PROPERTY_REPAIR_NO_ALL = "property_repair_no_all:";
    //用户个人投诉建议未回复的数量 complaint_suggestion_no:{userId} KEY=数量
    String COMPLAINT_SUGGESTION_NO = "complaint_suggestion_no:";
    //投诉建议未回复的总数量
    String COMPLAINT_SUGGESTION_NO_ALL = "complaint_suggestion_no_all:";


    //------------------文章的key----------------------------
//社区资讯文章点赞的人员集合的key value = 该文章的[userId]
    String ONE_LIKE = "one_like:";
    //对应用户点赞的文章key=my_like_one:{用户id} value =[资讯文章id]
    String ONE_MY_LIKE = "one_my_like:";
    //社区资讯文章点赞的数量 给数据库同步数据在 redis中增加一个有过期时间的key key=one_like_count_time:{文章id}#{数量}  过期时候value获取不到
    String ONE_LIKE_COUNT_TIME = "one_like_count_time:";
    //社区资讯文章点赞的数量永久key key=like_one_count:{文章id} value = 该文章的点赞数量
    String ONE_LIKE_COUNT = "one_like_count:";

    //------------------社区资讯key----------------------------
//社区资讯评论的总数量 key=community_comment_count:{communityId} value = 评论的数量
    String COMMUNITY_COMMENT_COUNT = "community_comment_count:";
    //------------------回复的key----------------------------
//社区资讯回复点赞的人员集合的key value = 该回复的[userId]
    String TWO_LIKE = "two_like:";
    //对应用户点赞的回复key=two_my_like:{用户id} value = [评论id]
    String TWO_MY_LIKE = "two_my_like:";
    //社区资讯评论点赞的数量 给数据库同步数据在 redis中增加一个有过期时间的key key=two_like_count_time:{评论id}#{数量} 过期时候value获取不到
    String TWO_LIKE_COUNT_TIME = "two_like_count_time:";
    //社区资讯评论点赞的数量永久key key=two_like_count:{评论id} value = 该评论的点赞数量
    String TWO_LIKE_COUNT = "two_like_count:";

    //-------------------社区资讯收藏的key-----------------
    //社区资讯收藏的人员集合的key = stars_community:{communityId} value = 该资讯收藏的[userId]
    String STARS_COMMUNITY = "stars_community:";
    //社区资讯收藏的总数的key = stars_user_count:{communityId} value = 收藏的人数值
    String STARS_USER_COUNT = "stars_user_count:";
    //-------------------社区资讯分享的key-----------------
    //社区资讯分享的数量 key = share_community:{communityId} value = 该资讯分享的数量
    String SHARE_COMMUNITY = "share_community:";

    //-------------------党建资讯收藏的key-----------------
    //党建资讯收藏的人员集合的key = stars_party_news:{userId} value = 该用户收藏的党建[partyId]
    String STARS_PARTY_NEWS = "stars_party_news:";
    //党建资讯对应资讯收藏的数量key =stars_party_news_count:{partyId} value = 收藏的数量
    String STARS_PARTY_NEWS_COUNT = "stars_party_news_count:";

    //-------------------未读互动的key-----------------
//记录社区资讯某个用户一共有多少个未读的互动(点赞，收藏，回复)的具体信息，记录成map形式{} key = comment_interaction_user:{userId} hkey = {targetType:targetId} value= CommentInteractionVo
    String COMMENT_INTERACTION_USER = "comment_interaction_user:";
    //记录社区资讯某个用户一共有多少个未读的互动的数量key = comment_interaction_user_count:{userId} value = 未读的互动的数量
    String COMMENT_INTERACTION_USER_COUNT = "comment_interaction_user_count:";
    //记录社区资讯某个用户对应资讯下有多少个未读的互动key=comment_interaction_community_user_count:{userId} hkey = {community_id} value = 资讯下有多少个未读的互动(点赞，收藏，回复)
    String COMMENT_INTERACTION_COMMUNITY_USER_COUNT = "comment_interaction_community_user_count:";
//-------------------员工培训手册的key-----------------
    /**
     * 员工培训手册阅读人员名单 redis key=read_train:manualId value = [userId+":"+员工姓名]
     */
     String READ_TRAIN = "read_train:";
    /**
     * 员工培训手册阅读人员的阅读时间 redis key
     */
     String READ_TRAIN_TIME = "read_train_time:";

    //-------------------员工需要认证的数量的key-----------------
    //key=staff_manage_authentication:{userId}
    String STAFF_MANAGE_AUTHENTICATION = "staff_manage_authentication:";
    //-------------------车牌违停次数黑名单的key-----------------
    //key=black_plate_number:{租户id} value = 设置的次数
    String BLACK_PLATE_NUMBER="black_plate_number:";

}

