Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

56 lines
2.0KB

  1. <?php
  2. namespace App\Http\API\SMBC\Payment;
  3. use App\Util\DateUtil;
  4. use Illuminate\Support\Carbon;
  5. use Illuminate\Support\Collection;
  6. class PollResultRecord
  7. {
  8. private const IDX_ORDER_NO = 10;
  9. private const IDX_ACCEPT_NO = 11;
  10. private const IDX_PAYMENT_STATUS = 12;
  11. private const IDX_PAYMENT_WARNING_STATUS = 13;
  12. private const IDX_PAYMENT_STATUS_NAME = 14;
  13. private const IDX_PAYMENT_WARNING_STATUS_NAME = 15;
  14. private const IDX_PAYMENT_STATUS_UPDATE_DATETIME = 16;
  15. private const IDX_PAYMENT_WARNING_STATUS_UPDATE_DATETIME = 17;
  16. private const IDX_PAYMENT_AMOUNT = 28;
  17. private const IDX_PAYMENT_DATE = 29;
  18. public string $orderNo;
  19. public string $acceptNo;
  20. public PaymentStatus $paymentStatus;
  21. public string $paymentWarningStatus;
  22. public string $paymentStatusName;
  23. public string $paymentWarningStatusName;
  24. public ?Carbon $paymentStatusUpdateDatetime;
  25. public ?Carbon $paymentWarningStatusUpdateDatetime;
  26. public int $paymentAmount;
  27. public ?Carbon $paymentDate;
  28. public string $all = "";
  29. /**
  30. *
  31. * @param Collection<int, string> $data
  32. */
  33. public function __construct(Collection $data)
  34. {
  35. $this->orderNo = $data[self::IDX_ORDER_NO];
  36. $this->acceptNo = $data[self::IDX_ACCEPT_NO];
  37. $this->paymentStatus = PaymentStatus::from($data[self::IDX_PAYMENT_STATUS]);
  38. $this->paymentWarningStatus = $data[self::IDX_PAYMENT_WARNING_STATUS];
  39. $this->paymentStatusName = $data[self::IDX_PAYMENT_STATUS_NAME];
  40. $this->paymentWarningStatusName = $data[self::IDX_PAYMENT_WARNING_STATUS_NAME];
  41. $this->paymentStatusUpdateDatetime = DateUtil::parse($data[self::IDX_PAYMENT_STATUS_UPDATE_DATETIME]);
  42. $this->paymentWarningStatusUpdateDatetime = DateUtil::parse($data[self::IDX_PAYMENT_WARNING_STATUS_UPDATE_DATETIME]);
  43. $this->paymentAmount = intval($data[self::IDX_PAYMENT_AMOUNT]);
  44. $this->paymentDate = DateUtil::parse($data[self::IDX_PAYMENT_DATE]);
  45. $this->all = $data->implode(",");
  46. }
  47. }