

package com.weather.common.redis;

/**
 * @author 123
 * @since 1.0.0
 */
public class RedisKeys {
    /**
     * 系统参数Key
     */
    public static String getSysParamsKey(){
        return "sys:params";
    }

    /**
     * 验证码Key
     */
    public static String getCaptchaKey(String uuid){
        return "sys:captcha:" + uuid;
    }

    /**
     * 登录用户Key
     */
    public static String getSecurityUserKey(Long id){
        return "sys:security:user:" + id;
    }

    /**
     * 系统日志Key
     */
    public static String getSysLogKey(){
        return "sys:log";
    }

    /**
     * 系统资源Key
     */
    public static String getSysResourceKey(){
        return  "sys:resource";
    }

    /**
     * 用户菜单导航Key
     */
    public static String getUserMenuNavKey(Long userId){
        return "sys:user:nav:" + userId;
    }

    /**
     * 用户权限标识Key
     */
    public static String getUserPermissionsKey(Long userId){
        return "sys:user:permissions:" + userId;
    }

    /**
     * 站点列表缓存Key（按部门权限区分）
     */
    public static String getStationListKey(Long deptId) {
        return "weather:station:list:" + deptId;
    }

    /**
     * 站点列表缓存匹配模式（站点变更时清除所有部门缓存）
     */
    public static String getStationListPattern() {
        return "weather:station:list:*";
    }

    /**
     * 天气汇总缓存Key（按站点分组，月-日维度）
     */
    public static String getWeatherSummarizeKey(int month, int day) {
        return "weather:summarize:" + month + ":" + day;
    }

    /**
     * 天气汇总缓存匹配模式
     */
    public static String getWeatherSummarizePattern() {
        return "weather:summarize:*";
    }
}
