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.

67 lines
1.8 KiB

  1. <?php
  2. namespace App\Controller\v3;
  3. use App\Controller\BaseController;
  4. use App\Request\v3\OrderOfflineRequest;
  5. use App\Request\v3\OrderOnlineRequest;
  6. use App\Service\v3\Interfaces\OrderOfflineServiceInterface;
  7. use App\Service\v3\Interfaces\StoreServiceInterface;
  8. use Hyperf\Validation\ValidationException;
  9. use Hyperf\Di\Annotation\Inject;
  10. use Psr\Http\Message\ResponseInterface;
  11. class OrderOfflineController extends BaseController
  12. {
  13. /**
  14. * @Inject
  15. * @var StoreServiceInterface
  16. */
  17. protected $storeService;
  18. /**
  19. * @Inject
  20. * @var OrderOfflineServiceInterface
  21. */
  22. protected $orderOfflineService;
  23. /**
  24. * 当面付的页面详情
  25. * 1、上传store_id,获取商户相关信息
  26. * 2、返回商户相关信息即可
  27. */
  28. public function review()
  29. {
  30. $validator = $this->validationFactory->make(
  31. $this->request->all(),
  32. ['store_id' => 'required|nonempty'],
  33. ['*.*' => '商户ID参数异常']
  34. );
  35. if ($validator->fails()) {
  36. throw new ValidationException($validator);
  37. }
  38. $params = $validator->validated();
  39. $store = $this->storeService->detail($params['store_id']);
  40. return $this->success(['store' => $store]);
  41. }
  42. /**
  43. * 当面付下单支付
  44. * 1、用户id、去商户id下支付、支付的金额
  45. * 2、下单同时支付,下发支付参数
  46. * @param OrderOfflineRequest $request
  47. * @return ResponseInterface
  48. */
  49. public function add(OrderOfflineRequest $request)
  50. {
  51. $params = $request->validated();
  52. $data = $this->orderOfflineService->do(
  53. $params['store_id'],
  54. $params['user_id'],
  55. $params['money'],
  56. $params['plat']
  57. );
  58. return $this->success(['data' => $data]);
  59. }
  60. }