update 联联平台Service

This commit is contained in:
Lemon
2025-03-11 08:53:14 +08:00
parent 87d5b8bb10
commit d6f397883a

View File

@@ -116,16 +116,14 @@ public class LianLianPlatformServiceImpl implements ThirdPartyPlatformService {
// 0:无1:无此对接平台2:密钥错误; 399:自定义 // 0:无1:无此对接平台2:密钥错误; 399:自定义
int failReason = 0; int failReason = 0;
String operatorId = dto.getOperatorID(); String operatorId = StringUtils.isNotBlank(dto.getOperatorID()) ? dto.getOperatorID() : dto.getPlatformID();
// token缓存key值
String redisKey = operatorId + "_token:";
// 通过operatorId 查出 operatorSecret // 通过operatorId 查出 operatorSecret
ThirdPartySecretInfoVO thirdPartySecretInfoVO = getLianLianPlatformSecretInfo(); ThirdPartySecretInfoVO thirdPartySecretInfoVO = getLianLianPlatformSecretInfo();
if (thirdPartySecretInfoVO == null) { if (thirdPartySecretInfoVO == null) {
failReason = 1; failReason = 1;
succStat = 1; succStat = 1;
} else { } else {
String ourOperatorSecret = thirdPartySecretInfoVO.getOurOperatorSecret(); String theirOperatorSecret = thirdPartySecretInfoVO.getTheirOperatorSecret();
String dataSecret = thirdPartySecretInfoVO.getOurDataSecret(); String dataSecret = thirdPartySecretInfoVO.getOurDataSecret();
String dataSecretIv = thirdPartySecretInfoVO.getOurDataSecretIv(); String dataSecretIv = thirdPartySecretInfoVO.getOurDataSecretIv();
// 解密data 获取参数中的OperatorSecret // 解密data 获取参数中的OperatorSecret
@@ -135,31 +133,23 @@ public class LianLianPlatformServiceImpl implements ThirdPartyPlatformService {
inputOperatorSecret = JSON.parseObject(decrypt).getString("OperatorSecret"); inputOperatorSecret = JSON.parseObject(decrypt).getString("OperatorSecret");
} }
// 对比密钥 // 对比密钥
if (!StringUtils.equals(ourOperatorSecret, inputOperatorSecret)) { List<String> operatorSecretList = Lists.newArrayList(theirOperatorSecret, thirdPartySecretInfoVO.getOurOperatorSecret());
if (!operatorSecretList.contains(inputOperatorSecret)) {
failReason = 1; failReason = 1;
succStat = 1; succStat = 1;
} else { } else {
// 先查缓存中是否有已生成token // 生成token
String token = redisCache.getCacheObject(redisKey); String token = JWTUtils.createToken(operatorId, theirOperatorSecret, JWTUtils.ttlMillis);
int expiredTime = (int) redisCache.getExpire(redisKey);
if (StringUtils.isBlank(token)) {
// 生成token
token = JWTUtils.createToken(operatorId, ourOperatorSecret, JWTUtils.ttlMillis);
expiredTime = (int) (JWTUtils.ttlMillis / 1000);
}
vo.setAccessToken(token); vo.setAccessToken(token);
vo.setTokenAvailableTime(expiredTime); vo.setTokenAvailableTime((int) (JWTUtils.ttlMillis / 1000));
// 设置缓存
redisCache.setCacheObject(redisKey, token, expiredTime, TimeUnit.SECONDS);
} }
} }
// 组装返回参数 // 组装返回参数
vo.setOperatorID(operatorId); vo.setPlatformId(operatorId);
vo.setFailReason(failReason); vo.setFailReason(failReason);
vo.setSuccStat(succStat); vo.setSuccStat(succStat);
Map<String, String> resultMap = ThirdPartyPlatformUtils.generateResultMapV2(vo, thirdPartySecretInfoVO.getOurDataSecret(), Map<String, String> resultMap = ThirdPartyPlatformUtils.generateResultMap(vo, thirdPartySecretInfoVO);
thirdPartySecretInfoVO.getOurDataSecretIv(), thirdPartySecretInfoVO.getTheirSigSecret());
return resultMap; return resultMap;
} }
@@ -761,7 +751,7 @@ public class LianLianPlatformServiceImpl implements ThirdPartyPlatformService {
// 查询相关配置信息 // 查询相关配置信息
ThirdPartySecretInfoVO thirdPartySecretInfoVO = getLianLianPlatformSecretInfo(); ThirdPartySecretInfoVO thirdPartySecretInfoVO = getLianLianPlatformSecretInfo();
String operatorId = Constants.OPERATORID_JIANG_SU; String operatorId = thirdPartySecretInfoVO.getOurOperatorId();
String operatorSecret = thirdPartySecretInfoVO.getTheirOperatorSecret(); String operatorSecret = thirdPartySecretInfoVO.getTheirOperatorSecret();
String signSecret = thirdPartySecretInfoVO.getTheirSigSecret(); String signSecret = thirdPartySecretInfoVO.getTheirSigSecret();
String dataSecret = thirdPartySecretInfoVO.getTheirDataSecret(); String dataSecret = thirdPartySecretInfoVO.getTheirDataSecret();