This commit is contained in:
张良(004796)
2024-02-04 14:35:18 +08:00
parent ac6b009dfd
commit 405660082d
26 changed files with 307 additions and 62 deletions

View File

@@ -9,11 +9,10 @@ import org.springframework.stereotype.Component;
import java.time.Duration;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Set;
@Component
public class OnlineTodayCache {
public class OnlineUserTodayCache {
@Autowired
private RedissonClient redissonClient;
@@ -23,10 +22,11 @@ public class OnlineTodayCache {
return String.format(CacheConstants.ONLINE_TODAY_TOKEN_KEY,today);
}
public void addOnlineUserId(Long userId){
public boolean addOnlineUserId(Long userId){
RSet<Long> set = redissonClient.getSet(getKey());
set.add(userId);
boolean res = set.add(userId);
set.expire(Duration.ofDays(1));
return res;
}
public Set<Long> getAllOnlineToday(){

View File

@@ -13,7 +13,7 @@ import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.ip.AddressUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.framework.OnlineTodayCache;
import com.ruoyi.framework.OnlineUserTodayCache;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@@ -31,7 +31,7 @@ import java.time.Duration;
public class UserActionListener implements SaTokenListener {
private final SaTokenConfig tokenConfig;
private final OnlineTodayCache onlineTodayCache;
private final OnlineUserTodayCache onlineUserTodayCache;
/**
* 每次登录时触发
@@ -78,7 +78,6 @@ public class UserActionListener implements SaTokenListener {
} else {
RedisUtils.setCacheObject(CacheConstants.ONLINE_TOKEN_KEY + tokenValue, dto, Duration.ofSeconds(tokenConfig.getTimeout()));
}
onlineTodayCache.addOnlineUserId(user.getUserId());
}
}