From b3f263c57a0dabe8536d13900196880c08268646 Mon Sep 17 00:00:00 2001 From: chenbo <709206448@qq.com> Date: Thu, 7 Dec 2023 18:33:15 +0800 Subject: [PATCH] =?UTF-8?q?update=20=20=E6=95=B0=E6=8D=AE=E4=B9=8B?= =?UTF-8?q?=E7=9C=BC-=E9=A6=96=E9=A1=B5-=E7=94=A8=E6=88=B7=E6=80=BB?= =?UTF-8?q?=E9=87=8F=E7=BB=9F=E8=AE=A1=E5=85=BC=E5=AE=B9=E5=8C=BA=E5=8E=BF?= =?UTF-8?q?/=E9=95=87=E8=A1=97=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/api/dataview/User.php | 38 ++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/app/controller/api/dataview/User.php b/app/controller/api/dataview/User.php index f810df67..145697d3 100644 --- a/app/controller/api/dataview/User.php +++ b/app/controller/api/dataview/User.php @@ -87,15 +87,43 @@ class User extends BaseController public function getTimeRangeUserCount($timeRange=[]) { // 新增 - $newUserCount = Db::name('user') - ->whereTime('create_time', 'between', $timeRange) + $newUserCount = Db::name('user')->alias('u') + ->join('user_address ua', 'u.uid = ua.uid') + ->where(function ($query){ + if ($this->streetCode != '') { + $query->where('ua.street', $this->streetCode); + } else { + $query->where('ua.district', $this->areaCode); + } + }) + ->whereTime('u.create_time', 'between', $timeRange)->fetchSql() ->count(); + // 访问 - $viewUserCount = Db::name('user') - ->whereTime('last_time', 'between', $timeRange) + $viewUserCount = Db::name('user')->alias('u') + ->join('user_address ua', 'u.uid = ua.uid') + ->where(function ($query){ + if ($this->streetCode != '') { + $query->where('ua.street', $this->streetCode); + } else { + $query->where('ua.district', $this->areaCode); + } + }) + ->whereTime('u.last_time', 'between', $timeRange)->fetchSql() ->count(); + // 累计 - $totalUserCount = Db::name('user')->whereTime('create_time', '<', $timeRange[1])->count(); + $totalUserCount = Db::name('user')->alias('u') + ->join('user_address ua', 'u.uid = ua.uid') + ->where(function ($query){ + if ($this->streetCode != '') { + $query->where('ua.street', $this->streetCode); + } else { + $query->where('ua.district', $this->areaCode); + } + }) + ->whereTime('u.create_time', '<', $timeRange[1])->fetchSql() + ->count(); return compact('newUserCount', 'viewUserCount', 'totalUserCount'); }