領収証発行サービス
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.2KB

  1. <?php
  2. namespace App\Models;
  3. use App\Codes\SMSSendPurpose;
  4. use App\Jobs\SMS\SendSMS;
  5. use App\Models\Feature\ContractFeature;
  6. use App\Models\Feature\ReceiptIssuingOrderFeature;
  7. use App\Models\Feature\SMSProviderFeature;
  8. class SMSSendOrder extends AppModel
  9. {
  10. use ContractFeature, ReceiptIssuingOrderFeature, SMSProviderFeature;
  11. const COL_NAME_CONTRACT_ID = ColumnName::CONTRACT_ID;
  12. const COL_NAME_RECEIPT_ISSUING_ORDER_ID = ColumnName::RECEIPT_ISSUING_ORDER_ID;
  13. const COL_NAME_SMS_PROVIDER_ID = ColumnName::SMS_PROVIDER_ID;
  14. const COL_NAME_DONE = 'done';
  15. const COL_NAME_PORPOSE = 'purpose';
  16. const COL_NAME_SEND_DATETIME = "send_datetime";
  17. const COL_NAME_COST = "cost";
  18. const COL_NAME_CONTENT = "content";
  19. const COL_NAME_PHONE_NUMBER = "phone_number";
  20. const COL_NAME_SUMMARY_KEY1 = "summary_key1";
  21. const COL_NAME_SUMMARY_KEY2 = "summary_key2";
  22. protected $casts = [
  23. self::COL_NAME_PORPOSE => SMSSendPurpose::class,
  24. self::COL_NAME_SEND_DATETIME => 'datetime',
  25. ];
  26. public function getModelName(): string
  27. {
  28. return "SMS送信依頼";
  29. }
  30. public function send()
  31. {
  32. $this->save();
  33. SendSMS::dispatch($this);
  34. }
  35. }