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.

37 lines
1.1 KiB

5 years ago
5 years ago
5 years ago
  1. <?php
  2. namespace App\Controller;
  3. use App\Constants\ErrorCode;
  4. use App\Request\OrderOfflineRequest;
  5. use App\Request\OrderOnlineRequest;
  6. use Hyperf\Di\Annotation\Inject;
  7. use App\Service\OrderServiceInterface;
  8. use Hyperf\HttpMessage\Stream\SwooleStream;
  9. class OrderController extends BaseController
  10. {
  11. /**
  12. * @Inject
  13. * @var OrderServiceInterface
  14. */
  15. protected $orderService;
  16. public function addOnlineOrder(OrderOnlineRequest $request)
  17. {
  18. $orderMainId = $this->orderService->addOnlineOrder($request->validated());
  19. if (!is_int($orderMainId)) {
  20. return $this->result(ErrorCode::ORDER_FAILURE, '', $orderMainId);
  21. }
  22. return $this->success(['order_id' => $orderMainId]);
  23. }
  24. public function addOfflineOrder(OrderOfflineRequest $request)
  25. {
  26. $orderMainId = $this->orderService->addOfflineOrder($request->validated());
  27. if (!is_int($orderMainId)) {
  28. return $this->result(ErrorCode::ORDER_FAILURE, '', $orderMainId);
  29. }
  30. return $this->success(['order_id' => $orderMainId]);
  31. }
  32. }