Browse Source

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@978 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d

administrator 11 years ago
parent
commit
84d6f8c7c1

+ 3 - 1
src/main/java/com/uas/platform/b2b/dao/TokenDao.java

@@ -1,12 +1,14 @@
 package com.uas.platform.b2b.dao;
 
+import java.util.List;
+
 import org.springframework.data.jpa.repository.JpaRepository;
 
 import com.uas.platform.b2b.model.Token;
 
 public interface TokenDao extends JpaRepository<Token, Long> {
 	
-	public Token findTokenByUuAndUserType(Long uu, String userType);
+	public List<Token> findByUuAndUserType(Long uu, String userType);
 	
 
 }

+ 18 - 15
src/main/java/com/uas/platform/b2b/support/TokenService.java

@@ -1,6 +1,7 @@
 package com.uas.platform.b2b.support;
 
 import java.util.Date;
+import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -13,18 +14,19 @@ import com.uas.platform.core.util.encry.Md5Utils;
 public class TokenService {
 
 	@Autowired
-	private TokenDao tokenDao;	
-	
+	private TokenDao tokenDao;
+
 	public Token saveToken(Token token) {
-		if (tokenDao.findTokenByUuAndUserType(token.getUu(), token.getUserType()) != null){
-		   tokenDao.delete(tokenDao.findTokenByUuAndUserType(token.getUu(), token.getUserType()));
-		}
+		List<Token> tokens = tokenDao.findByUuAndUserType(token.getUu(), token.getUserType());
+		if (!tokens.isEmpty())
+			tokenDao.delete(tokens);
 		token.setTime(new Date());
 		return tokenDao.save(token);
 	}
 
 	/**
 	 * 获取并保存
+	 * 
 	 * @param userType
 	 * @param uu
 	 * @return
@@ -43,16 +45,17 @@ public class TokenService {
 	 * @return
 	 */
 	public boolean isCertified(String userType, Long uu, String encodeString) {
-		Token token = tokenDao.findTokenByUuAndUserType(uu, userType);
-		if (token != null) {
-			String encode = Md5Utils.encode(uu, token.getId());
-			boolean certified = !token.isOutofTime() && encode.equals(encodeString);
-			// 只使用一次,即时删除
-			tokenDao.delete(token);
-			return certified;
-		}		
+		List<Token> tokens = tokenDao.findByUuAndUserType(uu, userType);
+		if (!tokens.isEmpty()) {
+			for (Token token : tokens) {
+				String encode = Md5Utils.encode(uu, token.getId());
+				boolean certified = !token.isOutofTime() && encode.equals(encodeString);
+				// 只使用一次,即时删除
+				tokenDao.delete(token);
+				if (certified)
+					return certified;
+			}
+		}
 		return false;
 	}
-
-
 }