유니크한 키 값으로 DB에서 in 조건 조회 후 조회가 안된 키도 오류 결과 코드로 값을 리턴한다.
{
"data": [
{
"sampleKey": "A",
"resultStatusCode": "SUC001"
},
{
"sampleKey": "C",
"resultStatusCode": "SUC001"
}
]
}
// 차집합을 구하기 위해 요청 String[] 을 List로 변환한다.
List<String> requestKeys = new ArrayList<>(Arrays.asList(param.getSampleKeys()));
// DB 결과 sampleList에서 sampleKey 값을 List로 변환한다.
// List<SampleDTO> sampleList = ArrayList<>(); 구조
List<String> returnKeys = sampleList.stream().map(SampleDTO::getSampleKey).collect(Collectors.toList());
// 차집합을 구한다
requestKeys.removeAll(returnKeys);
for(String requestKey : requestKeys) {
SampleDTO sample = new SampleDTO();
sample.setSampleKey(requestKey);
sample.setResultStatusCode("ERR001");
sampleList.add(sample);
}
끗~