Order.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace app\controller\store;
  3. use app\extra\basic\Base;
  4. use app\extra\service\saas\OrderLogService;
  5. use app\extra\service\saas\OrderService;
  6. use app\middleware\AuthMiddleware;
  7. use app\model\system\SystemExport;
  8. use DI\Attribute\Inject;
  9. use LinFly\Annotation\Route\Controller;
  10. use LinFly\Annotation\Route\Route;
  11. use support\Request;
  12. use support\Response;
  13. use Webman\Annotation\Middleware;
  14. use Webman\RedisQueue\Redis;
  15. #[Controller(prefix: "/api/store/order"),Middleware(AuthMiddleware::class)]
  16. class Order extends Base
  17. {
  18. #[Inject]
  19. protected OrderService $service;
  20. #[Inject]
  21. protected OrderLogService $log;
  22. #[Route(path: "list",methods: "get")]
  23. public function getOrderList(Request $request): Response
  24. {
  25. try {
  26. $param = $request->get();
  27. $param['store'] = $request->user['store_id'];
  28. $list = $this->service->getList($param);
  29. return successTrans("success.data",pageFormat($list),200);
  30. } catch (\Throwable $throwable) {
  31. return error($throwable->getMessage());
  32. }
  33. }
  34. #[Route(path: "log",methods: "get")]
  35. public function getOrderLog(Request $request): Response
  36. {
  37. try {
  38. $param = $request->get();
  39. $list = $this->log->getList($param);
  40. return successTrans("success.data",$list,200);
  41. } catch (\Throwable $throwable) {
  42. return error($throwable->getMessage());
  43. }
  44. }
  45. /**
  46. * 订单导出
  47. * @param Request $request
  48. * @return Response
  49. */
  50. #[Route(path: "export",methods: "get")]
  51. public function exportOrder(Request $request): Response
  52. {
  53. try {
  54. $param = $request->get();
  55. $param['store'] = $request->user['store_id'];
  56. $logId = (new SystemExport)->insertGetId([
  57. "uuid" => $request->user['id'],
  58. "name" => $param['fileName'],
  59. ]);
  60. Redis::send("export-order",[
  61. "logId" => $logId,
  62. "param" => $param,
  63. ]);
  64. return successTrans("success.data",[],200);
  65. } catch (\Throwable $throwable) {
  66. return error($throwable->getMessage());
  67. }
  68. }
  69. }