作者 lyh

gx

... ... @@ -133,4 +133,24 @@ class Common
$arr = array_map('unserialize', $arr);
return $arr;
}
/**
* @param $targetDateTime
* @name :(获取时间差,精确时分秒,返回天数)getDaysToTargetDate
* @author :lyh
* @method :post
* @time :2023/5/24 9:38
*/
public static function getDaysToTargetDate($targetDateTime)
{
// 当前日期时间
$currentDateTime = new DateTime();
// 目标日期时间
$targetDateTimeObj = new DateTime($targetDateTime);
// 计算日期时间差距
$interval = $currentDateTime->diff($targetDateTimeObj);
// 获取总天数差距
$days = $interval->days;
return $days;
}
}
... ...
... ... @@ -210,5 +210,4 @@ class BaseController extends Controller
}
}
... ...
... ... @@ -3,7 +3,10 @@
namespace App\Http\Controllers\Bside\HomeCount;
use App\Enums\Common\Code;
use App\Helper\Common;
use App\Http\Controllers\Bside\BaseController;
use App\Models\Project\DeployBuild;
use Illuminate\Support\Facades\DB;
class CountController extends BaseController
{
... ... @@ -22,5 +25,28 @@ class CountController extends BaseController
return $this->response('success',Code::SUCCESS,$data);
}
/***
* @name :(手动获取昨日数据统计)yesterday
* @author :lyh
* @method :post
* @time :2023/5/24 9:13
*/
public function yesterday(){
$deployModel = new DeployBuild();
$list = $deployModel->list();
$data = [];
foreach ($list as $v){
$arr = [];
$yesterday = now()->subDay();
$arr['yesterday_pv_num'] = DB::table('gl_customer_visit_item')->whereDate('created_at', $yesterday)->where('domain',$v['test_domain'])->count();
$arr['yesterday_ip_num'] = DB::table('gl_customer_visit')->whereDate('created_at', $yesterday)->where('domain',$v['test_domain'])->count();
$arr['inquiry_num'] = DB::table('gl_inquiry_set')->whereDate('created_at', $yesterday)->where('project_id',$v['project_id'])->count();
$arr['date'] = date('Y-m-d',time());
$arr['compliance_day'] = DB::table('gl_rank_data')->where(['updated_date'=>$yesterday,'lang'=>null])->select(['compliance_day'])->first()['compliance_day'];
$arr['service_day'] = $v['service_duration'] - Common::getDaysToTargetDate($v['created_at']);
$data[] = $arr;
}
DB::table('gl_yesterday_count')->insert($data);
$this->response('success');
}
}
... ...
... ... @@ -3,14 +3,14 @@
namespace App\Http\Logic\Bside\HomeCount;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\HomeCount\YesterdayCount;
class CountLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new Yes();
$this->model = new YesterdayCount();
}
/**
... ... @@ -20,6 +20,15 @@ class CountLogic extends BaseLogic
* @time :2023/5/23 17:30
*/
public function yesterday_count(){
return $this->success();
$yesterday = now()->subDay();
$param = [
'date' => $yesterday,
'project_id' => $this->user['project_id']
];
$info = $this->model->read($param);
return $this->success($info);
}
}
... ...
... ... @@ -6,7 +6,7 @@ use App\Models\Base;
class WebSetting extends Base
{
//锚文本常量配置在
//锚文本常量配置在settingTextModel中
protected $table = 'gl_web_setting';
//连接数据库
... ...
... ... @@ -262,7 +262,11 @@ Route::middleware(['bloginauth','accesstoken'])->group(function () {
Route::any('/get_google_rank', [\App\Http\Controllers\Bside\RankDataController::class, 'get_google_rank'])->name('rank_data_get_google_rank');
});
//首页统计数据
Route::prefix('home')->group(function () {
Route::any('count', [\App\Http\Controllers\Bside\HomeCount\CountController::class, 'count'])->name('home_count');
Route::any('yesterday', [\App\Http\Controllers\Bside\HomeCount\CountController::class, 'yesterday'])->name('home_yesterday');
});
});
//无需登录验证的路由组
Route::group([], function () {
... ...