gorden il y a 10 mois
Parent
commit
a9496aa8b4

+ 0 - 1
app/admin/controller/client/CollectionController.php

@@ -19,7 +19,6 @@ class CollectionController extends Curd
         [$where, $format, $limit, $field, $order] = $this->selectInput($request);
         $order = $request->get('order', 'desc');
         $field = $field ?? 'client_favorite_addtimes';
-        $where['client_favorite_type'] = '收藏';
         $query = $this->doSelect($where, $field, $order);
         return $this->doFormat($query, $format, $limit);
     }

+ 1 - 1
app/admin/controller/client/FavoriteController.php

@@ -19,7 +19,7 @@ class FavoriteController extends Curd
         [$where, $format, $limit, $field, $order] = $this->selectInput($request);
         $order = $request->get('order', 'desc');
         $field = $field ?? 'client_favorite_addtimes';
-        $where['client_favorite_type'] = '关注';
+//        $where['client_favorite_type'] = '关注';
         $query = $this->doSelect($where, $field, $order);
         return $this->doFormat($query, $format, $limit);
     }

+ 43 - 12
app/admin/controller/statistics/MemberController.php

@@ -9,39 +9,70 @@ class MemberController
 {
     public function index()
     {
-        // 权益会员数量
+        // 会员数量
         $memberCount = Member::where('member_is_owner', 'N')->count();
         // 业主数量
-        $ownerCount = Member::where('member_is_owner', 'N')->count();
+        $ownerCount = Member::where('member_is_owner', 'Y')->count();
         // 用户总数
         $userCount = $memberCount + $ownerCount;
         // 今日新增用户数
         $todayTime = strtotime(date('Y-m-d 00:00:00'));
-        $todayCount = Member::where('member_addtimes', '>', $todayTime)->count();
+        $todayCount = Member::where('member_addtimes', '>', $todayTime)->where('member_is_owner', 'N')->count();
         // 本月新增用户数
         $monthTime = strtotime(date('Y-m-01 00:00:00'));
-        $monthCount = Member::where('member_addtimes', '>', $monthTime)->count();
+        $monthCount = Member::where('member_addtimes', '>', $monthTime)->where('member_is_owner', 'N')->count();
 
         // 折线图
         $newAddition = Db::select("SELECT DATE_FORMAT(FROM_UNIXTIME(member_addtimes), '%Y/%m') AS `month`,count(*) as `num` FROM app_member group by month");
         $newAdditionData = [];
-        foreach ($newAddition as $item){
+        foreach ($newAddition as $item) {
             $newAdditionData['category'][] = $item->month;
             $newAdditionData['data'][] = $item->num;
         }
 
         // 饼图
+        $newAdditionBing = Db::select("
+            SELECT CASE
+                WHEN TIMESTAMPDIFF(YEAR, member_cert_birth, CURDATE()) BETWEEN 0 AND 1 THEN '0'
+                WHEN TIMESTAMPDIFF(YEAR, member_cert_birth, CURDATE()) BETWEEN 1 AND 39 THEN '39'
+                WHEN TIMESTAMPDIFF(YEAR, member_cert_birth, CURDATE()) BETWEEN 40 AND 50 THEN '40-50'
+                WHEN TIMESTAMPDIFF(YEAR, member_cert_birth, CURDATE()) BETWEEN 51 AND 60 THEN '51-60'
+                WHEN TIMESTAMPDIFF(YEAR, member_cert_birth, CURDATE()) BETWEEN 61 AND 70 THEN '60-70'
+                WHEN TIMESTAMPDIFF(YEAR, member_cert_birth, CURDATE()) BETWEEN 71 AND 80 THEN '70-80'
+                ELSE '81以上'
+              END AS age_group,
+              COUNT(*) AS number_of_people
+            FROM
+              app_member_cert
+            GROUP BY
+              age_group
+            ORDER BY
+              age_group;
+        ");
+        $newAdditionBingData = [];
+        foreach ($newAdditionBing as $item) {
+            if ($item->age_group == '0') {
+                $item->age_group = '未知';
+            }elseif ($item->age_group == '39'){
+                $item->age_group = '40以下';
+            }
+            $newAdditionBingData[] = [
+                'name' => $item->age_group,
+                'value' => $item->number_of_people
+            ];
+        }
 
 
         $data = [
-            'memberCount'=>$memberCount,
-            'ownerCount'=>$ownerCount,
-            'userCount'=>$userCount,
-            'todayCount'=>$todayCount,
-            'monthCount'=>$monthCount,
-            'newAdditionData'=>$newAdditionData
+            'memberCount' => $memberCount,
+            'ownerCount' => $ownerCount,
+            'userCount' => $userCount,
+            'todayCount' => $todayCount,
+            'monthCount' => $monthCount,
+            'newAdditionData' => $newAdditionData,
+            'newAdditionBingData' => $newAdditionBingData
         ];
 
-        return json_success('',$data);
+        return json_success('', $data);
     }
 }