作者 赵彬吉

fb inquiry chart

@@ -21,6 +21,7 @@ use App\Models\Project\Project; @@ -21,6 +21,7 @@ use App\Models\Project\Project;
21 use App\Utils\HttpUtils; 21 use App\Utils\HttpUtils;
22 use GuzzleHttp\Exception\GuzzleException; 22 use GuzzleHttp\Exception\GuzzleException;
23 use Illuminate\Http\Request; 23 use Illuminate\Http\Request;
  24 +use Illuminate\Support\Facades\DB;
24 25
25 /** 26 /**
26 * Class AdsController 27 * Class AdsController
@@ -220,6 +221,30 @@ class AdsController extends BaseController @@ -220,6 +221,30 @@ class AdsController extends BaseController
220 } 221 }
221 222
222 /** 223 /**
  224 + * FB询盘统计
  225 + * @param Request $request
  226 + * @return \Illuminate\Http\JsonResponse
  227 + * @author zbj
  228 + * @date 2024/11/25
  229 + */
  230 + public function fbInquiryChart(Request $request)
  231 + {
  232 + $start_date = $request->input('start_date', date('Y-m-d', strtotime('-1 month')));
  233 + $end_date = $request->input('end', date('Y-m-d'));
  234 + $result = ReInquiryForm::select(DB::raw('DATE(inquiry_date) as date'), DB::raw('COUNT(*) as count'))
  235 + ->whereBetween('inquiry_date', [$start_date, date('Y-m-d', strtotime($end_date . ' +1 day'))])
  236 + ->groupBy(DB::raw('DATE(inquiry_date)'))
  237 + ->pluck('count', 'date')->toArray();
  238 + $data = [];
  239 + while ($start_date <= $end_date) {
  240 + $data[$start_date] = $result[$start_date]??0;
  241 + $start_date = date('Y-m-d', strtotime($start_date . ' + 1 day'));
  242 + }
  243 +
  244 + return $this->response('success', Code::SUCCESS, $data);
  245 + }
  246 +
  247 + /**
223 * FB询盘转发详情 248 * FB询盘转发详情
224 * @param Request $request 249 * @param Request $request
225 * @return \Illuminate\Http\JsonResponse 250 * @return \Illuminate\Http\JsonResponse
@@ -491,6 +491,7 @@ Route::middleware(['aloginauth'])->group(function () { @@ -491,6 +491,7 @@ Route::middleware(['aloginauth'])->group(function () {
491 Route::any('/fb_set_site', [Aside\Task\AdsController::class, 'setRelaySite'])->name('admin.fb_set_site'); 491 Route::any('/fb_set_site', [Aside\Task\AdsController::class, 'setRelaySite'])->name('admin.fb_set_site');
492 Route::any('/fb_check_domain', [Aside\Task\AdsController::class, 'checkDomain'])->name('admin.fb_check_domain'); 492 Route::any('/fb_check_domain', [Aside\Task\AdsController::class, 'checkDomain'])->name('admin.fb_check_domain');
493 Route::any('/fb_inquiry_list', [Aside\Task\AdsController::class, 'fbInquiryList'])->name('admin.fb_ads_inquiry_list'); 493 Route::any('/fb_inquiry_list', [Aside\Task\AdsController::class, 'fbInquiryList'])->name('admin.fb_ads_inquiry_list');
  494 + Route::any('/fb_inquiry_chart', [Aside\Task\AdsController::class, 'fbInquiryChart'])->name('admin.fb_ads_inquiry_chart');
494 Route::any('/fb_relay_detail_list', [Aside\Task\AdsController::class, 'fbRelayDetail'])->name('admin.fb_ads_relay_detail_list'); 495 Route::any('/fb_relay_detail_list', [Aside\Task\AdsController::class, 'fbRelayDetail'])->name('admin.fb_ads_relay_detail_list');
495 Route::any('/fb_relay_count', [Aside\Task\AdsController::class, 'fbRelayCount'])->name('admin.fb_relay_count'); 496 Route::any('/fb_relay_count', [Aside\Task\AdsController::class, 'fbRelayCount'])->name('admin.fb_relay_count');
496 }); 497 });