dbmsv4 init...1
This commit is contained in:
parent
b6690d72d0
commit
48464e565f
@ -43,8 +43,7 @@ abstract class AbstractCRUDController extends AbstractWebController
|
||||
protected function create_process(): CommonEntity
|
||||
{
|
||||
// POST 데이터를 DTO 객체로 변환 (getPost()는 POST 요청 본문만 가져옵니다.)
|
||||
$dto = $this->service->createDTO($this->request->getPost());
|
||||
return $this->service->create($dto);
|
||||
return $this->service->create($this->service->createDTO($this->request->getPost()));
|
||||
}
|
||||
|
||||
protected function create_result_process(CommonEntity $entity, ?string $redirect_url = null): string|RedirectResponse
|
||||
@ -103,10 +102,8 @@ abstract class AbstractCRUDController extends AbstractWebController
|
||||
|
||||
protected function modify_process($uid): CommonEntity
|
||||
{
|
||||
$entity = $this->service->getEntity($uid);
|
||||
// POST 데이터를 DTO 객체로 변환
|
||||
$dto = $this->service->createDTO($this->request->getPost());
|
||||
return $this->service->modify($uid, $dto);
|
||||
return $this->service->modify($uid, $this->service->createDTO($this->request->getPost()));
|
||||
}
|
||||
|
||||
protected function modify_result_process(CommonEntity $entity, ?string $redirect_url = null): string|RedirectResponse
|
||||
|
||||
@ -77,7 +77,7 @@ class ServiceController extends CustomerController
|
||||
//서비스정보 가져오기
|
||||
$entity = $this->service->getEntity($uid);
|
||||
//대체서버 추가
|
||||
service('equipment_server')->attachToService($entity, $this->request->getPost());
|
||||
service('equipment_serverservice')->attachToService($entity, $this->request->getPost());
|
||||
return $this->action_redirect_process('info', "{$this->getTitle()}에서 대체서버추가가 완료되었습니다");
|
||||
} catch (\Throwable $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 대체서버추가 오류:" . $e->getMessage());
|
||||
@ -92,12 +92,8 @@ class ServiceController extends CustomerController
|
||||
$fields = ['serverinfo_uid'];
|
||||
$this->service->getFormService()->setFormFields($fields);
|
||||
$this->service->getFormService()->setFormRules($action, $fields);
|
||||
//서비스정보 가져오기
|
||||
$entity = $this->service->getEntity($uid);
|
||||
//메인서버 해지
|
||||
service('equipment_server')->detachFromService($entity, ['serverinfo_uid' => $entity->getServerInfoUID()]);
|
||||
//대체서버를 메인서버로 설정
|
||||
service('equipment_server')->attachToService($entity, $this->request->getGet());
|
||||
$this->service->modify($uid, $this->service->createDTO($this->request->getGet()));
|
||||
return $this->action_redirect_process('info', "{$this->getTitle()}에서 메인서버설정이 완료되었습니다");
|
||||
} catch (\Throwable $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 메인서버설정 오류:" . $e->getMessage());
|
||||
@ -113,7 +109,7 @@ class ServiceController extends CustomerController
|
||||
//서비스정보 가져오기
|
||||
$entity = $this->service->getEntity($uid);
|
||||
//대체서버 해지
|
||||
service('equipment_server')->attachToService($entity, $this->request->getGet());
|
||||
service('equipment_serverservice')->detachFromService($entity, $this->request->getGet());
|
||||
return $this->action_redirect_process('info', "{$this->getTitle()}에서 대체서버해지가 완료되었습니다");
|
||||
} catch (\Throwable $e) {
|
||||
return $this->action_redirect_process('error', "{$this->getTitle()}에서 대체서버 해지 오류:" . $e->getMessage());
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -225,15 +225,15 @@ abstract class CommonService
|
||||
if (!$this->getFormService()->validate($formDatas)) {
|
||||
throw new ValidationException(implode("\n", service('validation')->getErrors()));
|
||||
}
|
||||
$pkField = $this->model->getPKField();
|
||||
//관리자 정보추가용
|
||||
$formDatas['user_uid'] = $this->getAuthContext()->getUID();
|
||||
// DTO 데이터에서 PK 필드가 있다면 제거하여, fill()에서 기존 PK를 덮어쓰지 않도록 합니다.
|
||||
$pkField = $this->model->getPKField();
|
||||
if (isset($formDatas[$pkField])) {
|
||||
unset($formDatas[$pkField]);
|
||||
}
|
||||
// 1. 데이터를 Entity에 채웁니다.
|
||||
$entity->fill($formDatas);
|
||||
//관리자 정보추가용
|
||||
$formDatas['user_uid'] = $this->getAuthContext()->getUID();
|
||||
$entity->merge($formDatas);
|
||||
dd($entity);
|
||||
return $this->save_process($entity);
|
||||
}
|
||||
final public function modify(string|int $uid, object $dto): CommonEntity
|
||||
|
||||
@ -216,16 +216,14 @@ class ServiceService extends CustomerService
|
||||
}
|
||||
//수정전 서비스정보를 currentEntity 복사해준다.
|
||||
if ($entity->getServerInfoUID() !== $formDatas['serverinfo_uid']) {
|
||||
//서버정보 해지처리
|
||||
service('equipment_serverservice')->detachFromService($entity);
|
||||
//결제정보 해지(삭제)처리
|
||||
service('paymentservice')->detachFromService($entity);
|
||||
//서비스 전체금액 구하기
|
||||
$formDatas['amount'] = $this->getCalculatedAmount(
|
||||
(int)$formDatas['serverinfo_uid'],
|
||||
(int)$formDatas['rack'],
|
||||
(int)$formDatas['line'],
|
||||
(int)$formDatas['sale']
|
||||
(int)$entity->getRack(),
|
||||
(int)$entity->getLine(),
|
||||
(int)$entity->getSale()
|
||||
);
|
||||
}
|
||||
//서비스 수정
|
||||
@ -233,8 +231,6 @@ class ServiceService extends CustomerService
|
||||
if (!$entity instanceof ServiceEntity) {
|
||||
throw new RuntimeException(__METHOD__ . "에서 오류발생:Return Type은 ServiceEntity만 가능");
|
||||
}
|
||||
//서버정보 연결
|
||||
service('equipment_serverservice')->attachToService($entity);
|
||||
//결제정보 연결
|
||||
service('paymentservice')->attachToService($entity);
|
||||
return $entity;
|
||||
|
||||
@ -263,8 +263,8 @@ class ServerService extends EquipmentService
|
||||
$this->getFormService()->setFormRules('modify', $fields);
|
||||
parent::modify_process($entity, $formDatas);
|
||||
//서버파트정보처리
|
||||
service('part_ipservice')->attachToServer($entity);
|
||||
service('part_switchservice')->attachToServer($entity);
|
||||
service('equipment_serverpartservice')->detachFromServer($entity);
|
||||
service('part_ipservice')->detachFromService($entity);
|
||||
service('part_switchservice')->detachFromService($entity);
|
||||
service('equipment_serverpartservice')->detachFromService($entity);
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,7 @@ abstract class PartService extends CommonService
|
||||
}
|
||||
abstract public function attachToServerPart(ServerPartEntity $serverPartEntity, array $formDatas = []): PartEntity;
|
||||
abstract public function detachFromServerPart(ServerPartEntity $serverPartEntity, array $formDatas = []): PartEntity;
|
||||
final protected function updatePart(PartEntity $entity, array $formDatas): PartEntity
|
||||
final protected function updatePart($entity, array $formDatas): PartEntity
|
||||
{
|
||||
$updateResult = $this->model->update($entity->getPK(), $formDatas);
|
||||
if ($updateResult === false || $updateResult === 0) {
|
||||
@ -25,7 +25,7 @@ abstract class PartService extends CommonService
|
||||
$errorMsg = is_array($errors) ? implode(", ", $errors) : "DB 업데이트 실패 또는 변경된 행 없음.";
|
||||
throw new \Exception(__METHOD__ . ": " . $errorMsg);
|
||||
}
|
||||
$entity->fill($formDatas);
|
||||
$entity->merge($formDatas);
|
||||
return $entity;
|
||||
}
|
||||
}
|
||||
|
||||
@ -233,7 +233,7 @@ class PaymentService extends CommonService
|
||||
public function detachFromService(ServiceEntity $serviceEntity): void
|
||||
{
|
||||
//서비스정보의 지급기한일과 같은 결제정보 가져오기
|
||||
$entity = $this->getEntity(['serviceinifo_uid' => $serviceEntity->getPK(), 'billing_at' => $serviceEntity->getBillingAt()]);
|
||||
$entity = $this->getEntity(['serviceinfo_uid' => $serviceEntity->getPK(), 'billing_at' => $serviceEntity->getBillingAt()]);
|
||||
if (!$entity) {
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: 해당하는 결제정보을 찾을수 없습니다.");
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user