dbmsv3 init...1
This commit is contained in:
parent
09fce28493
commit
7a78b0887a
@ -62,4 +62,26 @@ class ServerPartController extends EquipmentController
|
||||
$this->getService()->setFormDatas($formDatas);
|
||||
parent::create_form_process();
|
||||
}
|
||||
|
||||
//팝업상태에서 삭제처리용
|
||||
public function delete(mixed $uid): RedirectResponse|string
|
||||
{
|
||||
//Transaction Start
|
||||
$db = \Config\Database::connect();
|
||||
$db->transStart();
|
||||
try {
|
||||
$this->getService()->setAction(__FUNCTION__);
|
||||
//기존 Entity 가져오기
|
||||
$entity = $this->getService()->getEntity($uid);
|
||||
if (!$entity) {
|
||||
throw new \Exception("{$uid}에 대한 정보를 찾을수 없습니다.");
|
||||
}
|
||||
$this->delete_process($entity);
|
||||
$db->transCommit();
|
||||
return "<script>alert('{$entity->getTitle()} 항목이 삭제되었습니다.');history.back();</script>";
|
||||
} catch (\Exception $e) {
|
||||
$db->transRollback();
|
||||
return $this->getResultFail($e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -140,7 +140,7 @@ class ServerPartHelper extends EquipmentHelper
|
||||
$label ? $label : ICONS["SERVER_ITEM_{$action}"],
|
||||
$action,
|
||||
[
|
||||
"data-src" => "/admin/equipment/serverpart?serverinfo_uid={$viewDatas['serverinfo_uid']}&type={$action}&ActionTemplate=popup",
|
||||
"data-src" => "/admin/equipment/serverpart/create?serverinfo_uid={$viewDatas['serverinfo_uid']}&type={$action}&ActionTemplate=popup",
|
||||
"data-bs-toggle" => "modal",
|
||||
"data-bs-target" => "#modal_action_form",
|
||||
"class" => "btn btn-sm form-label-sm text-primary",
|
||||
|
||||
@ -369,7 +369,7 @@ class ServerPartService extends EquipmentService implements ServerInterface
|
||||
break;
|
||||
case PAYMENT['BILLING']['ONETIME']: //일회성일때만 처리
|
||||
if ($oldEntity->getPaymentUID() !== null) { //결제정보가 정의되어 있으면
|
||||
$oldEntity = $this->getPaymentService()->setServerPart('delete', $entity, $formDatas);
|
||||
$oldEntity = $this->getPaymentService()->setServerPart('delete', $entity, []);
|
||||
}
|
||||
if ($entity->getPaymentUID() !== null) { //결제정보가 정의되어 있으면
|
||||
$entity = $this->getPaymentService()->setServerPart('create', $entity, $formDatas);
|
||||
@ -389,9 +389,28 @@ class ServerPartService extends EquipmentService implements ServerInterface
|
||||
{
|
||||
//Type에 따른 부품서비스 정의
|
||||
$this->getPartService($entity->getType())->setServerPart('delete', $entity, []);
|
||||
//서버연결정보 식제
|
||||
parent::delete($entity);
|
||||
//서비스 및 결제정보 후처리작업
|
||||
switch ($entity->getBilling()) {
|
||||
case PAYMENT['BILLING']['MONTH']: //월별과금일때만 처리
|
||||
if ($entity->getServiceInfoUID() !== null) { //서비스가 정의되어 있으면
|
||||
//서비스 금액만 재계산변경
|
||||
$this->getServiceService()->setAmount($this->getServiceService()->getEntity($entity->getServiceInfoUID()));
|
||||
}
|
||||
return parent::delete($entity);
|
||||
break;
|
||||
case PAYMENT['BILLING']['ONETIME']: //일회성일때만 처리
|
||||
if ($entity->getPaymentUID() !== null) { //결제정보가 정의되어 있으면
|
||||
$entity = $this->getPaymentService()->setServerPart('delete', $entity, []);
|
||||
}
|
||||
break;
|
||||
case PAYMENT['BILLING']['BASE']: //기본처리
|
||||
//아무처리 않함
|
||||
break;
|
||||
default:
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생:{$entity->getBilling()}은 지정되지 않은 결제방식입니다.");
|
||||
// break;
|
||||
}
|
||||
return $entity;
|
||||
}
|
||||
}
|
||||
|
||||
@ -267,15 +267,10 @@ class ServerService extends EquipmentService implements ServiceInterface
|
||||
//삭제
|
||||
public function delete(mixed $entity): ServerEntity
|
||||
{
|
||||
//서비스중인지 확인
|
||||
if ($entity->getServiceInfoUID() !== null || $entity->getStatus() === STATUS['OCCUPIED']) {
|
||||
//서비스가 연결되어있거나 , 사용가능 상태가 아니면 삭제불가
|
||||
if ($entity->getServiceInfoUID() !== null || $entity->getStatus() !== STATUS['AVAILABLE']) {
|
||||
throw new \Exception("서비스중인 서버는 삭제하실수 없습니다.");
|
||||
}
|
||||
//선처리작업
|
||||
//서비스가 연결되어 있고 대체서버가 아니면, 서비스정보수정(청구액수정)
|
||||
if ($entity->getServiceInfoUID() !== null && $entity->getType() !== "alternative") {
|
||||
$this->getServiceService()->setAmount($this->getServiceService()->getEntity($entity->getServiceInfoUID()));
|
||||
}
|
||||
//서버파트정보해지
|
||||
$entity = $this->getServerPartService()->setServer('delete', $entity, []);
|
||||
return parent::delete($entity);
|
||||
|
||||
@ -163,6 +163,19 @@ class PaymentService extends CommonService implements ServiceInterface, ServerPa
|
||||
$formDatas['billing_at'] = $serviceEntity->getBillingAt();
|
||||
$entity = parent::modify($entity, $formDatas);
|
||||
break;
|
||||
case 'delete':
|
||||
if ($serviceEntity->getPaymentUID() === null) {
|
||||
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:서비스정보에 결제정보가 정의되지 않았습니다.");
|
||||
}
|
||||
$entity = $this->getEntity($serviceEntity->getPaymentUID());
|
||||
if (!$entity instanceof PaymentEntity) {
|
||||
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:결제정보를 찾을수 없습니다.");
|
||||
}
|
||||
if ($entity->getStatus() === STATUS['PAID']) {
|
||||
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:결제완료된 서비스는 수정할수 없습니다.");
|
||||
}
|
||||
$entity = parent::delete($entity);
|
||||
break;
|
||||
default:
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생:{$action}은 정의되지 않은 작업입니다.");
|
||||
// break;
|
||||
@ -206,6 +219,19 @@ class PaymentService extends CommonService implements ServiceInterface, ServerPa
|
||||
$formDatas['billing'] = $serverPartEntity->getBilling();
|
||||
$entity = parent::modify($entity, $formDatas);
|
||||
break;
|
||||
case 'delete':
|
||||
if ($serverPartEntity->getPaymentUID() === null) {
|
||||
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:일회성서비스정보에 결제정보가 정의되지 않았습니다.");
|
||||
}
|
||||
$entity = $this->getEntity($serverPartEntity->getPaymentUID());
|
||||
if (!$entity instanceof PaymentEntity) {
|
||||
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:결제정보를 찾을수 없습니다.");
|
||||
}
|
||||
if ($entity->getStatus() === STATUS['PAID']) {
|
||||
throw new \Exception(__METHOD__ . "에서 {$action}오류발생:결제완료된 서비스는 수정할수 없습니다.");
|
||||
}
|
||||
$entity = parent::delete($entity);
|
||||
break;
|
||||
default:
|
||||
throw new \Exception(__METHOD__ . "에서 오류발생:{$action}은 정의되지 않은 작업입니다.");
|
||||
// break;
|
||||
|
||||
@ -6,7 +6,8 @@
|
||||
<?php $serverPartCellDatas['entity'] = $entity ?>
|
||||
<?php $htmls[$type][] = [
|
||||
'view' => $serverPartCellDatas['service']->getHelper()->getFieldView($type, $entity->getPK(), $serverPartCellDatas),
|
||||
'amount' => $entity->getTotalAmount()
|
||||
'amount' => $entity->getTotalAmount(),
|
||||
'entity' => $entity
|
||||
] ?>
|
||||
<?php endforeach ?>
|
||||
<?php endforeach ?>
|
||||
@ -15,7 +16,10 @@
|
||||
<?php foreach ($serverPartCellDatas['types'] as $type): ?>
|
||||
<tr class="m-0 p-0">
|
||||
<th class="text-end m-0 p-0" width="15%"><?= $serverPartCellDatas['service']->getHelper()->getListButton($type, '', $serverPartCellDatas) ?></th>
|
||||
<td class="text-start m-0 p-0"><?php foreach ($htmls[$type] as $html): ?><?= $html['view'] ?>[<?= number_format($html['amount']) ?>원]<BR><?php endforeach ?></td>
|
||||
<td class="text-start m-0 p-0">
|
||||
<?php foreach ($htmls[$type] as $html): ?>
|
||||
<?= $html['view'] ?>[<?= number_format($html['amount']) ?>원]<a href="/admin/equipment/serverpart/delete/<?= $html['entity']->getPK() ?>">❌</a><BR>
|
||||
<?php endforeach ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user