dbmsv2/app/Services/Equipment/Server/ServiceService.php
2025-09-24 14:02:59 +09:00

45 lines
1.6 KiB
PHP

<?php
namespace App\Services\Equipment\Server;
use App\Entities\Customer\ServiceEntity;
use App\Entities\Equipment\ServerEntity;
use App\Interfaces\Equipment\ServerInterface;
use App\Services\Customer\ServiceService as ParentService;
//서버가격이 변한경우 서비스의 가격을 변경하기 위함.
class ServiceService extends ParentService implements ServerInterface
{
public function __construct()
{
parent::__construct();
}
private function action_process(ServerEntity $serverEntity): ServiceEntity
{
//Service Entity 가져오기
$entity = $this->getEntity($serverEntity->getServiceInfoUID());
if (!$entity instanceof ServiceEntity) {
throw new \Exception("[{$serverEntity->getServiceInfoUID()}]에 대한 서비스정보를 찾을수 없습니다.");
}
//서비스금액은 modify 함수내에서 재계산을 하므로 여기서는 modify만 호출함
return parent::modify($entity, []);
}
public function createServer(ServerEntity $serverEntity): ServerEntity
{
//아무것도 하지 않음
return $serverEntity;
}
public function modifyServer(ServerEntity $serverEntity): ServerEntity
{
$this->action_process($serverEntity);
return $serverEntity;
}
public function deleteServer(ServerEntity $serverEntity): ServerEntity
{
if ($serverEntity->getServiceInfoUID() !== null || $serverEntity->getStatus() === STATUS['OCCUPIED']) {
throw new \Exception("서비스중이 서버는 삭제하실수 없습니다.");
}
return $serverEntity;
}
}