package com.finance.web.controller.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; @Component public class DepartmentRanking { public static final String TOTAL_SCORE_RANKING_KEY = "total_score_department_ranking"; public static final String DATA_ONE_SCORE_RANKING_KEY = "data_one_score_department_ranking"; public static final String DATA_TWO_SCORE_RANKING_KEY = "data_two_score_department_ranking"; public static final String DATA_THREE_SCORE_RANKING_KEY = "data_three_score_department_ranking"; public static final String DATA_FOUR_SCORE_RANKING_KEY = "data_four_score_department_ranking"; @Autowired private RedisTemplate redisTemplate; public void addToScoreRanking(String key, String areaCode, double score) { redisTemplate.opsForZSet().add(key, areaCode, score); } public Long getScoreRankByAreaCode(String key, String areaCode) { return redisTemplate.opsForZSet() .reverseRank(key, areaCode); // 0-based ranking } }