46 lines
1.6 KiB
PHP
46 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;
|
|
}
|
|
//create와 같은 작업임
|
|
public function modifyServer(ServerEntity $serverEntity): ServerEntity
|
|
{
|
|
return $this->createServer($serverEntity);
|
|
}
|
|
//create와 같은 작업임
|
|
public function deleteServer(ServerEntity $serverEntity): ServerEntity
|
|
{
|
|
if ($serverEntity->getServiceInfoUID() !== null || $serverEntity->getStatus() === STATUS['OCCUPIED']) {
|
|
throw new \Exception("서비스중이 서버는 삭제하실수 없습니다.");
|
|
}
|
|
return $this->createServer($serverEntity);
|
|
}
|
|
}
|