OrderController.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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'] = isset($params['user_id']) && $params['user_id']? $params['user_id'] : $this->userId;
  21. $datas = OrderService::make()->getDataList($params, $pageSize);
  22. return message(1010, true, $datas);
  23. }
  24. /**
  25. * 列表
  26. * @return array
  27. */
  28. public function list()
  29. {
  30. $params =request()->post();
  31. $pageSize = request()->post('pageSize', 15);
  32. $params['user_id'] = isset($params['user_id']) && $params['user_id']? $params['user_id'] : $this->userId;
  33. $datas = OrderService::make()->getDataList($params, $pageSize);
  34. return message(1010, true, $datas);
  35. }
  36. /**
  37. * 详情
  38. * @return array|mixed
  39. */
  40. public function info()
  41. {
  42. $params = request()->all();
  43. $validator = new OrderValidator();
  44. $params = $validator->check($params, 'info');
  45. if (!is_array($params)) {
  46. return showJson($params, false);
  47. }
  48. $id = isset($params['id'])? intval($params['id']) : 0;
  49. if($id<=0){
  50. return showJson(1036,false);
  51. }
  52. $data = OrderService::make()->getOrderInfo($id, $this->userId);
  53. if(empty($data)){
  54. return showJson(1009, false);
  55. }
  56. return showJson(1010, true, $data);
  57. }
  58. /**
  59. * 下单
  60. * @param OrderValidator $validator
  61. * @return array
  62. */
  63. public function submit(OrderValidator $validator)
  64. {
  65. $params = request()->all();
  66. $params = $validator->check($params, 'submit');
  67. if (!is_array($params)) {
  68. return showJson($params, false);
  69. }
  70. $params['stock_id'] = isset($params['stock_id']) && $params['stock_id']>0? intval($params['stock_id']) : $this->stockId;
  71. if (!$result = OrderService::make()->createOrder($this->userId, $params)) {
  72. return showJson(OrderService::make()->getError(), false);
  73. } else {
  74. return showJson(OrderService::make()->getError(), true, $result);
  75. }
  76. }
  77. /**
  78. * 订单统计数据
  79. * @return array
  80. */
  81. public function count()
  82. {
  83. if (!$result = OrderService::make()->getCounts($this->userId)) {
  84. return showJson(1009, false);
  85. } else {
  86. return showJson(1010, true, $result);
  87. }
  88. }
  89. /**
  90. * 完成订单
  91. * @param OrderValidator $validator
  92. * @return array
  93. * @throws \Yansongda\Pay\Exception\ContainerException
  94. * @throws \Yansongda\Pay\Exception\InvalidParamsException
  95. * @throws \Yansongda\Pay\Exception\ServiceNotFoundException
  96. */
  97. public function complete(OrderValidator $validator)
  98. {
  99. $params = request()->all();
  100. $params = $validator->check($params, 'info');
  101. if (!is_array($params)) {
  102. return showJson($params, false);
  103. }
  104. if (!$result = OrderService::make()->complete($this->userId, $params,1)) {
  105. return showJson(OrderService::make()->getError(), false);
  106. } else {
  107. return showJson(OrderService::make()->getError(), true, $result);
  108. }
  109. }
  110. /**
  111. * 取消订单
  112. * @param OrderValidator $validator
  113. * @return array
  114. * @throws \Yansongda\Pay\Exception\ContainerException
  115. * @throws \Yansongda\Pay\Exception\InvalidParamsException
  116. * @throws \Yansongda\Pay\Exception\ServiceNotFoundException
  117. */
  118. public function cancel(OrderValidator $validator)
  119. {
  120. $params = request()->all();
  121. $params = $validator->check($params, 'cancel');
  122. if (!is_array($params)) {
  123. return showJson($params, false);
  124. }
  125. if (!$result = OrderService::make()->cancel($this->userId, $params)) {
  126. return showJson(OrderService::make()->getError(), false);
  127. } else {
  128. return showJson(OrderService::make()->getError(), true, $result);
  129. }
  130. }
  131. }