dbmsv2/app/Entities/PaymentEntity.php
2025-09-22 10:32:24 +09:00

62 lines
1.7 KiB
PHP

<?php
namespace App\Entities;
use App\Models\PaymentModel;
use DateTime;
class PaymentEntity extends CommonEntity
{
const PK = PaymentModel::PK;
const TITLE = PaymentModel::TITLE;
const DEFAULT_STATUS = STATUS['UNPAID'];
final public function getUserUID(): int|null
{
return $this->attributes['user_uid'];
}
final public function getClientInfoUID(): int|null
{
return $this->attributes['clientinfo_uid'] ?? null;
}
final public function getServiceInfoUID(): int|null
{
return $this->attributes['serviceinfo_uid'] ?? null;
}
//기본기능
public function getBilling(): string
{
return $this->attributes['billing'] ?? "";
}
public function getAmount(): int
{
return $this->attributes['amount'] ?? 0;
}
public function getBillingAt(): string
{
return $this->attributes['billing_at'] ?? "";
}
public function getPay(): string
{
return $this->attributes['pay'] ?? "";
}
public function getCountDueAt(): string
{
$result = "";
if ($this->getStatus() === self::DEFAULT_STATUS) {
$now = new DateTime(); // 오늘 날짜
$due = new DateTime($this->getBillingAt());
if ($due < $now) {
$interval = $due->diff($now);
$result = "{$interval->days}일지남";
} else if ($due > $now) {
$interval = $now->diff($due);
$day = $interval->days + 1;
$result = "{$day}일전";
} else {
$result = "당일";
}
}
return $result;
}
}