rabin 2 years ago
parent
commit
e1d7aed711
3 changed files with 74 additions and 0 deletions
  1. 19 0
      service/agent/database/member.php
  2. 2 0
      service/agent/database/order.php
  3. 53 0
      service/bill/lib/Cron.php

+ 19 - 0
service/agent/database/member.php

@@ -814,6 +814,25 @@ return array
             'col' => '*',
         ),
 
+        # 获取余额
+        'getCash' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'start' => array('yes-cdate', '>='),
+                'end' => array('yes-cdate', '<='),
+                'fstart' => array('yes-rdate', '>='),
+                'fend' => array('yes-rdate', '<='),
+                'status' => 'yes',
+                'role' => 'yes',
+                'parent_mid' =>'yes',
+                'state' => 1,
+            ),
+            'type' => 'one',
+            'col' => 'sum(cash) as total',
+        ),
+
         'getSearch' => array
         (
             # 匹配的正则或函数 选填项

+ 2 - 0
service/agent/database/order.php

@@ -816,6 +816,7 @@ return array
                 'end' => array('yes-cdate', '<='),
                 'fstart' => array('yes-fdate', '>='),
                 'fend' => array('yes-fdate', '<='),
+                'role' => 'yes',
                 'status' => array('yes', 'in'),
                 'state' => 1,
             ),
@@ -833,6 +834,7 @@ return array
                 'end' => array('yes-cdate', '<='),
                 'fstart' => array('yes-fdate', '>='),
                 'fend' => array('yes-fdate', '<='),
+                'role' => 'yes',
                 'status' => array('yes', 'in'),
                 'state' => 1,
             ),

+ 53 - 0
service/bill/lib/Cron.php

@@ -611,4 +611,57 @@ class Cron
         }     
         return 'ok';
     }
+
+    # 角色统计
+    public function role_api()
+    {
+        $num = Dever::input('num', 5);
+        $start = Dever::input('start', date('Y-m-d', strtotime('-'.$num.' day')));
+        $end = Dever::input('end', date('Y-m-d'));
+
+        $start = Dever::maketime($start . ' 00:00:00');
+        $end = Dever::maketime($end . ' 23:59:59');
+        $day = intval(($end - $start)/86400);
+        $status = 4;
+
+        $role = Dever::load('setting/role-state');
+
+        for($i=0; $i<=$day; $i++) {
+            $where = array();
+            $where['fstart'] = $start + 86400*$i;
+            $where['fend'] = $start + 86400*$i + 86399;
+            $where['status'] = 4;
+
+            foreach ($role as $k => $v) {
+                $data = array();
+                $data['day'] = $where['fstart'];
+                $data['role'] = $v['id'];
+                $where['role'] = $v['id'];
+                $info = Dever::db('bill/role_stat')->find($data);
+                $data['num'] = Dever::db('agent/order')->getNum($where);
+
+                $cash = Dever::db('agent/order')->getCash($where);
+                if ($cash) {
+                    $data['cash'] = $cash['total'];
+                } else {
+                    $data['cash'] = 0;
+                }
+                $data['touru'] = $data['cash'];
+                $cash = Dever::db('agent/member')->getCash($where);
+                if ($cash) {
+                    $data['shouru'] = $agent_cash['total'];
+                } else {
+                    $data['shouru'] = 0;
+                }
+                if (!$info) {
+                    Dever::db('bill/order_stat')->insert($data);
+                } else {
+                    $data['where_id'] = $info['id'];
+                    Dever::db('bill/order_stat')->update($data);
+                }
+            }
+        }
+
+        return 'ok';
+    }
 }