diff --git a/Server/application/cunkebao/config/route.php b/Server/application/cunkebao/config/route.php index a4a794da..ba1ed01e 100644 --- a/Server/application/cunkebao/config/route.php +++ b/Server/application/cunkebao/config/route.php @@ -106,6 +106,7 @@ Route::group('v1/', function () { Route::get('', 'app\cunkebao\controller\StatsController@baseInfoStats'); Route::get('plan-stats', 'app\cunkebao\controller\StatsController@planStats'); Route::get('sevenDay-stats', 'app\cunkebao\controller\StatsController@customerAcquisitionStats7Days'); + Route::get('today-stats', 'app\cunkebao\controller\StatsController@todayStats'); }); diff --git a/Server/application/cunkebao/controller/StatsController.php b/Server/application/cunkebao/controller/StatsController.php index 44887b81..acea1e6a 100644 --- a/Server/application/cunkebao/controller/StatsController.php +++ b/Server/application/cunkebao/controller/StatsController.php @@ -86,6 +86,62 @@ class StatsController extends Controller } + public function todayStats() + { + $date = date('Y-m-d',time()); + $start = strtotime($date . ' 00:00:00'); + $end = strtotime($date . ' 23:59:59'); + $companyId = $this->request->userInfo['companyId']; + + + $momentsNum = Db::name('workbench')->alias('w') + ->join('workbench_moments_sync_item wi', 'w.id = wi.workbenchId') + ->where(['w.companyId' => $companyId]) + ->where('wi.createTime', 'between', [$start, $end]) + ->count(); + + $groupPushNum = Db::name('workbench')->alias('w') + ->join('workbench_group_push_item wi', 'w.id = wi.workbenchId') + ->where(['w.companyId' => $companyId]) + ->where('wi.createTime', 'between', [$start, $end]) + ->count(); + + + $addNum = Db::name('customer_acquisition_task')->alias('ac') + ->join('task_customer tc', 'tc.task_id = ac.id') + ->where(['ac.companyId' => $companyId, 'ac.deleteTime' => 0]) + ->where('tc.updateTime', 'between', [$start, $end]) + ->whereIn('tc.status', [1, 2, 3, 4]) + ->count(); + + // 通过量 + $passNum = Db::name('customer_acquisition_task')->alias('ac') + ->join('task_customer tc', 'tc.task_id = ac.id') + ->where(['ac.companyId' => $companyId, 'ac.deleteTime' => 0]) + ->where('tc.updateTime', 'between', [$start, $end]) + ->whereIn('tc.status', [4]) + ->count(); + + if (!empty($passNum)){ + $passRate = number_format(($addNum / $passNum) * 100,2) ; + }else{ + $passRate = '0%'; + } + + $sysActive = '90%'; + $data = [ + 'momentsNum' => $momentsNum, + 'groupPushNum' => $groupPushNum, + 'addNum' => $addNum, + 'passNum' => $passNum, + 'passRate' => $passRate, + 'sysActive' => $sysActive, + ]; + return successJson($data, '获取成功'); + } + + + /** * 近7天获客统计 * @return \think\response\Json