去掉拿接口的缓存逻辑
This commit is contained in:
+7
-1
@@ -109,5 +109,11 @@ public interface AnYanClient {
|
||||
* 公网环境获取服务访问token (目前仅用于访问安眼大屏)
|
||||
* @return
|
||||
*/
|
||||
String publicNetworkToken() throws Exception;
|
||||
String publicNetworkToken();
|
||||
|
||||
/**
|
||||
* 公网环境获取服务访问token (目前仅用于访问安眼大屏, 不走缓存, 每次用现取)
|
||||
* @return
|
||||
*/
|
||||
String publicNetworkTokenNoCache();
|
||||
}
|
||||
|
||||
+34
-18
@@ -179,12 +179,24 @@ public class AnYanClientExecutor implements AnYanClient {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String publicNetworkToken() throws Exception {
|
||||
public String publicNetworkToken(){
|
||||
String token = redisClientUtil.get(new RedisKeyPrefix(AnYanConstants.AN_YAN_API_TOKEN_PREFIX) ,"publicToken",String.class);
|
||||
if(StrUtil.isEmpty(token)){
|
||||
JSONObject param = new JSONObject();
|
||||
String password = anYanProperties.getPublicPassWrod();
|
||||
String userName = anYanProperties.getPublicUserNmae();
|
||||
AuthResult authResult = queryPublicToken();
|
||||
if(null != authResult){
|
||||
token = authResult.getAccess_token();
|
||||
int expireSeconds = ObjectUtil.isNotEmpty(authResult.getExpires_in())? authResult.getExpires_in() : 7200;
|
||||
redisClientUtil.set(new RedisKeyPrefix(expireSeconds,AnYanConstants.AN_YAN_API_TOKEN_PREFIX),"publicToken", token);
|
||||
}
|
||||
}
|
||||
return token;
|
||||
}
|
||||
|
||||
private AuthResult queryPublicToken(){
|
||||
JSONObject param = new JSONObject();
|
||||
String password = anYanProperties.getPublicPassWrod();
|
||||
String userName = anYanProperties.getPublicUserNmae();
|
||||
try {
|
||||
String sm4Password = SM4Utils.encryptSM4(password);
|
||||
String encryptPassword = StringUtils.encryptByPublicKey(publicKey, password);
|
||||
param.put("password",encryptPassword);
|
||||
@@ -193,23 +205,27 @@ public class AnYanClientExecutor implements AnYanClient {
|
||||
param.put("timeStamp", UUID.randomUUID().toString());
|
||||
ResponseEntity<AnYanResult> responseEntity = RestTemplateUtil.postExchangeForGetToken(AnYanApiEnum.PUBLIC_NETWORK_AUTH_TOKEN, param,AnYanResult.class);
|
||||
//安眼提供的接口包过深 ,先从AnYanResult对象中取出加密的密文,后在解密密文拿出 AuthResult对象 , 再从AuthResult对象中拿出 access_token
|
||||
try {
|
||||
AnYanResult anYanResult = responseEntity.getBody();
|
||||
if(ObjectUtil.isNotEmpty(anYanResult) && ObjectUtil.isNotEmpty(anYanResult.getData())){
|
||||
String decryptAuthResult = SM4Utils.decryptSM4((String) anYanResult.getData());
|
||||
AuthResult authResult = JSON.parseObject(decryptAuthResult).toJavaObject(AuthResult.class);
|
||||
if(null != authResult && null != authResult.getAccess_token()){
|
||||
token = authResult.getAccess_token();
|
||||
int expireSeconds = ObjectUtil.isNotEmpty(authResult.getExpires_in())? authResult.getExpires_in() : 7200;
|
||||
redisClientUtil.set(new RedisKeyPrefix(expireSeconds,AnYanConstants.AN_YAN_API_TOKEN_PREFIX),"publicToken", token);
|
||||
}
|
||||
AnYanResult anYanResult = responseEntity.getBody();
|
||||
if(ObjectUtil.isNotEmpty(anYanResult) && ObjectUtil.isNotEmpty(anYanResult.getData())){
|
||||
String decryptAuthResult = SM4Utils.decryptSM4((String) anYanResult.getData());
|
||||
AuthResult authResult = JSON.parseObject(decryptAuthResult).toJavaObject(AuthResult.class);
|
||||
if(null != authResult && null != authResult.getAccess_token()){
|
||||
return authResult;
|
||||
}else {
|
||||
ExceptionAssertsUtil.fail("获取安眼系统token失败");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ExceptionAssertsUtil.fail("获取安眼系统token失败");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ExceptionAssertsUtil.fail("获取安眼系统token失败");
|
||||
}
|
||||
return token;
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String publicNetworkTokenNoCache(){
|
||||
AuthResult authResult = queryPublicToken();
|
||||
return null != authResult? authResult.getAccess_token() : null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -283,7 +283,7 @@ public class LargeScreenNewController {
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("queryAnYanToken")
|
||||
public Result<String> queryAnYanToken() throws Exception {
|
||||
public Result<String> queryAnYanToken(){
|
||||
return Result.ok(largeScreenService.queryAnYanToken());
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -55,5 +55,5 @@ public interface ILargeScreenService extends IService<LargeScreenMap> {
|
||||
*/
|
||||
void syncAnYanHospital();
|
||||
|
||||
String queryAnYanToken() throws Exception;
|
||||
String queryAnYanToken();
|
||||
}
|
||||
|
||||
+2
-2
@@ -535,7 +535,7 @@ public class LargeScreenServiceImpl extends ServiceImpl<LargeScreenMapper, Large
|
||||
}
|
||||
|
||||
@Override
|
||||
public String queryAnYanToken() throws Exception {
|
||||
return anYanClient.publicNetworkToken();
|
||||
public String queryAnYanToken(){
|
||||
return anYanClient.publicNetworkTokenNoCache();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user