_targetDB === null) { $this->_targetDB = \Config\Database::connect('default'); } return $this->_targetDB; } protected function client_process(mixed $row): array { $temps = []; $temps['code'] = $row['Client_Code']; $temps['role'] = $row['Client_Reseller'] == 30 ? "reseller" : "user"; $temps['name'] = $row['Client_Name']; $temps['phone'] = empty($row['Client_Phone1']) ? "" : $row['Client_Phone1']; if (empty($temps['phone'])) { $temps['phone'] = empty($row['Client_Phone2']) ? "" : $row['Client_Phone2']; } $temps['email'] = empty($row['Client_EMail1']) ? "" : $row['Client_EMail1']; if (empty($temps['email'])) { $temps['email'] = empty($row['Client_EMail2']) ? "" : $row['Client_EMail2']; } $temps['account_balance'] = intval($row['Client_Money']); $temps['coupon_balance'] = 0; $temps['point_balance'] = 0; $temps['status'] = 'default'; $temps['updated_at'] = empty($row['Client_Renew_date']) ? NULL : $row['Client_Renew_date'];; if (!empty($row['Client_Receive_date'])) { $temps['created_at'] = $row['Client_Receive_date'];; } return $temps; } final public function client(): void { //Transaction Start $this->getTargetDB()->transStart(); try { $cnt = 1; foreach ($this->getClient() as $row) { $datas = $this->client_process($row); if (!$this->getTargetDB()->table('clientinfo')->insert($datas)) { throw new \Exception($this->getTargetDB()->error()['message']); } echo "{$cnt} -> {$datas['name']} 고객완료.\n"; $cnt++; } echo __FUNCTION__ . " 작업을 완료하였습니다."; $this->getTargetDB()->transCommit(); } catch (\Exception $e) { //Transaction Rollback $this->getTargetDB()->transRollback(); echo __FUNCTION__ . " 작업을 실패하였습니다.\n--------------\n" . $e->getMessage() . "\n--------------\n"; } } }