Your Name 3 年之前
父节点
当前提交
669f49aceb

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

@@ -1090,5 +1090,19 @@ return array
             'order' => array('role' => 'asc', 'id' => 'desc'),
             'col' => '*',
         ),
+
+        'getDataByShop' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'shop_id' => 'yes',
+                'status' => 'yes',
+                'state' => 1,
+            ),
+            'type' => 'all',
+            'order' => array('id' => 'desc'),
+            'col' => '*|id',
+        ),
     ),
 );

+ 14 - 0
service/agent/database/member_shop_log.php

@@ -144,6 +144,20 @@ return array
             // 'order' => array('cdate' => 'desc'),
             'col' => '*',
         ),
+        'getAllByShop' => array
+        (
+            # 匹配的正则或函数 选填项
+            'option' => array
+            (
+                'start' => array('yes-cdate','>='),
+                'end' => array('yes-cdate','<='),
+                'new_shop_id' => 'yes',
+                'state' => 1,
+            ),
+            'type' => 'all',
+            // 'order' => array('cdate' => 'desc'),
+            'col' => '*|mid',
+        ),
         'getGui' => array
         (
             # 匹配的正则或函数 选填项

+ 3 - 1
service/agent/database/order.php

@@ -990,7 +990,9 @@ return array
                 'start' => array('yes-fdate','>='),
                 'end' => array('yes-fdate','<='),
                 'mid' => 'yes',
-                'parent_mid' => 'yes',
+                'parent_mid' => array('yes', 'in'),
+                'role' => array('yes','in'),
+                'status' => 4,
                 'state' => 1,
             ),
             'type' => 'one',

+ 12 - 0
service/bill/database/shop_stat.php

@@ -63,6 +63,18 @@ $config = array
             //'list_order' => 6,
         ),
 
+        'month_mids'      => array
+        (
+            'type'      => 'text-255',
+            'name'      => '代理商id',
+            'default'   => '',
+            'desc'      => '代理商id',
+            'match'     => 'is_numeric',
+            // 'option'    => $shop,
+            // 'list'      => true,
+            //'list_order' => 6,
+        ),
+
         'shop_id'      => array
         (
             'type'      => 'int-11',

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

@@ -503,6 +503,101 @@ class Cron
         $start = Dever::maketime($start_time);
         $end = Dever::maketime($end_time);
         $shops = Dever::db('shop/info')->getAll();
+        foreach ($shops as $k => $v) {
+            $w = array('end' => $end,'new_shop_id'=> $v['id']);
+            $member = Dever::db('agent/member_shop_log')->getAllByShop($w);
+            if ($member) {
+                $member_mid = implode(',', array_keys($member));
+
+                $w['start'] = $start;
+                $cmember = Dever::db('agent/member_shop_log')->getAllByShop($w);
+
+                $insert = array();
+                $insert['shop_id'] = $v['id'];
+                $insert['month'] = $start;
+                $insert['c_money'] = 0;
+                $insert['mids'] = $member_mid;
+                $insert['month_mids'] = array();
+                $insert['num'] = 0;
+                $insert['dl_num'] = 0;
+                $insert['v_num'] = 0;
+                $insert['ck_num'] = 0;
+                $insert['out_num'] = 0;
+                $insert['out_money'] = 0;
+                $insert['nei_money'] = 0;
+
+                $out_member = array();
+                $nei_member = array();
+                if ($cmember) {
+                    foreach ($cmember as $k1 => $v1) {
+                        $vinfo = Dever::db('agent/member')->find($v1['mid']);
+                        if ($vinfo) {
+                            $insert['month_mids'][] = $v1['mid'];
+                            $insert['num'] += 1;
+                            if ($vinfo['role'] == 8) {
+                                $insert['v_num'] += 1;
+                                if ($vinfo['prize_type'] == 1) {
+                                    $insert['out_num'] += 1;
+                                    $out_member[] = $v1['mid'];
+                                } else {
+                                    $nei_member[] = $v1['mid'];
+                                }
+                            } else {
+                                $insert['dl_num'] += 1;
+                            }
+                            if ($vinfo['role'] == 6) {
+                                $insert['ck_num'] += 1;
+                            }
+                        }
+                    }
+                    $insert['month_mids'] = implode(',', $insert['month_mids']);
+                }
+                $insert['c_money'] = Dever::db('shop/buy_order')->getCashNum(array('type'=>1,'type_id'=>$v['id']));
+               $insert['c_money'] = $insert['c_money']['total'];
+
+                $where = array
+                (
+                    'parent_mid' => $member_mid,
+                    'start' => $start,
+                    'end' => $end
+                );
+                
+
+                $insert['money'] = Dever::db('agent/order')->getCount($where);
+                $insert['money'] = $insert['money']['total'];
+
+                $where['role'] = '1,2,3,4,5,6,7';
+                $insert['dl_money'] = Dever::db('agent/order')->getCount($where);
+                $insert['dl_money'] = $insert['dl_money']['total'];
+                
+
+                $where['role'] = 8;
+                if ($out_member) {
+                    $where['parent_mid'] = $out_member;
+                    $insert['out_money'] = Dever::db('agent/order')->getCount($where);
+                    $insert['out_money'] = $insert['out_money']['total'];
+                }
+                
+
+                if ($nei_member) {
+                    $where['parent_mid'] = $nei_member;
+                    $insert['nei_money'] = Dever::db('agent/order')->getCount($where);
+                    $insert['nei_money'] = $insert['nei_money']['total'];
+                }
+                
+
+                $res = Dever::db('bill/shop_stat')->find(array('month'=>$insert['month'],'shop_id'=>$v['id']));
+                if ($res) {
+                    $insert['where_id'] = $res['id'];
+                    Dever::db('bill/shop_stat')->update($insert);
+                } else {
+                    Dever::db('bill/shop_stat')->insert($insert);
+                }
+            }
+        }
+
+/*
+
         $logs = Dever::db('agent/member_shop_log')->getGui(array('start'=>$start,'end'=>$end,'state'=>1));
         foreach($logs as $a => $b){
             $log[$b['mid']]=$b;
@@ -644,6 +739,7 @@ class Cron
                 }     
             }
         }     
+        */
         return 'ok';
     }