OrderController.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. <?php
  2. namespace App\Http\Controllers\Order;
  3. use App\Exceptions\ApiException;
  4. use App\Libs\ApiResponse;
  5. use App\Services\Book\BookService;
  6. use App\Services\Order\OrderService;
  7. use App\Services\User\UserService;
  8. use App\Transformer\Order\OrderTransformer;
  9. use Illuminate\Http\Request;
  10. use Illuminate\Routing\Controller as BaseController;
  11. class OrderController extends BaseController
  12. {
  13. use ApiResponse;
  14. protected $bookService;
  15. protected $userService;
  16. protected $orderService;
  17. public function __construct(
  18. BookService $bookService,
  19. UserService $userService,
  20. OrderService $orderService
  21. )
  22. {
  23. $this->bookService = $bookService;
  24. $this->userService = $userService;
  25. $this->orderService = $orderService;
  26. }
  27. /**
  28. * 订单明细
  29. *
  30. * @param Request $request
  31. * @return mixed
  32. */
  33. public function orderData(Request $request)
  34. {
  35. $data = $request->all();
  36. $result = $this->orderService->getOrderData($data);
  37. return $this->success($result, [new OrderTransformer(), 'newBuildOrderData']);
  38. }
  39. /**
  40. * 用户信息
  41. *
  42. * @param Request $request
  43. * @return mixed
  44. */
  45. public function userData(Request $request)
  46. {
  47. $data = $request->all();
  48. $result = $this->orderService->getUserData($data);
  49. return $this->success($result, [new OrderTransformer(), 'newBuildUserData']);
  50. }
  51. /**
  52. * 回传日志
  53. *
  54. * @param Request $request
  55. * @return mixed
  56. */
  57. public function reportData(Request $request)
  58. {
  59. $data = $request->all();
  60. $result = $this->orderService->getReportData($data);
  61. return $this->success($result, [new OrderTransformer(), 'newBuildReportData']);
  62. }
  63. /**
  64. * 导出回传日志
  65. *
  66. * @param Request $request
  67. * @return mixed
  68. */
  69. public function exportReportData(Request $request)
  70. {
  71. $data = $request->all();
  72. $result = $this->orderService->exportReportData($data);
  73. return $this->success(['success' => $result ? 1 : 0]);
  74. }
  75. /**
  76. * 派单列表
  77. *
  78. * @param Request $request
  79. * @return mixed
  80. */
  81. public function sendOrderData(Request $request)
  82. {
  83. $data = $request->all();
  84. $result = $this->orderService->getSendOrderData($data);
  85. return $this->success($result, [new OrderTransformer(), 'newBuildSendOrderData']);
  86. }
  87. /**
  88. * 导出派单数据
  89. *
  90. * @param Request $request
  91. * @return mixed
  92. */
  93. public function exportSendOrderData(Request $request)
  94. {
  95. $data = $request->all();
  96. $result = $this->orderService->exportSendOrderData($data);
  97. return $this->success(['success' => $result ? 1 : 0]);
  98. }
  99. /**
  100. * 获取派单链接适用的模板
  101. * @param Request $request
  102. * @return mixed
  103. */
  104. public function sendOrderTemplates(Request $request) {
  105. $data = $request->all();
  106. $result = $this->orderService->getSendOrderTemplates($data);
  107. return $this->success($result);
  108. }
  109. /**
  110. * 编辑派单链接
  111. *
  112. * @param Request $request
  113. * @return mixed
  114. */
  115. public function editSendOrderUrl(Request $request)
  116. {
  117. $data = $request->all();
  118. $result = $this->orderService->editSendOrderUrl($data);
  119. return $this->success(['success' => $result ? 1 : 0]);
  120. }
  121. /**
  122. * 派单日数据
  123. *
  124. * @param Request $request
  125. * @return mixed
  126. */
  127. public function sendOrderDayData(Request $request)
  128. {
  129. $data = $request->all();
  130. $result = $this->orderService->getSendOrderDayData($data);
  131. return $this->success($result, [new OrderTransformer(), 'newBuildSendOrderDayData']);
  132. }
  133. /**
  134. * 导出派单日数据
  135. *
  136. * @param Request $request
  137. * @return mixed
  138. */
  139. public function exportSendOrderDayData(Request $request)
  140. {
  141. $data = $request->all();
  142. $result = $this->orderService->exportSendOrderDayData($data);
  143. return $this->success(['success' => $result ? 1 : 0]);
  144. }
  145. /**
  146. * 设置派单日成本
  147. *
  148. * @param Request $request
  149. * @return mixed
  150. */
  151. public function setDayCost(Request $request)
  152. {
  153. $data = $request->all();
  154. $result = $this->orderService->setDayCost($data);
  155. return $this->success(['success' => $result ? 1 : 0]);
  156. }
  157. /**
  158. * 充值模板
  159. * @param Request $request
  160. * @return mixed
  161. */
  162. public function templateList(Request $request) {
  163. $data = $request->all();
  164. $result = $this->orderService->getTemplateList($data);
  165. return $this->success($result, [new OrderTransformer(), 'newBuildTemplateList']);
  166. }
  167. /**
  168. * 设置充值模板启用状态
  169. * @param Request $request
  170. * @return mixed
  171. */
  172. public function setTemplateStatus(Request $request)
  173. {
  174. $data = $request->all();
  175. $result = $this->orderService->setTemplateStatus($data);
  176. return $this->success(['success' => $result ? 1 : 0]);
  177. }
  178. /**
  179. * 新增模版
  180. * @param Request $request
  181. * @return mixed
  182. */
  183. public function addTemplate(Request $request) {
  184. $data = $request->all();
  185. $result = $this->orderService->addTemplate($data);
  186. return $this->success(['success' => $result ? 1 : 0]);
  187. }
  188. /**
  189. * 编辑模版
  190. * @param Request $request
  191. * @return mixed
  192. */
  193. public function editTemplate(Request $request) {
  194. $data = $request->all();
  195. $result = $this->orderService->editTemplate($data);
  196. return $this->success(['success' => $result ? 1 : 0]);
  197. }
  198. /**
  199. * 推广数据
  200. *
  201. * @param Request $request
  202. * @return mixed
  203. */
  204. public function promotionData(Request $request)
  205. {
  206. $data = $request->all();
  207. $result = $this->orderService->getPromotionData($data);
  208. return $this->success($result);
  209. }
  210. /**
  211. * 补回传
  212. *
  213. * @param Request $request
  214. * @return mixed
  215. */
  216. public function reportPromotionOrder(Request $request)
  217. {
  218. $data = $request->all();
  219. $result = $this->orderService->reportPromotionOrder($data);
  220. return $this->success(['success' => $result ? 1 : 0]);
  221. }
  222. /**
  223. * 订单列表
  224. *
  225. * @param Request $request
  226. * @return mixed
  227. * @throws ApiException
  228. */
  229. public function orderList(Request $request)
  230. {
  231. $data = $request->all();
  232. $result = $this->orderService->orderList($data);
  233. return $this->success($result, [new OrderTransformer(), 'orderList']);
  234. }
  235. /**
  236. * 订单列表导出
  237. *
  238. * @param Request $request
  239. * @return mixed
  240. * @throws ApiException
  241. */
  242. public function orderExport(Request $request)
  243. {
  244. $data = $request->all();
  245. $result = $this->orderService->exportOrderList($data);
  246. return response($result)->header('Content-type', 'application/vnd.ms-excel');
  247. }
  248. }