添加日志、获取甬城泊车平台令牌存入缓存

This commit is contained in:
Lemon
2023-11-23 10:22:33 +08:00
parent fc4eb40904
commit c282a56a99
5 changed files with 66 additions and 37 deletions

View File

@@ -3,7 +3,10 @@ package com.jsowell.thirdparty.yongchengboche.service.impl;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.dto.*;
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
import com.jsowell.thirdparty.lianlian.service.LianLianService;
@@ -24,6 +27,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* 甬城泊车 Service
@@ -40,6 +44,9 @@ public class YCBCServiceImpl implements YCBCService {
@Autowired
private LianLianService lianLianService;
@Autowired
private RedisCache redisCache;
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -57,7 +64,15 @@ public class YCBCServiceImpl implements YCBCService {
String urlAddress = dto.getUrlAddress();
String signSecret = dto.getSignSecret();
String token = "";
String redisKey = CacheConstants.YCBC_TOKEN_BY_OPERATORID + operatorId;
// 先查缓存
String token = redisCache.getCacheObject(redisKey);
if (StringUtils.isNotBlank(token)) {
logger.info("获取甬城泊车平台令牌,缓存中有值为:{}", token);
return token;
}else {
token = "";
}
try {
// 请求地址
String requestUrl = urlAddress + "query_token";
@@ -97,8 +112,16 @@ public class YCBCServiceImpl implements YCBCService {
dataSecret.getBytes(), dataSecretIv.getBytes());
String dataStr = new String(plainText, "UTF-8");
Map<String, String> resultMap = (Map<String, String>) JSON.parse(dataStr);
int succStat = Integer.parseInt(resultMap.get("SuccStat"));
if (succStat != 0) {
logger.error("获取甬城泊车平台令牌 error:{}", result.getMsg());
return token;
}
token = resultMap.get("AccessToken");
logger.info("甬城泊车 token: {}", token);
// 存入缓存
int tokenAvailableTime = Integer.parseInt(resultMap.get("TokenAvailableTime"));
redisCache.setCacheObject(redisKey, token, tokenAvailableTime, TimeUnit.SECONDS);
}
} catch (Exception e) {
return token;