package project.user.internal; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import project.redis.RedisHandler; import project.user.UserRedisKeys; public class OnlineUserService { private RedisHandler redisHandler; public Date get(String partyId) { return (Date) redisHandler.get(UserRedisKeys.ONLINEUSER_PARTYID + partyId); } public List getAll() { Map map = (Map) redisHandler.get(UserRedisKeys.ONLINEUSER); if (map != null && !map.isEmpty()) { return new ArrayList(map.keySet()); } return new ArrayList(); } public void put(String partyId, Date date) { redisHandler.setSync(UserRedisKeys.ONLINEUSER_PARTYID + partyId, date); Map map = (Map) redisHandler.get(UserRedisKeys.ONLINEUSER); if (map == null) { map = new ConcurrentHashMap(); } map.put(partyId, date); redisHandler.setSync(UserRedisKeys.ONLINEUSER, map); } public void del(String partyId) { redisHandler.remove(UserRedisKeys.ONLINEUSER_PARTYID + partyId); Map map = (Map) redisHandler.get(UserRedisKeys.ONLINEUSER); if (map != null && !map.isEmpty()) { map.remove(partyId); redisHandler.setSync(UserRedisKeys.ONLINEUSER, map); } } public void setRedisHandler(RedisHandler redisHandler) { this.redisHandler = redisHandler; } }