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'); }