거래 로그 조회 json 처리
This commit is contained in:
@@ -8,13 +8,15 @@ import com.eactive.eai.rms.data.entity.onl.logger.EAILogService;
|
||||
import com.eactive.eai.rms.onl.apim.common.BaseRestController;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.java.Log;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
@@ -33,16 +35,16 @@ public class ApiTransactionLogController extends BaseRestController {
|
||||
|
||||
// 이중 매핑 문제를 해결하기 위해 (예: /api/transaction/log.do 와 /transaction/log.do) '.do' 확장자를 제거함.
|
||||
// 이제 이 엔드포인트는 /api/transaction/log 를 통해서만 접근 가능하며, API 컨벤션에 맞춰 단일하고 명확한 접근 지점을 보장함.
|
||||
@GetMapping("/transaction/log")
|
||||
// @GetMapping("/transaction/log")
|
||||
@PostMapping("/transaction/log")
|
||||
public ResponseEntity<ApiLogUI> getApiLog(String txDate, String apiServiceNumber) {
|
||||
public ResponseEntity<ApiLogUI> getApiLog(@RequestBody LogRequestBody requestBody) {
|
||||
DataSourceContextHolder.setDataSourceType(DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.APIGW));
|
||||
|
||||
// txDate가 없으면 오늘 날짜 설정
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
LocalDate searchDate;
|
||||
if (StringUtils.hasText(txDate)) {
|
||||
searchDate = LocalDate.parse(txDate, formatter);
|
||||
if (StringUtils.hasText(requestBody.getTxDate())) {
|
||||
searchDate = LocalDate.parse(requestBody.getTxDate(), formatter);
|
||||
} else {
|
||||
searchDate = LocalDate.now();
|
||||
}
|
||||
@@ -51,7 +53,7 @@ public class ApiTransactionLogController extends BaseRestController {
|
||||
ApiLogDTO dto = null;
|
||||
for (int i = 0; i < 10; i++) {
|
||||
String searchDateStr = searchDate.format(formatter);
|
||||
dto = eaiLogService.getApiLog(searchDateStr, apiServiceNumber);
|
||||
dto = eaiLogService.getApiLog(searchDateStr, requestBody.getApiServiceNumber());
|
||||
|
||||
// 결과가 있으면 종료
|
||||
if (dto != null && dto.getLogs() != null && !dto.getLogs().isEmpty()) {
|
||||
@@ -138,4 +140,9 @@ public class ApiTransactionLogController extends BaseRestController {
|
||||
return ui;
|
||||
}
|
||||
|
||||
}
|
||||
@Data
|
||||
public static class LogRequestBody {
|
||||
private String txDate;
|
||||
private String apiServiceNumber;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user