attributes['serverEntity'] = $entity; return $this; } final public function getServerEntity(): ServerEntity|null { return $this->attributes['serverEntity'] ?? null; } final public function setPaymentEntity(PaymentEntity $entity): self { $this->attributes['paymentEntity'] = $entity; return $this; } final public function getPaymentEntity(): PaymentEntity|null { return $this->attributes['paymentEntity'] ?? null; } final public function getUserUID(): int|null { return $this->attributes['user_uid'] ?? null; } final public function getClientInfoUID(): int|null { return $this->attributes['clientinfo_uid'] ?? null; } final public function getServerInfoUID(): int|null { return $this->attributes['serverinfo_uid'] ?? null; } final public function getPaymentUID(): string|null { return $this->attributes['payment_uid'] ?? null; } //기본기능용 public function getCustomTitle(mixed $title = null): string { return sprintf("[%s]%s", $this->getCode(), $this->getTitle()); } final public function getCode(): string { return $this->attributes['code']; } final public function getSite(): string { return $this->attributes['site']; } final public function getLocation(): string { return $this->attributes['location']; } final public function getBillingAt(): string { return $this->attributes['billing_at']; } //청구금액->기본:상면비+회선비+서버금액(price)+서버파트연결(월비용)-할인액 final public function getSale(): int { return $this->attributes['sale'] ?? 0; } final public function getAmount(): int { return $this->attributes['amount']; } //상면비 final public function getRack(): int { return $this->attributes['rack']; } //회선비 final public function getLine(): int { return $this->attributes['line']; } final public function getStartAt(): string { return $this->attributes['start_at']; } public function getHistory(): string|null { return $this->attributes['history'] ?? null; } }