Explorar el Código

HT通知修正

develop
sosuke.iwabuchi hace 2 años
padre
commit
06e3a01481
Se han modificado 8 ficheros con 63 adiciones y 27 borrados
  1. +0
    -14
      app/Events/ReceiptIssuingOrder/CompletedEvent.php
  2. +1
    -1
      app/Events/ReceiptIssuingOrder/DownloadedEvent.php
  3. +14
    -0
      app/Events/ReceiptIssuingOrder/EmailSendEvent.php
  4. +5
    -0
      app/Events/ReceiptIssuingOrder/ReceiptIssuingOrderEvent.php
  5. +6
    -2
      app/Jobs/Other/Custom/HelloTechno/NoticeReceiptIssuingOrder.php
  6. +2
    -0
      app/Jobs/ReceiptIssuingOrder/PollEmailSendStatus.php
  7. +7
    -4
      app/Listeners/ReceiptIssuingOrder/Custom/HelloTechno/NoticeListener.php
  8. +28
    -6
      app/Util/Custom/HelloTechno/API.php

+ 0
- 14
app/Events/ReceiptIssuingOrder/CompletedEvent.php Ver fichero

@@ -1,14 +0,0 @@
<?php

namespace App\Events\ReceiptIssuingOrder;

/**
* 依頼完了イベント
*/
class CompletedEvent extends ReceiptIssuingOrderEvent
{
public function getEventName(): string
{
return "完了";
}
}

+ 1
- 1
app/Events/ReceiptIssuingOrder/DownloadedEvent.php Ver fichero

@@ -9,6 +9,6 @@ class DownloadedEvent extends ReceiptIssuingOrderEvent
{
public function getEventName(): string
{
return "ダウンロード";
return "ダウンロード完了";
}
}

+ 14
- 0
app/Events/ReceiptIssuingOrder/EmailSendEvent.php Ver fichero

@@ -0,0 +1,14 @@
<?php

namespace App\Events\ReceiptIssuingOrder;

/**
* Email送付完了イベント
*/
class EmailSendEvent extends ReceiptIssuingOrderEvent
{
public function getEventName(): string
{
return "Email送付完了";
}
}

+ 5
- 0
app/Events/ReceiptIssuingOrder/ReceiptIssuingOrderEvent.php Ver fichero

@@ -3,9 +3,11 @@
namespace App\Events\ReceiptIssuingOrder;

use App\Models\ReceiptIssuingOrder;
use App\Util\DateUtil;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Carbon;

/**
* 領収証発行依頼の基底イベントクラス
@@ -14,9 +16,12 @@ abstract class ReceiptIssuingOrderEvent
{
use Dispatchable, InteractsWithSockets, SerializesModels;

public Carbon $eventDatetime;

public function __construct(
public ReceiptIssuingOrder $order
) {
$this->eventDatetime = DateUtil::now();
}

abstract public function getEventName(): string;


+ 6
- 2
app/Jobs/Other/Custom/HelloTechno/NoticeReceiptIssuingOrder.php Ver fichero

@@ -6,7 +6,9 @@ use App\Codes\QueueName;
use App\Jobs\BaseJob;
use App\Models\ReceiptIssuingHTParkingCustomOrder;
use App\Models\ReceiptIssuingOrder;
use App\Models\ReceiptIssuingOrderTax;
use App\Util\Custom\HelloTechno\API;
use Illuminate\Support\Carbon;

class NoticeReceiptIssuingOrder extends BaseJob
{
@@ -18,7 +20,9 @@ class NoticeReceiptIssuingOrder extends BaseJob
public function __construct(
private ReceiptIssuingOrder $order,
private ReceiptIssuingHTParkingCustomOrder $custom,
private string $eventName = "",
private ReceiptIssuingOrderTax $tax,
private string $eventName,
private Carbon $eventDatetime,
) {
$this->onQueue(QueueName::JOB->value);
}
@@ -31,7 +35,7 @@ class NoticeReceiptIssuingOrder extends BaseJob
public function handle()
{
try {
API::sendReceiptIssuingOrder($this->order, $this->custom);
API::sendReceiptIssuingOrder($this->order, $this->custom, $this->tax, $this->eventName, $this->eventDatetime);
} catch (Exception $e) {
$this->log(false);
throw $e;


+ 2
- 0
app/Jobs/ReceiptIssuingOrder/PollEmailSendStatus.php Ver fichero

@@ -3,6 +3,7 @@
namespace App\Jobs\ReceiptIssuingOrder;

use App\Codes\QueueName;
use App\Events\ReceiptIssuingOrder\EmailSendEvent;
use App\Jobs\BaseJob;
use App\Models\Email;
use App\Models\ReceiptIssuingOrder;
@@ -61,6 +62,7 @@ class PollEmailSendStatus extends BaseJob
{
$this->order->status_receipt_email_send_datetime = $sendDatetime;
$this->order->save();
EmailSendEvent::dispatch($this->order);
info("領収証Emailポーリング完了:" . $this->order->receipt_pdf_email_id);
}



+ 7
- 4
app/Listeners/ReceiptIssuingOrder/Custom/HelloTechno/NoticeListener.php Ver fichero

@@ -2,10 +2,12 @@

namespace App\Listeners\ReceiptIssuingOrder\Custom\HelloTechno;

use App\Events\ReceiptIssuingOrder\CompletedEvent;
use App\Codes\EnvironmentName;
use App\Events\ReceiptIssuingOrder\ConfirmedEvent;
use App\Events\ReceiptIssuingOrder\CreatedEvent;
use App\Events\ReceiptIssuingOrder\DownloadedEvent;
use App\Events\ReceiptIssuingOrder\EmailOrderEvent;
use App\Events\ReceiptIssuingOrder\EmailSendEvent;
use App\Events\ReceiptIssuingOrder\MailOrderEvent;
use App\Events\ReceiptIssuingOrder\MailPostedEvent;
use App\Events\ReceiptIssuingOrder\ReceiptIssuingOrderEvent;
@@ -16,11 +18,12 @@ class NoticeListener
{

public function handle(
CompletedEvent|
ConfirmedEvent|
CreatedEvent|
MailOrderEvent|
MailPostedEvent|
EmailOrderEvent|
EmailSendEvent|
DownloadedEvent $event
): void {
$this->notice($event->order, $event);
@@ -31,10 +34,10 @@ class NoticeListener
*/
private function notice(ReceiptIssuingOrder $order, ReceiptIssuingOrderEvent $event)
{

$htCustom = $order->htCustomOrder;
if ($htCustom !== null) {
NoticeReceiptIssuingOrder::dispatch($order, $htCustom, $event->getEventName());
$tax = $order->receiptIssuingOrderTaxes->firstOrFail();
NoticeReceiptIssuingOrder::dispatch($order, $htCustom, $tax, $event->getEventName(), $event->eventDatetime);
}
}
}

