diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/LoginController.java b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/LoginController.java index a0e5773..6c58fde 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/controller/LoginController.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/controller/LoginController.java @@ -121,7 +121,7 @@ public class LoginController extends BaseController { } //Organizations organizations = organizationsService.selectById( users.getOrgId()); Map result = InstanceUtils.newHashMap(); - String token = tokenService.createToken(users.getId()); + String token = tokenService.createToken(users); List roles = rolesService.selectBatchIds(usersService.getRoleIdListByUserid(users.getId())); List permissions = permissionsService.getUserPermission(users.getId()); Organizations org = organizationsService.selectById(users.getOrgId()); diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/service/token/TokenService.java b/parent/hospital.web/src/main/java/com/lyms/hospital/service/token/TokenService.java index 674cb6c..3fd6e25 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/service/token/TokenService.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/service/token/TokenService.java @@ -1,5 +1,7 @@ package com.lyms.hospital.service.token; +import com.lyms.base.common.entity.user.Users; + /** * Created by riecard on 15/9/22. */ @@ -7,9 +9,9 @@ public interface TokenService { - String createToken(String userId); + String createToken(Users users); - String createToken(String userId, Integer second); + String createToken(Users users, Integer second); boolean resetToken(String token); @@ -18,10 +20,10 @@ public interface TokenService boolean validToken(String token, Integer second); String getUserId(String token); + + Users getUsers(String token); - void deleteAllToken(String userId); - - void deleteAllToken(String userId, String prefix); + void deleteAllToken(); void deleteToken(String token); diff --git a/parent/hospital.web/src/main/java/com/lyms/hospital/service/token/impl/TokenServiceImpl.java b/parent/hospital.web/src/main/java/com/lyms/hospital/service/token/impl/TokenServiceImpl.java index e7814d8..2a4ddcf 100644 --- a/parent/hospital.web/src/main/java/com/lyms/hospital/service/token/impl/TokenServiceImpl.java +++ b/parent/hospital.web/src/main/java/com/lyms/hospital/service/token/impl/TokenServiceImpl.java @@ -1,7 +1,7 @@ package com.lyms.hospital.service.token.impl; import java.io.Serializable; -import java.util.List; +import java.util.Set; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -10,6 +10,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import com.lyms.base.common.entity.user.Users; import com.lyms.hospital.service.token.TokenService; import com.lyms.util.SerializeUtils; import com.lyms.util.TokenUtils; @@ -48,37 +49,18 @@ public class TokenServiceImpl implements TokenService } @Override - public String createToken(String userId, Integer second) + public String createToken(Users users, Integer second) { String token = getPrefix() + TokenUtils.getToken(UUID.randomUUID().toString()); - redisTemplate.opsForValue().set(token, userId); + redisTemplate.opsForValue().set(token, users); redisTemplate.expire(token, second, TimeUnit.SECONDS); - -// List list = new ArrayList(); -// List delList = new ArrayList(); -// String tempKey = getPrefix() + userId; -// Object obj = redisTemplate.opsForValue().get(tempKey); -// if (obj != null) -// { -// list = (List) obj; -// } -// for (Serializable key : list) -// { -// if (!redisTemplate.hasKey(key)) -// { -// delList.add(key); -// } -// } -// list.removeAll(delList); -// list.add(token); -// redisTemplate.opsForValue().set(tempKey, SerializeUtils.serialize(list), second); return token; } @Override - public String createToken(String userId) + public String createToken(Users users) { - return createToken(userId, getSeconds()); + return createToken(users, getSeconds()); } @Override @@ -112,49 +94,43 @@ public class TokenServiceImpl implements TokenService } return false; } - + @Override - public String getUserId(String token) + public Users getUsers(String token) { - Object obj = redisTemplate.opsForValue().get(token); - if (obj != null) + Users users = (Users)redisTemplate.opsForValue().get(token); + if (users != null) { //redisTemplate.opsForValue().set(token, SerializeUtils.serialize(obj)); redisTemplate.expire(token, getSeconds(), TimeUnit.SECONDS); - return (String) obj; + return users; } return null; } @Override - public void deleteToken(String token) + public String getUserId(String token) { - redisTemplate.delete(token); + Users users = (Users)redisTemplate.opsForValue().get(token); + if (users != null) + { + //redisTemplate.opsForValue().set(token, SerializeUtils.serialize(obj)); + redisTemplate.expire(token, getSeconds(), TimeUnit.SECONDS); + return (String) users.getId(); + } + return null; } @Override - public void deleteAllToken(String userId) + public void deleteToken(String token) { - String tempKey = getPrefix() + "_tokenlist_" + userId; - Object obj = redisTemplate.opsForValue().get(tempKey); - if (obj != null) - { - List list = (List) obj; - redisTemplate.delete(list); - redisTemplate.delete(tempKey); - } + redisTemplate.delete(token); } @Override - public void deleteAllToken(String userId, String prefix) + public void deleteAllToken() { - String tempKey = prefix + "_tokenlist_" + userId; - Object obj = redisTemplate.opsForValue().get(tempKey); - if (obj != null) - { - List list = (List) obj; - redisTemplate.delete(list); - redisTemplate.delete(tempKey); - } + Set keys = redisTemplate.keys(getPrefix()+"*"); + redisTemplate.delete(keys); } } \ No newline at end of file