ProductSurveillance.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace App\Http\Controllers\Manager\Statistics;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use App\Jobs\Manager\CollectData\Statistics\ProductSurveillanceJobs;
  6. use App\Models\Manager\External\Company as CompanyModel;
  7. use Illuminate\Support\Carbon;
  8. /**
  9. * 分析监控数据
  10. * @author 唐远望
  11. * @version 1.0
  12. * @date 2026-06-03
  13. *
  14. */
  15. class ProductSurveillance extends Controller
  16. {
  17. /**
  18. * 执行数据推送
  19. * @author 唐远望
  20. * @version 1.0
  21. * @date 2026-06-03
  22. *
  23. */
  24. public function push_data_notice()
  25. {
  26. // 验证参数
  27. $admin_company_id = request('admin_company_id', '');
  28. try {
  29. $start_time = time() - 60 * 60; // 1小时前开始时间
  30. $end_time = time(); // 当前时间
  31. $CompanyModel = new CompanyModel();
  32. $map = [];
  33. if (is_numeric($admin_company_id)) $map[] = ['id', '=', $admin_company_id];
  34. $company_list = $CompanyModel->where($map)->select(['id','company_name','status'])->where('status', 0)->orderByDesc('cleaning_priority')->get()->toarray();
  35. foreach ($company_list as $company) {
  36. $message_data = ['company_id' => $company['id'],'company_info'=>$company, 'start_time' => $start_time, 'end_time' => $end_time];
  37. //执行商品数据-监控采集清洗情况
  38. // ProductSurveillanceJobs::dispatch($message_data);
  39. ProductSurveillanceJobs::dispatchSync($message_data);
  40. }
  41. return json_send(['code' => 'success', 'msg' => '执行成功']);
  42. } catch (\Exception $e) {
  43. return json_send(['code' => 'error', 'msg' => '执行失败', 'data' => $e->getMessage()]);
  44. }
  45. }
  46. }