DownloadTask.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Http\Controllers\Manager\Other;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\Manager\Other\DownloadTask as Request;
  5. use App\Models\Manager\Other\DownloadTask as DownloadTaskModel;
  6. /**
  7. * 文件下载任务
  8. * @author 唐远望
  9. * @version 2.0
  10. * @date 2026-04-01
  11. */
  12. class DownloadTask extends Controller
  13. {
  14. /**
  15. * 列表
  16. * @author 唐远望
  17. * @version 2.0
  18. * @date 2026-04-01
  19. */
  20. public function list(Request $request, DownloadTaskModel $DownloadTaskModel)
  21. {
  22. $request->scene('list')->validate();
  23. $admin_company_id = request('admin_company_id', '0');
  24. $company_id = request('access_token.company_id', '0');
  25. $is_admin = request('access_token.is_admin', '0');
  26. $user_id = request('access_token.uid', 0);
  27. // 查询条件
  28. $limit = request('limit', config('page_num', 10));
  29. $map[] = ['operator_userid', '=', $user_id];
  30. // 权限判断
  31. if ($is_admin != 1 && $company_id != 0) {
  32. $map['company_id'] = $company_id;
  33. } else {
  34. $map['company_id'] = $admin_company_id;
  35. }
  36. // 查询数据
  37. $result = $DownloadTaskModel->where($map)->orderByDesc('id')->paginate($limit);
  38. // 循环数据
  39. foreach ($result as $key => $value) {
  40. // 如果状态为 0。且时间超过30分钟
  41. if ($value->status == 0 && $value->create_time + 1800 < time()) {
  42. // 更新数据
  43. $DownloadTaskModel->edit($value->id, ['status' => 2]);
  44. // 更改状态
  45. $value->status = 2;
  46. }
  47. // 获取文件名称
  48. $result[$key] = $value;
  49. }
  50. // 加载模板
  51. return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
  52. }
  53. }