|
- <?php
-
- namespace App\Http\API\SMBC\Payment;
-
- use App\Util\DateUtil;
- use Illuminate\Support\Carbon;
- use Illuminate\Support\Collection;
-
- class PollResultRecord
- {
-
- private const IDX_ORDER_NO = 10;
- private const IDX_ACCEPT_NO = 11;
- private const IDX_PAYMENT_STATUS = 12;
- private const IDX_PAYMENT_WARNING_STATUS = 13;
- private const IDX_PAYMENT_STATUS_NAME = 14;
- private const IDX_PAYMENT_WARNING_STATUS_NAME = 15;
- private const IDX_PAYMENT_STATUS_UPDATE_DATETIME = 16;
- private const IDX_PAYMENT_WARNING_STATUS_UPDATE_DATETIME = 17;
- private const IDX_PAYMENT_AMOUNT = 28;
- private const IDX_PAYMENT_DATE = 29;
-
- public string $orderNo;
- public string $acceptNo;
- public PaymentStatus $paymentStatus;
- public string $paymentWarningStatus;
- public string $paymentStatusName;
- public string $paymentWarningStatusName;
- public ?Carbon $paymentStatusUpdateDatetime;
- public ?Carbon $paymentWarningStatusUpdateDatetime;
- public int $paymentAmount;
- public ?Carbon $paymentDate;
-
- public string $all = "";
-
- /**
- *
- * @param Collection<int, string> $data
- */
- public function __construct(Collection $data)
- {
- $this->orderNo = $data[self::IDX_ORDER_NO];
- $this->acceptNo = $data[self::IDX_ACCEPT_NO];
- $this->paymentStatus = PaymentStatus::from($data[self::IDX_PAYMENT_STATUS]);
- $this->paymentWarningStatus = $data[self::IDX_PAYMENT_WARNING_STATUS];
- $this->paymentStatusName = $data[self::IDX_PAYMENT_STATUS_NAME];
- $this->paymentWarningStatusName = $data[self::IDX_PAYMENT_WARNING_STATUS_NAME];
- $this->paymentStatusUpdateDatetime = DateUtil::parse($data[self::IDX_PAYMENT_STATUS_UPDATE_DATETIME]);
- $this->paymentWarningStatusUpdateDatetime = DateUtil::parse($data[self::IDX_PAYMENT_WARNING_STATUS_UPDATE_DATETIME]);
- $this->paymentAmount = intval($data[self::IDX_PAYMENT_AMOUNT]);
- $this->paymentDate = DateUtil::parse($data[self::IDX_PAYMENT_DATE]);
-
- $this->all = $data->implode(",");
- }
- }
|