Files
sam-kd/estimate/fetch_length_data.php
hskwon aca1767eb9 초기 커밋: 5130 레거시 시스템
- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경
- DB 연결 하드코딩 → .env 기반으로 변경
- MySQL strict mode DATE 오류 수정
2025-12-10 20:14:31 +09:00

102 lines
3.0 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
// length-input 입력 시 서버에서 값을 가져오는 API
error_reporting(E_ALL);
ini_set('display_errors', 1);
// CORS 헤더 설정
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
header('Content-Type: application/json; charset=utf-8');
// 디버그 로그 파일 설정
$debug_log_file = __DIR__ . '/debug_length_data.log';
// 로그 함수
function writeLog($message) {
global $debug_log_file;
$timestamp = date('Y-m-d H:i:s');
$log_message = "[$timestamp] $message\n";
file_put_contents($debug_log_file, $log_message, FILE_APPEND | LOCK_EX);
}
writeLog("=== 새로운 요청 시작 ===");
// POST 데이터 받기
$input = json_decode(file_get_contents('php://input'), true);
if (!$input) {
$input = $_POST;
}
writeLog("받은 데이터: " . json_encode($input));
$length = isset($input['length']) ? floatval($input['length']) : 0;
$rowIndex = isset($input['rowIndex']) ? intval($input['rowIndex']) : 0;
$inputType = isset($input['inputType']) ? $input['inputType'] : 'area_length';
writeLog("파싱된 데이터 - length: $length, rowIndex: $rowIndex, inputType: $inputType");
// 기본 응답 구조
$response = [
'success' => false,
'message' => '',
'data' => [
'areaPrice' => 0,
'unitPrice' => 0,
'totalPrice' => 0
]
];
try {
// 길이가 유효한지 확인
if ($length <= 0) {
throw new Exception("유효하지 않은 길이 값: $length");
}
// 과거 로직에 따른 계산
// 면적 단가 계산 (예시: 1㎡당 30,000원)
$areaPrice = $length * 30000; // 실제로는 데이터베이스에서 가져와야 함
// 단가 계산 (면적 길이 × 면적 단가)
$unitPrice = round($length * 30000);
// 기본 수량 (실제로는 입력값에서 가져와야 함)
$su = 1;
// 합계 계산 (수량 × 단가)
$totalPrice = round($su * $unitPrice);
writeLog("계산 결과 - areaPrice: $areaPrice, unitPrice: $unitPrice, totalPrice: $totalPrice");
// 응답 데이터 설정
$response['success'] = true;
$response['message'] = '계산 완료';
$response['data'] = [
'areaPrice' => $areaPrice,
'unitPrice' => $unitPrice,
'totalPrice' => $totalPrice
];
// 추가 디버그 정보
$response['debug'] = [
'inputLength' => $length,
'rowIndex' => $rowIndex,
'inputType' => $inputType,
'calculationMethod' => 'area_length * 30000',
'timestamp' => date('Y-m-d H:i:s')
];
} catch (Exception $e) {
writeLog("오류 발생: " . $e->getMessage());
$response['success'] = false;
$response['message'] = '계산 중 오류가 발생했습니다: ' . $e->getMessage();
$response['error'] = $e->getMessage();
}
// JSON 응답 전송
$json_response = json_encode($response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
writeLog("응답 전송: " . $json_response);
echo $json_response;
?>