From a70433b2ee5bb37823ab73422a01251343cb5f58 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 29 九月 2026 17:55:50 +0800
Subject: [PATCH] 修改订单业务流程和其他功能修改
---
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/ChargingCardClient.java | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/ChargingCardClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/ChargingCardClient.java
index bc32fb0..f3d4f0b 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/ChargingCardClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/ChargingCardClient.java
@@ -13,6 +13,7 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -57,6 +58,32 @@
R<ChargingCardDeductVO> deductForCharging(@RequestBody ChargingCardDeductDTO dto);
/**
+ * 锁定卡片账户余额(刷卡充电申请,实扣冻结:余额立即扣减并计入锁定金额)。
+ *
+ * @return data 为锁定后可用余额;余额不足时 R 的 code != 200
+ */
+ @PostMapping("/t-charging-card/inner/lock-balance")
+ R<BigDecimal> lockBalance(@RequestParam("cardId") Long cardId,
+ @RequestParam("amount") BigDecimal amount);
+
+ /**
+ * 结算卡片账户余额(解锁锁定额并按实际消费扣减,允许扣成负数;订单号幂等,与旧扣款接口共用唯一键)。
+ *
+ * @return data.duplicated=true 表示该订单此前已结算成功,本次未重复结算
+ */
+ @PostMapping("/t-charging-card/inner/settle-charging")
+ R<ChargingCardDeductVO> settleForCharging(@RequestBody ChargingCardDeductDTO dto);
+
+ /**
+ * 释放卡片锁定金额(未产生消费/订单回滚时使用)。
+ *
+ * @return data 为释放后可用余额
+ */
+ @PostMapping("/t-charging-card/inner/unlock-balance")
+ R<BigDecimal> unlockBalance(@RequestParam("cardId") Long cardId,
+ @RequestParam("amount") BigDecimal amount);
+
+ /**
* 批量查询已成功写入充电扣款流水的订单号。
*/
@PostMapping("/t-charging-card/inner/deducted-order-codes")
--
Gitblit v1.7.1