update 第三方平台相关方法

This commit is contained in:
Lemon
2025-02-25 14:49:04 +08:00
parent 382622e187
commit ee0414e2b0
26 changed files with 1381 additions and 1687 deletions

View File

@@ -74,7 +74,7 @@ public interface ZDLService {
* @param dto
* @return
*/
Map<String, String> generateToken(CommonParamsDTO dto) throws UnsupportedEncodingException;
// Map<String, String> generateToken(CommonParamsDTO dto) throws UnsupportedEncodingException;
/**
* 请求设备认证
@@ -134,5 +134,5 @@ public interface ZDLService {
* 校验签名
* @param dto
*/
Map<String, String> checkoutSign(CommonParamsDTO dto);
// Map<String, String> checkoutSign(CommonParamsDTO dto);
}

View File

@@ -7,12 +7,15 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.PageUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.YKCUtils;
import com.jsowell.pile.domain.*;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.service.*;
import com.jsowell.pile.vo.ThirdPartySecretInfoVO;
import com.jsowell.pile.vo.base.MerchantInfoVO;
import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO;
import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO;
@@ -22,10 +25,8 @@ import com.jsowell.pile.vo.zdl.EquipBusinessPolicyVO;
import com.jsowell.thirdparty.common.CommonService;
import com.jsowell.pile.thirdparty.CommonParamsDTO;
import com.jsowell.thirdparty.lianlian.service.LianLianService;
import com.jsowell.thirdparty.platform.util.Cryptos;
import com.jsowell.thirdparty.platform.util.Encodes;
import com.jsowell.thirdparty.platform.util.GBSignUtils;
import com.jsowell.thirdparty.platform.util.HttpRequestUtil;
import com.jsowell.thirdparty.platform.util.*;
import com.jsowell.thirdparty.service.ThirdpartySecretInfoService;
import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO;
import com.jsowell.thirdparty.yongchengboche.service.YCBCService;
import com.jsowell.pile.thirdparty.ZDLConnectorInfo;
@@ -63,9 +64,6 @@ public class ZDLServiceImpl implements ZDLService {
@Autowired
private PileStationInfoService pileStationInfoService;
@Autowired
private ThirdPartyPlatformConfigService thirdPartyPlatformConfigService;
@Autowired
private PileBasicInfoService pileBasicInfoService;
@@ -85,7 +83,7 @@ public class ZDLServiceImpl implements ZDLService {
private PileBillingTemplateService pileBillingTemplateService;
@Autowired
private ThirdPartySettingInfoService thirdPartySettingInfoService;
private ThirdpartySecretInfoService thirdpartySecretInfoService;
@Autowired
private CommonService commonService;
@@ -208,14 +206,14 @@ public class ZDLServiceImpl implements ZDLService {
// 通过第三方配置类型查询相关配置信息
ThirdPartySettingInfo settingInfo = new ThirdPartySettingInfo();
settingInfo.setType(dto.getThirdPartyType());
ThirdPartySettingInfo thirdPartySettingInfo = thirdPartySettingInfoService.selectSettingInfo(settingInfo);
ThirdPartySecretInfoVO thirdPartySecretInfoVO = getNingBoPlatformSecretInfo();
String operatorId = thirdPartySettingInfo.getOperatorId();
String operatorSecret = thirdPartySettingInfo.getOperatorSecret();
String signSecret = thirdPartySettingInfo.getSignSecret();
String dataSecret = thirdPartySettingInfo.getDataSecret();
String dataSecretIv = thirdPartySettingInfo.getDataSecretIv();
String urlAddress = thirdPartySettingInfo.getUrlAddress();
String operatorId = thirdPartySecretInfoVO.getTheirOperatorId();
String operatorSecret = thirdPartySecretInfoVO.getTheirOperatorSecret();
String signSecret = thirdPartySecretInfoVO.getTheirSigSecret();
String dataSecret = thirdPartySecretInfoVO.getTheirDataSecret();
String dataSecretIv = thirdPartySecretInfoVO.getTheirDataSecretIv();
String urlAddress = thirdPartySecretInfoVO.getTheirUrlPrefix();
// 组装中电联平台所需要的数据格式
ZDLStationInfo info = ZDLStationInfo.builder()
@@ -348,10 +346,8 @@ public class ZDLServiceImpl implements ZDLService {
// 未查到数据
return null;
}
ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorId());
if (configInfo == null) {
return null;
}
ThirdPartySecretInfoVO thirdPartySecretInfoVO = getNingBoPlatformSecretInfo();
PageInfo<ThirdPartyStationInfoVO> pageInfo = new PageInfo<>(stationInfos);
for (ThirdPartyStationInfoVO pileStationInfo : pageInfo.getList()) {
ZDLStationInfo stationInfo = new ZDLStationInfo();
@@ -402,18 +398,8 @@ public class ZDLServiceImpl implements ZDLService {
map.put("ItemSize", resultList.size());
map.put("StationInfos", resultList);
// 加密
Map<String, String> resultMap = Maps.newLinkedHashMap();
// 加密数据
byte[] encryptText = Cryptos.aesEncrypt(JSON.toJSONString(map).getBytes(),
configInfo.getDataSecret().getBytes(), configInfo.getDataSecretIv().getBytes());
String encryptData = Encodes.encodeBase64(encryptText);
resultMap.put("Data", encryptData);
// 生成sig
String resultSign = GBSignUtils.sign(resultMap, configInfo.getSignSecret());
resultMap.put("Sig", resultSign);
Map<String, String> resultMap = ThirdPartyPlatformUtils.generateResultMapV2(map, thirdPartySecretInfoVO.getOurDataSecret(),
thirdPartySecretInfoVO.getOurDataSecretIv(), thirdPartySecretInfoVO.getTheirSigSecret());
return resultMap;
}
@@ -465,10 +451,10 @@ public class ZDLServiceImpl implements ZDLService {
* @param dto
* @return
*/
@Override
public Map<String, String> generateToken(CommonParamsDTO dto) throws UnsupportedEncodingException {
return lianLianService.generateToken(dto);
}
// @Override
// public Map<String, String> generateToken(CommonParamsDTO dto) throws UnsupportedEncodingException {
// return lianLianService.generateToken(dto);
// }
/**
* 请求设备认证
@@ -499,10 +485,8 @@ public class ZDLServiceImpl implements ZDLService {
public Map<String, String> queryEquipBusinessPolicy(QueryStartChargeDTO dto) {
List<EquipBusinessPolicyVO.PolicyInfo> policyInfoList = new ArrayList<>();
String pileConnectorCode = dto.getConnectorID();
ThirdPartyPlatformConfig configInfo = thirdPartyPlatformConfigService.getInfoByOperatorId(dto.getOperatorId());
if (configInfo == null) {
return null;
}
ThirdPartySecretInfoVO thirdPartySecretInfoVO = getNingBoPlatformSecretInfo();
// 截取桩号
// String pileSn = StringUtils.substring(pileConnectorCode, 0, 14);
String pileSn = YKCUtils.getPileSn(pileConnectorCode);
@@ -539,18 +523,8 @@ public class ZDLServiceImpl implements ZDLService {
.build();
// 加密
Map<String, String> resultMap = Maps.newLinkedHashMap();
// 加密数据
byte[] encryptText = Cryptos.aesEncrypt(JSON.toJSONString(vo).getBytes(),
configInfo.getDataSecret().getBytes(), configInfo.getDataSecretIv().getBytes());
String encryptData = Encodes.encodeBase64(encryptText);
resultMap.put("Data", encryptData);
// 生成sig
String resultSign = GBSignUtils.sign(resultMap, configInfo.getSignSecret());
resultMap.put("Sig", resultSign);
Map<String, String> resultMap = ThirdPartyPlatformUtils.generateResultMapV2(vo, thirdPartySecretInfoVO.getOurDataSecret(),
thirdPartySecretInfoVO.getOurDataSecretIv(), thirdPartySecretInfoVO.getTheirSigSecret());
return resultMap;
}
@@ -596,10 +570,10 @@ public class ZDLServiceImpl implements ZDLService {
* 校验签名
* @param dto
*/
@Override
public Map<String, String> checkoutSign(CommonParamsDTO dto) {
return lianLianService.checkoutSign(dto);
}
// @Override
// public Map<String, String> checkoutSign(CommonParamsDTO dto) {
// return lianLianService.checkoutSign(dto);
// }
/**
* 推送充电状态
@@ -681,4 +655,19 @@ public class ZDLServiceImpl implements ZDLService {
return resultList;
}
/**
* 获取宁波平台配置密钥信息
*
* @return
*/
private ThirdPartySecretInfoVO getNingBoPlatformSecretInfo() {
// 通过第三方平台类型查询相关配置信息
ThirdPartySecretInfoVO thirdPartySecretInfoVO = thirdpartySecretInfoService.queryByThirdPlatformType(ThirdPlatformTypeEnum.NING_BO_PLATFORM.getTypeCode());
if (thirdPartySecretInfoVO == null) {
throw new BusinessException(ReturnCodeEnum.CODE_SELECT_INFO_IS_NULL);
}
thirdPartySecretInfoVO.setOurOperatorId(Constants.OPERATORID_JIANG_SU);
return thirdPartySecretInfoVO;
}
}