title = lang("{$this->getService()->getClassName()}.title"); $this->class_path .= $this->getService()->getClassName(); $this->uri_path .= strtolower($this->getService()->getClassName('/')) . '/'; // $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR; } public function getService(): CouponService { if (!$this->_service) { $this->_service = new CouponService($this->request); } return $this->_service; } public function getHelper(): CouponHelper { if (!$this->_helper) { $this->_helper = new CouponHelper($this->request); } return $this->_helper; } //Index,FieldForm관련. private function setCouponBalance(array $formDatas): ClientEntity { //coupon_balance 체크 $entity = $this->getClientService()->getEntity($formDatas['clientinfo_uid']); $amount = intval($formDatas['amount']); if ($formDatas['status'] === DEFAULTS['STATUS']) { //입금, 쿠폰추가 $entity = $this->getClientService()->deposit($entity, 'coupon_balance', $amount); } else { // 출금, 쿠폰사용 $entity = $this->getClientService()->withdrawal($entity, 'coupon_balance', $amount); } return $entity; } protected function create_process(string $action, array $fields, array $formDatas = []): CouponEntity { //데이터 검증 $formDatas = $this->doValidate($action, $fields, $formDatas); $entity = $this->getService()->create($formDatas); //고객쿠폰처리 $this->setCouponBalance($formDatas); return $entity; } }