Tasks.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace app\controller\merchant;
  3. use app\extra\basic\Base;
  4. use app\extra\tools\CodeExtend;
  5. use app\extra\tools\UploadExtend;
  6. use app\middleware\AuthMiddleware;
  7. use app\model\system\SystemExport;
  8. use app\model\system\SystemImport;
  9. use LinFly\Annotation\Attributes\Route\Controller;
  10. use LinFly\Annotation\Attributes\Route\GetMapping;
  11. use LinFly\Annotation\Attributes\Route\Middleware;
  12. use LinFly\Annotation\Attributes\Route\PostMapping;
  13. use support\Request;
  14. use support\Response;
  15. use Webman\RedisQueue\Redis;
  16. #[Controller("/api/tasks"),Middleware(AuthMiddleware::class)]
  17. class Tasks extends Base
  18. {
  19. #[GetMapping('list')]
  20. public function getTaskList(Request $request): Response
  21. {
  22. try {
  23. $param = $request->get();
  24. $mode = (new SystemExport);
  25. if ($request->user['is_super'] == 0) {
  26. $mode = $mode->where("uuid",$request->user['id']);
  27. }
  28. $list = $mode->order("create_at","desc")->select()->toArray();
  29. return successTrans(100010,$list,200);
  30. } catch (\Throwable $throwable) {
  31. return error($throwable->getMessage());
  32. }
  33. }
  34. #[PostMapping('export')]
  35. public function exportOrder(Request $request): Response
  36. {
  37. try {
  38. $param = $request->all();
  39. $param['poi_id'] = $request->user['store_id'];
  40. $logId = (new SystemExport)->insertGetId([
  41. "uuid" => $request->user['id'],
  42. "name" => $param['fileName'],
  43. "params" => json_encode($param)
  44. ]);
  45. Redis::send("export-order",[
  46. "logId" => $logId,
  47. "param" => $param,
  48. ]);
  49. return success("任务发起成功,请留意任务台状态并下载",[],200);
  50. } catch (\Throwable $throwable) {
  51. return error($throwable->getMessage());
  52. }
  53. }
  54. #[PostMapping('import')]
  55. public function importOrder(Request $request): Response
  56. {
  57. try {
  58. $resp = UploadExtend::disk(UploadExtend::MODE_LOCAL)->uploadFile();
  59. if (!isset($resp[0]['url'])) return error("上传文档失败");
  60. $logId = (new SystemImport)->insertGetId([
  61. "uuid" => $request->user['id'],
  62. "poi_id" => $request->user['store_id'],
  63. "path" => $resp[0]['url'],
  64. "title" => $resp[0]['origin_name'],
  65. "order_sn" => CodeExtend::uniqidDate()
  66. ]);
  67. Redis::send("import-order",[
  68. "logId" => $logId,
  69. "poi_id" => $request->user['store_id'],
  70. "path" => $resp[0]['url'],
  71. ]);
  72. return success("导入成功,请耐心等待系统完成,",[],200);
  73. } catch (\Throwable $throwable) {
  74. return error($throwable->getMessage());
  75. }
  76. }
  77. }