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