+ 28
- 6
app/Util/Custom/HelloTechno/API.php Ver fichero

@@ -2,9 +2,11 @@

namespace App\Util\Custom\HelloTechno;

use App\Codes\EnvironmentName;
use App\Exceptions\AppCommonException;
use App\Models\ReceiptIssuingHTParkingCustomOrder;
use App\Models\ReceiptIssuingOrder;
use App\Models\ReceiptIssuingOrderTax;
use Exception;
use Illuminate\Support\Arr;
use Illuminate\Support\Carbon;
@@ -58,9 +60,20 @@ class API
return static::get(static::getAdjustDataUrl(), $query);
}

public static function sendReceiptIssuingOrder(ReceiptIssuingOrder $order, ReceiptIssuingHTParkingCustomOrder $customOrder)
{
$param = static::makeReceiptIssuingOrderParams($order, $customOrder);
public static function sendReceiptIssuingOrder(
ReceiptIssuingOrder $order,
ReceiptIssuingHTParkingCustomOrder $customOrder,
ReceiptIssuingOrderTax $tax,
string $eventName,
Carbon $eventDatetime
) {
$param = static::makeReceiptIssuingOrderParams($order, $customOrder, $tax, $eventName, $eventDatetime);

if (app()->environment([EnvironmentName::LOCAL->value])) {
logger("HT通知 ローカル環境のため送信しない", ['SEND' => $param]);
return [];
}

return static::post(static::getReceiptIssuingOrderUrl(), $param);
}

@@ -93,10 +106,17 @@ class API
}


public static function makeReceiptIssuingOrderParams(ReceiptIssuingOrder $order, ReceiptIssuingHTParkingCustomOrder $customOrder): array
{
public static function makeReceiptIssuingOrderParams(
ReceiptIssuingOrder $order,
ReceiptIssuingHTParkingCustomOrder $customOrder,
ReceiptIssuingOrderTax $tax,
string $eventName,
Carbon $eventDatetime
): array {
$param = [];
$param['id'] = $order->id;
$param['event_name'] = $eventName;
$param['event_datetime'] = static::formatDateTimeStr($eventDatetime);
$param['customer_code'] = $customOrder->customer_code;
$param['parking_management_code'] = $customOrder->parking_management_code;
$param['adjust_seq_no'] = $customOrder->adjust_seq_no;
@@ -121,8 +141,10 @@ class API
$param['receipt_name'] = $order->receipt_name;
$param['receipt_invoice_no'] = $order->receipt_invoice_no;
$param['receipt_amount'] = $order->receipt_amount;
$param['tax_rate'] = $tax->tax_rate;
$param['tax_amount'] = $tax->tax_amount;
$param['email'] = $order->email;
$param['mail_pref_code'] = $order->mail_pref_code;
$param['mail_pref_code'] = $order->mail_pref_code !== null ? $order->mail_pref_code->value : null;
$param['mail_zip_code'] = $order->mail_zip_code;
$param['mail_address1'] = $order->mail_address1;
$param['mail_address2'] = $order->mail_address2;


Cargando…
Cancelar
Guardar