OrderController.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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
  50. */
  51. public function count()
  52. {
  53. $status = request()->post('status', 1);
  54. $data = OrderService::make()->getCountByStatus($this->userId, $status);
  55. return showJson(1010, true, $data);
  56. }
  57. /**
  58. * 详情
  59. * @return array|mixed
  60. */
  61. public function info()
  62. {
  63. $params = request()->all();
  64. $validator = new OrderValidator();
  65. $params = $validator->check($params, 'info');
  66. if (!is_array($params)) {
  67. return showJson($params, false);
  68. }
  69. $id = isset($params['order_id'])? intval($params['order_id']) : 0;
  70. if($id<=0){
  71. return showJson(1036,false);
  72. }
  73. $data = OrderService::make()->getOrderInfo($id, $this->userId);
  74. if(empty($data)){
  75. return showJson(1009, false);
  76. }
  77. return showJson(1010, true, $data);
  78. }
  79. /**
  80. * 下单
  81. * @param OrderValidator $validator
  82. * @return array
  83. */
  84. public function submit(OrderValidator $validator)
  85. {
  86. $params = request()->all();
  87. $params = $validator->check($params, 'submit');
  88. if (!is_array($params)) {
  89. return showJson($params, false);
  90. }
  91. if (!$result = OrderService::make()->createOrder($this->userId, $params)) {
  92. $error = OrderService::make()->getError();
  93. return showJson($error, false,'',$error==2206?'405':-1);
  94. } else {
  95. return showJson(OrderService::make()->getError(), true, $result);
  96. }
  97. }
  98. }