OrderController.php 4.3 KB

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