| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- <?php
 
- /*
 
- |--------------------------------------------------------------------------
 
- | 发货 https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/order-shipping/order-shipping.html#%E4%B8%80%E3%80%81%E5%8F%91%E8%B4%A7%E4%BF%A1%E6%81%AF%E5%BD%95%E5%85%A5%E6%8E%A5%E5%8F%A3
 
- |--------------------------------------------------------------------------
 
- */
 
- namespace Wechat_applet\Src;
 
- use Dever;
 
- use Token\Lib\Wechat;
 
- use Token\Lib\Core;
 
- class Ship
 
- {
 
- 	# 获取物流
 
- 	public function delivery($method, $project_id = 1)
 
- 	{
 
- 		return Core::run($project_id, 'delivery', '', 'ship.deliveryAction', 'wechat_applet', $method, true);
 
- 	}
 
- 	public function deliveryAction($project_id, $data, $method = false)
 
- 	{
 
- 		Dever::load($method, $data);
 
- 	}
 
- 	# 发货信息录入
 
- 	public function add($order_id, $project_id = 1)
 
- 	{
 
- 		return Core::run($project_id, 'ship', 'ship.addParam', '', 'wechat_applet', $order_id, true);
 
- 	}
 
- 	public function addParam($order_id)
 
- 	{
 
- 		$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']) {
 
- 				print_r($v);die;
 
- 				$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;
 
- 			}
 
- 		}
 
- 		print_r($param);die;
 
- 		return $param;
 
- 	}
 
- 	# 发货信息确认
 
- 	public function act($order_id, $project_id = 1)
 
- 	{
 
- 		return Core::run($project_id, 'ship_confirm', 'ship.actParam', '', 'wechat_applet', $order_id, true);
 
- 	}
 
- 	public function actParam($order_id)
 
- 	{
 
- 		$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;
 
- 	}
 
- }
 
 
  |