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,12 +1,9 @@
|
||||
package com.jsowell.thirdparty.lianlian.service;
|
||||
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.thirdparty.lianlian.domain.StationStatsInfo;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
import com.jsowell.thirdparty.lianlian.vo.*;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface LianLianService {
|
||||
@@ -21,7 +18,7 @@ public interface LianLianService {
|
||||
* 根据充电站id,推送充电站信息
|
||||
* @param dto
|
||||
*/
|
||||
String pushStationInfo(LianLianPushStationInfoDTO dto);
|
||||
String pushStationInfo(PushStationInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 联联平台获取充电站信息
|
||||
|
||||
@@ -116,7 +116,7 @@ public class LianLianServiceImpl implements LianLianService {
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public String pushStationInfo(LianLianPushStationInfoDTO dto) {
|
||||
public String pushStationInfo(PushStationInfoDTO dto) {
|
||||
// String OperatorID = "987654321";
|
||||
// String SigSecret = "1234567890abcdef"; // 签名秘钥
|
||||
// String DataSecret = "1234567890abcdef"; // 消息密钥
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.jsowell.thirdparty.zhongdianlian.domain;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
@@ -13,6 +16,9 @@ import java.util.List;
|
||||
* @Date 2023/9/5 14:10
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class ZDLStationInfo {
|
||||
@JSONField(name = "StationID")
|
||||
private String stationId;
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package com.jsowell.thirdparty.zhongdianlian.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 中电联获取token DTO
|
||||
@@ -9,6 +12,9 @@ import lombok.Data;
|
||||
* @Date 2023/9/5 8:42
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Builder
|
||||
public class ZDLGetTokenDTO {
|
||||
/**
|
||||
* 对接平台url地址 (不加api名称)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jsowell.thirdparty.zhongdianlian.service;
|
||||
|
||||
import com.jsowell.pile.dto.PushStationInfoDTO;
|
||||
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||
import com.jsowell.thirdparty.zhongdianlian.dto.ZDLGetTokenDTO;
|
||||
|
||||
@@ -20,6 +21,12 @@ public interface ZDLService {
|
||||
*/
|
||||
public String ZDLGetToken(ZDLGetTokenDTO dto);
|
||||
|
||||
/**
|
||||
* 根据充电站id,推送充电站信息
|
||||
* @param dto
|
||||
*/
|
||||
String pushStationInfo(PushStationInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 查询站点信息
|
||||
* @param dto
|
||||
|
||||
@@ -6,16 +6,16 @@ import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.enums.lianlian.LianLianPileStatusEnum;
|
||||
import com.jsowell.common.enums.lianlian.StationPaymentEnum;
|
||||
import com.jsowell.common.enums.ykc.PileStatusEnum;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.PageUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.PileBasicInfo;
|
||||
import com.jsowell.pile.domain.PileConnectorInfo;
|
||||
import com.jsowell.pile.domain.PileStationInfo;
|
||||
import com.jsowell.pile.domain.ThirdPartyPlatformConfig;
|
||||
import com.jsowell.pile.domain.*;
|
||||
import com.jsowell.pile.dto.PushStationInfoDTO;
|
||||
import com.jsowell.pile.dto.QueryStationInfoDTO;
|
||||
import com.jsowell.pile.service.*;
|
||||
import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO;
|
||||
import com.jsowell.pile.vo.web.PileModelInfoVO;
|
||||
import com.jsowell.thirdparty.lianlian.domain.ConnectorInfo;
|
||||
import com.jsowell.thirdparty.lianlian.domain.EquipmentInfo;
|
||||
@@ -24,6 +24,7 @@ import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
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.util.HttpRequestUtil;
|
||||
import com.jsowell.thirdparty.zhongdianlian.domain.ZDLConnectorInfo;
|
||||
import com.jsowell.thirdparty.zhongdianlian.domain.ZDLEquipmentInfo;
|
||||
import com.jsowell.thirdparty.zhongdianlian.domain.ZDLStationInfo;
|
||||
@@ -66,6 +67,9 @@ public class ZDLServiceImpl implements ZDLService {
|
||||
@Autowired
|
||||
private IPileConnectorInfoService pileConnectorInfoService;
|
||||
|
||||
@Autowired
|
||||
private IThirdPartyStationRelationService thirdPartyStationRelationService;
|
||||
|
||||
/**
|
||||
* 获取令牌
|
||||
* @param dto
|
||||
@@ -80,6 +84,83 @@ public class ZDLServiceImpl implements ZDLService {
|
||||
dto.getOperatorSecret(), dto.getDataSecretIv(), dto.getSignSecret(), dto.getDataSecret());
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据充电站id,推送充电站信息
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public String pushStationInfo(PushStationInfoDTO dto) {
|
||||
// 通过id查询站点相关信息
|
||||
PileStationInfo pileStationInfo = pileStationInfoService.selectPileStationInfoById(dto.getStationId());
|
||||
// 通过站点id查询相关配置信息
|
||||
ThirdPartyStationRelation relation = new ThirdPartyStationRelation();
|
||||
relation.setStationId(dto.getStationId());
|
||||
ThirdPartyStationRelationVO relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation);
|
||||
// ThirdPartySettingInfo settingInfo = thirdPartySettingInfoService.getInfoByStationId(dto.getStationId());
|
||||
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();
|
||||
|
||||
// 组装联联平台所需要的数据格式
|
||||
ZDLStationInfo info = ZDLStationInfo.builder()
|
||||
.stationId("ZDL" +dto.getStationId())
|
||||
.operatorId(operatorId)
|
||||
.equipmentOwnerId(Constants.OPERATORID_LIANLIAN)
|
||||
.stationName(pileStationInfo.getStationName())
|
||||
.countryCode(pileStationInfo.getCountryCode())
|
||||
.areaCode(pileStationInfo.getAreaCode())
|
||||
.address(pileStationInfo.getAddress())
|
||||
.serviceTel(pileStationInfo.getStationTel())
|
||||
.stationType(Integer.valueOf(pileStationInfo.getStationType()))
|
||||
.stationStatus(Integer.valueOf(pileStationInfo.getStationStatus()))
|
||||
.parkNums(Integer.valueOf(pileStationInfo.getParkNums()))
|
||||
.stationLng(new BigDecimal(pileStationInfo.getStationLng()))
|
||||
.stationLat(new BigDecimal(pileStationInfo.getStationLat()))
|
||||
.construction(Integer.valueOf(pileStationInfo.getConstruction()))
|
||||
|
||||
.build();
|
||||
List<ZDLEquipmentInfo> pileList = getPileList(pileStationInfo);
|
||||
if (CollectionUtils.isNotEmpty(pileList)) {
|
||||
info.setEquipmentInfos(pileList); // 充电设备信息列表
|
||||
}
|
||||
|
||||
// 调用中电联平台接口
|
||||
String url = urlAddress + "notification_stationInfo";
|
||||
|
||||
String jsonStr = JSONObject.toJSONString(info);
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("StationInfo", jsonStr);
|
||||
|
||||
String jsonString = JSONObject.toJSONString(data);
|
||||
System.out.println("jsonString : " + jsonString);
|
||||
|
||||
// 获取令牌
|
||||
ZDLGetTokenDTO tokenDTO = ZDLGetTokenDTO.builder()
|
||||
.urlAddress(urlAddress)
|
||||
.operatorId(operatorId)
|
||||
.operatorSecret(operatorSecret)
|
||||
.dataSecret(dataSecret)
|
||||
.dataSecretIv(dataSecretIv)
|
||||
.signSecret(signSecret)
|
||||
.build();
|
||||
String token = ZDLGetToken(tokenDTO);
|
||||
String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret
|
||||
, dataSecretIv, operatorId, signSecret);
|
||||
|
||||
// System.out.println(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询站点信息
|
||||
* @return
|
||||
|
||||
Reference in New Issue
Block a user