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
{
$formDatas['code'] = $formDatas['site'] . "_s" . uniqid();
$entity = parent::create_process($formDatas);
if (!$entity instanceof ServiceEntity) {
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 ServiceEntity만 가능");
}
//서비스추가시 자동추가용
service('equipment_serverservice')->attachToService($entity);
service('paymentservice')->attachToService($entity);
return $entity;
$paymentEntity = service('paymentservice')->attachToService($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
{

View File

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

View File

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