mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 19:15:35 +08:00
新增 华为平台充电设备编码同步接口
This commit is contained in:
@@ -1,10 +1,8 @@
|
||||
package com.jsowell.thirdparty.huawei;
|
||||
|
||||
|
||||
import com.jsowell.pile.dto.QueryEquipChargeStatusDTO;
|
||||
import com.jsowell.pile.dto.QueryEquipmentDTO;
|
||||
import com.jsowell.pile.dto.QueryStartChargeDTO;
|
||||
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||
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;
|
||||
@@ -199,4 +197,16 @@ public interface HuaWeiService {
|
||||
* @throws Exception
|
||||
*/
|
||||
Map<String, String> vinStartCharge(VinStartChargeDTO dto) throws Exception;
|
||||
|
||||
|
||||
/**
|
||||
* 平台充电设备编码同步
|
||||
* 平台 --> 华为
|
||||
*
|
||||
* notification_operation_system_info
|
||||
*
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
String notificationOperationSystemInfo(PushStationInfoDTO dto);
|
||||
}
|
||||
|
||||
@@ -9,17 +9,17 @@ import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.util.BytesUtil;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.common.util.YKCUtils;
|
||||
import com.jsowell.pile.domain.MemberPlateNumberRelation;
|
||||
import com.jsowell.pile.domain.PileBasicInfo;
|
||||
import com.jsowell.pile.domain.ThirdPartyPlatformConfig;
|
||||
import com.jsowell.pile.domain.ThirdPartyStationRelation;
|
||||
import com.jsowell.pile.domain.*;
|
||||
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.pile.service.*;
|
||||
import com.jsowell.pile.vo.base.ConnectorInfoVO;
|
||||
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.thirdparty.lianlian.util.Cryptos;
|
||||
@@ -76,6 +76,12 @@ public class HuaWeiServiceImpl implements HuaWeiService {
|
||||
@Autowired
|
||||
private OrderBasicInfoService orderBasicInfoService;
|
||||
|
||||
@Autowired
|
||||
private PileStationInfoService pileStationInfoService;
|
||||
|
||||
@Autowired
|
||||
private PileConnectorInfoService pileConnectorInfoService;
|
||||
|
||||
/**
|
||||
* 获取令牌
|
||||
* @param dto
|
||||
@@ -531,4 +537,120 @@ public class HuaWeiServiceImpl implements HuaWeiService {
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 平台充电设备编码同步
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String notificationOperationSystemInfo(PushStationInfoDTO dto) {
|
||||
// 通过站点id查询配置密钥等
|
||||
ThirdPartyStationRelation relation = new ThirdPartyStationRelation();
|
||||
relation.setStationId(dto.getStationId());
|
||||
ThirdPartyStationRelationVO relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation);
|
||||
if (relationInfo == null) {
|
||||
// 新增
|
||||
relation.setThirdPartyType(dto.getThirdPartyType());
|
||||
thirdPartyStationRelationService.insertThirdPartyStationRelation(relation);
|
||||
|
||||
relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation);
|
||||
}
|
||||
String operatorId = relationInfo.getOperatorId();
|
||||
String operatorSecret = relationInfo.getOperatorSecret();
|
||||
String signSecret = relationInfo.getSignSecret();
|
||||
String dataSecret = relationInfo.getDataSecret();
|
||||
String dataSecretIv = relationInfo.getDataSecretIv();
|
||||
String urlAddress = relationInfo.getUrlAddress();
|
||||
String thirdPartyType = relation.getThirdPartyType();
|
||||
|
||||
List<HWStationInfo
|
||||
.EquipmentLogicInfo> equipmentLogicInfos = new ArrayList<>();
|
||||
|
||||
// 通过站点id查询站点信息
|
||||
PileStationVO stationInfo = pileStationInfoService.getStationInfo(String.valueOf(dto.getStationId()));
|
||||
if (stationInfo == null) {
|
||||
return null;
|
||||
}
|
||||
HWStationInfo hwStationInfo = HWStationInfo.builder()
|
||||
.stationId(stationInfo.getId())
|
||||
.stationName(stationInfo.getStationName())
|
||||
|
||||
.build();
|
||||
// 查询桩列表
|
||||
equipmentLogicInfos = getPileList(String.valueOf(dto.getStationId()));
|
||||
|
||||
hwStationInfo.setEquipmentInfoNum(equipmentLogicInfos.size());
|
||||
hwStationInfo.setEquipmentLogicInfos(equipmentLogicInfos);
|
||||
|
||||
String jsonString = JSONObject.toJSONString(hwStationInfo);
|
||||
|
||||
String url = urlAddress + "notification_operation_system_info";
|
||||
// 获取令牌
|
||||
ZDLGetTokenDTO getTokenDTO = new ZDLGetTokenDTO();
|
||||
getTokenDTO.setOperatorId(operatorId);
|
||||
getTokenDTO.setDataSecret(dataSecret);
|
||||
getTokenDTO.setSignSecret(signSecret);
|
||||
getTokenDTO.setUrlAddress(urlAddress);
|
||||
getTokenDTO.setDataSecretIv(dataSecretIv);
|
||||
getTokenDTO.setOperatorSecret(operatorSecret);
|
||||
String token = HWGetToken(getTokenDTO);
|
||||
// 发送请求
|
||||
String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret, dataSecretIv, operatorId, signSecret);
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
private List<HWStationInfo.EquipmentLogicInfo> getPileList(String stationId) {
|
||||
List<HWStationInfo
|
||||
.EquipmentLogicInfo> equipmentLogicInfos = new ArrayList<>();
|
||||
HWStationInfo
|
||||
.EquipmentLogicInfo equipmentLogicInfo = null;
|
||||
|
||||
List<PileBasicInfo> pileBasicInfos = pileBasicInfoService.getPileListByStationId(stationId);
|
||||
if (CollectionUtils.isEmpty(pileBasicInfos)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
for (PileBasicInfo pileBasicInfo : pileBasicInfos) {
|
||||
String pileSn = pileBasicInfo.getSn();
|
||||
equipmentLogicInfo = HWStationInfo.EquipmentLogicInfo.builder()
|
||||
.equipmentId(pileSn)
|
||||
// .equipmentType()
|
||||
.chargeHostESN(pileSn)
|
||||
.build();
|
||||
// 获取枪口信息
|
||||
List<HWStationInfo.EquipmentLogicInfo
|
||||
.ConnectorInfo> connectorInfoList = getConnectorInfoList(pileSn);
|
||||
if (CollectionUtils.isEmpty(connectorInfoList)) {
|
||||
continue;
|
||||
}
|
||||
equipmentLogicInfo.setConnectorInfoNum(connectorInfoList.size());
|
||||
equipmentLogicInfo.setConnectorInfos(connectorInfoList);
|
||||
|
||||
equipmentLogicInfos.add(equipmentLogicInfo);
|
||||
}
|
||||
return equipmentLogicInfos;
|
||||
}
|
||||
|
||||
private List<HWStationInfo.EquipmentLogicInfo.ConnectorInfo> getConnectorInfoList(String pileSn) {
|
||||
List<HWStationInfo.EquipmentLogicInfo
|
||||
.ConnectorInfo> connectorInfoList = new ArrayList<>();
|
||||
HWStationInfo.EquipmentLogicInfo
|
||||
.ConnectorInfo connectorInfo = null;
|
||||
|
||||
List<PileConnectorInfo> pileConnectorInfos = pileConnectorInfoService.selectPileConnectorInfoList(pileSn);
|
||||
if (CollectionUtils.isEmpty(pileConnectorInfos)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
for (PileConnectorInfo pileConnectorInfo : pileConnectorInfos) {
|
||||
connectorInfo = HWStationInfo.EquipmentLogicInfo.ConnectorInfo.builder()
|
||||
.connectorID(pileConnectorInfo.getPileConnectorCode())
|
||||
.connectorNumber(pileConnectorInfo.getId())
|
||||
|
||||
.build();
|
||||
connectorInfoList.add(connectorInfo);
|
||||
}
|
||||
return connectorInfoList;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user