From 4292699a7addaf35d25c4ce00dc626c3d63a9476 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 01 九月 2026 10:46:00 +0800
Subject: [PATCH] feat: add card statistics and vin management

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TCardChargingOrderController.java |   36 ++++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TCardChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TCardChargingOrderController.java
index dff9989..e04cc4a 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TCardChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TCardChargingOrderController.java
@@ -10,8 +10,11 @@
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.security.annotation.Logical;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.order.api.query.CardBalanceDetailQuery;
 import com.ruoyi.order.api.query.CardChargingOrderQuery;
+import com.ruoyi.order.api.vo.CardBalanceDetailVO;
 import com.ruoyi.order.api.vo.ChargingOrderVO;
+import com.ruoyi.order.export.CardBalanceDetailExport;
 import com.ruoyi.order.export.CardChargingOrderExport;
 import com.ruoyi.order.service.TCardChargingOrderService;
 import io.swagger.annotations.Api;
@@ -117,4 +120,37 @@
         List<Map<String, Object>> list = cardChargingOrderService.accountingStrategyList(chargingOrderId);
         return R.ok(Collections.singletonMap("list", list));
     }
+
+    @RequiresPermissions("/chargingCardBalanceDetail/list")
+    @GetMapping("/balance-detail/list")
+    @ApiOperation("卡片收支明细列表")
+    public R<PageInfo<CardBalanceDetailVO>> balanceDetailList(CardBalanceDetailQuery query) {
+        return R.ok(cardChargingOrderService.balanceDetailPage(query));
+    }
+
+    @RequiresPermissions("/chargingCardBalanceDetail/list")
+    @GetMapping("/balance-detail/summary")
+    @ApiOperation("卡片收支明细汇总")
+    public R<Map<String, Object>> balanceDetailSummary(CardBalanceDetailQuery query) {
+        return R.ok(cardChargingOrderService.balanceDetailSummary(query));
+    }
+
+    @RequiresPermissions("/chargingCardBalanceDetail/export")
+    @PutMapping("/balance-detail/export")
+    @ApiOperation("卡片收支明细导出")
+    @Log(title = "卡片收支明细导出", businessType = BusinessType.EXPORT)
+    public void balanceDetailExport(@RequestBody CardBalanceDetailQuery query) {
+        List<CardBalanceDetailVO> list = cardChargingOrderService.balanceDetailExport(query);
+        List<CardBalanceDetailExport> exports = new ArrayList<>();
+        for (int i = 0; i < list.size(); i++) {
+            CardBalanceDetailVO detail = list.get(i);
+            CardBalanceDetailExport export = new CardBalanceDetailExport();
+            BeanUtils.copyProperties(detail, export);
+            export.setSequence(i + 1);
+            export.setOperationTime(formatTime(detail.getOperationTime()));
+            exports.add(export);
+        }
+        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), CardBalanceDetailExport.class, exports);
+        writeWorkbook(workbook, "卡片收支明细导出.xls");
+    }
 }

--
Gitblit v1.7.1