dever 2 years ago
parent
commit
032cdf7e3f
4 changed files with 78 additions and 0 deletions
  1. 39 0
      database/stat.php
  2. 13 0
      database/user.php
  3. 7 0
      lib/Cron.php
  4. 19 0
      lib/Manage.php

+ 39 - 0
database/stat.php

@@ -55,6 +55,28 @@ return array
             'list'      => true,
         ),
 
+        'order_user'      => array
+        (
+            'type'      => 'int-11',
+            'name'      => '下单用户量',
+            'default'   => '0',
+            'desc'      => '下单用户量',
+            'match'     => 'option',
+            'update'    => 'text',
+            'list'      => Dever::config('base')->passport_stat_order ? true : false,
+        ),
+
+        'hb'      => array
+        (
+            'type'      => 'varchar-11',
+            'name'      => '新增环比增长率',
+            'default'   => '0',
+            'desc'      => '新增环比增长率',
+            'match'     => 'option',
+            'update'    => 'text',
+            'list'      => 'Dever::load("passport/lib/manage.getHb", "{user}", "{day}")',
+        ),
+
         'state'     => array
         (
             'type'      => 'tinyint-1',
@@ -112,5 +134,22 @@ return array
             'type' => 'all',
             'col' => '*',
         ),
+
+        'prev' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'day' => array('yes-day', '<'),
+                //'start_day' => array('yes-day', '>='),
+                //'end_day' => array('yes-day', '<='),
+                'state' => 1,
+            ),
+            'order' => array('day' => 'desc', 'id' => 'desc'),
+            'type' => 'one',
+            'col' => '*',
+            # 允许自定义以上配置
+            'config' => true,
+        ),
     ),
 );

+ 13 - 0
database/user.php

@@ -621,5 +621,18 @@ return array
             'type' => 'count',
             'col' => '*',
         ),
+        'like' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'username' => array('yes', 'like'),
+                'id' => 'yes',
+                'state' => 1,
+            ),
+            'type' => 'all',
+            'order' => array('id' => 'desc'),
+            'col' => '*|id',
+        ),
 	),
 );

+ 7 - 0
lib/Cron.php

@@ -56,6 +56,13 @@ class Cron
             $data['day'] = $where['start'];
             $info = Dever::db('passport/stat')->find($data);
             $data['user'] = $num;
+            $order = Dever::config('base')->passport_stat_order;
+            if ($order) {
+                $order = Dever::load($order, $where);
+                $data['order_user'] = $order;
+            }
+            $data['hb'] = 0;
+            
             if (!$info) {
                 Dever::db('passport/stat')->insert($data);
             } else {

+ 19 - 0
lib/Manage.php

@@ -145,4 +145,23 @@ class Manage
 
         return $data;
     }
+
+    # 获取环比增长
+    public function getHb($user, $day)
+    {
+        $where = array('day' => Dever::maketime($day));
+        $search = Dever::search_button();
+        if ($search) {
+            $where['config']['group'] = $search[0];
+            $where['config']['col'] = str_replace('|id', '', $search[1]);
+        }
+        $prev = Dever::db('passport/stat')->prev($where);
+        if ($prev) {
+            $hb = round(($user-$prev['user'])/$prev['user'], 2)*100;
+        } else {
+            $hb = 0;
+        }
+
+        return $hb . '%';
+    }
 }