[agent-pipeline] pipe-20260328071539-8dqp round-1

This commit is contained in:
DDD1542
2026-03-28 16:18:09 +09:00
parent 941cde1962
commit 8f61c49f19
@@ -5,8 +5,10 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@Slf4j
@@ -59,6 +61,35 @@ public class CommonService extends BaseService {
return result;
}
/**
* Map의 snake_case 키를 camelCase로 변환
* DB 결과를 프론트에 내려줄 때 사용
*/
public Map<String, Object> toCamelCaseKeys(Map<String, Object> row) {
if (row == null) return null;
Map<String, Object> result = new LinkedHashMap<>();
for (Map.Entry<String, Object> entry : row.entrySet()) {
result.put(snakeToCamel(entry.getKey()), entry.getValue());
}
return result;
}
public List<Map<String, Object>> toCamelCaseKeysList(List<Map<String, Object>> list) {
if (list == null) return null;
return list.stream().map(this::toCamelCaseKeys).collect(Collectors.toList());
}
private String snakeToCamel(String name) {
if (name == null || !name.contains("_")) return name;
StringBuilder sb = new StringBuilder();
boolean nextUpper = false;
for (char c : name.toCharArray()) {
if (c == '_') { nextUpper = true; }
else { sb.append(nextUpper ? Character.toUpperCase(c) : c); nextUpper = false; }
}
return sb.toString();
}
/**
* 공통 코드 목록 조회
*/