현장확인매물 상세 페이지 기능 수정
This commit is contained in:
@@ -202,7 +202,8 @@ class Receipt extends BaseController
|
||||
log_message('info', '[Receipt::detail] getDetail {ms}ms', ['ms' => (int) ((microtime(true) - $t3) * 1000)]);
|
||||
|
||||
$t4 = microtime(true);
|
||||
$history = $this->model->getHistory($id);
|
||||
// rcpt_sq를 사용하여 이력 조회
|
||||
$history = $this->model->getHistory($data['rcpt_sq'] ?? $id);
|
||||
log_message('info', '[Receipt::detail] getHistory {ms}ms', ['ms' => (int) ((microtime(true) - $t4) * 1000)]);
|
||||
|
||||
$t5 = microtime(true);
|
||||
@@ -346,23 +347,52 @@ class Receipt extends BaseController
|
||||
|
||||
$this->model->saveResDB($rcpt_sq, $rsrv_sq, $res_yn, $dbUsageAgrYn);
|
||||
|
||||
$receipt = $this->getDetail($rcpt_key);
|
||||
$receipt = $this->model->getDetail($rcpt_key);
|
||||
if ($res_yn == 'Y') {
|
||||
$isResidentsExist = true;
|
||||
} else {
|
||||
$isResidentsExist = false;
|
||||
}
|
||||
|
||||
$api_result = $naver->residentsExistence($rcpt_key, $isResidentsExist);
|
||||
$updateData = [
|
||||
'residentsExistence' => $isResidentsExist
|
||||
];
|
||||
|
||||
$charger = session('usr_id');
|
||||
|
||||
if (!isset($api_result['result'])) {
|
||||
throw new \Exception('API 통신오류입니다.\n다시 저장하여 주십시요.');
|
||||
log_message('info', '[resDbYn] 네이버 API 호출 시작 - rcpt_key: ' . $rcpt_key . ', charger: ' . $charger . ', updateData: ' . json_encode($updateData, JSON_UNESCAPED_UNICODE));
|
||||
|
||||
$api_result = $naver->updateArticleInfo($rcpt_key, $updateData, $charger);
|
||||
|
||||
log_message('info', '[resDbYn] 네이버 API 응답 - result: ' . json_encode($api_result, JSON_UNESCAPED_UNICODE) . ' (type: ' . gettype($api_result) . ')');
|
||||
|
||||
// API 호출 실패 체크
|
||||
if (isset($api_result['error']) && $api_result['error'] === true) {
|
||||
// 에러 정보를 상세하게 표시
|
||||
if ($api_result['error_type'] === 'CURL_ERROR') {
|
||||
$errorMsg = "네이버 API 통신 실패 (CURL 오류)\n";
|
||||
$errorMsg .= "오류코드: {$api_result['curl_errno']}\n";
|
||||
$errorMsg .= "오류내용: {$api_result['curl_error']}\n";
|
||||
$errorMsg .= "URL: {$api_result['url']}";
|
||||
} else {
|
||||
$errorMsg = "네이버 API 응답 오류 (HTTP {$api_result['http_code']})\n";
|
||||
$errorMsg .= "응답내용: {$api_result['response']}\n";
|
||||
$errorMsg .= "URL: {$api_result['url']}";
|
||||
}
|
||||
throw new \Exception($errorMsg);
|
||||
}
|
||||
|
||||
// 정상 응답이지만 성공이 아닌 경우
|
||||
if (!isset($api_result['code']) || $api_result['code'] !== 'success') {
|
||||
$errorMsg = "네이버 API 응답 오류\n";
|
||||
$errorMsg .= "응답: " . json_encode($api_result, JSON_UNESCAPED_UNICODE);
|
||||
throw new \Exception($errorMsg);
|
||||
}
|
||||
|
||||
return $this->response->setJSON([
|
||||
'code' => '0',
|
||||
'msg' => 'success'
|
||||
'msg' => 'success',
|
||||
'debug_api_result' => $api_result // 디버그용 (확인 후 제거)
|
||||
]);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
@@ -425,7 +455,7 @@ class Receipt extends BaseController
|
||||
$na_result = $naver->reserveSuccess($rcpt_key, 'Y', $bonbuInfo['dept_nm'], $deptInfo['dept_nm'], $userInfo['usr_nm'], $userInfo['usr_tel1'], $rsrv_date, $rsrv_tm_ap);
|
||||
/*** 네이버 연동[e] ***/
|
||||
|
||||
if (array_key_exists('result', $na_result)) { //네이버연동 상태변경 완료
|
||||
if (isset($na_result['code']) && $na_result['code'] === 'success') { //네이버연동 상태변경 완료
|
||||
$result = $this->model->assignRegist($rcpt_sq, $rsrv_date, $rsrv_tm_ap, $rsrv_tm_hour, $dept_sq, $usr_sq, $receipt);
|
||||
|
||||
return $this->response->setJSON([
|
||||
@@ -433,7 +463,7 @@ class Receipt extends BaseController
|
||||
'msg' => 'success'
|
||||
]);
|
||||
} else {
|
||||
throw new \Exception($na_result['message']);
|
||||
throw new \Exception($na_result['message'] ?? '네이버 API 연동 실패');
|
||||
}
|
||||
|
||||
|
||||
@@ -530,11 +560,11 @@ class Receipt extends BaseController
|
||||
}
|
||||
/*** 네이버 연동[e] ***/
|
||||
|
||||
if (array_key_exists('result', $na_result)) { //네이버연동 상태변경 완료
|
||||
if (isset($na_result['code']) && $na_result['code'] === 'success') { //네이버연동 상태변경 완료
|
||||
$result = $this->model->rsrvcancel($rcpt_sq, $rsrv_sq, $result_cd2, $result_cd3, $result_msg, $receipt);
|
||||
|
||||
} else {
|
||||
throw new \Exception($na_result['message']);
|
||||
throw new \Exception($na_result['message'] ?? '네이버 API 연동 실패');
|
||||
}
|
||||
|
||||
return $this->response->setJSON([
|
||||
@@ -644,7 +674,6 @@ class Receipt extends BaseController
|
||||
$lib = new MyUpload();
|
||||
|
||||
try {
|
||||
|
||||
$rcpt_sq = $this->request->getPost('rcpt_sq');
|
||||
$rcpt_key = $this->request->getPost('rcpt_key');
|
||||
$rsrv_sq = $this->request->getPost('rsrv_sq');
|
||||
@@ -657,8 +686,6 @@ class Receipt extends BaseController
|
||||
$rec_nm = $this->request->getPost('rec_nm');
|
||||
$rec_remark = $this->request->getPost('rec_remark');
|
||||
|
||||
$file = $this->request->getFile('rec_file');
|
||||
|
||||
$data = [
|
||||
'rcpt_sq' => $rcpt_sq,
|
||||
'rsrv_sq' => $rsrv_sq,
|
||||
@@ -668,43 +695,101 @@ class Receipt extends BaseController
|
||||
'rec_remark' => $rec_remark,
|
||||
];
|
||||
|
||||
// 파일 업로드 처리
|
||||
$file = $this->request->getFile('rec_file');
|
||||
if ($file && $file->isValid() && !$file->hasMoved()) {
|
||||
|
||||
$uploadPath = "/upload/result/" . $rsrv_sq . "/";
|
||||
$uploadData = $lib->do_upload2($file, $uploadPath);
|
||||
|
||||
$arrUploadfile = [];
|
||||
if ($file->isValid() && !$file->hasMoved()) {
|
||||
$uploadData = $lib->do_upload2($file, $uploadPath);
|
||||
|
||||
if ($uploadData !== false) {
|
||||
$arrUploadfile[] = $uploadData;
|
||||
}
|
||||
if ($uploadData !== false && is_array($uploadData)) {
|
||||
// do_upload2 반환값 구조: object_key, object_storage_url, origin_name, file_name, base_name, ext
|
||||
$data['file'] = [
|
||||
'upload_path' => $uploadPath,
|
||||
'file_name' => isset($uploadData['file_name']) ? $uploadData['file_name'] : '',
|
||||
'origin_name' => isset($uploadData['origin_name']) ? $uploadData['origin_name'] : '',
|
||||
'ext' => isset($uploadData['ext']) ? $uploadData['ext'] : '',
|
||||
'size' => $file->getSize(),
|
||||
];
|
||||
} else {
|
||||
throw new \Exception('파일 업로드에 실패했습니다.');
|
||||
}
|
||||
|
||||
if (!empty($arrUploadfile)) {
|
||||
foreach ($arrUploadfile as $key => $uploadFile) {
|
||||
$data['file'] = [
|
||||
'orig_name' => $uploadFile['origin_name'],
|
||||
'new_name' => $uploadFile['file_name'],
|
||||
'file_path' => $uploadPath, // 필요에 따라 상대경로로만 저장
|
||||
'ext' => '.' . $uploadFile['ext'],
|
||||
'size' => $file->getSize(),
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$this->model->saveRecInfo($data);
|
||||
$result = $this->model->saveRecInfo($data);
|
||||
|
||||
return $this->response->setJSON([
|
||||
'code' => '0',
|
||||
'msg' => 'success'
|
||||
'msg' => 'success',
|
||||
'data' => [
|
||||
'rec_tel' => $result['rec_tel'] ?? '',
|
||||
'rec_nm' => $result['rec_nm'] ?? '',
|
||||
'remark' => $result['remark'] ?? '',
|
||||
'record' => $result['record'] ?? null
|
||||
]
|
||||
]);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', '[Receipt::saveRecInfo] Error: ' . $e->getMessage());
|
||||
return $this->response->setJSON([
|
||||
'code' => '9',
|
||||
'msg' => $e->getMessage(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
// 거주인 정보 조회
|
||||
public function getRecInfo()
|
||||
{
|
||||
try {
|
||||
$rcpt_sq = $this->request->getGet('rcpt_sq');
|
||||
|
||||
if (empty($rcpt_sq)) {
|
||||
throw new \Exception('rcpt_sq가 필요합니다.');
|
||||
}
|
||||
|
||||
// 거주인 정보 조회
|
||||
$recInfo = $this->model->getRecInfoByRcptSq($rcpt_sq);
|
||||
|
||||
if (empty($recInfo)) {
|
||||
throw new \Exception('거주인 정보를 찾을 수 없습니다.');
|
||||
}
|
||||
|
||||
return $this->response->setJSON([
|
||||
'code' => '0',
|
||||
'msg' => 'success',
|
||||
'data' => $recInfo
|
||||
]);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', '[Receipt::getRecInfo] Error: ' . $e->getMessage());
|
||||
return $this->response->setJSON([
|
||||
'code' => '9',
|
||||
'msg' => $e->getMessage(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
// 정보변경 이력 조회
|
||||
public function getHistory()
|
||||
{
|
||||
try {
|
||||
$rcpt_sq = $this->request->getGet('rcpt_sq');
|
||||
|
||||
if (empty($rcpt_sq)) {
|
||||
throw new \Exception('rcpt_sq가 필요합니다.');
|
||||
}
|
||||
|
||||
// 정보변경 이력 조회
|
||||
$history = $this->model->getHistory($rcpt_sq);
|
||||
|
||||
return $this->response->setJSON([
|
||||
'code' => '0',
|
||||
'msg' => 'success',
|
||||
'data' => $history ?? []
|
||||
]);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
log_message('error', '[Receipt::getHistory] Error: ' . $e->getMessage());
|
||||
return $this->response->setJSON([
|
||||
'code' => '9',
|
||||
'msg' => $e->getMessage(),
|
||||
|
||||
Reference in New Issue
Block a user