mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 03:25:12 +08:00
添加日志、获取甬城泊车平台令牌存入缓存
This commit is contained in:
@@ -243,37 +243,38 @@ public class LianLianServiceImpl implements LianLianService {
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws UnsupportedEncodingException {
|
||||
String dataSecret = "P29C6N1K0B1CIRLP"; // SPBNJ1Z5EQNmpK08 VTAEKDPVN9CUS7WO
|
||||
String dataSecretIV = "9UL7GUR8AGEHQNDI"; // peRoTcb2C7zqKeII 83UZFFRRZDYNF5CR
|
||||
String signSecret = "BSOUJ73MM7KETDIT"; // sRjCDeokckFGpYpA
|
||||
// String dataString = "LrjN9OmwM1HLzq7ljVy4u+w9fjZ3Csfat1/t9JBRx7U2i/7k8pDbFMEj1hGy1hLYG3I4urpCIunP01xUUI2VC1PyTKxjLlJBhiSsnEGE1Nb78v8Zx8ESeh52oJ5se1h8vGTQIWG679Q1xO1yPINkMN4+wZXq3VsaJNaQ8PfzLn1j0kN0LP7h9SNpddwXQfxaZgAM64qxpzX15yZpAtNDAfv/R9+uTh4M32bipQSPOl0P7PUqNIDxRfKMe8u50tGzTUVjF/XgJB5TZkW0oU6lYLrTuFDeHS2NS4lR5BWRfiUY3Kf6sGC5PbZtaqrkK5zQw1slwNPHWDt3kMlVqrpawAdeBzoOtOn3csjr/wRMe4UNoAI/sVZWW+ha5HbfcHh3MUwQjzdmeTg1uBK76sOLvA==";
|
||||
String dataSecret = "SPBNJ1Z5EQNmpK08"; // SPBNJ1Z5EQNmpK08 VTAEKDPVN9CUS7WO
|
||||
String dataSecretIV = "peRoTcb2C7zqKeII"; // peRoTcb2C7zqKeII 83UZFFRRZDYNF5CR
|
||||
String signSecret = "sRjCDeokckFGpYpA"; // sRjCDeokckFGpYpA
|
||||
String dataString = "jLVyZbrFkAVN1LuTZqjxBwvvUo2Du8fT5im8x0Uqvq/9qEswU7wqeKRbjPoc+Jzcq84fDT4kgozILsCfCxeEK0CqVwAyc7PcrRz6tWsOzr2BMNcewqM73Bk/rB\n" +
|
||||
"lT369oOVpUznA+I7TFtm4eQDEQ0p671unzvm/zUUn5YhGSPBJiyitwKI0XWu62tUwReupxx7KmsC1zsYFXsPGESAAo7WUJdLhK+71SNnX2/7HLg3U=";
|
||||
|
||||
// // 解密data
|
||||
// byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(dataString), dataSecret.getBytes(), dataSecretIV.getBytes());
|
||||
// String dataStr = new String(plainText, StandardCharsets.UTF_8);
|
||||
// Map<String, String> resMap = (Map<String, String>) JSON.parse(dataStr);
|
||||
// // String secret = resMap.get("OperatorSecret");
|
||||
// System.out.println(resMap);
|
||||
// 解密data
|
||||
byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(dataString), dataSecret.getBytes(), dataSecretIV.getBytes());
|
||||
String dataStr = new String(plainText, StandardCharsets.UTF_8);
|
||||
Map<String, String> resMap = (Map<String, String>) JSON.parse(dataStr);
|
||||
// String secret = resMap.get("OperatorSecret");
|
||||
System.out.println(resMap);
|
||||
|
||||
|
||||
// 加密data
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("OperatorID", "MA771QENX");
|
||||
json.put("OperatorSecret", "YVK5DZS4CCGJJVBT");
|
||||
|
||||
Map<String, String> resultMap = Maps.newLinkedHashMap();
|
||||
// 加密数据
|
||||
byte[] encryptText = Cryptos.aesEncrypt(JSONObject.toJSONString(json).getBytes(),
|
||||
dataSecret.getBytes(), dataSecretIV.getBytes());
|
||||
String encryptData = Encodes.encodeBase64(encryptText);
|
||||
|
||||
resultMap.put("Data", encryptData);
|
||||
// 生成sig
|
||||
String resultSign = GBSignUtils.sign(resultMap, signSecret);
|
||||
resultMap.put("Sig", resultSign);
|
||||
|
||||
System.out.println(resultSign);
|
||||
System.out.println(resultMap);
|
||||
// JSONObject json = new JSONObject();
|
||||
// json.put("OperatorID", "MA771QENX");
|
||||
// json.put("OperatorSecret", "YVK5DZS4CCGJJVBT");
|
||||
//
|
||||
// Map<String, String> resultMap = Maps.newLinkedHashMap();
|
||||
// // 加密数据
|
||||
// byte[] encryptText = Cryptos.aesEncrypt(JSONObject.toJSONString(json).getBytes(),
|
||||
// dataSecret.getBytes(), dataSecretIV.getBytes());
|
||||
// String encryptData = Encodes.encodeBase64(encryptText);
|
||||
//
|
||||
// resultMap.put("Data", encryptData);
|
||||
// // 生成sig
|
||||
// String resultSign = GBSignUtils.sign(resultMap, signSecret);
|
||||
// resultMap.put("Sig", resultSign);
|
||||
//
|
||||
// System.out.println(resultSign);
|
||||
// System.out.println(resultMap);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user