| 
					
				 | 
			
			
				@@ -24,24 +24,83 @@ class Ship 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	# 发货信息录入
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public function add($callback, $project_id = 1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function add($order_id, $project_id = 1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return Core::run($project_id, 'ship', 'ship.addParam', '', 'wechat_applet', $callback, true);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Core::run($project_id, 'ship', 'ship.addParam', '', 'wechat_applet', $order_id, true);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public function addParam($callback)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function addParam($order_id)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return $callback();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$config = Dever::db('pay/account')->find(5);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$order = Dever::db('order/sell')->find($order_id);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$order_goods = Dever::db('order/sell_goods')->select(array('order_id' => $order_id));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$state = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		# 检测是否都发完货了
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if ($order_goods) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			foreach ($order_goods as $k => $v) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if ($v['status'] != 2) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					$state = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$state = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (!$state) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$order_delivery = Dever::db('order/sell_delivery')->select(array('order_id' => $order_id));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (!$order_delivery) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['order_key'] = array
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		(
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			'order_number_type' => 1,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			'mchid' => $config['mchid'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			'out_trade_no' => $order['order_num'],
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['logistics_type'] = 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['delivery_mode'] = 1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['shipping_list'] = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['upload_time'] = Dever::udate();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['payer']['openid'] = Dever::load('user/lib/applet')->getOpenid($order['uid']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$address = Dever::load('user/lib/address')->get($order['id'], 'order/sell', $order['uid'], $order['address_id']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		foreach ($order_delivery as $k => $v) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$express = Dever::db('goods/express')->find($v['base']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			$info = explode(',', $v['info']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if ($v['order_goods_id']) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$order_goods = Dever::db('order/sell_goods')->find($v['order_goods_id']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$goods = Dever::load('goods/lib/info.getBaseInfo', $order_goods['goods_id'], $order_goods['sku_id']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$goods_name = $goods['aname'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$goods_name = $order['name'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			foreach ($info as $k1 => $v1) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$send = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$send['tracking_no'] = $v1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$send['express_company'] = $express['wechat_number'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$send['item_desc'] = $goods_name;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$send['contact']['receiver_contact'] = Dever::mobile($address['phone']);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				$param['shipping_list'][] = $send;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $param;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	# 发货信息确认
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public function act($callback, $project_id = 1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function act($order_id, $project_id = 1)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return Core::run($project_id, 'ship_confirm', 'ship.actParam', '', 'wechat_applet', $callback, true);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return Core::run($project_id, 'ship_confirm', 'ship.actParam', '', 'wechat_applet', $order_id, true);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public function actParam($callback)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public function actParam($order_id)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return $callback();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$config = Dever::db('pay/account')->find(5);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$order = Dever::db('order/sell')->find($order_id);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param = array();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['merchant_id'] = $config['mchid'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['merchant_trade_no'] = $order['order_num'];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		$param['received_time'] = time();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return $param;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |