getClientInfoUID(); $formDatas['serviceinfo_uid'] = $serviceEntity->getPK(); $formDatas['serverinfo_uid'] = $serviceEntity->getServerInfoUID(); $formDatas['title'] = $serviceEntity->getServerEntity()->getTitle(); $formDatas['amount'] = $serviceEntity->getAmount(); $formDatas['billing'] = PAYMENT['BILLING']['MONTH']; $formDatas['billing_at'] = $serviceEntity->getBillingAt(); return $formDatas; } public function createService(ServiceEntity $serviceEntity): ServiceEntity { //필수정보처리 후 결제정보등록 $entity = $this->getModel()->create($this->action_process($serviceEntity)); //서비스정보 Entity에 결제정보 설정 return $serviceEntity->setPaymentEntity($entity); } public function modifyService(ServiceEntity $serviceEntity): ServiceEntity { //결제정보 가져오기 $entity = $serviceEntity->getPaymentEntity(); if (!$entity instanceof PaymentEntity) { throw new \Exception(__METHOD__ . "에서 오류발생: 서비스정보[{$serviceEntity->getPK()}]에 해당하는 결제정보를 찾을수 없습니다."); } //미납상태확인 if ($entity->getStatus() !== STATUS['UNPAID']) { throw new \Exception(__METHOD__ . "에서 오류발생: 완료된 결제는 수정이 불가합니다."); } //필수정보처리 후 결제정보수정 $entity = $this->getModel()->modify($entity, $this->action_process($serviceEntity)); //서비스정보 Entity에 결제정보 설정 return $serviceEntity->setPaymentEntity($entity); } public function deleteService(ServiceEntity $serviceEntity): ServiceEntity { //삭제시에는 아무것도 하지 않는다. return $serviceEntity; } }