mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
update 对接第三方平台
This commit is contained in:
@@ -33,7 +33,7 @@ import com.jsowell.pile.vo.huawei.QueryEquipAuthVO;
|
||||
import com.jsowell.pile.vo.huawei.QueryStartChargeVO;
|
||||
import com.jsowell.pile.vo.web.PileStationVO;
|
||||
import com.jsowell.thirdparty.huawei.HuaweiServiceV2;
|
||||
import com.jsowell.thirdparty.platform.hainan.service.HaiNanPlatformLogic;
|
||||
import com.jsowell.thirdparty.platform.hainan.service.HaiNanPlatformServiceImpl;
|
||||
import com.jsowell.thirdparty.huawei.HuaWeiService;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.HttpRequestUtil;
|
||||
@@ -109,7 +109,7 @@ public class CommonService {
|
||||
private HuaweiServiceV2 huaweiServiceV2;
|
||||
|
||||
@Autowired
|
||||
private HaiNanPlatformLogic haiNanChargeService;
|
||||
private HaiNanPlatformServiceImpl haiNanChargeService;
|
||||
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
@@ -123,7 +123,7 @@ public class CommonService {
|
||||
ThirdPartyStationRelation relation = new ThirdPartyStationRelation();
|
||||
relation.setStationId(dto.getStationId());
|
||||
relation.setThirdPartyType(thirdPartyType);
|
||||
if (StringUtils.equals(thirdPartyType, ThirdPlatformTypeEnum.HUA_WEI.getCode())) {
|
||||
if (StringUtils.equals(thirdPartyType, ThirdPlatformTypeEnum.HUA_WEI.getTypeCode())) {
|
||||
relation.setStartMode(Constants.ONE);
|
||||
}
|
||||
ThirdPartyStationRelationVO vo = thirdPartyStationRelationService.selectRelationInfo(relation);
|
||||
@@ -148,27 +148,27 @@ public class CommonService {
|
||||
StringBuilder finalResult = new StringBuilder();
|
||||
for (String type : types) {
|
||||
dto.setThirdPartyType(type);
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.LIAN_LIAN_PLATFORM.getCode(), dto.getThirdPartyType())) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.LIAN_LIAN_PLATFORM.getTypeCode(), dto.getThirdPartyType())) {
|
||||
// 推送联联
|
||||
// result = lianLianService.pushStationInfo(dto);
|
||||
result = lianLianService.pushStationInfoV2(dto);
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.ZHONG_DIAN_LIAN_PLATFORM.getCode(), dto.getThirdPartyType())) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.ZHONG_DIAN_LIAN_PLATFORM.getTypeCode(), dto.getThirdPartyType())) {
|
||||
// 中电联
|
||||
// result = zdlService.pushStationInfo(dto);
|
||||
result = zdlService.pushStationInfoV2(dto);
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.JIANG_SU_PLATFORM.getCode(), dto.getThirdPartyType())) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.JIANG_SU_PLATFORM.getTypeCode(), dto.getThirdPartyType())) {
|
||||
// 江苏省平台
|
||||
// result = nrService.pushStationInfo(dto);
|
||||
result = nrService.pushStationInfoV2(dto);
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getCode(), dto.getThirdPartyType())) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getTypeCode(), dto.getThirdPartyType())) {
|
||||
// 甬城泊车平台
|
||||
// result = ycbcService.pushStationInfo(dto);
|
||||
result = ycbcService.pushStationInfoV2(dto);
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.XIN_DIAN_TU.getCode(), dto.getThirdPartyType())) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.XIN_DIAN_TU.getTypeCode(), dto.getThirdPartyType())) {
|
||||
// 新电途平台
|
||||
result = xdtService.pushStationInfoV2(dto);
|
||||
}
|
||||
@@ -176,7 +176,7 @@ public class CommonService {
|
||||
// // 华为
|
||||
// result = huaWeiService.notificationOperationSystemInfo(dto);
|
||||
// }
|
||||
if(StringUtils.equals(ThirdPlatformTypeEnum.HAI_NAN_1.getCode(), dto.getThirdPartyType())) {
|
||||
if(StringUtils.equals(ThirdPlatformTypeEnum.HAI_NAN_1.getTypeCode(), dto.getThirdPartyType())) {
|
||||
// 海南
|
||||
result = haiNanChargeService.pushStationInfoV2(dto);
|
||||
}
|
||||
@@ -225,7 +225,7 @@ public class CommonService {
|
||||
// 如果是类似华为格式,不需要传
|
||||
continue;
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.LIAN_LIAN_PLATFORM.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.LIAN_LIAN_PLATFORM.getTypeCode(), thirdPartyType)) {
|
||||
// 联联
|
||||
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByTransactionCode(transactionCode);
|
||||
if (orderInfo == null) {
|
||||
@@ -241,12 +241,12 @@ public class CommonService {
|
||||
// 推送充电状态
|
||||
lianLianService.pushChargeStatus(orderInfo.getOrderCode());
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.ZHONG_DIAN_LIAN_PLATFORM.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.ZHONG_DIAN_LIAN_PLATFORM.getTypeCode(), thirdPartyType)) {
|
||||
// 中电联
|
||||
// log.info("推送中电联平台实时数据 pileConnectorCode:{}, connectorStatus:{}", pileConnectorCode, connectorStatus);
|
||||
zdlService.notificationStationStatus(pileConnectorCode, changedStatus);
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.JIANG_SU_PLATFORM.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.JIANG_SU_PLATFORM.getTypeCode(), thirdPartyType)) {
|
||||
// 先判断缓存中是否有数据
|
||||
String redisKey = CacheConstants.JIANGSU_PUSH_PILE_STATUS + pileConnectorCode;
|
||||
Object cacheObject = redisCache.getCacheObject(redisKey);
|
||||
@@ -270,7 +270,7 @@ public class CommonService {
|
||||
|
||||
// log.info("推送江苏省平台实时数据 result:{}", result);
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.XIN_DIAN_TU.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.XIN_DIAN_TU.getTypeCode(), thirdPartyType)) {
|
||||
// 新电途平台
|
||||
log.info("新电途平台设备状态变化推送 pileConnectorCode:{}, changedStatus:{}", pileConnectorCode, changedStatus);
|
||||
String result1 = xdtService.notificationStationStatus(pileConnectorCode, changedStatus);
|
||||
@@ -292,11 +292,11 @@ public class CommonService {
|
||||
// }
|
||||
// huaWeiService.notificationEquipChargeStatus(orderInfo.getOrderCode());
|
||||
// }
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HAI_NAN_1.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HAI_NAN_1.getTypeCode(), thirdPartyType)) {
|
||||
// 海南平台
|
||||
haiNanChargeService.notificationStationStatus(pileConnectorCode, changedStatus);
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getTypeCode(), thirdPartyType)) {
|
||||
// 甬城泊车
|
||||
// log.info("推送甬城泊车平台设备状态变化推送 pileConnectorCode:{}, changedStatus:{}", pileConnectorCode, changedStatus);
|
||||
// 设备状态变化推送 notification_stationStatus
|
||||
@@ -336,7 +336,7 @@ public class CommonService {
|
||||
// 如果是类似华为格式,不需要传
|
||||
continue;
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.LIAN_LIAN_PLATFORM.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.LIAN_LIAN_PLATFORM.getTypeCode(), thirdPartyType)) {
|
||||
// 联联平台
|
||||
// 推送停止充电结果
|
||||
lianLianService.pushStopChargeResult(orderBasicInfo.getOrderCode());
|
||||
@@ -345,16 +345,16 @@ public class CommonService {
|
||||
// 推送充电订单信息
|
||||
lianLianService.pushChargeOrderInfo(orderBasicInfo.getOrderCode());
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.ZHONG_DIAN_LIAN_PLATFORM.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.ZHONG_DIAN_LIAN_PLATFORM.getTypeCode(), thirdPartyType)) {
|
||||
// 中电联
|
||||
zdlService.pushChargeOrderInfo(orderBasicInfo.getOrderCode());
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.JIANG_SU_PLATFORM.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.JIANG_SU_PLATFORM.getTypeCode(), thirdPartyType)) {
|
||||
// 江苏平台
|
||||
// 推送订单信息
|
||||
nrService.pushOrderInfo(orderBasicInfo.getOrderCode());
|
||||
}
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.XIN_DIAN_TU.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.XIN_DIAN_TU.getTypeCode(), thirdPartyType)) {
|
||||
// 新电途平台
|
||||
// 推送停止充电结果
|
||||
xdtService.notificationStopChargeResult(orderBasicInfo.getOrderCode());
|
||||
@@ -368,12 +368,12 @@ public class CommonService {
|
||||
// // 推送订单信息
|
||||
// result = huaWeiService.pushChargeOrderInfo(orderBasicInfo.getOrderCode());
|
||||
// }
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HAI_NAN_1.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HAI_NAN_1.getTypeCode(), thirdPartyType)) {
|
||||
// 海南平台
|
||||
haiNanChargeService.notificationChargeOrderInfo(orderBasicInfo.getOrderCode());
|
||||
}
|
||||
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getTypeCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(orderBasicInfo.getStartMode(), StartModeEnum.THIRD_PARTY_PLATFORM.getValue())) {
|
||||
// 甬城泊车
|
||||
// 推送停止充电结果
|
||||
@@ -436,7 +436,7 @@ public class CommonService {
|
||||
|
||||
String token = "";
|
||||
String result = "";
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getTypeCode(), thirdPartyType)) {
|
||||
YCBCGetTokenDTO dto = new YCBCGetTokenDTO();
|
||||
dto.setOperatorId(operatorId);
|
||||
dto.setDataSecret(dataSecret);
|
||||
@@ -514,9 +514,9 @@ public class CommonService {
|
||||
String payMode = dto.getPayMode();
|
||||
|
||||
// 判断平台类型
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HUA_WEI.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HUA_WEI.getTypeCode(), thirdPartyType)) {
|
||||
// 华为平台
|
||||
String label = ThirdPlatformTypeEnum.getLabelByCode(thirdPartyType);
|
||||
String label = ThirdPlatformTypeEnum.getTypeLabelByTypeCode(thirdPartyType);
|
||||
// query_station_status 查询站点枪口详情
|
||||
Map<String, String> map = huaweiServiceV2.queryStationStatus(stationIds);
|
||||
String status = map.get(pileConnectorCode);
|
||||
@@ -565,7 +565,7 @@ public class CommonService {
|
||||
String thirdPartyType = dto.getThirdPartyType();
|
||||
|
||||
// 判断平台类型
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HUA_WEI.getCode(), thirdPartyType)) {
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HUA_WEI.getTypeCode(), thirdPartyType)) {
|
||||
QueryStartChargeVO vo = huaweiServiceV2.queryStopCharge(orderBasicInfo.getOrderCode());
|
||||
return String.valueOf(vo.getSuccStat());
|
||||
}
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
package com.jsowell.thirdparty.huawei;
|
||||
|
||||
|
||||
import com.jsowell.pile.domain.huawei.HWStationInfo;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.dto.huawei.DeliverEquipBusinessDTO;
|
||||
import com.jsowell.pile.dto.huawei.ReceiveDeliverDTO;
|
||||
import com.jsowell.pile.dto.huawei.VinStartChargeDTO;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.zhongdianlian.dto.ZDLGetTokenDTO;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
@@ -38,7 +38,7 @@ import com.jsowell.pile.vo.uniapp.BillingPriceVO;
|
||||
import com.jsowell.pile.vo.web.PileStationVO;
|
||||
import com.jsowell.thirdparty.lianlian.common.CommonResult;
|
||||
import com.jsowell.thirdparty.lianlian.domain.ConnectorStatusInfo;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
|
||||
@@ -19,7 +19,7 @@ import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO;
|
||||
import com.jsowell.pile.vo.uniapp.BillingPriceVO;
|
||||
import com.jsowell.pile.vo.web.PileStationVO;
|
||||
import com.jsowell.thirdparty.huawei.HuaWeiService;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
import com.jsowell.thirdparty.lianlian.util.GBSignUtils;
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
package com.jsowell.thirdparty.lianlian.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class CommonParamsDTO {
|
||||
@JsonProperty(value = "OperatorID")
|
||||
private String operatorID;
|
||||
|
||||
@JsonProperty(value = "Data")
|
||||
private String data;
|
||||
|
||||
@JsonProperty(value = "TimeStamp")
|
||||
private String timeStamp;
|
||||
|
||||
@JsonProperty(value = "Seq")
|
||||
private String seq;
|
||||
|
||||
@JsonProperty(value = "Sig")
|
||||
private String sig;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.jsowell.thirdparty.lianlian.service;
|
||||
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -39,7 +39,7 @@ import com.jsowell.pile.vo.web.PileModelInfoVO;
|
||||
import com.jsowell.pile.vo.web.PileStationVO;
|
||||
import com.jsowell.thirdparty.common.CommonService;
|
||||
import com.jsowell.thirdparty.lianlian.domain.*;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
package com.jsowell.thirdparty.nanrui.service;
|
||||
|
||||
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
|
||||
import com.jsowell.pile.domain.nanrui.NROrderInfo;
|
||||
import com.jsowell.pile.dto.PushStationInfoDTO;
|
||||
import com.jsowell.pile.dto.QueryOrderDTO;
|
||||
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||
import com.jsowell.pile.dto.nanrui.NRQueryOrderDTO;
|
||||
import com.jsowell.pile.dto.nanrui.PushAlarmInfoDTO;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.nanrui.domain.NRStationStatusInfo;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.text.ParseException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,7 +32,7 @@ import com.jsowell.pile.vo.web.PileConnectorInfoVO;
|
||||
import com.jsowell.pile.vo.web.PileModelInfoVO;
|
||||
import com.jsowell.pile.vo.web.PileStationVO;
|
||||
import com.jsowell.thirdparty.common.CommonService;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.jsowell.thirdparty.ningxiajiaotou.service;
|
||||
|
||||
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryOrdersInfoDTO;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
@@ -14,7 +14,7 @@ import com.jsowell.pile.vo.base.ConnectorInfoVO;
|
||||
import com.jsowell.pile.vo.ningxiajiaotou.NXJTOrderVO;
|
||||
import com.jsowell.pile.vo.ningxiajiaotou.NXJTStationInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.OrderVO;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
|
||||
@@ -15,7 +15,7 @@ import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.vo.web.PileModelInfoVO;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
import com.jsowell.thirdparty.lianlian.util.GBSignUtils;
|
||||
|
||||
@@ -3,12 +3,17 @@ package com.jsowell.thirdparty.platform;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.JWTUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
import com.jsowell.thirdparty.lianlian.util.GBSignUtils;
|
||||
import com.jsowell.thirdparty.lianlian.vo.AccessTokenVO;
|
||||
import com.jsowell.thirdparty.lianlian.vo.LianLianResultVO;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
@@ -18,6 +23,79 @@ import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ThirdPartyPlatformService {
|
||||
|
||||
default Map<String, String> queryToken(CommonParamsDTO dto) {
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 给第三方平台生成token
|
||||
*/
|
||||
default Map<String, String> generateToken(String operatorSecret, String dataSecret, String dataSecretIv,
|
||||
String signSecret, String operatorId, String data) {
|
||||
// 解密data
|
||||
byte[] plainText = Cryptos.aesDecrypt(Encodes.decodeBase64(data), 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");
|
||||
|
||||
// 对比解出来的密钥是否和数据库中保存的一致
|
||||
if (!StringUtils.equals(operatorSecret, secret)) {
|
||||
// System.out.println("密钥不一致");
|
||||
return null;
|
||||
}
|
||||
// System.out.println("密钥校验通过!! 密钥为: " + operatorSecret);
|
||||
|
||||
long ttlMillis = 60 * 60 * 24 * 1000;
|
||||
String token = JWTUtils.createToken(operatorId, operatorSecret, ttlMillis);
|
||||
// System.out.println("生成的token:" + token);
|
||||
|
||||
// 组装返回参数
|
||||
AccessTokenVO vo = new AccessTokenVO();
|
||||
vo.setAccessToken(token);
|
||||
vo.setOperatorID(operatorId);
|
||||
vo.setTokenAvailableTime((int) (ttlMillis / 1000));
|
||||
vo.setFailReason(0);
|
||||
vo.setSuccStat(0);
|
||||
|
||||
Map<String, String> resultMap = Maps.newLinkedHashMap();
|
||||
// 加密数据
|
||||
byte[] encryptText = Cryptos.aesEncrypt(JSON.toJSONString(vo).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);
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验签名
|
||||
* @param operatorID 组织机构代码
|
||||
* @param data 参数内容
|
||||
* @param timeStamp 时间戳
|
||||
* @param seq 自增序列
|
||||
* @param sig 数字签名
|
||||
* @param signSecret 签名密钥
|
||||
* @return 校验结果
|
||||
*/
|
||||
default boolean verifySignature(String operatorID, String data, String timeStamp, String seq, String sig, String signSecret) {
|
||||
Map<String, String> map = Maps.newLinkedHashMap();
|
||||
map.put("OperatorID", operatorID);
|
||||
map.put("Data", data);
|
||||
map.put("TimeStamp", timeStamp);
|
||||
map.put("Seq", seq);
|
||||
String sign = GBSignUtils.sign(map, signSecret);
|
||||
|
||||
// 验证签名 得到请求方传过来的签名sig->自己拿到请求体后,再按双方约定的协议生成一个sig->对比两个sig是否一致
|
||||
return StringUtils.equals(sig, sign);
|
||||
}
|
||||
|
||||
|
||||
// =================================================================================== //
|
||||
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 由我方平台实现此接口,对方平台调用的查询接口 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ //
|
||||
// =================================================================================== //
|
||||
@@ -369,4 +447,5 @@ public interface ThirdPartyPlatformService {
|
||||
return token;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -67,8 +67,8 @@ import java.util.stream.Collectors;
|
||||
* @Date 2024/1/18 10:05:23
|
||||
*/
|
||||
@Service
|
||||
public class HaiNanPlatformLogic implements ThirdPartyPlatformService {
|
||||
Logger logger = LoggerFactory.getLogger(HaiNanPlatformLogic.class);
|
||||
public class HaiNanPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
Logger logger = LoggerFactory.getLogger(HaiNanPlatformServiceImpl.class);
|
||||
// 平台类型
|
||||
private final String platformType = ThirdPlatformTypeEnum.HAI_NAN_1.getTypeCode();
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.*;
|
||||
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.EquipmentInfo;
|
||||
import com.jsowell.pile.vo.base.*;
|
||||
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
|
||||
@@ -45,7 +46,7 @@ import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class LianLianPlatformLogic implements ThirdPartyPlatformService {
|
||||
public class LianLianPlatformServiceImpl implements ThirdPartyPlatformService {
|
||||
// 平台类型
|
||||
private final String platformType = ThirdPlatformTypeEnum.LIAN_LIAN_PLATFORM.getTypeCode();
|
||||
|
||||
@@ -82,6 +83,23 @@ public class LianLianPlatformLogic implements ThirdPartyPlatformService {
|
||||
// InterfaceWithPlatformLogicFactory.register(platformType, this);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public Map<String, String> queryToken(CommonParamsDTO dto) {
|
||||
String operatorId = dto.getOperatorID();
|
||||
// 通过operatorId 查出 operatorSecret
|
||||
ThirdPartyPlatformConfig platformConfig = thirdPartyPlatformConfigService.getInfoByOperatorId(operatorId);
|
||||
if (platformConfig == null) {
|
||||
return null;
|
||||
}
|
||||
String operatorSecret = platformConfig.getOperatorSecret();
|
||||
String dataSecret = platformConfig.getDataSecret();
|
||||
String dataSecretIv = platformConfig.getDataSecretIv();
|
||||
String signSecret = platformConfig.getSignSecret();
|
||||
// 使用公共方法生成token
|
||||
Map<String, String> resultMap = generateToken(operatorSecret, dataSecret, dataSecretIv, signSecret, operatorId, dto.getData());
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询充电站信息 query_stations_info
|
||||
* 此接口用于查询对接平台的充电站的信息
|
||||
@@ -13,7 +13,7 @@ import java.util.Map;
|
||||
* 内蒙古监测平台逻辑
|
||||
*/
|
||||
@Service
|
||||
public class NeiMengGuPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
public class NeiMengGuPlatformServiceImpl extends AbsInterfaceWithPlatformLogic {
|
||||
// 平台类型
|
||||
private final String platformType = ThirdPlatformTypeEnum.NEI_MENG_GU_PLATFORM.getTypeCode();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.jsowell.thirdparty.xindiantu.service;
|
||||
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.zhongdianlian.dto.ZDLGetTokenDTO;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.jsowell.pile.service.PileStationInfoService;
|
||||
import com.jsowell.pile.service.ThirdPartyStationRelationService;
|
||||
import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO;
|
||||
import com.jsowell.thirdparty.common.CommonService;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.xindiantu.service.XDTService;
|
||||
import com.jsowell.thirdparty.zhongdianlian.dto.ZDLGetTokenDTO;
|
||||
import com.jsowell.thirdparty.zhongdianlian.service.ZDLService;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.jsowell.thirdparty.yongchengboche.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.jsowell.thirdparty.yongchengboche.service;
|
||||
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
@@ -12,7 +12,7 @@ import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.ThirdPartyStationRelation;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.service.ThirdPartyStationRelationService;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.jsowell.thirdparty.zhongdianlian.service;
|
||||
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.zhongdianlian.dto.ZDLGetTokenDTO;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
@@ -19,7 +19,7 @@ import com.jsowell.pile.vo.uniapp.BillingPriceVO;
|
||||
import com.jsowell.pile.vo.web.PileModelInfoVO;
|
||||
import com.jsowell.pile.vo.zdl.EquipBusinessPolicyVO;
|
||||
import com.jsowell.thirdparty.common.CommonService;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.pile.thirdparty.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.Cryptos;
|
||||
import com.jsowell.thirdparty.lianlian.util.Encodes;
|
||||
|
||||
Reference in New Issue
Block a user