OrderController.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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\MemberService;
  6. use App\Services\Api\OrderService;
  7. /**
  8. * 订单
  9. * @package App\Http\Controllers\Api
  10. */
  11. class OrderController extends webApp
  12. {
  13. /**
  14. * 列表
  15. * @return array
  16. */
  17. public function index()
  18. {
  19. $userInfo = MemberService::make()->getInfo($this->userId);
  20. $confirmStatus = isset($userInfo['confirm_status'])? $userInfo['confirm_status'] : 0;
  21. $pickerStatus = isset($userInfo['picker_status'])? $userInfo['picker_status'] : 0;
  22. if($confirmStatus != 1){
  23. return message(2043, false,[],405);
  24. }
  25. if($pickerStatus!= 1){
  26. return message(2063, false,[],406);
  27. }
  28. $params =request()->post();
  29. $pageSize = request()->post('pageSize', 15);
  30. $params['user_id'] = $this->userId;
  31. $datas = OrderService::make()->getDataList($params, $pageSize);
  32. return message(1010, true, $datas);
  33. }
  34. /**
  35. * 验证订单状态
  36. * @return array
  37. */
  38. public function check()
  39. {
  40. if($data = OrderService::make()->checkOrderStatus($this->userId))
  41. {
  42. return showJson(1010, true,$data);
  43. } else {
  44. return showJson(1009, false);
  45. }
  46. }
  47. /**
  48. * 详情
  49. * @return array|mixed
  50. */
  51. public function info()
  52. {
  53. $params = request()->all();
  54. $validator = new OrderValidator();
  55. $params = $validator->check($params, 'info');
  56. if (!is_array($params)) {
  57. return showJson($params, false);
  58. }
  59. $id = isset($params['order_id'])? intval($params['order_id']) : 0;
  60. if($id<=0){
  61. return showJson(1036,false);
  62. }
  63. $data = OrderService::make()->getOrderInfo($id, $this->userId);
  64. if(empty($data)){
  65. return showJson(1009, false);
  66. }
  67. return showJson(1010, true, $data);
  68. }
  69. /**
  70. * 下单
  71. * @param OrderValidator $validator
  72. * @return array
  73. */
  74. public function submit(OrderValidator $validator)
  75. {
  76. $params = request()->all();
  77. $params = $validator->check($params, 'submit');
  78. if (!is_array($params)) {
  79. return showJson($params, false);
  80. }
  81. if (!$result = OrderService::make()->createOrder($this->userId, $params)) {
  82. $error = OrderService::make()->getError();
  83. return showJson($error, false,'',$error==2206?'405':-1);
  84. } else {
  85. return showJson(OrderService::make()->getError(), true, $result);
  86. }
  87. }
  88. }