dbmsv4 init...1

This commit is contained in:
최준흠 2025-11-28 19:05:56 +09:00
parent f89cbea0cd
commit c1b4350d94
3 changed files with 48 additions and 14 deletions

View File

@ -133,14 +133,21 @@ class ServiceService extends CustomerService
} }
protected function create_process(array $formDatas): ServiceEntity protected function create_process(array $formDatas): ServiceEntity
{ {
$formDatas['code'] = $formDatas['site'] . "_s" . uniqid();
$entity = parent::create_process($formDatas); $entity = parent::create_process($formDatas);
if (!$entity instanceof ServiceEntity) { if (!$entity instanceof ServiceEntity) {
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 ServiceEntity만 가능"); throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 ServiceEntity만 가능");
} }
//서비스추가시 자동추가용 //서비스추가시 자동추가용
service('equipment_serverservice')->attachToService($entity); service('equipment_serverservice')->attachToService($entity);
service('paymentservice')->attachToService($entity); $paymentEntity = service('paymentservice')->attachToService($entity);
return $entity; //서비스정보에 결제정보 연결하기
$formDatas = ['payment_uid' => $paymentEntity->getPK()];
//action 초기화
$fields = array_keys($formDatas);
$this->getFormService()->setFormFields($fields);
$this->getFormService()->setFormRules('modify', $fields);
return $this->modify_process($entity->getPK(), $formDatas);
} }
protected function modify_process($uid, array $formDatas): ServiceEntity protected function modify_process($uid, array $formDatas): ServiceEntity
{ {

View File

@ -252,7 +252,7 @@ class ServerService extends EquipmentService
//OrderBy 처리 //OrderBy 처리
//서비스추가시 서버정보 자동추가용 //서비스추가시 서버정보 자동추가용
public function attachToService(ServiceEntity $serviceEntity): void public function attachToService(ServiceEntity $serviceEntity): ServerEntity
{ {
//서버파트정보 생성 //서버파트정보 생성
$formDatas = []; $formDatas = [];
@ -268,5 +268,6 @@ class ServerService extends EquipmentService
if (!$entity instanceof ServerEntity) { if (!$entity instanceof ServerEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생: Return Type은 ServerEntity만 가능합니다."); throw new \Exception(__METHOD__ . "에서 오류발생: Return Type은 ServerEntity만 가능합니다.");
} }
return $entity;
} }
} }

View File

@ -132,8 +132,34 @@ class PaymentService extends CommonService
{ {
return $entity; return $entity;
} }
//기본 일회성 입력
protected function create_process(array $formDatas): PaymentEntity protected function create_process(array $formDatas): PaymentEntity
{ {
if (!array_key_exists('serviceinfo_uid', $formDatas)) {
throw new RuntimeException(__METHOD__ . '에서 오류발생: 서비스정보가 정의되지 않았습니다.');
}
if (!array_key_exists('title', $formDatas)) {
throw new RuntimeException(__METHOD__ . '에서 오류발생: 결제 제목이 정의되지 않았습니다.');
}
if (!array_key_exists('billing', $formDatas)) {
throw new RuntimeException(__METHOD__ . '에서 오류발생: 결제방식이 정의되지 않았습니다.');
}
if (!array_key_exists('billing_at', $formDatas)) {
throw new RuntimeException(__METHOD__ . '에서 오류발생: 결제일이 정의되지 않았습니다.');
}
if (!array_key_exists('status', $formDatas)) {
throw new RuntimeException(__METHOD__ . '에서 오류발생: 결제상태가 정의되지 않았습니다.');
}
//서비스 정보 가져오기
$serviceEntity = service('customer_serviceservice')->getEntity($formDatas['serviceinfo_uid']);
if (!$serviceEntity instanceof ServiceEntity) {
throw new RuntimeException(__METHOD__ . "에서 오류발생: {$formDatas['serviceinfo_uid']} 서비스정보를 찾을수 없습니다.");
}
//서버파트정보 생성
$formDatas['serviceinfo_uid'] = $serviceEntity->getPK();
$formDatas["clientinfo_uid"] = $serviceEntity->getClientInfoUID();
$formDatas['user_uid'] = $this->getAuthContext()->getUID();
$formDatas['amount'] = $serviceEntity->getAmount();
$entity = parent::create_process($formDatas); $entity = parent::create_process($formDatas);
if (!$entity instanceof PaymentEntity) { if (!$entity instanceof PaymentEntity) {
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 PaymentEntity만 가능"); throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 PaymentEntity만 가능");
@ -142,11 +168,12 @@ class PaymentService extends CommonService
} }
protected function modify_process($uid, array $formDatas): PaymentEntity protected function modify_process($uid, array $formDatas): PaymentEntity
{ {
$entity = parent::modify_process($uid, $formDatas); throw new RuntimeException(__METHOD__ . "에서 오류발생: 결제정보는 수정이 불가합니다.");
if (!$entity instanceof PaymentEntity) { // $entity = parent::modify_process($uid, $formDatas);
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 PaymentEntity만 가능"); // if (!$entity instanceof PaymentEntity) {
} // throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 PaymentEntity만 가능");
return $entity; // }
// return $entity;
} }
//List 검색용 //List 검색용
//FormFilter 조건절 처리 //FormFilter 조건절 처리
@ -222,21 +249,19 @@ class PaymentService extends CommonService
} }
//서비스추가시 결제정보 자동추가용 //서비스추가시 결제정보 자동추가용
public function attachToService(ServiceEntity $serviceEntity): void public function attachToService(ServiceEntity $serviceEntity): PaymentEntity
{ {
//서버파트정보 생성 //서버파트정보 생성
$formDatas = []; $formDatas = [];
$formDatas['serviceinfo_uid'] = $serviceEntity->getPK(); $formDatas['serviceinfo_uid'] = $serviceEntity->getPK();
$formDatas["clientinfo_uid"] = $serviceEntity->getClientInfoUID();
$formDatas['user_uid'] = $this->getAuthContext()->getUID();
$formDatas['title'] = sprintf( $formDatas['title'] = sprintf(
"%s %s 서비스비용", "%s %s 서비스비용",
$serviceEntity->getClientInfoUID(), $serviceEntity->getTitle(),
date("Y-m") date("Y년/m월")
); );
$formDatas['amount'] = $serviceEntity->getAmount();
$formDatas['billing'] = PAYMENT['BILLING']['MONTH']; $formDatas['billing'] = PAYMENT['BILLING']['MONTH'];
$formDatas['billing_at'] = $serviceEntity->getBillingAt(); $formDatas['billing_at'] = $serviceEntity->getBillingAt();
$formDatas['pay'] = PAYMENT['PAY']['ACCOUNT'];
$formDatas['status'] = STATUS['UNPAID']; $formDatas['status'] = STATUS['UNPAID'];
//action 초기화 //action 초기화
$fields = array_keys($formDatas); $fields = array_keys($formDatas);
@ -246,5 +271,6 @@ class PaymentService extends CommonService
if (!$entity instanceof PaymentEntity) { if (!$entity instanceof PaymentEntity) {
throw new \Exception(__METHOD__ . "에서 오류발생: Return Type은 PaymentEntity만 가능합니다."); throw new \Exception(__METHOD__ . "에서 오류발생: Return Type은 PaymentEntity만 가능합니다.");
} }
return $entity;
} }
} }