Tasks.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app\controller\merchant;
  3. use app\extra\basic\Base;
  4. use app\middleware\AuthMiddleware;
  5. use app\model\system\SystemExport;
  6. use LinFly\Annotation\Attributes\Route\Controller;
  7. use LinFly\Annotation\Attributes\Route\GetMapping;
  8. use LinFly\Annotation\Attributes\Route\Middleware;
  9. use LinFly\Annotation\Attributes\Route\PostMapping;
  10. use support\Request;
  11. use support\Response;
  12. use Webman\RedisQueue\Redis;
  13. #[Controller("/api/tasks"),Middleware(AuthMiddleware::class)]
  14. class Tasks extends Base
  15. {
  16. #[GetMapping('list')]
  17. public function getTaskList(Request $request): Response
  18. {
  19. try {
  20. $param = $request->get();
  21. $mode = (new SystemExport);
  22. if ($request->user['is_super'] == 0) {
  23. $mode = $mode->where("uuid",$request->user['id']);
  24. }
  25. $list = $mode->order("create_at","desc")->select()->toArray();
  26. return successTrans(100010,$list,200);
  27. } catch (\Throwable $throwable) {
  28. return error($throwable->getMessage());
  29. }
  30. }
  31. #[PostMapping('export')]
  32. public function exportOrder(Request $request): Response
  33. {
  34. try {
  35. $param = $request->all();
  36. $param['poi_id'] = $request->user['store_id'];
  37. $logId = (new SystemExport)->insertGetId([
  38. "uuid" => $request->user['id'],
  39. "name" => $param['fileName'],
  40. "params" => json_encode($param),
  41. ]);
  42. Redis::send("export-order",[
  43. "logId" => $logId,
  44. "param" => $param,
  45. ]);
  46. return success("任务发起成功,请留意任务台状态并下载",[],200);
  47. } catch (\Throwable $throwable) {
  48. return error($throwable->getMessage());
  49. }
  50. }
  51. }