From a3618ba68889e1e241901853fe67c13a9fa9362f Mon Sep 17 00:00:00 2001 From: tangwei Date: Tue, 11 Aug 2026 13:34:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E7=94=9F=E6=80=81?= =?UTF-8?q?=E6=B5=81=E9=87=8F=E6=9F=A5=E8=AF=A2=E8=BF=94=E5=9B=9E=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=85=A8=E5=A4=A7=E5=86=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SdEngInfoBHServiceImpl.java | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java index 425fa4bd..5f909236 100644 --- a/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/qgc_base/service/impl/SdEngInfoBHServiceImpl.java @@ -822,7 +822,7 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl> rows = microservicDynamicSQLMapper.pageAllList(page, sql, paramMap); List list = new ArrayList<>(); for (Map row : rows) { - list.add(new EngStbprpDataVo(row)); + list.add(new EngStbprpDataVo(convertKeysToCamelCase(row))); } result.setData(list); result.setTotal(page == null ? list.size() : page.getTotal()); @@ -832,15 +832,44 @@ public class SdEngInfoBHServiceImpl extends ServiceImpl> rows = microservicDynamicSQLMapper.pageAllList(null, groupSql, paramMap); + List> camelRows = new ArrayList<>(); + for (Map row : rows) { + camelRows.add(convertKeysToCamelCase(row)); + } if (Boolean.TRUE.equals(request.getGroupResultFlat())) { - result.setData((List) (List) new GroupHelper().faltGroup(rows, Arrays.asList(groupInfos))); + result.setData((List) (List) new GroupHelper().faltGroup(camelRows, Arrays.asList(groupInfos))); } else { - result.setData((List) (List) new GroupHelper().group(rows, Arrays.asList(groupInfos))); + result.setData((List) (List) new GroupHelper().group(camelRows, Arrays.asList(groupInfos))); } result.setTotal((long) rows.size()); return result; } + /** + * 将 Map 的 key 从 ORACLE 大写/下划线格式转为 camelCase + */ + private Map convertKeysToCamelCase(Map row) { + if (CollUtil.isEmpty(row)) { + return row; + } + Map result = new LinkedHashMap<>(row.size()); + for (Map.Entry entry : row.entrySet()) { + String key = entry.getKey(); + if (key == null) { + result.put(null, entry.getValue()); + continue; + } + // 如果已经是小写开头,说明已经是 camelCase,跳过转换 + if (Character.isLowerCase(key.charAt(0))) { + result.put(key, entry.getValue()); + continue; + } + String camelKey = StrUtil.toCamelCase(key.toLowerCase()); + result.put(camelKey, entry.getValue()); + } + return result; + } + private DataSourceResult queryOperatSummaryList(DataSourceRequest dataSourceRequest, DataSourceLoadOptionsBase loadOptions) { StringBuilder sql = new StringBuilder();