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();