| 
					
				 | 
			
			
				@@ -11,6 +11,7 @@ class Manage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Dever::config('base')->hook = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $audit = Dever::param('audit', $data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $status = Dever::param('status', $data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $desc = Dever::param('desc', $data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $order_id = Dever::param('order_id', $data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ($order_id && $status) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if ($status < 3) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,8 +19,22 @@ class Manage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $update = array('where_id' => $order_id, 'status' => $status+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if ($status == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         $order = Dever::db('agent/order')->find($order_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         $price = Dever::param('price', $data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize_type = Dever::param('prize_type', $data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if ($prize_type == 2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            # 扣减已有名额,判断一下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            $prize = Dever::db('setting/prize')->find(array('type' => 1, 'price' => $order['price'])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if ($prize) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                $member_goods = Dever::db('agent/member_goods')->getOne(array('mid' => $order['mid'], 'type' => 3, 'type_id' => $prize['id'])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if ($member_goods && $member_goods['num'] > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    # 有名额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $price = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    # 开始扣减 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    $member = Dever::db('agent/member')->find($order['mid']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    Dever::load('agent/lib/dhorder')->action($member, $prize['name'], $prize['num'], $prize['price'], array(), -1, 2, 3, $desc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if ($price <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             $update['get_type'] = 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } else { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -190,6 +205,7 @@ class Manage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 设置多个权益 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private function setGoods($order) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $goods = Dever::db('agent/order_goods')->getData(array('order_id' => $order['id'])); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -200,28 +216,34 @@ class Manage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ($goods) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $where = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             foreach ($goods as $k => $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $where['mid'] = $order['mid']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $where['type'] = $v['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $where['type_id'] = $v['type_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $where['sku_id'] = $v['sku_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $info = Dever::db('agent/member_goods')->find($where); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if ($info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $up['where_id'] = $info['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $up['total_num'] = $info['total_num'] + $v['num']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $state = Dever::db('agent/member_goods')->update($up); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if ($state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], $info['total_num'], $up['total_num']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $up = $where; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $up['total_num'] = $v['num']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $state = Dever::db('agent/member_goods')->insert($up); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if ($state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], 0, $up['total_num']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $this->addGoods($order, $v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 新增权益 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private function addGoods($order, $v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $where['mid'] = $order['mid']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $where['type'] = $v['type']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $where['type_id'] = $v['type_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $where['sku_id'] = $v['sku_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $info = Dever::db('agent/member_goods')->find($where); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ($info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $up['where_id'] = $info['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $up['total_num'] = $info['total_num'] + $v['num']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $state = Dever::db('agent/member_goods')->update($up); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ($state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], $info['total_num'], $up['total_num']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $up = $where; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $up['total_num'] = $v['num']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $state = Dever::db('agent/member_goods')->insert($up); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ($state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Dever::load('agent/lib/member_set')->log($order['mid'], $order['order_num'], $v['type'], $v['type_id'], $v['sku_id'], $v['num'], 0, $up['total_num']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -242,14 +264,37 @@ class Manage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $insert = $where; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $insert['cash'] = $t[3]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $insert['per'] = $t[5]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (isset($t[6])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $insert['prize_id'] = $t[6]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Dever::db('agent/order_cash')->insert($insert); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $update['where_id'] = $info['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $update['cash'] = $t[3]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $update['per'] = $t[5]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (isset($t[6])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $update['prize_id'] = $t[6]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Dever::db('agent/order_cash')->update($update); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (isset($t[6]) && isset($t[7])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $prize_info = Dever::db('setting/prize')->find($t[6]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if ($prize_info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize_insert['order_id'] = $order['order_id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize_insert['mid'] = $t[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize_insert['child_num'] = $t[7]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize_insert['prize_id'] = $prize_info['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Dever::db('agent/member_prize')->insert($prize_insert); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize['type'] = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize['type_id'] = $prize_info['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize['sku_id'] = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $prize['num'] = $prize_info['num']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $this->addGoods($order, $prize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $member = Dever::db('agent/member')->find($where['mid']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $desc = $member['name'] . '成为代理商,佣金'.$t[5].'%'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Dever::load('agent/lib/member')->up($order['id'], $order['role'], $where['type'], $where['parent_mid'], $t[3], $order['agent_cash'], $t[4], $desc); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -297,6 +342,9 @@ class Manage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function getGoods($type, $type_id, $sku_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ($type == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ($sku_id == -2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return '商品'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $goods_info = Dever::load('goods/lib/info')->getInfoBySku($type_id, $sku_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (isset($goods_info['sku'])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $sku = '-' . $goods_info['sku']['string']; 
			 |