From 4c42defa0b73cfba53f15e2cb3a09ecf3a231c3a Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 20 八月 2026 12:02:38 +0800
Subject: [PATCH] 加盟商看板电站收入占比接口增加 name+value 组合标签字段
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
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 8c81b73..18b830f 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
@@ -309,13 +309,25 @@
BigDecimal amountB = b == null || b.getPaymentAmount() == null ? BigDecimal.ZERO : b.getPaymentAmount();
return amountB.compareTo(amountA);
});
+ // 总额用于计算各站点占比,name+value 为服务端拼好的饼图标签文本(站点名 xx.x%)
+ BigDecimal total = BigDecimal.ZERO;
+ for (SixCircleDto dto : circleDtos) {
+ if (dto != null && dto.getPaymentAmount() != null) {
+ total = total.add(dto.getPaymentAmount());
+ }
+ }
for (SixCircleDto dto : circleDtos) {
if (dto == null || dto.getSiteId() == null || dto.getPaymentAmount() == null) {
continue;
}
Map<String, Object> item = new LinkedHashMap<>();
- item.put("name", siteNameMap.getOrDefault(dto.getSiteId(), "电站" + dto.getSiteId()));
+ String name = siteNameMap.getOrDefault(dto.getSiteId(), "电站" + dto.getSiteId());
+ item.put("name", name);
item.put("value", dto.getPaymentAmount());
+ String percent = total.compareTo(BigDecimal.ZERO) > 0
+ ? dto.getPaymentAmount().multiply(BigDecimal.valueOf(100)).divide(total, 1, RoundingMode.HALF_UP).toPlainString()
+ : "0.0";
+ item.put("name+value", name + " " + percent + "%");
incomePie.add(item);
}
return incomePie;
--
Gitblit v1.7.1