From b0edd6c4bd7912e706ef3af5a221caf0d6c78fac Mon Sep 17 00:00:00 2001
From: shinnosuke <tantao@1hoper.com>
Date: 星期四, 27 八月 2026 09:52:44 +0800
Subject: [PATCH] fix: align miniapp services and admin dashboard
---
talent-card-server/src/main/java/com/talentcard/server/service/AdminWorkbenchStatisticsService.java | 25 ++++++++++++++++++++++++-
1 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/talent-card-server/src/main/java/com/talentcard/server/service/AdminWorkbenchStatisticsService.java b/talent-card-server/src/main/java/com/talentcard/server/service/AdminWorkbenchStatisticsService.java
index ddf2cb0..3c847f6 100644
--- a/talent-card-server/src/main/java/com/talentcard/server/service/AdminWorkbenchStatisticsService.java
+++ b/talent-card-server/src/main/java/com/talentcard/server/service/AdminWorkbenchStatisticsService.java
@@ -44,6 +44,10 @@
result.put("talentCompare", number(compareRow.get("talentCompare")));
result.put("monthlyVerificationCompare", number(compareRow.get("monthlyVerificationCompare")));
result.put("subsidyCompare", money(number(compareRow.get("subsidyCompareCents"))));
+ List<Map<String, Object>> summaryTrend = mapper.selectSummaryTrend();
+ result.put("talentSpark", trendValues(summaryTrend, "talent"));
+ result.put("verificationSpark", trendValues(summaryTrend, "verification"));
+ result.put("subsidySpark", trendValues(summaryTrend, "subsidy"));
result.put("budgetConfigured", false);
result.put("budgetUsageRate", BigDecimal.ZERO.setScale(2));
result.put("budgetUsageRateText", "0.00%");
@@ -95,6 +99,25 @@
alerts.add(alert);
}
+ private List<BigDecimal> trendValues(List<Map<String, Object>> rows, String key) {
+ if (rows == null) {
+ return List.of();
+ }
+ return rows.stream()
+ .map(row -> decimal(row.get(key)))
+ .toList();
+ }
+
+ private BigDecimal decimal(Object value) {
+ if (value instanceof BigDecimal decimal) {
+ return decimal;
+ }
+ if (value instanceof Number number) {
+ return BigDecimal.valueOf(number.doubleValue());
+ }
+ return BigDecimal.ZERO;
+ }
+
private long number(Object value) {
return value instanceof Number n ? n.longValue() : 0L;
}
@@ -102,4 +125,4 @@
private BigDecimal money(long cents) {
return BigDecimal.valueOf(cents, 2).setScale(2, RoundingMode.HALF_UP);
}
-}
\ No newline at end of file
+}
--
Gitblit v1.7.1