mitao
2024-08-23 3a6f2b349aaac3fd9f895c16f7d833252a2158ab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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<String, String> 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
    }
}