dbmsv3 init...1
This commit is contained in:
parent
7f58a58b68
commit
ae61fe2584
@ -49,7 +49,7 @@ class ServiceController extends CustomerController
|
||||
protected function getResultSuccess(string $message = MESSAGES["SUCCESS"], ?string $actionTemplate = null): RedirectResponse|string
|
||||
{
|
||||
switch ($this->getService()->getAction()) {
|
||||
case 'alternative':
|
||||
case 'addServer':
|
||||
$result = "대체서버 추가가 완료되었습니다.";
|
||||
break;
|
||||
case 'create_form':
|
||||
|
||||
731
app/Database/dbmsv3_test1.sql
Normal file
731
app/Database/dbmsv3_test1.sql
Normal file
File diff suppressed because one or more lines are too long
@ -223,7 +223,7 @@ class ServiceService extends CustomerService
|
||||
public function modify(mixed $entity, array $formDatas): ServiceEntity
|
||||
{
|
||||
//수정전 정보
|
||||
$oldEntity = $entity;
|
||||
$oldEntity = clone $entity; //반드시 clone 할것
|
||||
//서비스 금액 재계산 후 서비스정보 수정
|
||||
$formDatas['amount'] = $this->getCaculatedAmount($entity);
|
||||
$entity = parent::modify($entity, $formDatas);
|
||||
@ -276,6 +276,9 @@ class ServiceService extends CustomerService
|
||||
//대체서버해지(대체서버는 해지는 가격변동은 없음)
|
||||
public function terminateServer(ServiceEntity $entity, array $formDatas): ServiceEntity
|
||||
{
|
||||
if ($entity->getServerEntity()->getPK() === $formDatas['serverinfo_uid']) {
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: 서비스의 메인 서버정보는 해지할 수 없습니다.");
|
||||
}
|
||||
//대체서버해지 및 결제처리는 하지않음
|
||||
$entity = $entity->setServerEntity($this->getServerService()->setService('delete', $entity, $formDatas));
|
||||
return $entity;
|
||||
|
||||
@ -303,7 +303,8 @@ class ServerPartService extends EquipmentService
|
||||
if ($entity->getServiceInfoUID() === null) {
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: 서비스정보가 정의된 후에만 가능합니다.");
|
||||
}
|
||||
$entity = $this->getServiceService()->setAmount($this->getServiceService()->getEntity($entity->getServiceInfoUID()));
|
||||
//서비스 금액만 재계산변경
|
||||
$this->getServiceService()->setAmount($this->getServiceService()->getEntity($entity->getServiceInfoUID()));
|
||||
break;
|
||||
case PAYMENT['BILLING']['ONETIME']: //일회성일때만 처리
|
||||
$entity->setPaymentEntity($this->getPaymentService()->setServerPart('create', $entity, $formDatas));
|
||||
@ -331,7 +332,7 @@ class ServerPartService extends EquipmentService
|
||||
throw new \Exception("서버 정보가 지정되지 않았습니다.");
|
||||
}
|
||||
//수정전 정보
|
||||
$oldEntity = $entity;
|
||||
$oldEntity = clone $entity; //반드시 clone 할것
|
||||
//서버연결정보 수정
|
||||
$formDatas["clientinfo_uid"] = $serverEntity->getClientInfoUID();
|
||||
$formDatas["serviceinfo_uid"] = $serverEntity->getServiceInfoUID();
|
||||
@ -344,7 +345,8 @@ class ServerPartService extends EquipmentService
|
||||
switch ($entity->getBilling()) {
|
||||
case PAYMENT['BILLING']['MONTH']: //월별과금일때만 처리
|
||||
if ($entity->getServiceInfoUID() !== null) { //서비스가 정의되어 있으면
|
||||
$entity = $this->getServiceService()->setAmount($this->getServiceService()->getEntity($entity->getServiceInfoUID()));
|
||||
//서비스 금액만 재계산변경
|
||||
$this->getServiceService()->setAmount($this->getServiceService()->getEntity($entity->getServiceInfoUID()));
|
||||
}
|
||||
break;
|
||||
case PAYMENT['BILLING']['ONETIME']: //일회성일때만 처리
|
||||
@ -365,7 +367,7 @@ class ServerPartService extends EquipmentService
|
||||
public function delete(mixed $entity): ServerPartEntity
|
||||
{
|
||||
//수정전 정보
|
||||
$oldEntity = $entity;
|
||||
$oldEntity = clone $entity; //반드시 clone 할것
|
||||
$entity = parent::delete($entity);
|
||||
//Type에 따른 부품서비스 정의
|
||||
$this->getPartService($entity->getType())->setServerPart('delete', $oldEntity, $entity, []);
|
||||
|
||||
@ -200,7 +200,7 @@ class ServerService extends EquipmentService
|
||||
{
|
||||
//서비스중인지 확인
|
||||
if ($entity->getServiceInfoUID() !== null || $entity->getStatus() === STATUS['OCCUPIED']) {
|
||||
throw new \Exception("서비스중이 서버는 삭제하실수 없습니다.");
|
||||
throw new \Exception("서비스중인 서버는 삭제하실수 없습니다.");
|
||||
}
|
||||
//선처리작업
|
||||
//서비스가 연결되어 있고 대체서버가 아니면, 서비스정보수정(청구액수정)
|
||||
|
||||
@ -135,7 +135,7 @@ class CSService extends PartService implements ServerPartInterface
|
||||
//신규것 사용처리
|
||||
$entity = $this->setServerPart('create', $oldServerPartEntity, $serverPartEntity, $serverPartDatas);
|
||||
break;
|
||||
case 'delete':
|
||||
case 'delete': //반드시 oldServerPartEntity 사용해야함
|
||||
$formDatas = [];
|
||||
$formDatas['clientinfo_uid'] = null;
|
||||
$formDatas['serviceinfo_uid'] = null;
|
||||
@ -145,9 +145,9 @@ class CSService extends PartService implements ServerPartInterface
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: CS상태가 설정되지 않았습니다.");
|
||||
}
|
||||
//CS정보가져오기
|
||||
$entity = $this->getEntity($serverPartEntity->getPartUID());
|
||||
$entity = $this->getEntity($oldServerPartEntity->getPartUID());
|
||||
if (!$entity instanceof CSEntity) {
|
||||
throw new \Exception("{$serverPartEntity->getPartUID()}에 해당하는 CS정보를 찾을수없습니다.");
|
||||
throw new \Exception("{$oldServerPartEntity->getPartUID()}에 해당하는 CS정보를 찾을수없습니다.");
|
||||
}
|
||||
//CS정보 수정
|
||||
$entity = parent::modify($entity, $formDatas);
|
||||
|
||||
@ -80,17 +80,17 @@ class DISKService extends PartService implements ServerPartInterface
|
||||
//신규것 사용처리
|
||||
$entity = $this->setServerPart('create', $oldServerPartEntity, $serverPartEntity, $serverPartDatas);
|
||||
break;
|
||||
case 'delete':
|
||||
case 'delete': //반드시 oldServerPartEntity 사용해야함
|
||||
//부품정보가져오기
|
||||
$entity = $this->getEntity($serverPartEntity->getPartUID());
|
||||
$entity = $this->getEntity($oldServerPartEntity->getPartUID());
|
||||
if (!$entity) {
|
||||
throw new \Exception("{$serverPartEntity->getPartUID()}에 해당하는 부품정보를 찾을수없습니다.");
|
||||
throw new \Exception("{$oldServerPartEntity->getPartUID()}에 해당하는 부품정보를 찾을수없습니다.");
|
||||
}
|
||||
//부품정보에 서버정보 설정 및 서비스,고객정보 정의
|
||||
if ($entity->getStock() < $serverPartEntity->getCnt()) {
|
||||
throw new \Exception("현재 재고수[{$entity->getStock()}]보다 지정하신 갯수({$serverPartEntity->getCnt()})가 더 많습니다.");
|
||||
if ($entity->getStock() < $oldServerPartEntity->getCnt()) {
|
||||
throw new \Exception("현재 재고수[{$entity->getStock()}]보다 지정하신 갯수({$oldServerPartEntity->getCnt()})가 더 많습니다.");
|
||||
}
|
||||
$entity = parent::modify($entity, ['format' => $entity->getFormat() + $serverPartEntity->getCnt()]);
|
||||
$entity = parent::modify($entity, ['format' => $entity->getFormat() + $oldServerPartEntity->getCnt()]);
|
||||
break;
|
||||
}
|
||||
return $entity;
|
||||
|
||||
@ -150,7 +150,7 @@ class IPService extends PartService implements ServerPartInterface
|
||||
//신규것 사용처리
|
||||
$entity = $this->setServerPart('create', $oldServerPartEntity, $serverPartEntity, $serverPartDatas);
|
||||
break;
|
||||
case 'delete':
|
||||
case 'delete': //반드시 oldServerPartEntity 사용해야함
|
||||
$formDatas = [];
|
||||
$formDatas['clientinfo_uid'] = null;
|
||||
$formDatas['serviceinfo_uid'] = null;
|
||||
@ -160,9 +160,9 @@ class IPService extends PartService implements ServerPartInterface
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: IP상태가 설정되지 않았습니다.");
|
||||
}
|
||||
//IP정보가져오기
|
||||
$entity = $this->getEntity($serverPartEntity->getPartUID());
|
||||
$entity = $this->getEntity($oldServerPartEntity->getPartUID());
|
||||
if (!$entity instanceof IPEntity) {
|
||||
throw new \Exception("{$serverPartEntity->getPartUID()}에 해당하는 IP정보를 찾을수없습니다.");
|
||||
throw new \Exception("{$oldServerPartEntity->getPartUID()}에 해당하는 IP정보를 찾을수없습니다.");
|
||||
}
|
||||
//IP정보 수정
|
||||
$entity = parent::modify($entity, $formDatas);
|
||||
|
||||
@ -40,17 +40,17 @@ abstract class PartService extends CommonService
|
||||
//신규것 사용처리
|
||||
$entity = $this->setServerPart('create', $oldServerPartEntity, $serverPartEntity, $serverPartDatas);
|
||||
break;
|
||||
case 'delete':
|
||||
case 'delete': //반드시 oldServerPartEntity 사용해야함
|
||||
//부품정보가져오기
|
||||
$entity = $this->getEntity($serverPartEntity->getPartUID());
|
||||
$entity = $this->getEntity($oldServerPartEntity->getPartUID());
|
||||
if (!$entity) {
|
||||
throw new \Exception("{$serverPartEntity->getPartUID()}에 해당하는 부품정보를 찾을수없습니다.");
|
||||
throw new \Exception("{$oldServerPartEntity->getPartUID()}에 해당하는 부품정보를 찾을수없습니다.");
|
||||
}
|
||||
//부품정보에 서버정보 설정 및 서비스,고객정보 정의
|
||||
if ($entity->getStock() < $serverPartEntity->getCnt()) {
|
||||
throw new \Exception("현재 재고수[{$entity->getStock()}]보다 지정하신 갯수({$serverPartEntity->getCnt()})가 더 많습니다.");
|
||||
if ($entity->getStock() < $oldServerPartEntity->getCnt()) {
|
||||
throw new \Exception("현재 재고수[{$entity->getStock()}]보다 지정하신 갯수({$oldServerPartEntity->getCnt()})가 더 많습니다.");
|
||||
}
|
||||
$entity = parent::modify($entity, ['stock' => $entity->getStock() - $serverPartEntity->getCnt()]);
|
||||
$entity = parent::modify($entity, ['stock' => $entity->getStock() + $oldServerPartEntity->getCnt()]);
|
||||
break;
|
||||
}
|
||||
return $entity;
|
||||
|
||||
@ -120,7 +120,7 @@ class SWITCHService extends PartService implements ServerPartInterface
|
||||
//신규것 사용처리
|
||||
$entity = $this->setServerPart('create', $oldServerPartEntity, $serverPartEntity, $serverPartDatas);
|
||||
break;
|
||||
case 'delete':
|
||||
case 'delete': //반드시 oldServerPartEntity 사용해야함
|
||||
$formDatas = [];
|
||||
$formDatas['clientinfo_uid'] = null;
|
||||
$formDatas['serviceinfo_uid'] = null;
|
||||
@ -130,9 +130,9 @@ class SWITCHService extends PartService implements ServerPartInterface
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생: SWITCH상태가 설정되지 않았습니다.");
|
||||
}
|
||||
//SWITCH정보가져오기
|
||||
$entity = $this->getEntity($serverPartEntity->getPartUID());
|
||||
$entity = $this->getEntity($oldServerPartEntity->getPartUID());
|
||||
if (!$entity instanceof SWITCHEntity) {
|
||||
throw new \Exception("{$serverPartEntity->getPartUID()}에 해당하는 SWITCH정보를 찾을수없습니다.");
|
||||
throw new \Exception("{$oldServerPartEntity->getPartUID()}에 해당하는 SWITCH정보를 찾을수없습니다.");
|
||||
}
|
||||
//SWITCH정보 수정
|
||||
$entity = parent::modify($entity, $formDatas);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user