[agent-pipeline] pipe-20260328071539-8dqp round-1
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
* 공통 코드 목록 조회
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user