mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update 对接第三方平台
This commit is contained in:
@@ -43,26 +43,26 @@ public class LianLianController extends BaseController {
|
||||
* @param dto
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/pushStationInfo")
|
||||
public RestApiResponse<?> pushStationInfo(@RequestBody PushStationInfoDTO dto) {
|
||||
logger.info("推送联联平台充电站信息 params:{}", JSON.toJSONString(dto));
|
||||
RestApiResponse<?> response = null;
|
||||
try {
|
||||
if (StringUtils.isBlank(String.valueOf(dto.getStationId()))) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||
}
|
||||
lianLianService.pushStationInfo(dto);
|
||||
response = new RestApiResponse<>();
|
||||
}catch (BusinessException e) {
|
||||
logger.error("推送联联平台充电站信息 error",e);
|
||||
response = new RestApiResponse<>(e.getCode(), e.getMessage());
|
||||
}catch (Exception e) {
|
||||
logger.error("推送联联平台充电站信息 error", e);
|
||||
response = new RestApiResponse<>(e);
|
||||
}
|
||||
logger.info("推送联联平台充电站信息 result:{}", response);
|
||||
return response;
|
||||
}
|
||||
// @PostMapping("/pushStationInfo")
|
||||
// public RestApiResponse<?> pushStationInfo(@RequestBody PushStationInfoDTO dto) {
|
||||
// logger.info("推送联联平台充电站信息 params:{}", JSON.toJSONString(dto));
|
||||
// RestApiResponse<?> response = null;
|
||||
// try {
|
||||
// if (StringUtils.isBlank(String.valueOf(dto.getStationId()))) {
|
||||
// throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
|
||||
// }
|
||||
// lianLianService.pushStationInfo(dto);
|
||||
// response = new RestApiResponse<>();
|
||||
// }catch (BusinessException e) {
|
||||
// logger.error("推送联联平台充电站信息 error",e);
|
||||
// response = new RestApiResponse<>(e.getCode(), e.getMessage());
|
||||
// }catch (Exception e) {
|
||||
// logger.error("推送联联平台充电站信息 error", e);
|
||||
// response = new RestApiResponse<>(e);
|
||||
// }
|
||||
// logger.info("推送联联平台充电站信息 result:{}", response);
|
||||
// return response;
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -37,7 +37,6 @@ import com.jsowell.thirdparty.lianlian.service.LianLianService;
|
||||
import com.jsowell.thirdparty.lianlian.util.HttpRequestUtil;
|
||||
import com.jsowell.thirdparty.lutongyunting.service.LTYTService;
|
||||
import com.jsowell.thirdparty.nanrui.service.NRService;
|
||||
import com.jsowell.thirdparty.platform.hainan.service.HaiNanPlatformLogic;
|
||||
import com.jsowell.thirdparty.ruanjie.service.RJService;
|
||||
import com.jsowell.thirdparty.xindiantu.service.XDTService;
|
||||
import com.jsowell.thirdparty.yongchengboche.dto.YCBCGetTokenDTO;
|
||||
@@ -369,7 +368,7 @@ public class CommonService {
|
||||
// }
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.HAI_NAN_1.getCode(), thirdPartyType)) {
|
||||
// 海南平台
|
||||
haiNanChargeService.pushChargeOrderInfo(orderBasicInfo.getOrderCode());
|
||||
haiNanChargeService.notificationChargeOrderInfo(orderBasicInfo.getOrderCode());
|
||||
}
|
||||
|
||||
if (StringUtils.equals(ThirdPlatformTypeEnum.YONG_CHENG_BO_CHE.getCode(), thirdPartyType)) {
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
package com.jsowell.thirdparty.lianlian.service;
|
||||
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.vo.lianlian.PushStationFeeVO;
|
||||
import com.jsowell.thirdparty.lianlian.dto.CommonParamsDTO;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.text.ParseException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface LianLianService {
|
||||
@@ -21,7 +18,7 @@ public interface LianLianService {
|
||||
* 根据充电站id,推送充电站信息
|
||||
* @param dto
|
||||
*/
|
||||
String pushStationInfo(PushStationInfoDTO dto);
|
||||
// String pushStationInfo(PushStationInfoDTO dto);
|
||||
|
||||
String pushStationInfoV2(PushStationInfoDTO dto);
|
||||
|
||||
|
||||
@@ -131,129 +131,129 @@ public class LianLianServiceImpl implements LianLianService {
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public String pushStationInfo(PushStationInfoDTO dto) {
|
||||
// String OperatorID = "987654321";
|
||||
// String SigSecret = "1234567890abcdef"; // 签名秘钥
|
||||
// String DataSecret = "1234567890abcdef"; // 消息密钥
|
||||
// String DataSecretIV = "1234567890abcdef"; // 消息密钥初始化向量
|
||||
// String token = "c548f9276c1c4ea8b88b1f7b1eb7cf07"; //QueryToken类查询接口获取到的token
|
||||
|
||||
// 通过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();
|
||||
|
||||
// 组装联联平台所需要的数据格式
|
||||
StationInfo info = StationInfo.builder()
|
||||
.stationID("LC" +dto.getStationId())
|
||||
.operatorID(operatorId)
|
||||
// .equipmentOwnerID(Constants.OPERATORID_LIANLIAN)
|
||||
.stationName(pileStationInfo.getStationName())
|
||||
.isAloneApply(Integer.valueOf(pileStationInfo.getAloneApply()))
|
||||
.isPublicParkingLot(Integer.valueOf(pileStationInfo.getPublicParking()))
|
||||
.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()))
|
||||
.openAllDay(Integer.valueOf(pileStationInfo.getOpenAllDay()))
|
||||
.minElectricityPrice(new BigDecimal(Constants.ZERO))
|
||||
.electricityFee(Constants.ZERO)
|
||||
.serviceFee(Constants.ZERO)
|
||||
.parkFree(Integer.valueOf(pileStationInfo.getParkFree()))
|
||||
// .ParkFee("2")
|
||||
.supportOrder(Integer.valueOf(pileStationInfo.getSupportOrder()))
|
||||
.parkFeeType(0)
|
||||
.toiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag()))
|
||||
.storeFlag(Integer.valueOf(pileStationInfo.getStoreFlag()))
|
||||
.restaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag()))
|
||||
.loungeFlag(Integer.valueOf(pileStationInfo.getLoungeFlag()))
|
||||
.canopyFlag(Integer.valueOf(pileStationInfo.getCanopyFlag()))
|
||||
.printerFlag(Integer.valueOf(pileStationInfo.getPrinterFlag()))
|
||||
.barrierFlag(Integer.valueOf(pileStationInfo.getBarrierFlag()))
|
||||
.parkingLockFlag(Integer.valueOf(pileStationInfo.getParkingLockFlag()))
|
||||
|
||||
.build();
|
||||
String areaCode = pileStationInfo.getAreaCode(); // 330000,330200,330213
|
||||
// 根据逗号分组
|
||||
String[] split = StringUtils.split(areaCode, ",");
|
||||
// 只取最后一部分 330213
|
||||
String subAreaCode = split[split.length - 1];
|
||||
info.setAreaCode(subAreaCode);
|
||||
// 截取运营商组织机构代码(去除最后一位后的最后九位)
|
||||
MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(String.valueOf(pileStationInfo.getMerchantId()));
|
||||
String organizationCode = merchantInfo.getOrganizationCode();
|
||||
if (StringUtils.isNotBlank(organizationCode) && organizationCode.length() == 18) {
|
||||
String equipmentOwnerId = StringUtils.substring(organizationCode, organizationCode.length() - 10, organizationCode.length() - 1);
|
||||
info.setEquipmentOwnerID(equipmentOwnerId);
|
||||
}
|
||||
if (StringUtils.equals("36", String.valueOf(pileStationInfo.getMerchantId()))) {
|
||||
// 远大
|
||||
info.setEquipmentOwnerID(Constants.OPERATORID_YUAN_DA);
|
||||
}
|
||||
if (StringUtils.equals("35", String.valueOf(pileStationInfo.getMerchantId()))) {
|
||||
// 如果是希晓运营商,则把equipmentOwnerID换成希晓
|
||||
info.setEquipmentOwnerID(Constants.OPERATORID_XI_XIAO);
|
||||
}
|
||||
String payment = StationPaymentEnum.getPaymentByCode(pileStationInfo.getPayment());
|
||||
info.setPayment(payment);
|
||||
if (StringUtils.isNotBlank(pileStationInfo.getParkingNumber())) {
|
||||
info.setIsPublicParkingLot(1);
|
||||
info.setParkingLotNumber(pileStationInfo.getParkingNumber());
|
||||
}
|
||||
// 户号
|
||||
if (StringUtils.isNotBlank(pileStationInfo.getAccountNumber())) {
|
||||
info.setAccountNumber(pileStationInfo.getAccountNumber());
|
||||
}
|
||||
// 容量
|
||||
if (StringUtils.isNotBlank(String.valueOf(pileStationInfo.getCapacity()))) {
|
||||
info.setCapacity(pileStationInfo.getCapacity().setScale(4, BigDecimal.ROUND_HALF_UP));
|
||||
}
|
||||
List<EquipmentInfo> pileList = getPileList(pileStationInfo);
|
||||
if (CollectionUtils.isNotEmpty(pileList)) {
|
||||
info.setEquipmentInfos(pileList); // 充电设备信息列表
|
||||
}
|
||||
|
||||
// 调用联联平台接口
|
||||
String url = urlAddress + "notification_stationInfo";
|
||||
|
||||
String jsonStr = JSON.toJSONString(info);
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("StationInfo", jsonStr);
|
||||
|
||||
String jsonString = JSON.toJSONString(data);
|
||||
System.out.println("jsonString : " + jsonString);
|
||||
|
||||
// 获取令牌
|
||||
String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret);
|
||||
String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret
|
||||
, dataSecretIv, operatorId, signSecret);
|
||||
|
||||
// System.out.println(result);
|
||||
return result;
|
||||
}
|
||||
// @Override
|
||||
// public String pushStationInfo(PushStationInfoDTO dto) {
|
||||
// // String OperatorID = "987654321";
|
||||
// // String SigSecret = "1234567890abcdef"; // 签名秘钥
|
||||
// // String DataSecret = "1234567890abcdef"; // 消息密钥
|
||||
// // String DataSecretIV = "1234567890abcdef"; // 消息密钥初始化向量
|
||||
// // String token = "c548f9276c1c4ea8b88b1f7b1eb7cf07"; //QueryToken类查询接口获取到的token
|
||||
//
|
||||
// // 通过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();
|
||||
//
|
||||
// // 组装联联平台所需要的数据格式
|
||||
// StationInfo info = StationInfo.builder()
|
||||
// .stationID("LC" +dto.getStationId())
|
||||
// .operatorID(operatorId)
|
||||
// // .equipmentOwnerID(Constants.OPERATORID_LIANLIAN)
|
||||
// .stationName(pileStationInfo.getStationName())
|
||||
// .isAloneApply(Integer.valueOf(pileStationInfo.getAloneApply()))
|
||||
// .isPublicParkingLot(Integer.valueOf(pileStationInfo.getPublicParking()))
|
||||
// .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()))
|
||||
// .openAllDay(Integer.valueOf(pileStationInfo.getOpenAllDay()))
|
||||
// .minElectricityPrice(new BigDecimal(Constants.ZERO))
|
||||
// .electricityFee(Constants.ZERO)
|
||||
// .serviceFee(Constants.ZERO)
|
||||
// .parkFree(Integer.valueOf(pileStationInfo.getParkFree()))
|
||||
// // .ParkFee("2")
|
||||
// .supportOrder(Integer.valueOf(pileStationInfo.getSupportOrder()))
|
||||
// .parkFeeType(0)
|
||||
// .toiletFlag(Integer.valueOf(pileStationInfo.getToiletFlag()))
|
||||
// .storeFlag(Integer.valueOf(pileStationInfo.getStoreFlag()))
|
||||
// .restaurantFlag(Integer.valueOf(pileStationInfo.getRestaurantFlag()))
|
||||
// .loungeFlag(Integer.valueOf(pileStationInfo.getLoungeFlag()))
|
||||
// .canopyFlag(Integer.valueOf(pileStationInfo.getCanopyFlag()))
|
||||
// .printerFlag(Integer.valueOf(pileStationInfo.getPrinterFlag()))
|
||||
// .barrierFlag(Integer.valueOf(pileStationInfo.getBarrierFlag()))
|
||||
// .parkingLockFlag(Integer.valueOf(pileStationInfo.getParkingLockFlag()))
|
||||
//
|
||||
// .build();
|
||||
// String areaCode = pileStationInfo.getAreaCode(); // 330000,330200,330213
|
||||
// // 根据逗号分组
|
||||
// String[] split = StringUtils.split(areaCode, ",");
|
||||
// // 只取最后一部分 330213
|
||||
// String subAreaCode = split[split.length - 1];
|
||||
// info.setAreaCode(subAreaCode);
|
||||
// // 截取运营商组织机构代码(去除最后一位后的最后九位)
|
||||
// MerchantInfoVO merchantInfo = pileMerchantInfoService.getMerchantInfoVO(String.valueOf(pileStationInfo.getMerchantId()));
|
||||
// String organizationCode = merchantInfo.getOrganizationCode();
|
||||
// if (StringUtils.isNotBlank(organizationCode) && organizationCode.length() == 18) {
|
||||
// String equipmentOwnerId = StringUtils.substring(organizationCode, organizationCode.length() - 10, organizationCode.length() - 1);
|
||||
// info.setEquipmentOwnerID(equipmentOwnerId);
|
||||
// }
|
||||
// if (StringUtils.equals("36", String.valueOf(pileStationInfo.getMerchantId()))) {
|
||||
// // 远大
|
||||
// info.setEquipmentOwnerID(Constants.OPERATORID_YUAN_DA);
|
||||
// }
|
||||
// if (StringUtils.equals("35", String.valueOf(pileStationInfo.getMerchantId()))) {
|
||||
// // 如果是希晓运营商,则把equipmentOwnerID换成希晓
|
||||
// info.setEquipmentOwnerID(Constants.OPERATORID_XI_XIAO);
|
||||
// }
|
||||
// String payment = StationPaymentEnum.getPaymentByCode(pileStationInfo.getPayment());
|
||||
// info.setPayment(payment);
|
||||
// if (StringUtils.isNotBlank(pileStationInfo.getParkingNumber())) {
|
||||
// info.setIsPublicParkingLot(1);
|
||||
// info.setParkingLotNumber(pileStationInfo.getParkingNumber());
|
||||
// }
|
||||
// // 户号
|
||||
// if (StringUtils.isNotBlank(pileStationInfo.getAccountNumber())) {
|
||||
// info.setAccountNumber(pileStationInfo.getAccountNumber());
|
||||
// }
|
||||
// // 容量
|
||||
// if (StringUtils.isNotBlank(String.valueOf(pileStationInfo.getCapacity()))) {
|
||||
// info.setCapacity(pileStationInfo.getCapacity().setScale(4, BigDecimal.ROUND_HALF_UP));
|
||||
// }
|
||||
// List<EquipmentInfo> pileList = getPileList(pileStationInfo);
|
||||
// if (CollectionUtils.isNotEmpty(pileList)) {
|
||||
// info.setEquipmentInfos(pileList); // 充电设备信息列表
|
||||
// }
|
||||
//
|
||||
// // 调用联联平台接口
|
||||
// String url = urlAddress + "notification_stationInfo";
|
||||
//
|
||||
// String jsonStr = JSON.toJSONString(info);
|
||||
// JSONObject data = new JSONObject();
|
||||
// data.put("StationInfo", jsonStr);
|
||||
//
|
||||
// String jsonString = JSON.toJSONString(data);
|
||||
// System.out.println("jsonString : " + jsonString);
|
||||
//
|
||||
// // 获取令牌
|
||||
// String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret);
|
||||
// String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret
|
||||
// , dataSecretIv, operatorId, signSecret);
|
||||
//
|
||||
// // System.out.println(result);
|
||||
// return result;
|
||||
// }
|
||||
|
||||
public String pushStationInfoV2(PushStationInfoDTO dto) {
|
||||
// String OperatorID = "987654321";
|
||||
@@ -350,6 +350,7 @@ public class LianLianServiceImpl implements LianLianService {
|
||||
if (StringUtils.isNotBlank(pileStationInfo.getAccountNumber())) {
|
||||
info.setAccountNumber(pileStationInfo.getAccountNumber());
|
||||
}
|
||||
|
||||
// 容量
|
||||
if (StringUtils.isNotBlank(String.valueOf(pileStationInfo.getCapacity()))) {
|
||||
info.setCapacity(pileStationInfo.getCapacity().setScale(4, BigDecimal.ROUND_HALF_UP));
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.jsowell.pile.domain.PileConnectorInfo;
|
||||
import com.jsowell.pile.domain.PileStationInfo;
|
||||
import com.jsowell.pile.domain.ThirdPartyPlatformConfig;
|
||||
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;
|
||||
@@ -74,36 +75,25 @@ public abstract class AbsInterfaceWithPlatformLogic implements InitializingBean
|
||||
@Autowired
|
||||
protected ZDLService zdlService;
|
||||
|
||||
// =================================================================================== //
|
||||
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 由我方平台实现此接口,对方平台调用的查询接口 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ //
|
||||
// =================================================================================== //
|
||||
|
||||
/**
|
||||
* 查询运营商信息
|
||||
* 查询运营商信息 supervise_query_operator_info
|
||||
* @param dto 查询运营商信息DTO
|
||||
*/
|
||||
public abstract Map<String, String> queryOperatorInfo(QueryOperatorInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 6.2 查询充电站信息
|
||||
*
|
||||
* 6.2 查询充电站信息 query_stations_info
|
||||
* 此接口用于查询对接平台的充电站的信息
|
||||
* @param dto 查询站点信息dto
|
||||
*/
|
||||
public abstract Map<String, String> queryStationsInfo(QueryStationInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 6.3 设备状态变化推送
|
||||
*
|
||||
* @param pileConnectorCode 充电枪口编号
|
||||
* @param status 枪口状态
|
||||
*/
|
||||
public abstract String notificationStationStatus(String pileConnectorCode, String status);
|
||||
|
||||
/**
|
||||
* 6.4 充电订单推送
|
||||
*
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public abstract String pushChargeOrderInfo(String orderCode);
|
||||
|
||||
/**
|
||||
* 6.5 设备接口状态查询
|
||||
* 6.5 设备接口状态查询 query_station_status
|
||||
*
|
||||
* @param dto 查询站点信息dto
|
||||
*/
|
||||
@@ -116,81 +106,171 @@ public abstract class AbsInterfaceWithPlatformLogic implements InitializingBean
|
||||
*/
|
||||
public abstract Map<String, String> queryStationStats(QueryStationInfoDTO dto);
|
||||
|
||||
/////////////////////////////////
|
||||
/// 业务信息交换 10 个接口 Start ///
|
||||
/////////////////////////////////
|
||||
/**
|
||||
* 请求设备认证
|
||||
* 查询充电电量信息 query_order_info
|
||||
*/
|
||||
public abstract Map<String, String> queryOrderInfo(String orderCode);
|
||||
|
||||
/**
|
||||
* 请求设备认证 query_equip_auth
|
||||
* 业务信息交换
|
||||
*
|
||||
* @param dto 联联平台请求设备认证
|
||||
*/
|
||||
public abstract Map<String, String> queryEquipAuth(QueryEquipmentDTO dto);
|
||||
|
||||
/**
|
||||
* 查询业务策略信息结果
|
||||
*
|
||||
* @param dto 请求启动充电DTO
|
||||
*/
|
||||
public abstract Map<String, String> queryEquipBusinessPolicy(QueryStartChargeDTO dto);
|
||||
|
||||
/**
|
||||
* 请求启动充电
|
||||
* 请求启动充电 query_start_charge
|
||||
*
|
||||
* @param dto 请求启动充电DTO
|
||||
*/
|
||||
public abstract Map<String, String> queryStartCharge(QueryStartChargeDTO dto);
|
||||
|
||||
/**
|
||||
* 推送启动充电结果
|
||||
*
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public abstract String notificationStartChargeResult(String orderCode);
|
||||
|
||||
/**
|
||||
* 查询充电状态
|
||||
* 查询充电状态 query_equip_charge_status
|
||||
*
|
||||
* @param dto 查询充电状态DTO
|
||||
*/
|
||||
public abstract Map<String, String> queryEquipChargeStatus(QueryEquipChargeStatusDTO dto);
|
||||
|
||||
/**
|
||||
* 推送充电状态
|
||||
*
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public abstract String notificationEquipChargeStatus(String orderCode);
|
||||
|
||||
/**
|
||||
* 请求停止充电
|
||||
* 请求停止充电 query_stop_charge
|
||||
*
|
||||
* @param dto 请求启动充电DTO
|
||||
*/
|
||||
public abstract Map<String, String> queryStopCharge(QueryStartChargeDTO dto);
|
||||
|
||||
/**
|
||||
* 推送停止充电结果
|
||||
*
|
||||
* @param orderCode 订单编号
|
||||
* 充电站内充电桩空闲状态查询 query_free_pile_number
|
||||
*/
|
||||
public abstract String notificationStopChargeResult(String orderCode);
|
||||
public abstract Map<String, String> queryFreePileNumber(NXJTQueryStationInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 推送充电订单信息
|
||||
*
|
||||
* 某车牌号消费记录查询 query_orders_info_by_Plate_number
|
||||
*/
|
||||
public abstract Map<String, String> queryOrdersInfoByPlateNumber(NXJTQueryStationInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 某段时间内消费记录查询 query_orders_info
|
||||
*/
|
||||
public abstract Map<String, String> queryOrdersInfo(NXJTQueryStationInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 查询业务策略信息结果
|
||||
* 请求计费策略 request_equip_business_policy
|
||||
* @param dto 请求启动充电DTO
|
||||
*/
|
||||
public abstract Map<String, String> queryEquipBusinessPolicy(QueryStartChargeDTO dto);
|
||||
|
||||
/**
|
||||
* 请求计费策略 request_equip_business_policy
|
||||
* 华为平台
|
||||
* 合并到上面 查询业务策略信息结果
|
||||
*/
|
||||
// public abstract Map<String, String> requestEquipBusinessPolicy(QueryStationInfoDTO dto);
|
||||
|
||||
/**
|
||||
* VIN码充电 insert_start_charge
|
||||
* 华为平台
|
||||
*/
|
||||
public abstract Map<String, String> insertStartCharge(QueryStationInfoDTO dto);
|
||||
|
||||
/**
|
||||
* 下发计费策略响应 notification_deliver_equip_business_policy_result
|
||||
* 华为平台
|
||||
*/
|
||||
public abstract Map<String, String> notificationDeliverEquipBusinessPolicyResult(QueryStationInfoDTO dto);
|
||||
|
||||
|
||||
// =================================================================================== //
|
||||
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 由对方平台实现此接口,我方平台调用的通知接口 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ //
|
||||
// =================================================================================== //
|
||||
|
||||
/**
|
||||
* 充电站信息变化推送 notification_stationInfo
|
||||
* 新站需要推送。当站点信息发生变化时,推送新的信息通知到市级平台
|
||||
* @param stationId 充电站id
|
||||
*/
|
||||
public abstract String notificationStationInfo(String stationId);
|
||||
|
||||
/**
|
||||
* 设备状态变化推送 notification_stationStatus
|
||||
* 推送充电设备接口状态信息 supervise_notification_station_status
|
||||
* @param pileConnectorCode 充电枪口编号
|
||||
* @param status 枪口状态
|
||||
*/
|
||||
public abstract String notificationStationStatus(String pileConnectorCode, String status);
|
||||
|
||||
/**
|
||||
* 设备充电中状态变化推送 notification_connector_charge_status
|
||||
* @param pileConnectorCode 充电枪口编号
|
||||
* @param status 枪口状态
|
||||
*/
|
||||
public abstract String notificationConnectorChargeStatus(String pileConnectorCode, String status);
|
||||
|
||||
/**
|
||||
* 订单信息推送 notification_orderInfo
|
||||
*/
|
||||
public abstract String notificationOrderInfo(String orderCode);
|
||||
|
||||
/**
|
||||
* 站点费率变化推送 notification_stationFee
|
||||
*/
|
||||
public abstract String notificationStationFee(String stationId);
|
||||
|
||||
/**
|
||||
* 充电订单推送 notification_charge_order_info
|
||||
* TODO 海南一张网文档中的接口,检查一下是否和订单信息推送notification_orderInfo一致
|
||||
* TODO 甬城泊车平台文档中的接口,检查一下是否和订单信息推送notification_orderInfo一致
|
||||
* TODO 华为平台文档中的接口,检查一下是否和订单信息推送notification_orderInfo一致
|
||||
* TODO 内蒙古平台文档中的接口,检查一下是否和订单信息推送notification_orderInfo一致
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public abstract String notificationChargeOrderInfo(String orderCode);
|
||||
|
||||
/**
|
||||
* 告警信息推送 notification_alarmInfo
|
||||
*/
|
||||
public abstract String notificationAlarmInfo();
|
||||
|
||||
/**
|
||||
* 推送启动充电结果 notification_start_charge_result
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public abstract String notificationStartChargeResult(String orderCode);
|
||||
|
||||
/**
|
||||
* 推送充电状态 notification_equip_charge_status
|
||||
* 推送充电状态信息 supervise_notification_equip_charge_status
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public abstract String notificationEquipChargeStatus(String orderCode);
|
||||
|
||||
/**
|
||||
* 推送停止充电结果 notification_stop_charge_result
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public abstract String notificationStopChargeResult(String orderCode);
|
||||
|
||||
/**
|
||||
* 华为平台
|
||||
* 平台充电设备编码同步 notification_operation_system_info
|
||||
*/
|
||||
public abstract String notificationOperationSystemInfo(String orderCode);
|
||||
|
||||
/**
|
||||
* 推送充换电站用能统计信息 supervise_notification_operation_stats_info
|
||||
*/
|
||||
public abstract String notificationOperationStatsInfo(String stationId);
|
||||
|
||||
/**
|
||||
* 推送充电站历史充电订单信息 supervise_notification_charge_order_info_history
|
||||
*/
|
||||
public abstract String notificationChargeOrderInfoHistory(String stationId);
|
||||
|
||||
/**
|
||||
* 推送充电订单对账信息
|
||||
*/
|
||||
public abstract Map<String, String> checkChargeOrders();
|
||||
|
||||
///////////////////////////////
|
||||
/// 业务信息交换 10 个接口 end ///
|
||||
///////////////////////////////
|
||||
// public abstract Map<String, String> checkChargeOrders();
|
||||
|
||||
// -------------------------------------- 以下是公用方法 --------------------------------------- //
|
||||
/**
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.*;
|
||||
import com.jsowell.pile.domain.ykcCommond.StartChargingCommand;
|
||||
import com.jsowell.pile.dto.*;
|
||||
import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO;
|
||||
import com.jsowell.pile.vo.base.ConnectorInfoVO;
|
||||
import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO;
|
||||
import com.jsowell.pile.vo.base.ThirdPartyStationRelationVO;
|
||||
@@ -72,6 +73,16 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
return zdlService.pushStationInfoV2(dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询运营商信息
|
||||
*
|
||||
* @param dto 查询运营商信息DTO
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> queryOperatorInfo(QueryOperatorInfoDTO dto) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 6.2 查询充电站信息
|
||||
*/
|
||||
@@ -266,13 +277,44 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设备充电中状态变化推送 notification_connector_charge_status
|
||||
*
|
||||
* @param pileConnectorCode 充电枪口编号
|
||||
* @param status 枪口状态
|
||||
*/
|
||||
@Override
|
||||
public String notificationConnectorChargeStatus(String pileConnectorCode, String status) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单信息推送 notification_orderInfo
|
||||
*
|
||||
* @param orderCode
|
||||
*/
|
||||
@Override
|
||||
public String notificationOrderInfo(String orderCode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 站点费率变化推送 notification_stationFee
|
||||
*
|
||||
* @param stationId
|
||||
*/
|
||||
@Override
|
||||
public String notificationStationFee(String stationId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 6.4 充电订单推送
|
||||
*
|
||||
* @param orderCode
|
||||
*/
|
||||
@Override
|
||||
public String pushChargeOrderInfo(String orderCode) {
|
||||
public String notificationChargeOrderInfo(String orderCode) {
|
||||
// 获取数据
|
||||
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
|
||||
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
|
||||
@@ -314,6 +356,14 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 告警信息推送 notification_alarmInfo
|
||||
*/
|
||||
@Override
|
||||
public String notificationAlarmInfo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 6.5 设备接口状态查询
|
||||
*
|
||||
@@ -504,6 +554,27 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询充电电量信息 query_order_info
|
||||
*
|
||||
* @param orderCode
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> queryOrderInfo(String orderCode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 充电站信息变化推送 notification_stationInfo
|
||||
* 新站需要推送。当站点信息发生变化时,推送新的信息通知到市级平台
|
||||
*
|
||||
* @param stationId 充电站id
|
||||
*/
|
||||
@Override
|
||||
public String notificationStationInfo(String stationId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 请求设备认证
|
||||
*
|
||||
@@ -622,6 +693,30 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* VIN码充电 insert_start_charge
|
||||
* 华为平台
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> insertStartCharge(QueryStationInfoDTO dto) {
|
||||
//方法未实现,抛出异常
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
/**
|
||||
* 下发计费策略响应 notification_deliver_equip_business_policy_result
|
||||
* 华为平台
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> notificationDeliverEquipBusinessPolicyResult(QueryStationInfoDTO dto) {
|
||||
//方法未实现,抛出异常
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送启动充电结果
|
||||
*
|
||||
@@ -933,6 +1028,39 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* 充电站内充电桩空闲状态查询 query_free_pile_number
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> queryFreePileNumber(NXJTQueryStationInfoDTO dto) {
|
||||
//方法未实现,抛出异常
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
/**
|
||||
* 某车牌号消费记录查询 query_orders_info_by_Plate_number
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> queryOrdersInfoByPlateNumber(NXJTQueryStationInfoDTO dto) {
|
||||
//方法未实现,抛出异常
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
/**
|
||||
* 某段时间内消费记录查询 query_orders_info
|
||||
*
|
||||
* @param dto
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> queryOrdersInfo(NXJTQueryStationInfoDTO dto) {
|
||||
//方法未实现,抛出异常
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送停止充电结果
|
||||
*
|
||||
@@ -980,58 +1108,37 @@ public class HaiNanPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送充电订单信息
|
||||
* 华为平台
|
||||
* 平台充电设备编码同步 notification_operation_system_info
|
||||
*
|
||||
* @param orderCode
|
||||
*/
|
||||
@Override
|
||||
public String notificationChargeOrderInfo(String orderCode) {
|
||||
OrderBasicInfo orderBasicInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
|
||||
OrderDetail orderDetail = orderBasicInfoService.getOrderDetailByOrderCode(orderCode);
|
||||
|
||||
// 通过站点id查询相关配置信息
|
||||
ThirdPartyStationRelation relation = new ThirdPartyStationRelation();
|
||||
relation.setStationId(Long.parseLong(orderBasicInfo.getStationId()));
|
||||
ThirdPartyStationRelationVO relationInfo = thirdPartyStationRelationService.selectRelationInfo(relation);
|
||||
// ThirdPartySettingInfo settingInfo = thirdPartySettingInfoService.getInfoByStationId(Long.parseLong(orderBasicInfo.getStationId()));
|
||||
if (relationInfo == null) {
|
||||
return null;
|
||||
}
|
||||
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 = relationInfo.getThirdPartyType();
|
||||
|
||||
String url = urlAddress + BusinessInformationExchangeEnum.NOTIFICATION_CHARGE_ORDER_INFO.getValue();
|
||||
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("StartChargeSeq", orderCode);
|
||||
json.put("ConnectorID", orderBasicInfo.getPileConnectorCode());
|
||||
json.put("StartTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderBasicInfo.getChargeStartTime()));
|
||||
json.put("EndTime", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, orderBasicInfo.getChargeEndTime()));
|
||||
json.put("TotalPower", orderDetail.getTotalUsedElectricity().setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
json.put("TotalElecMoney", orderDetail.getTotalElectricityAmount().setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
json.put("TotalSeviceMoney", orderDetail.getTotalServiceAmount().setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
json.put("TotalMoney", orderDetail.getTotalOrderAmount().setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||
json.put("StopReason", 2); // 2:BMS 停止充电
|
||||
|
||||
String jsonString = JSON.toJSONString(json);
|
||||
|
||||
// 获取令牌
|
||||
String token = getToken(urlAddress, operatorId, operatorSecret, dataSecretIv, signSecret, dataSecret);
|
||||
String result = HttpRequestUtil.sendPost(token, jsonString, url, dataSecret, dataSecretIv, operatorId, signSecret);
|
||||
return result;
|
||||
public String notificationOperationSystemInfo(String orderCode) {
|
||||
//方法未实现,抛出异常
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送充电订单对账信息
|
||||
* 推送充换电站用能统计信息 supervise_notification_operation_stats_info
|
||||
*
|
||||
* @param stationId
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> checkChargeOrders() {
|
||||
return null;
|
||||
public String notificationOperationStatsInfo(String stationId) {
|
||||
//方法未实现,抛出异常
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送充电站历史充电订单信息 supervise_notification_charge_order_info_history
|
||||
*
|
||||
* @param stationId
|
||||
*/
|
||||
@Override
|
||||
public String notificationChargeOrderInfoHistory(String stationId) {
|
||||
//方法未实现,抛出异常
|
||||
throw new UnsupportedOperationException("This method is not yet implemented");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
package com.jsowell.thirdparty.platform.neimenggu.service;
|
||||
|
||||
import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum;
|
||||
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.dto.*;
|
||||
import com.jsowell.thirdparty.platform.AbsInterfaceWithPlatformLogic;
|
||||
import com.jsowell.thirdparty.platform.InterfaceWithPlatformLogicFactory;
|
||||
|
||||
@@ -20,6 +17,16 @@ public class NeiMengGuPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
InterfaceWithPlatformLogicFactory.register(ThirdPlatformTypeEnum.NEI_MENG_GU_PLATFORM.getCode(), this);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询运营商信息
|
||||
*
|
||||
* @param dto 查询运营商信息DTO
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> queryOperatorInfo(QueryOperatorInfoDTO dto) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 6.2 查询充电站信息
|
||||
*
|
||||
@@ -47,7 +54,7 @@ public class NeiMengGuPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
* @param orderCode
|
||||
*/
|
||||
@Override
|
||||
public String pushChargeOrderInfo(String orderCode) {
|
||||
public String notificationChargeOrderInfo(String orderCode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -152,16 +159,6 @@ public class NeiMengGuPlatformLogic extends AbsInterfaceWithPlatformLogic {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送充电订单信息
|
||||
*
|
||||
* @param orderCode
|
||||
*/
|
||||
@Override
|
||||
public String notificationChargeOrderInfo(String orderCode) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送充电订单对账信息
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user