OrderController.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  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\AccountService;
  6. use App\Services\Api\GoodsService;
  7. use App\Services\Api\MemberService;
  8. use App\Services\Api\OrderService;
  9. use App\Services\ConfigService;
  10. use App\Services\Kd100Service;
  11. /**
  12. * 订单
  13. * @package App\Http\Controllers\Api
  14. */
  15. class OrderController extends webApp
  16. {
  17. /**
  18. * 列表
  19. * @return array
  20. */
  21. public function index()
  22. {
  23. $params = request()->post();
  24. $pageSize = request()->post('pageSize', 15);
  25. $uid = isset($params['uid'])?$params['uid']:0;
  26. $params['user_id'] = $uid?$uid:$this->userId;
  27. $datas = OrderService::make()->getDataList($params, $pageSize);
  28. return message(1010, true, $datas);
  29. }
  30. /**
  31. * 详情
  32. */
  33. public function info()
  34. {
  35. $params = request()->all();
  36. $id = isset($params['id'])? intval($params['id']) : 0;
  37. $no = isset($params['order_no'])? trim($params['order_no']) : '';
  38. if(empty($id) && empty($no)){
  39. return message(1036, false);
  40. }
  41. if($info = OrderService::make()->getOrderInfo($id,$no)){
  42. return message(1010, true, $info);
  43. }else{
  44. return message(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. * @param OrderValidator $validator
  60. * @return array
  61. */
  62. public function submit(OrderValidator $validator)
  63. {
  64. $params = request()->all();
  65. $params = $validator->check($params, 'submit');
  66. if (!is_array($params)) {
  67. return showJson($params, false);
  68. }
  69. try {
  70. if (!$result = OrderService::make()->createOrder($this->userId, $params)) {
  71. $error = OrderService::make()->getError();
  72. return showJson($error, false, '', $error == 1042||$error == 1045 ? '403' : -1);
  73. } else {
  74. return showJson(OrderService::make()->getError(), true, $result);
  75. }
  76. } catch (\Exception $exception) {
  77. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage(),'trace'=>$exception->getTrace()];
  78. return showJson(1046, false, $error);
  79. }
  80. }
  81. /**
  82. * 支付
  83. * @return array
  84. */
  85. public function pay()
  86. {
  87. $params = request()->all();
  88. $id = isset($params['id'])? $params['id'] : 0;
  89. try {
  90. if (!$result = OrderService::make()->pay($this->userId, $id)) {
  91. $error = OrderService::make()->getError();
  92. return showJson($error, false, '', $error == 2206 ? '405' : -1);
  93. } else {
  94. return showJson(OrderService::make()->getError(), true, $result);
  95. }
  96. } catch (\Exception $exception) {
  97. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  98. return showJson(1046, false, $error);
  99. }
  100. }
  101. /**
  102. * 取消
  103. * @return array
  104. */
  105. public function cancel()
  106. {
  107. $params = request()->all();
  108. $id = isset($params['id'])? $params['id'] : 0;
  109. try {
  110. if (!$result = OrderService::make()->cancel($this->userId, $id)) {
  111. $error = OrderService::make()->getError();
  112. return showJson($error, false, '', $error == 2206 ? '405' : -1);
  113. } else {
  114. return showJson(1002, true, $result);
  115. }
  116. } catch (\Exception $exception) {
  117. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  118. return showJson(1046, false, $error);
  119. }
  120. }
  121. /**
  122. * 删除隐藏
  123. * @return array
  124. */
  125. public function hide()
  126. {
  127. $params = request()->all();
  128. $id = isset($params['id'])? $params['id'] : 0;
  129. try {
  130. if (!$result = OrderService::make()->hide($this->userId, $id)) {
  131. $error = OrderService::make()->getError();
  132. return showJson($error, false, '', $error == 2206 ? '405' : -1);
  133. } else {
  134. return showJson(1002, true, $result);
  135. }
  136. } catch (\Exception $exception) {
  137. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  138. return showJson(1046, false, $error);
  139. }
  140. }
  141. /**
  142. * 收货
  143. * @return array
  144. */
  145. public function complete()
  146. {
  147. $params = request()->all();
  148. $id = isset($params['id'])? $params['id'] : 0;
  149. try {
  150. if (!$result = OrderService::make()->complete($this->userId, $id)) {
  151. $error = OrderService::make()->getError();
  152. return showJson($error, false, '', $error == 2206 ? '405' : -1);
  153. } else {
  154. return showJson(OrderService::make()->getError(), true, $result);
  155. }
  156. } catch (\Exception $exception) {
  157. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  158. return showJson(1046, false, $error);
  159. }
  160. }
  161. /**
  162. * 售后/退款
  163. * @return array
  164. */
  165. public function after()
  166. {
  167. $params = request()->all();
  168. try {
  169. if (!$result = OrderService::make()->after($this->userId, $params)) {
  170. $error = OrderService::make()->getError();
  171. return showJson($error, false, '', $error == 2206 ? '405' : -1);
  172. } else {
  173. return showJson(OrderService::make()->getError(), true, $result);
  174. }
  175. } catch (\Exception $exception) {
  176. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  177. return showJson(1046, false, $error);
  178. }
  179. }
  180. public function logistics()
  181. {
  182. $params = request()->all();
  183. $id = isset($params['id'])? $params['id'] : 0;
  184. try {
  185. if (!$result = OrderService::make()->getDelivery($id)) {
  186. $error = OrderService::make()->getError();
  187. return showJson($error, false, '', $error == 2206 ? '405' : -1);
  188. } else {
  189. return showJson(1010, true, $result);
  190. }
  191. } catch (\Exception $exception) {
  192. $error = ['data' => $exception->getTrace(), 'err' => $exception->getMessage()];
  193. return showJson(1046, false, $error);
  194. }
  195. }
  196. }