領収証発行サービス
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.

54 lines
1.2KB

  1. <?php
  2. namespace App\Http\Controllers\Web\ReceiptIssuingOrder;
  3. use App\Http\Controllers\Web\IParam;
  4. use App\Http\Controllers\Web\WebController;
  5. use App\Logic\ReceiptIssuingOrder\UpdateManager;
  6. use App\Models\ReceiptIssuingOrder;
  7. use Illuminate\Http\JsonResponse;
  8. use Illuminate\Http\Request;
  9. class ConfirmController extends WebController
  10. {
  11. public function name(): string
  12. {
  13. return "領収証確定";
  14. }
  15. public function description(): string
  16. {
  17. return "領収証を確定する";
  18. }
  19. public function __construct(
  20. protected ConfirmParam $param,
  21. private UpdateManager $manager
  22. ) {
  23. parent::__construct();
  24. }
  25. protected function getParam(): IParam
  26. {
  27. return $this->param;
  28. }
  29. protected function run(Request $request): JsonResponse
  30. {
  31. $param = $this->param;
  32. $this->manager->initById($param->id)
  33. ->checkTimestamp($param->timestamp)
  34. ->fill(
  35. [
  36. ReceiptIssuingOrder::COL_NAME_RECEIPT_NAME => $param->receiptName,
  37. ]
  38. )
  39. ->setConfirm()
  40. ->update();
  41. return $this->successResponse();
  42. }
  43. }