| 
					
				 | 
			
			
				@@ -87,7 +87,7 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $result['search']['status'] = $this->config['status']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $config = Dever::db('main/sell_config')->find(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $result['card_name'] = $config['card']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $result['card_name'] = $config['card_name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return $result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -108,7 +108,7 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $result = $this->getInfo($result, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $config = Dever::db('main/sell_config')->find(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $result['card_name'] = $config['card']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $result['card_name'] = $config['card_name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return $result; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -171,8 +171,63 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return $info; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function getCard(&$data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $card_id = Dever::input('card_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!$card_id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Dever::alert('请传入礼品卡'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $card_id = explode(',', $card_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $num = Dever::input('num'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!$num) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Dever::alert('请传入数量'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $num = explode(',', $num); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $city = Dever::input('city'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!$city) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Dever::alert('请传入城市'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $city = explode(',', $city); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data['price'] = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data['num'] = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data['name'] = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data['type'] = $data['list'] = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # 计算总价格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreach ($card_id as $k => $v) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $c = isset($city[$k]) ? $city[$k] : -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $n = isset($num[$k]) ? $num[$k] : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $info = Dever::db('card/info')->find($v); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!$info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $type = Dever::db('card/type')->find($info['type_id']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!isset($data['type'][$info['type_id']])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $data['type'][$info['type_id']] = $type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['type'][$info['type_id']]['list'][$k] = $info; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['type'][$info['type_id']]['list'][$k]['buy_num'] = $n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['type'][$info['type_id']]['list'][$k]['city'] = $c; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['list'][$k] = $info; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['list'][$k]['buy_num'] = $n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['list'][$k]['city'] = $c; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['num'] += $n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['price'] += $data['list'][$k]['price'] * $n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['name'][] = $data['list'][$k]['name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data['name'] = implode(',', $data['name']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $config = Dever::db('main/sell_config')->find(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $data['card_name'] = $config['card_name']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 发起支付 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function pay($user, $shop, $name, $num, $card, $oprice, $price, $cash, $address_id, $system_source = 5, $refer = '') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function pay($user, $shop, $name, $num, $card, $price, $address_id, $system_source = 5, $refer = '') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!$user) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Dever::alert('错误的用户信息'); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -194,7 +249,6 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $order_data['address_id'] = $address_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $order_data['name'] = $name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $order_data['num'] = $num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $order_data['oprice'] = $oprice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $order_data['price'] = $price; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $order_data['order_num'] = $this->getOrderId(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -208,6 +262,7 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $data['uid'] = $uid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $data['order_id'] = $id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $data['card_id'] = $v['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $data['city'] = $v['city']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $data['price'] = $v['price']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $data['num'] = $v['buy_num']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -238,14 +293,16 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $param['receipt'] = $receipt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $result = Dever::load('pay/api.pay', $param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //$result = Dever::load('pay/api.pay', $param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $result['type'] = 'test'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $result['order'] = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $result['order_num'] = $order_data['order_num']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $result['order_id'] = $id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return $result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 再次发起支付 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function raction($id, $system_source = 5, $refer = '') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function rpay($id, $system_source = 5, $refer = '') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $order = Dever::db('card/order')->find($id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -263,7 +320,7 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'channel_id' => 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'system_source' => $system_source, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'uid' => $order['uid'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            'name' => $order['name'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'name' => $order['price'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'cash' => $order['price'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'product_id' => $id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             'order_id' => $order['order_num'], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -359,6 +416,7 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 添加配送信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function updatePs($order, $status = 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Dever::config('base')->hook = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $where['order_id'] = $order['id']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $data = Dever::db('card/order_ps')->find($where); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -372,7 +430,7 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $update['qs_date'] = time(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Dever::db('card/order_ps')->update($update); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $state = Dever::db('card/order_ps')->update($update); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -416,4 +474,23 @@ class Buy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return $status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 收货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function send() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $order_id = Dever::input('order_id'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $order = Dever::db('card/order')->find($order_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!$order || ($order && $order['status'] != 3)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Dever::alert('当前订单状态无法完成收货'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $state = Dever::db('card/order')->update(array('where_id' => $order['id'], 'status' => 4, 'fdate' => time())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ($state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $this->updatePs($order, 3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 'reload'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |