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; } } } 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']; } else { $goods_name = $order['name']; } if (count($info) > 1) { $param['delivery_mode'] = 2; $param['is_all_delivered'] = true; } 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; } } 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; } }