vrfcReqModel 수정
This commit is contained in:
@@ -6,6 +6,7 @@ use CodeIgniter\CLI\CLI;
|
||||
use App\Libraries\NaverApiClient;
|
||||
use App\Models\Entities\VrfcReqModel;
|
||||
use App\Models\Entities\V2articleInfoModel;
|
||||
use App\Models\Entities\V2articleInfoetcModel;
|
||||
use App\Models\Entities\V2stdailyModel;
|
||||
use App\Models\Entities\NaverRawStagingModel;
|
||||
use App\Models\Entities\ReceiptModel;
|
||||
@@ -24,6 +25,7 @@ class NaverService
|
||||
protected $receiptModel;
|
||||
protected $resultModel;
|
||||
protected $articleModel;
|
||||
protected $articleEtcModel;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@@ -32,6 +34,7 @@ class NaverService
|
||||
$this->naverClient = new NaverApiClient();
|
||||
$this->VrfcReqModel = new VrfcReqModel();
|
||||
$this->articleModel = new V2ArticleInfoModel();
|
||||
$this->articleEtcModel = new V2articleInfoetcModel();
|
||||
$this->V2stdailyModel = new V2stdailyModel();
|
||||
$this->rawStagingModel = new NaverRawStagingModel();
|
||||
$this->receiptModel = new ReceiptModel();
|
||||
@@ -282,6 +285,7 @@ class NaverService
|
||||
|
||||
$vrfcParam = $this->v2Parameter($articleNumber, $rawData, $payload);
|
||||
$articleInfoParam = $this->articleInfoParameter($articleNumber, $rawData, $payload);
|
||||
$articleInfoEtcParam = $this->articleInfoEtcParameter($articleNumber, $rawData, $payload);
|
||||
try {
|
||||
|
||||
switch ($payload['requestType']){
|
||||
@@ -295,6 +299,26 @@ class NaverService
|
||||
if ($this->articleModel->insert($articleInfoParam)) {
|
||||
// 성공 로그
|
||||
write_custom_log("articleInfo Insert Success :: vr_sq: $vr_sq", "INFO", "SERVICE");
|
||||
// article_info_etc 저장
|
||||
$articleInfoEtcParam['vr_sq'] = $vr_sq;
|
||||
if ( $this->articleEtcModel->insert($articleInfoEtcParam)) {
|
||||
write_custom_log("articleInfoEtc Insert Success :: vr_sq: $vr_sq", "INFO", "SERVICE");
|
||||
} else {
|
||||
// 1. 모델에서 발생한 에러 정보 가져오기
|
||||
$dbError = $this->db->error();
|
||||
$lastQuery = (string)$this->articleEtcModel->getLastQuery();
|
||||
|
||||
// 2. 로그 기록 (에러 메시지 + 실패한 쿼리)
|
||||
write_custom_log(
|
||||
"DB_ERROR | Code: {$dbError['code']} | Message: {$dbError['message']} | Query: {$lastQuery}",
|
||||
"ERROR",
|
||||
"SERVICE"
|
||||
);
|
||||
|
||||
// 필요하다면 예외를 던져서 상위(Worker)의 try-catch에서 처리하게 함
|
||||
throw new \Exception("ArticleInfoEtc Insert Failed: " . $dbError['message']);
|
||||
}
|
||||
|
||||
} else {
|
||||
// 1. 모델에서 발생한 에러 정보 가져오기
|
||||
$dbError = $this->db->error();
|
||||
@@ -533,6 +557,72 @@ class NaverService
|
||||
];
|
||||
}
|
||||
|
||||
private function articleInfoEtcParameter($articleNumber, $rawData , $payload){
|
||||
// JSON 객체 안전하게 로드
|
||||
$address = $rawData['address'] ?? [];
|
||||
$space = $rawData['space'] ?? [];
|
||||
$price = $rawData['price'] ?? [];
|
||||
$floor = $rawData['floor'] ?? [];
|
||||
$seller = $rawData['seller'] ?? [];
|
||||
$realtor = $rawData['realtor'] ?? [];
|
||||
$files = $rawData['realtor']['file'] ?? [];
|
||||
|
||||
// 공동 : 동 정보, 비공동 : 지번주소
|
||||
if ( $rawData['realEstateTypeCode'] == "A01"){
|
||||
$address2b = $address['buildingName'];
|
||||
} else {
|
||||
$address2b = $address['jibunAddress'];
|
||||
}
|
||||
|
||||
$ownerTypeCode = null;
|
||||
$ownerTypeCodeResponse = isset($rawData['ownerTypeCode']) ?? null;
|
||||
|
||||
if ($ownerTypeCodeResponse !== null ){
|
||||
switch ($ownerTypeCodeResponse) {
|
||||
case "INDIV":
|
||||
$ownerTypeCode = 0;
|
||||
break;
|
||||
case "CORP":
|
||||
$ownerTypeCode = 1;
|
||||
break;
|
||||
case "FRGNR":
|
||||
$ownerTypeCode = 2;
|
||||
break;
|
||||
case "DELEG":
|
||||
$ownerTypeCode = 3;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return [
|
||||
'atcl_no' => $articleNumber,
|
||||
'vir_addr_yn' => ($address['isVirtualAddress'] === true) ? 'Y' : (($address['isVirtualAddress'] === false) ? 'N' : null),
|
||||
'bild_no' => null,
|
||||
'vrfcMthdTpcd' => null,
|
||||
'cert_uncnfrm_status' => null,
|
||||
'expsStartYmdt' => $rawData['exposureStartDateTime'] ?? null,
|
||||
'vrfcAutoPassYn' => ($rawData['isAutoVerificationRequested'] ?? false) === true ? "Y" : "N",
|
||||
'address2a' => $address['liAddress'] ?? null,
|
||||
'address2b' => $address2b,
|
||||
'registerBookUniqueNo' => null,
|
||||
'ownerTypeCode' => $ownerTypeCode,
|
||||
'orgRepCphNo' => null,
|
||||
'orgRepTelNo' => null,
|
||||
'orgRltrNm' => null,
|
||||
'orgRepNm' => null,
|
||||
'smsSendTime' => null,
|
||||
'document_cert_method' => null,
|
||||
'noRgbkVrfcReqYn' => ($address['isUnregisteredVerificationRequested'] === true) ? 'Y' : (($address['isUnregisteredVerificationRequested'] === false) ? 'N' : null),
|
||||
'areaByBdbkVrfcReqYn' => ($address['isBuildingRegisterAreaCheckRequested'] === true) ? 'Y' : (($address['isBuildingRegisterAreaCheckRequested'] === false) ? 'N' : null),
|
||||
'orgAtclNo' => null,
|
||||
'atclStatCd' => null,
|
||||
'repNm' => $realtor['realtorName'] ?? null,
|
||||
'cpName' => $rawData['cpId'],
|
||||
'document_not_received' => null,
|
||||
'final_failure' => null,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* [REG] 신규 등록
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user