|
|
|
|
@ -248,12 +248,11 @@ class StatisticsController extends CommonController
|
|
|
|
|
return $this->error($this->noProjects);
|
|
|
|
|
}
|
|
|
|
|
$project_id = request()->project_id ?? $projects->first()->id;
|
|
|
|
|
|
|
|
|
|
$before_date = $request->before_date ?: date("Y-m-d");
|
|
|
|
|
$before_datetime = strtotime($before_date . " 23:59:59");
|
|
|
|
|
|
|
|
|
|
DB::enableQueryLog();
|
|
|
|
|
//todo:子订单的数量增加,用更省查询时间的方式获取项目相关数据
|
|
|
|
|
|
|
|
|
|
$customers = (new Customer())
|
|
|
|
|
->whereNull("deleted_at")
|
|
|
|
|
->with([
|
|
|
|
|
@ -264,16 +263,18 @@ class StatisticsController extends CommonController
|
|
|
|
|
$query->whereRaw("UNIX_TIMESTAMP(`created_at`) <= {$before_datetime}")->orderBy("id", "desc");
|
|
|
|
|
}
|
|
|
|
|
])
|
|
|
|
|
->whereHas("balances", function ($query) use ($before_datetime, $project_id) {
|
|
|
|
|
->whereHas("oneBalance", function ($query) use ($before_datetime) {
|
|
|
|
|
$query->whereRaw("UNIX_TIMESTAMP(`created_at`) <= {$before_datetime}")->where("balance", ">", 0)->orderBy("id", "desc");
|
|
|
|
|
})
|
|
|
|
|
->whereHas("orders", function ($query) use ($before_datetime, $project_id) {
|
|
|
|
|
$query
|
|
|
|
|
->whereRaw("UNIX_TIMESTAMP(`created_at`) <= {$before_datetime}")
|
|
|
|
|
->whereHas("order", function ($query) use ($project_id) {
|
|
|
|
|
$query->where("project_id", $project_id);
|
|
|
|
|
});
|
|
|
|
|
->where("project_id", $project_id);
|
|
|
|
|
})
|
|
|
|
|
->get();
|
|
|
|
|
|
|
|
|
|
return view($this->bladePath . ".customer-balance", compact("customers", "before_datetime"));
|
|
|
|
|
$laravel_duration = microtime(true) - LARAVEL_START;
|
|
|
|
|
return view($this->bladePath . ".customer-balance", compact("customers", "before_datetime", "project_id", "laravel_duration"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function fixMonthLastDayCheckout(Request $request)
|
|
|
|
|
|