Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

59 lines
1.3KB

  1. <?php
  2. namespace App\Http\Controllers\Web\FAQ;
  3. use App\Email\Members\AskNotice;
  4. use App\Http\Controllers\Web\WebController;
  5. use App\Kintone\KintoneRecordQueryOperator;
  6. use App\Kintone\Models\Ask;
  7. use App\Kintone\Models\Customer;
  8. use App\Kintone\Models\FAQ;
  9. use App\Logic\AskManager;
  10. use App\Logic\EmailManager;
  11. use App\Util\DateUtil;
  12. use Illuminate\Http\JsonResponse;
  13. use Illuminate\Http\Request;
  14. use Illuminate\Support\Facades\Auth;
  15. class AskController extends WebController
  16. {
  17. public function name(): string
  18. {
  19. return "問い合わせ登録";
  20. }
  21. public function description(): string
  22. {
  23. return "問い合わせ";
  24. }
  25. public function __construct(protected AskParam $param, private AskManager $manager)
  26. {
  27. parent::__construct();
  28. $this->middleware('auth:sanctum');
  29. }
  30. protected function run(Request $request): JsonResponse
  31. {
  32. $param = $this->param;
  33. $customer = Customer::getSelf();
  34. $ask = $this->manager->setCustomer(Customer::getSelf())
  35. ->make($param->genre, $param->ask);
  36. // メール送信
  37. $email = new AskNotice($customer, $ask);
  38. $email->setUser(Auth::user());
  39. $emailMmanager = new EmailManager($email);
  40. $emailMmanager->confirm();
  41. $ask->save();
  42. return $this->successResponse();
  43. }
  44. }