rabin 1 年之前
父節點
當前提交
59b7ac9a3e
共有 1 個文件被更改,包括 86 次插入69 次删除
  1. 86 69
      src/Ship.php

+ 86 - 69
src/Ship.php

@@ -26,93 +26,110 @@ class Ship
 	# 发货信息录入
 	public function add($order_id, $project_id = 1, $method = 1)
 	{
-		return Core::run($project_id, 'ship', 'ship.addParam', '', 'wechat_applet', $order_id, true);
+		return Core::run($project_id, 'ship', 'ship.addParam', '', 'wechat_applet', array($method, $order_id), true);
 	}
 
-	public function addParam($order_id)
+	public function addParam($param)
 	{
-		$config = Dever::db('pay/account')->find(5);
-		$order = Dever::db('order/sell')->find($order_id);
-		if ($order['price'] <= 0 || $order['price'] - $order['tk_cash'] <= 0) {
-			return false;
-		}
-		$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;
-				}
+		list($method, $order_id) = $param;
+		if ($method == 1) {
+			$config = Dever::db('pay/account')->find(5);
+			$order = Dever::db('order/sell')->find($order_id);
+			if ($order['price'] <= 0 || $order['price'] - $order['tk_cash'] <= 0) {
+				return 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'] = date(DATE_RFC3339);
-		$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'] && $v['order_goods_id'] > 0) {
-				$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'];
+			$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 {
-				$goods_name = $order['name'];
+				$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'] = date(DATE_RFC3339);
+			$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'] && $v['order_goods_id'] > 0) {
+					$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::hide($address['phone']);
+					$param['shipping_list'][] = $send;
+				}
 			}
-			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::hide($address['phone']);
-				$param['shipping_list'][] = $send;
+			if (count($param['shipping_list']) > 1) {
+				$param['delivery_mode'] = 2;
+				$param['is_all_delivered'] = true;
+			} else {
+				$param['is_all_delivered'] = false;
 			}
+			return $param;
 		}
-		if (count($param['shipping_list']) > 1) {
-			$param['delivery_mode'] = 2;
-			$param['is_all_delivered'] = true;
-		} else {
-			$param['is_all_delivered'] = false;
+		if ($method == 2) {
+
 		}
-		return $param;
+
+		return false;
+		
 	}
 
 	# 发货信息确认
 	public function act($order_id, $project_id = 1, $method = 1)
 	{
-		return Core::run($project_id, 'ship_confirm', 'ship.actParam', '', 'wechat_applet', $order_id, true);
+		return Core::run($project_id, 'ship_confirm', 'ship.actParam', '', 'wechat_applet', array($method, $order_id), true);
 	}
 
 	public function actParam($order_id)
 	{
-		$config = Dever::db('pay/account')->find(5);
-		$order = Dever::db('order/sell')->find($order_id);
-		if ($order['price'] <= 0 || $order['price'] - $order['tk_cash'] <= 0) {
-			return false;
+		list($method, $order_id) = $param;
+		if ($method == 1) {
+			$config = Dever::db('pay/account')->find(5);
+			$order = Dever::db('order/sell')->find($order_id);
+			if ($order['price'] <= 0 || $order['price'] - $order['tk_cash'] <= 0) {
+				return false;
+			}
+			$param = array();
+			$param['merchant_id'] = $config['mchid'];
+			$param['merchant_trade_no'] = $order['order_num'];
+			$param['received_time'] = time();
+			return $param;
+		}
+		if ($method == 2) {
+
 		}
-		$param = array();
-		$param['merchant_id'] = $config['mchid'];
-		$param['merchant_trade_no'] = $order['order_num'];
-		$param['received_time'] = time();
-		return $param;
+
+		return false;
 	}
 }