| 
														
															@@ -2,6 +2,7 @@ package com.tzld.longarticle.recommend.server.service.exterior.impl; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import cn.hutool.core.lang.UUID; 
														 | 
														
														 | 
														
															 import cn.hutool.core.lang.UUID; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.common.enums.SecretEnum; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.common.enums.SecretEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.tzld.longarticle.recommend.server.model.param.AccessTokenParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.model.vo.AccessTokenVo; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.model.vo.AccessTokenVo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.exterior.AccessTokenService; 
														 | 
														
														 | 
														
															 import com.tzld.longarticle.recommend.server.service.exterior.AccessTokenService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.apache.commons.lang3.StringUtils; 
														 | 
														
														 | 
														
															 import org.apache.commons.lang3.StringUtils; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -21,14 +22,17 @@ public class AccessTokenServiceImpl implements AccessTokenService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private RedisTemplate<String, String> redisTemplate; 
														 | 
														
														 | 
														
															     private RedisTemplate<String, String> redisTemplate; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public AccessTokenVo getAccessToken(String secret) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (!SecretEnum.contains(secret)) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public AccessTokenVo getAccessToken(AccessTokenParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if(param == null || StringUtils.isEmpty(param.getSecret())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            throw new RuntimeException("参数错误"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (!SecretEnum.contains(param.getSecret())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             throw new RuntimeException("secret 不存在"); 
														 | 
														
														 | 
														
															             throw new RuntimeException("secret 不存在"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         AccessTokenVo accessTokenVo = new AccessTokenVo(); 
														 | 
														
														 | 
														
															         AccessTokenVo accessTokenVo = new AccessTokenVo(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        String accessToken = redisTemplate.opsForValue().get(secret); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        String accessToken = redisTemplate.opsForValue().get(param.getSecret()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (StringUtils.isNotEmpty(accessToken)) { 
														 | 
														
														 | 
														
															         if (StringUtils.isNotEmpty(accessToken)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            Long expire = redisTemplate.getExpire(secret, TimeUnit.SECONDS); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            Long expire = redisTemplate.getExpire(param.getSecret(), TimeUnit.SECONDS); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             accessTokenVo.setAccessToken(accessToken); 
														 | 
														
														 | 
														
															             accessTokenVo.setAccessToken(accessToken); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             accessTokenVo.setExpires(expire); 
														 | 
														
														 | 
														
															             accessTokenVo.setExpires(expire); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (redisTemplate.opsForHash().size(ACCESS_TOKEN_LIST) > 20) { 
														 | 
														
														 | 
														
															             if (redisTemplate.opsForHash().size(ACCESS_TOKEN_LIST) > 20) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -42,7 +46,7 @@ public class AccessTokenServiceImpl implements AccessTokenService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } else { 
														 | 
														
														 | 
														
															         } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             String newAccessToken = UUID.randomUUID().toString().replace("-", ""); 
														 | 
														
														 | 
														
															             String newAccessToken = UUID.randomUUID().toString().replace("-", ""); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            redisTemplate.opsForValue().set(secret, newAccessToken, 2L, TimeUnit.HOURS); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            redisTemplate.opsForValue().set(param.getSecret(), newAccessToken, 2L, TimeUnit.HOURS); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             long expire = 7200L; 
														 | 
														
														 | 
														
															             long expire = 7200L; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             long timestamp = System.currentTimeMillis() / 1000 + expire + 600; 
														 | 
														
														 | 
														
															             long timestamp = System.currentTimeMillis() / 1000 + expire + 600; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             redisTemplate.opsForHash().put(ACCESS_TOKEN_LIST, newAccessToken, timestamp); 
														 | 
														
														 | 
														
															             redisTemplate.opsForHash().put(ACCESS_TOKEN_LIST, newAccessToken, timestamp); 
														 |