OrderController.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  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\Common\OrdersService;
  7. /**
  8. * 订单
  9. * Class OrderController
  10. * @package App\Http\Controllers\Api
  11. */
  12. class OrderController extends webApp
  13. {
  14. /**
  15. * 列表
  16. * @return array
  17. */
  18. public function index()
  19. {
  20. $params =request()->post();
  21. $pageSize = request()->post('pageSize', 15);
  22. $params['user_id'] = $this->userId;
  23. $datas = OrderService::make()->getDataList($params, $pageSize);
  24. return showJson(1010, true, $datas);
  25. }
  26. /**
  27. * 列表
  28. * @return array
  29. */
  30. public function list()
  31. {
  32. $params =request()->post();
  33. $pageSize = request()->post('pageSize', 15);
  34. $params['user_id'] = isset($params['user_id'])? $params['user_id'] : 0;
  35. $datas = OrderService::make()->getDataList($params, $pageSize);
  36. return showJson(1010, true, $datas);
  37. }
  38. /**
  39. * 订单详情
  40. * @return array|mixed
  41. */
  42. public function info()
  43. {
  44. $params = request()->all();
  45. $orderNo = isset($params['order_no'])? $params['order_no'] : '';
  46. $id = isset($params['id'])? intval($params['id']) : 0;
  47. if ($id<=0 && empty($orderNo)) {
  48. return showJson(2014, false);
  49. }
  50. $datas = OrderService::make()->getInfo($id>0? $id:$orderNo, $this->userId);
  51. return showJson(1010, true, $datas);
  52. }
  53. /**
  54. * 购买服务
  55. * @param OrderValidator $validator
  56. * @return array
  57. */
  58. public function service(OrderValidator $validator)
  59. {
  60. $params = request()->all();
  61. $params = $validator->check($params, 'buy');
  62. if (!is_array($params)) {
  63. return showJson($params, false);
  64. }
  65. if(!$result = OrderService::make()->buyService($this->userId, $params)){
  66. $error = OrderService::make()->getError();
  67. return showJson($error, false, '',$error==1039?401: ($error == 2035? 405: -1));
  68. }else{
  69. return showJson(OrderService::make()->getError(), true, $result);
  70. }
  71. }
  72. /**
  73. * 购买店内商品/购物车结算
  74. * @param OrderValidator $validator
  75. * @return array
  76. */
  77. public function buyCart(OrderValidator $validator)
  78. {
  79. $params = request()->all();
  80. $params = $validator->check($params, 'cart');
  81. if (!is_array($params)) {
  82. return showJson($params, false);
  83. }
  84. if(!$result = OrderService::make()->buyCart($this->userId, $params)){
  85. $error = OrderService::make()->getError();
  86. return showJson($error, false, '',$error==1039?401:-1);
  87. }else{
  88. return showJson(OrderService::make()->getError(), true, $result);
  89. }
  90. }
  91. /**
  92. * 申请退款
  93. * @return array
  94. */
  95. public function refund()
  96. {
  97. $params = request()->all();
  98. if(!$result = OrderService::make()->refund($this->userId, $params)){
  99. return showJson(OrderService::make()->getError(), false);
  100. }else{
  101. return showJson(OrderService::make()->getError(), true, $result);
  102. }
  103. }
  104. /**
  105. * 申请退款取消
  106. * @return array
  107. */
  108. public function refundCancel()
  109. {
  110. $params = request()->all();
  111. if(!$result = OrderService::make()->refundCancel($this->userId, $params)){
  112. return showJson(OrderService::make()->getError(), false);
  113. }else{
  114. return showJson(OrderService::make()->getError(), true, $result);
  115. }
  116. }
  117. /**
  118. * 申请退款审核
  119. * @return array
  120. */
  121. public function refundConfirm()
  122. {
  123. $params = request()->all();
  124. if(!$result = OrderService::make()->refundConfirm($this->userId, $params)){
  125. return showJson(OrderService::make()->getError(), false);
  126. }else{
  127. return showJson(OrderService::make()->getError(), true, $result);
  128. }
  129. }
  130. /**
  131. * 接单
  132. * @return array
  133. */
  134. public function picker()
  135. {
  136. if(!$result = OrderService::make()->picker()){
  137. return showJson(OrderService::make()->getError(), false);
  138. }else{
  139. return showJson(OrderService::make()->getError(), true, $result);
  140. }
  141. }
  142. /**
  143. * 发货
  144. * @return array
  145. */
  146. public function delivery()
  147. {
  148. if(!$result = OrderService::make()->delivery()){
  149. return showJson(OrderService::make()->getError(), false);
  150. }else{
  151. return showJson(OrderService::make()->getError(), true, $result);
  152. }
  153. }
  154. /**
  155. * 服务中/上钟
  156. * @return array
  157. */
  158. public function inService()
  159. {
  160. if(!$result = OrderService::make()->inService()){
  161. return showJson(OrderService::make()->getError(), false);
  162. }else{
  163. return showJson(OrderService::make()->getError(), true, $result);
  164. }
  165. }
  166. /**
  167. * 计算订单数量
  168. * @return array
  169. */
  170. public function count()
  171. {
  172. $userId = request()->post('id',0);
  173. $userType = request()->post('type',0);
  174. $result = OrdersService::make()->countByWait($userId,$userType);
  175. return showJson(1010, true, $result);
  176. }
  177. /**
  178. * 订单完成/收货
  179. * @return array
  180. */
  181. public function complete()
  182. {
  183. $params = request()->all();
  184. if(!$result = OrderService::make()->complete($this->userId,$params)){
  185. return showJson(OrderService::make()->getError(), false);
  186. }else{
  187. return showJson(OrderService::make()->getError(), true, $result);
  188. }
  189. }
  190. /**
  191. * 订单评论
  192. * @param OrderValidator $validator
  193. * @return array
  194. */
  195. public function comment(OrderValidator $validator)
  196. {
  197. $params = request()->all();
  198. $params = $validator->check($params, 'comment');
  199. if (!is_array($params)) {
  200. return showJson($params, false);
  201. }
  202. if(!$result = OrderService::make()->comment($this->userId,$params)){
  203. return showJson(OrderService::make()->getError(), false);
  204. }else{
  205. return showJson(OrderService::make()->getError(), true, $result);
  206. }
  207. }
  208. /**
  209. * 订单删除
  210. * @return array
  211. */
  212. public function delete()
  213. {
  214. if(!$result = OrderService::make()->delete()){
  215. return showJson(OrderService::make()->getError(), false);
  216. }else{
  217. return showJson(OrderService::make()->getError(), true, $result);
  218. }
  219. }
  220. /**
  221. * 订单隐藏
  222. * @return array
  223. */
  224. public function hide()
  225. {
  226. if(!$result = OrderService::make()->hide()){
  227. return showJson(OrderService::make()->getError(), false);
  228. }else{
  229. return showJson(OrderService::make()->getError(), true, $result);
  230. }
  231. }
  232. }