From 930e6901262b9ac60e39849f103554e424c60e89 Mon Sep 17 00:00:00 2001 From: jjstyle Date: Thu, 26 Mar 2026 21:06:31 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/Handlers/TypeSHandler.php | 9 +++++---- app/Services/ParameterMapper/TypeSParameterMapper.php | 4 ++-- worker/api_receiver.php | 6 ++++++ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/app/Services/Handlers/TypeSHandler.php b/app/Services/Handlers/TypeSHandler.php index 8fe75c2..52f2292 100644 --- a/app/Services/Handlers/TypeSHandler.php +++ b/app/Services/Handlers/TypeSHandler.php @@ -50,6 +50,7 @@ class TypeSHandler throw new Exception("Receipt Insert 실패: " . json_encode($this->receiptModel->errors())); } $rcptSq = $this->receiptModel->getInsertID(); + $receiptInsertSql = (string)$this->receiptModel->getLastQuery(); // Receipt SQL 캡처 CLI::write(CLI::color("✅ Receipt 저장 성공 (ID: $rcptSq)", 'blue')); // 2. Result 데이터 저장 @@ -63,8 +64,8 @@ class TypeSHandler throw new Exception("Result Insert 실패: $errors"); } - $insertedResultSql = (string)$this->resultModel->getLastQuery(); - write_custom_log("Result Insert 성공 | SQL: $insertedResultSql", 'INFO', 'service'); + $resultInsertSql = (string)$this->resultModel->getLastQuery(); // Result SQL 캡처 + write_custom_log("Result Insert 성공 | SQL: $resultInsertSql", 'INFO', 'service'); CLI::write(CLI::color('✅ Result 저장 성공', 'blue')); // 3. 트랜잭션 커밋 @@ -76,8 +77,8 @@ class TypeSHandler // 4. 로그 기록 write_custom_log("Type S 처리 성공 | Atcl: $articleNumber | Rcpt_sq: $rcptSq", 'INFO', 'service'); - write_custom_log("Receipt Insert SQL: " . (string)$this->receiptModel->getLastQuery(), 'INFO', 'service'); - write_custom_log("Result Insert SQL: " . (string)$this->resultModel->getLastQuery(), 'INFO', 'service'); + write_custom_log("Receipt Insert SQL: " . $receiptInsertSql, 'INFO', 'service'); + write_custom_log("Result Insert SQL: " . $resultInsertSql, 'INFO', 'service'); // 5. 네이버 예약 정보 동기화 (비동기) // try { diff --git a/app/Services/ParameterMapper/TypeSParameterMapper.php b/app/Services/ParameterMapper/TypeSParameterMapper.php index e0848b5..61037db 100644 --- a/app/Services/ParameterMapper/TypeSParameterMapper.php +++ b/app/Services/ParameterMapper/TypeSParameterMapper.php @@ -32,8 +32,8 @@ class TypeSParameterMapper extends BaseParameterMapper // 평면도 여부 결정 $groundPlan = in_array($rawData['realEstateTypeCode'] ?? '', ['C01', 'C02']) ? 'N' : 'Y'; - // 거래 유형 매핑 - $tradeType = $this->mapTradeType($rawData['tradeType'] ?? null); + // 거래 유형 코드 (tradeTypeCode 우선, 없으면 tradeType 한글을 변환) + $tradeType = $rawData['tradeTypeCode'] ?? $this->mapTradeType($rawData['tradeType'] ?? null); return [ 'comp_sq' => '2', diff --git a/worker/api_receiver.php b/worker/api_receiver.php index 3971a4b..ba08094 100644 --- a/worker/api_receiver.php +++ b/worker/api_receiver.php @@ -102,8 +102,14 @@ $requestInfo = [ 'get_params' => $_GET, 'post_data' => $rawData, 'client_ip' => $_SERVER['REMOTE_ADDR'] ?? '', + 'real_ip' => $_SERVER['HTTP_X_FORWARDED_FOR'] ?? $_SERVER['HTTP_X_REAL_IP'] ?? $_SERVER['REMOTE_ADDR'] ?? '', 'user_agent' => $_SERVER['HTTP_USER_AGENT'] ?? '', 'referer' => $_SERVER['HTTP_REFERER'] ?? '', + 'content_type' => $_SERVER['CONTENT_TYPE'] ?? $_SERVER['HTTP_CONTENT_TYPE'] ?? '', + 'content_length' => $_SERVER['CONTENT_LENGTH'] ?? '', + 'accept' => $_SERVER['HTTP_ACCEPT'] ?? '', + 'host' => $_SERVER['HTTP_HOST'] ?? '', + 'server_protocol' => $_SERVER['SERVER_PROTOCOL'] ?? '', ]; writeLog("REQUEST_INFO | " . json_encode($requestInfo, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), 'INFO');