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