|
@@ -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;
|
|
|
}
|
|
|
}
|