From 6958d89bfec79450782f8352d5716d6603549b98 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期日, 26 一月 2025 17:25:56 +0800
Subject: [PATCH] 新增加互联互通扩展接口
---
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java | 169 ++++++++++++++++++++
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingRecordClient.java | 9 +
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/OrderInfo.java | 86 ++++++++++
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/NotificationChargeOrderInfo.java | 10 +
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java | 14 +
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/NotificationChargeCarnumResult.java | 34 ++++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java | 4
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfoResult.java | 18 ++
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfo.java | 18 ++
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/AddTripartitePlatformOrder.java | 2
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatus.java | 11 +
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java | 12 +
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryStartCharge.java | 7
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/NotificationChargeCarnum.java | 24 +++
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatusResult.java | 5
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 14 +
16 files changed, 424 insertions(+), 13 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingRecordClient.java b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingRecordClient.java
index b86ad6d..277804b 100644
--- a/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingRecordClient.java
+++ b/ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/feignClient/ParkingRecordClient.java
@@ -44,6 +44,15 @@
R<TParkingRecord> getParkingRecordById(@RequestParam("id") Long id);
+
+ /**
+ * 根据充电订单id获取数据
+ * @return
+ */
+ @PostMapping("/t-parking-record/getParkingRecordByChargingOrderId")
+ R<TParkingRecord> getParkingRecordByChargingOrderId(@RequestParam("chargingOrderId") Long chargingOrderId);
+
+
/**
* 添加数据
* @param parkingRecord
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
index 23c64cf..bd97a7c 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/ChargingOrderFallbackFactory.java
@@ -191,6 +191,10 @@
return R.fail("根据三方平台订单id获取充电数据失败:" + throwable.getMessage());
}
+ @Override
+ public R<List<TChargingOrder>> getChargingOrderByStartChargeSeqs(List<String> startChargeSeqs) {
+ return R.fail("根据三方平台订单ids获取充电数据失败" + throwable.getMessage());
+ }
@Override
public R tripartitePlatformStopCharge(String startChargeSeq) {
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
index ffd6ad3..ea681f5 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -267,6 +267,18 @@
R<TChargingOrder> getChargingOrderByStartChargeSeq(@RequestParam("startChargeSeq") String startChargeSeq);
+
+ /**
+ * 根据三方平台订单ids获取充电数据
+ * @param startChargeSeqs
+ * @return
+ */
+ @PostMapping("/t-charging-order/getChargingOrderByStartChargeSeqs")
+ R<List<TChargingOrder>> getChargingOrderByStartChargeSeqs(@RequestParam("startChargeSeqs") List<String> startChargeSeqs);
+
+
+
+
/**
* 三方平台请求停止充电
* @param startChargeSeq
diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/AddTripartitePlatformOrder.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/AddTripartitePlatformOrder.java
index 5c3b5f6..ec4f3da 100644
--- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/AddTripartitePlatformOrder.java
+++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/AddTripartitePlatformOrder.java
@@ -24,7 +24,7 @@
*/
private String operatorId;
/**
- * 支付方式(1=微信,2=支付宝)
+ * 支付方式(0=未知,1=微信,2=支付宝)
*/
private Integer rechargePaymentType;
/**
diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
index 7b17c17..54d1169 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -264,6 +264,20 @@
}
+
+ /**
+ * 根据充电订单id获取数据
+ * @return
+ */
+ @PostMapping("/getParkingRecordByChargingOrderId")
+ public R<TParkingRecord> getParkingRecordByChargingOrderId(@RequestParam("chargingOrderId") Long chargingOrderId){
+ TParkingRecord parkingRecord = parkingRecordService.getOne(new LambdaQueryWrapper<TParkingRecord>()
+ .eq(TParkingRecord::getChargingOrderId, chargingOrderId));
+ return R.ok(parkingRecord);
+ }
+
+
+
/**
* 添加数据
* @param parkingRecord
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
index ca33eb3..6294bf2 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/TCECController.java
@@ -3,14 +3,13 @@
import com.alibaba.fastjson.JSON;
import com.ruoyi.chargingPile.api.feignClient.*;
import com.ruoyi.chargingPile.api.model.*;
+import com.ruoyi.chargingPile.api.vo.GetParkingRecord;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.ChargingPercentProvinceDto;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.integration.drainage.kuaidian.TCECKDUtil;
-import com.ruoyi.integration.drainage.kuaidian.model.NotificationStationChangeResult;
-import com.ruoyi.integration.drainage.kuaidian.model.QueryTerminalCode;
-import com.ruoyi.integration.drainage.kuaidian.model.QueryTerminalCodeResult;
+import com.ruoyi.integration.drainage.kuaidian.model.*;
import com.ruoyi.integration.drainage.model.*;
import com.ruoyi.integration.drainage.model.enu.*;
import com.ruoyi.order.api.feignClient.ChargingOrderAccountingStrategyClient;
@@ -74,6 +73,9 @@
@Resource
private ParkingLotClient parkingLotClient;
+
+ @Resource
+ private ParkingRecordClient parkingRecordClient;
@@ -809,7 +811,7 @@
/**
- * 请求定充电
+ * 请求开始充电
* @return
*/
@PostMapping("/query_start_charge")
@@ -863,8 +865,8 @@
addTripartitePlatformOrder.setStartChargeSeq(queryStartCharge.getStartChargeSeq());
addTripartitePlatformOrder.setChargingGunId(tChargingGun.getId());
addTripartitePlatformOrder.setOperatorId(operator.getOperatorId());
- addTripartitePlatformOrder.setPaymentAmount(queryStartCharge.getPaymentAmount());
- addTripartitePlatformOrder.setRechargePaymentType(queryStartCharge.getPaymentType());
+ addTripartitePlatformOrder.setPaymentAmount(queryStartCharge.getChargingAmt());
+ addTripartitePlatformOrder.setRechargePaymentType(0);
addTripartitePlatformOrder.setPlateNum(queryStartCharge.getPlateNum());
R order = chargingOrderClient.addTripartitePlatformOrder(addTripartitePlatformOrder);
//启动失败
@@ -1267,6 +1269,12 @@
notificationChargeOrderInfo.setTotalElecMoney(chargingOrder.getTotalElectricity());
notificationChargeOrderInfo.setTotalSeviceMoney(chargingOrder.getServiceCharge());
notificationChargeOrderInfo.setTotalMoney(chargingOrder.getTotalElectricity().add(chargingOrder.getServiceCharge()));
+ notificationChargeOrderInfo.setTotalDelayMoney(BigDecimal.ZERO);
+ TParkingRecord parkingRecord = parkingRecordClient.getParkingRecordByChargingOrderId(chargingOrder.getId()).getData();
+ if(null != parkingRecord && parkingRecord.getStatus() == 3){
+ notificationChargeOrderInfo.setTotalDelayMoney(parkingRecord.getPayment());
+ }
+
//结束方式(0=异常终止,1=主动终止,2=满电终止,3=费用不足终止)
switch (chargingOrder.getEndMode()){
case 0:
@@ -1349,4 +1357,153 @@
baseResult.setSig(TCECUtil.buildSign(baseResult));
return baseResult;
}
+
+
+ /**
+ * 推送充电车牌号
+ * 客户归属运营商向设备运营商推送充电用户车牌号减免停车费,多次推送以最后一次车牌号为准
+ * @param baseRequest
+ * @param request
+ * @return
+ */
+ @PostMapping("/notification_charge_carnum")
+ public BaseResult notificationChargeCarnum(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
+ //校验token和签名
+ BaseResult baseResult = requestCheck(true, baseRequest, request);
+ if(0 != baseResult.getRet()){
+ baseResult.setData("");
+ baseResult.setSig(TCECUtil.buildSign(baseResult));
+ return baseResult;
+ }
+ Operator operator = baseResult.getOperator();
+ //解密参数
+ String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
+ NotificationChargeCarnum notificationChargeCarnum = JSON.parseObject(decrypt, NotificationChargeCarnum.class);
+
+ NotificationChargeCarnumResult notificationChargeCarnumResult = new NotificationChargeCarnumResult();
+ notificationChargeCarnumResult.setStartChargeSeqs(notificationChargeCarnum.getStartChargeSeqs());
+ notificationChargeCarnumResult.setSuccStat(0);
+ notificationChargeCarnumResult.setFailReason(0);
+ TChargingOrder chargingOrder = chargingOrderClient.getChargingOrderByStartChargeSeq(notificationChargeCarnum.getStartChargeSeqs()).getData();
+ if(null == chargingOrder){
+ notificationChargeCarnumResult.setSuccStat(1);
+ notificationChargeCarnumResult.setFailReason(1);
+ }else{
+ //待处理相关业务逻辑
+ }
+ //参数加密
+ String jsonString = JSON.toJSONString(notificationChargeCarnumResult);
+ String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
+ baseResult.setData(encrypt);
+ baseResult.setSig(TCECUtil.buildSign(baseResult));
+ return baseResult;
+ }
+
+
+ /**
+ * 账单拉取(快电)
+ * @param baseRequest
+ * @param request
+ * @return
+ */
+ @PostMapping("/query_charge_order_info")
+ public BaseResult queryChargeOrderInfo(@RequestBody BaseRequest baseRequest, HttpServletRequest request){
+ //校验token和签名
+ BaseResult baseResult = requestCheck(true, baseRequest, request);
+ if(0 != baseResult.getRet()){
+ baseResult.setData("");
+ baseResult.setSig(TCECUtil.buildSign(baseResult));
+ return baseResult;
+ }
+ Operator operator = baseResult.getOperator();
+ //解密参数
+ String decrypt = AESUtil.decrypt(baseRequest.getData(), operator.getDataSecret(), operator.getDataSecretIv());
+ QueryChargeOrderInfo queryChargeOrderInfo = JSON.parseObject(decrypt, QueryChargeOrderInfo.class);
+ //构建返回结果
+ QueryChargeOrderInfoResult result = buildQueryChargeOrderInfoResult(queryChargeOrderInfo);
+ //参数加密
+ String jsonString = JSON.toJSONString(result);
+ String encrypt = AESUtil.encrypt(jsonString, operator.getDataSecret(), operator.getDataSecretIv());
+ baseResult.setData(encrypt);
+ baseResult.setSig(TCECUtil.buildSign(baseResult));
+ return baseResult;
+ }
+
+
+
+ /**
+ * 构建充电账单拉取实体
+ * @param queryChargeOrderInfo
+ * @return
+ */
+ public QueryChargeOrderInfoResult buildQueryChargeOrderInfoResult(QueryChargeOrderInfo queryChargeOrderInfo){
+ //构建返回结果
+ QueryChargeOrderInfoResult queryChargeOrderInfoResult = new QueryChargeOrderInfoResult();
+ List<OrderInfo> orderInfos = new ArrayList<>();
+ List<String> startChargeSeqs = queryChargeOrderInfo.getStartChargeSeqs();
+ List<TChargingOrder> chargingOrders = chargingOrderClient.getChargingOrderByStartChargeSeqs(startChargeSeqs).getData();
+ for (TChargingOrder chargingOrder : chargingOrders) {
+ if(null == chargingOrder){
+ return null;
+ }
+ OrderInfo orderInfo = new OrderInfo();
+ orderInfo.setStartChargeSeq(chargingOrder.getStartChargeSeq());
+ orderInfo.setConnectorID(chargingOrder.getChargingGunId().toString());
+ orderInfo.setStartTime((null == chargingOrder.getStartTime() ? chargingOrder.getCreateTime() : chargingOrder.getStartTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ orderInfo.setEndTime((null == chargingOrder.getStartTime() ? LocalDateTime.now() : chargingOrder.getEndTime()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ orderInfo.setTotalPower(chargingOrder.getTotalElectricity());
+ orderInfo.setTotalElecMoney(chargingOrder.getElectrovalence());
+ orderInfo.setTotalSeviceMoney(chargingOrder.getServiceCharge());
+ orderInfo.setTotalMoney(chargingOrder.getTotalElectricity().add(chargingOrder.getServiceCharge()));
+ //结束方式(0=异常终止,1=主动终止,2=满电终止,3=费用不足终止)
+ switch (chargingOrder.getEndMode()){
+ case 0:
+ orderInfo.setStopReason(3);
+ break;
+ case 1:
+ orderInfo.setStopReason(0);
+ break;
+ case 2:
+ orderInfo.setStopReason(2);
+ break;
+ case 3:
+ orderInfo.setStopReason(4);
+ break;
+ }
+ //构建充电明细
+ List<ChargeDetail> chargeDetails = new ArrayList<>();
+ List<TChargingOrderAccountingStrategy> data = chargingOrderAccountingStrategyClient.getChargingOrderAccountingStrategyByOrderId(chargingOrder.getId()).getData();
+
+ LocalDateTime startTime = chargingOrder.getStartTime();
+ LocalDateTime endTime = chargingOrder.getEndTime();
+ String s_format = startTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ String e_format = endTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ for (TChargingOrderAccountingStrategy datum : data) {
+ ChargeDetail chargeDetail = new ChargeDetail();
+ if(s_format.equals(e_format)){
+ chargeDetail.setDetailStartTime(s_format + " " + datum.getStartTime() + ":00");
+ chargeDetail.setDetailEndTime(s_format + " " + datum.getEndTime() + ":59");
+ }else{
+ String substring = datum.getEndTime().substring(0, datum.getEndTime().indexOf(":"));
+ if(Integer.valueOf(substring) > 12){
+ chargeDetail.setDetailStartTime(s_format + " " + datum.getStartTime() + ":00");
+ chargeDetail.setDetailEndTime(s_format + " " + datum.getEndTime() + ":59");
+ }else{
+ chargeDetail.setDetailStartTime(e_format + " " + datum.getStartTime() + ":00");
+ chargeDetail.setDetailEndTime(e_format + " " + datum.getEndTime() + ":59");
+ }
+ }
+ chargeDetail.setElecPrice(datum.getElectrovalence());
+ chargeDetail.setSevicePrice(datum.getServiceCharge());
+ chargeDetail.setDetailPower(datum.getChargingCapacity());
+ chargeDetail.setDetailElecMoney(datum.getPeriodElectricPrice());
+ chargeDetail.setDetailSeviceMoney(datum.getPeriodServicePrice());
+ chargeDetails.add(chargeDetail);
+ }
+ orderInfo.setChargeDetails(chargeDetails);
+ orderInfos.add(orderInfo);
+ }
+ queryChargeOrderInfoResult.setOrderInfos(orderInfos);
+ return queryChargeOrderInfoResult;
+ }
}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/NotificationChargeCarnum.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/NotificationChargeCarnum.java
new file mode 100644
index 0000000..7640864
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/NotificationChargeCarnum.java
@@ -0,0 +1,24 @@
+package com.ruoyi.integration.drainage.kuaidian.model;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 推送充电车牌号
+ * @author zhibing.pu
+ * @Date 2025/1/26 14:38
+ */
+@Data
+public class NotificationChargeCarnum {
+ /**
+ * 充电订单号
+ */
+ @NotNull
+ private String StartChargeSeqs;
+ /**
+ * 充电车牌号
+ */
+ @NotNull
+ private String Carnum;
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/NotificationChargeCarnumResult.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/NotificationChargeCarnumResult.java
new file mode 100644
index 0000000..02125de
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/NotificationChargeCarnumResult.java
@@ -0,0 +1,34 @@
+package com.ruoyi.integration.drainage.kuaidian.model;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * 推送充电车牌号返回结果
+ * @author zhibing.pu
+ * @Date 2025/1/26 14:43
+ */
+@Data
+public class NotificationChargeCarnumResult {
+ /**
+ * 充电订单号
+ */
+ @NotNull
+ private String StartChargeSeqs;
+ /**
+ * 成功状态
+ * 0:成功
+ * 1:失败
+ */
+ @NotNull
+ private Integer SuccStat;
+ /**
+ * 失败原因
+ * 0:无
+ * 1:无此订单
+ * 2`9自定义
+ */
+ @NotNull
+ private Integer FailReason;
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/OrderInfo.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/OrderInfo.java
new file mode 100644
index 0000000..fa1630a
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/OrderInfo.java
@@ -0,0 +1,86 @@
+package com.ruoyi.integration.drainage.kuaidian.model;
+
+import com.ruoyi.integration.drainage.model.ChargeDetail;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Null;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 账单实体
+ * @author zhibing.pu
+ * @Date 2025/1/26 15:29
+ */
+@Data
+public class OrderInfo {
+ /**
+ * 充电订单号
+ */
+ @NotNull
+ private String StartChargeSeq;
+ /**
+ * 充电设备接口编码
+ */
+ @NotNull
+ private String ConnectorID;
+ /**
+ * 开始充电时间
+ * yyyy-MM-dd HH:mm:ss
+ */
+ @NotNull
+ private String StartTime;
+ /**
+ * 结束充电时间
+ * yyyy-MM-dd HH:mm:ss
+ */
+ @NotNull
+ private String EndTime;
+ /**
+ * 累计充电电量
+ */
+ @NotNull
+ private BigDecimal TotalPower;
+ /**
+ * 总电费
+ */
+ @NotNull
+ private BigDecimal TotalElecMoney;
+ /**
+ * 总服务费
+ */
+ @NotNull
+ private BigDecimal TotalSeviceMoney;
+ /**
+ * 累计总金额
+ */
+ @NotNull
+ private BigDecimal TotalMoney;
+ /**
+ * 车辆识别码
+ */
+ @Null
+ private String VIN;
+ /**
+ * 充电结束原因
+ * 0:用户手动停止充电
+ * 1:客户归属地运营商平台停止充电
+ * 2:BMS停止充电
+ * 3:充电机设备故障
+ * 4:连接器断开
+ * 5`99:自定义
+ */
+ @NotNull
+ private Integer StopReason;
+ /**
+ * 时段数N
+ * 范围0`23
+ */
+ @Null
+ private Integer SumPeriod;
+ /**
+ * 充电明细信息
+ */
+ private List<ChargeDetail> ChargeDetails;
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfo.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfo.java
new file mode 100644
index 0000000..7acc4cb
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfo.java
@@ -0,0 +1,18 @@
+package com.ruoyi.integration.drainage.kuaidian.model;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 账单拉取
+ * @author zhibing.pu
+ * @Date 2025/1/26 15:26
+ */
+@Data
+public class QueryChargeOrderInfo {
+ /**
+ * 充电订单号集合
+ */
+ private List<String> StartChargeSeqs;
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfoResult.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfoResult.java
new file mode 100644
index 0000000..544ae8e
--- /dev/null
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/kuaidian/model/QueryChargeOrderInfoResult.java
@@ -0,0 +1,18 @@
+package com.ruoyi.integration.drainage.kuaidian.model;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 账单拉取
+ * @author zhibing.pu
+ * @Date 2025/1/26 15:28
+ */
+@Data
+public class QueryChargeOrderInfoResult {
+ /**
+ * 充电订单账单集合
+ */
+ private List<OrderInfo> OrderInfos;
+}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/NotificationChargeOrderInfo.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/NotificationChargeOrderInfo.java
index 63f2d13..512b98a 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/NotificationChargeOrderInfo.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/NotificationChargeOrderInfo.java
@@ -78,5 +78,15 @@
*/
@Null
private List<ChargeDetail> ChargeDetails;
+ /**
+ * 占位费
+ */
+ @Null
+ private BigDecimal TotalDelayMoney;
+ /**
+ * 车辆识别码
+ */
+ @Null
+ private String VIN;
}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatus.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatus.java
index a23736b..b4bd767 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatus.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatus.java
@@ -3,6 +3,7 @@
import lombok.Data;
import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Null;
/**
* 查询充电状态
@@ -16,4 +17,14 @@
*/
@NotNull
private String StartChargeSeq;
+ /**
+ * 抢号
+ */
+ @NotNull
+ private String ConnectorID;
+ /**
+ * 车辆识别码
+ */
+ @Null
+ private String VIN;
}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatusResult.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatusResult.java
index ae19f5e..8060b20 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatusResult.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryEquipChargeStatusResult.java
@@ -120,5 +120,10 @@
*/
@Null
private List<ChargeDetail> ChargeDetails;
+ /**
+ * 车辆识别码
+ */
+ @Null
+ private String VIN;
}
diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryStartCharge.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryStartCharge.java
index e930446..3993406 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryStartCharge.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/drainage/model/QueryStartCharge.java
@@ -29,15 +29,10 @@
@NotNull
private String QRCode;
/**
- * 支付方式(1=微信,2=支付宝)
- */
- @NotNull
- private Integer paymentType;
- /**
* 充电余额
*/
@NotNull
- private BigDecimal paymentAmount;
+ private BigDecimal chargingAmt;
/**
* 充电车牌号
*/
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index cd0f8ee..64340cf 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -2120,6 +2120,20 @@
}
+
+
+ /**
+ * 根据三方平台订单ids获取充电数据
+ * @param startChargeSeqs
+ * @return
+ */
+ @PostMapping("/getChargingOrderByStartChargeSeqs")
+ public R<List<TChargingOrder>> getChargingOrderByStartChargeSeqs(@RequestParam("startChargeSeqs") List<String> startChargeSeqs){
+ List<TChargingOrder> list = chargingOrderService.list(new LambdaQueryWrapper<TChargingOrder>().in(TChargingOrder::getStartChargeSeq, startChargeSeqs));
+ return R.ok(list);
+ }
+
+
/**
* 三方平台请求停止充电
* @param startChargeSeq
--
Gitblit v1.7.1