attributes['partEntity'] = $entity; return $this; } //여러클래스존재가능 public function getPartEntity(): mixed { return $this->attributes['partEntity'] ?? null; } final public function setPaymentEntity(PaymentEntity $entity): self { $this->attributes['paymentEntity'] = $entity; return $this; } final public function getPaymentEntity(): PaymentEntity { return $this->attributes['paymentEntity']; } public function getPartUID(): int { return intval($this->attributes['part_uid']) ?? 0; } final public function getUserUID(): string|null { return $this->attributes['user_uid']; } final public function getClientInfoUID(): string|null { return $this->attributes['clientinfo_uid']; } final public function getServiceInfoUID(): string|null { return $this->attributes['serviceinfo_uid']; } final public function getServerInfoUID(): string { return $this->attributes['serverinfo_uid']; } final public function getPaymentUID(): string|null { return $this->attributes['payment_uid'] ?? null; } //기본기능용 public function getPrice(): int { return $this->getPartEntity() !== null ? $this->getPartEntity()->getPrice() : 0; } public function getType(): string { return $this->attributes['type'] ?? ""; } public function getBilling(): string { return $this->attributes['billing'] ?? ""; } public function getAmount(): int { return $this->attributes['amount'] ?? 0; } public function getCnt(): int { return $this->attributes['cnt'] ?? 0; } public function getExtra(): string { return $this->attributes['extra'] ?? ""; } public function getStatus(): string { return self::DEFAULT_STATUS; } }