add 联联平台推送启动充电结果接口

This commit is contained in:
Lemon
2023-05-19 15:03:26 +08:00
parent a3f096ab80
commit 26983a58c5
3 changed files with 71 additions and 4 deletions

View File

@@ -94,4 +94,10 @@ public interface LianLianService {
* @return
*/
String pushOrderInfo(String orderCode);
/**
* 推送启动充电结果
* @return
*/
String pushStartChargeResult(String orderCode);
}

View File

@@ -473,9 +473,12 @@ public class LianLianServiceImpl implements LianLianService {
.FailReason(0)
.build();
// 推送启动充电结果
pushStartChargeResult(orderCode);
return vo;
// TODO 推送启动充电结果(调用接口 notification_start_charge_result)
}
@@ -555,11 +558,14 @@ public class LianLianServiceImpl implements LianLianService {
vo.setStartChargeSeqStat(3); // 3-停止中
}
return vo;
// TODO 推送停止充电结果
}
/**
* 从联联平台获取令牌
* @param dto
* @param operatorId
* @param operatorSecret
* @return
*/
@Override
@@ -640,6 +646,11 @@ public class LianLianServiceImpl implements LianLianService {
return result;
}
/**
* 推送订单信息
* @param orderCode
* @return
*/
@Override
public String pushOrderInfo(String orderCode) {
List<ChargeDetail> chargeDetails = new ArrayList<>();
@@ -652,7 +663,7 @@ public class LianLianServiceImpl implements LianLianService {
// 拼装成联联平台所需格式对象
OrderInfo orderInfo = OrderInfo.builder()
.operatorID(OPERATOR_ID)
.equipmentOwnerID(Constants.OPERATORID_LIANLIAN)
.equipmentOwnerID(OPERATOR_ID)
.stationID(orderBasicInfo.getStationId())
.equipmentID(orderBasicInfo.getPileSn())
.connectorID(orderBasicInfo.getPileConnectorCode())
@@ -746,6 +757,51 @@ public class LianLianServiceImpl implements LianLianService {
return result;
}
/**
* 推送启动充电结果
* @param orderCode
* @return
*/
@Override
public String pushStartChargeResult(String orderCode) {
// 根据订单号查询订单信息
OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(orderCode);
if (orderInfo == null) {
return null;
}
// 推送启动充电结果(调用接口 notification_start_charge_result)
String url = TEST_URL + "notification_start_charge_result";
// 获取令牌
String token = getToken(OPERATOR_ID, OPERATOR_SECRET);
if (StringUtils.isBlank(token)) {
return null;
}
String orderStatus = orderInfo.getOrderStatus();
// 订单状态统一
if (StringUtils.equals(OrderStatusEnum.IN_THE_CHARGING.getValue(), orderStatus)) {
// 充电中
orderStatus = "2";
}else if (StringUtils.equals(OrderStatusEnum.NOT_START.getValue(), orderStatus)) {
// 未启动
orderStatus = "1";
}else {
// 其他状态都为 未知
orderStatus = "5";
}
// 拼装参数
JSONObject json = new JSONObject();
json.put("StartChargeSeq", orderCode);
json.put("ConnectorID", orderInfo.getPileConnectorCode());
json.put("StartChargeSeqStat", Integer.valueOf(orderStatus));
json.put("StartTime", orderInfo.getChargeStartTime());
String jsonString = JSONObject.toJSONString(json);
String result = HttpRequestUtil.sendPost(token, jsonString, url, DATA_SECRET, DATA_SECRETIV, OPERATOR_ID, SIG_SECRET);
return result;
}
// private ChargeDetail setChargeDetail(OrderBasicInfo orderBasicInfo, OrderDetail orderDetail) {
// ChargeDetail detail = new ChargeDetail();
//