OrderController.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Http\Validator\OrderValidator;
  5. use App\Services\Api\OrderService;
  6. /**
  7. * 订单
  8. * @package App\Http\Controllers\Api
  9. */
  10. class OrderController extends webApp
  11. {
  12. /**
  13. * 列表
  14. * @return array
  15. */
  16. public function index()
  17. {
  18. $params =request()->post();
  19. $pageSize = request()->post('pageSize', 15);
  20. $params['user_id'] = $this->userId;
  21. $datas = OrderService::make()->getDataList($params, $pageSize);
  22. return message(1010, true, $datas);
  23. }
  24. /**
  25. * 详情
  26. * @return array|mixed
  27. */
  28. public function info()
  29. {
  30. $params = request()->all();
  31. $validator = new OrderValidator();
  32. $params = $validator->check($params, 'info');
  33. if (!is_array($params)) {
  34. return showJson($params, false);
  35. }
  36. $id = isset($params['order_id'])? intval($params['order_id']) : 0;
  37. if($id<=0){
  38. return showJson(1036,false);
  39. }
  40. $data = OrderService::make()->getOrderInfo($id, $this->userId);
  41. if(empty($data)){
  42. return showJson(1009, false);
  43. }
  44. return showJson(1010, true, $data);
  45. }
  46. /**
  47. * 下单
  48. * @param OrderValidator $validator
  49. * @return array
  50. */
  51. public function submit(OrderValidator $validator)
  52. {
  53. $params = request()->all();
  54. $params = $validator->check($params, 'submit');
  55. if (!is_array($params)) {
  56. return showJson($params, false);
  57. }
  58. if (!$result = OrderService::make()->createOrder($this->userId, $params)) {
  59. $error = OrderService::make()->getError();
  60. return showJson($error, false,'',$error==2206?'405':-1);
  61. } else {
  62. return showJson(OrderService::make()->getError(), true, $result);
  63. }
  64. }
  65. }