select($sql); return $result; } //获取两条订单明细 protected function getOrderItems($order_id) { static $orderItems = array(); if (!$orderItems[$order_id]) { $orderItems[$order_id] = app::get('ome')->model('order_items')->getList('*', array('order_id' => $order_id), 0, 100); } return $orderItems[$order_id]; } //获取两条发货单明细 /** * 获取DeliveryItems * @param mixed $delivery_id ID * @return mixed 返回结果 */ public function getDeliveryItems($delivery_id) { static $deliveryItems = array(); if (!$deliveryItems[$delivery_id]) { $deliveryItems[$delivery_id] = app::get('ome')->model('delivery_items')->getList('*', array('delivery_id' => $delivery_id), 0, 100); } return $deliveryItems[$delivery_id]; } /** * 获取DirectSdf * @param mixed $delivery delivery * @return mixed 返回结果 */ public function getDirectSdf($delivery) { $items = app::get('ome')->model('delivery_items')->getList('*', array('delivery_id' => $delivery['delivery_id'])); $delivery_orders = app::get('ome')->model('delivery_order')->getList('*', array('delivery_id' => $delivery['delivery_id'])); $branch_id = $delivery['branch_id']; $wap_deliveryLib = kernel::single('wap_delivery'); $stores = $wap_deliveryLib->getBranchShopInfo($branch_id); $order_id = array_column($delivery_orders, 'order_id'); $store_id = $stores['store_id']; $cloudprint = $this->getCloudprint($store_id); $orders = app::get('ome')->model('orders')->getList('total_amount,order_bn', array('order_id' => $order_id)); $total_amount = 0; foreach ($orders as $v) { $total_amount += $v['total_amount']; } $delivery['order_createtime'] = date('Y-m-d H:i:s',$delivery['order_createtime']); $sdf = array(); $sdf['primary_bn'] = $delivery['delivery_bn']; $sdf['delivery'] = $delivery; $sdf['delivery']['delivery_item'] = $items; $sdf['order'] = $orders[0]; $sdf['stores'] = $stores; $sdf['dly_corp'] = $corp; $sdf['total_amount'] = $total_amount; $sdf['cloudprint'] = $cloudprint; return $sdf; } #设置子单的请求的订单号 /** * 设置ChildRqOrdNo * @param mixed $deliveryBn deliveryBn * @param mixed $billId ID * @return mixed 返回操作结果 */ public function setChildRqOrdNo($deliveryBn, $billId){ $deliveryBn = $deliveryBn."cd".$billId; return $deliveryBn; } /** * 获取Cloudprint * @param mixed $store_id ID * @return mixed 返回结果 */ public function getCloudprint($store_id){ $cloudprintMdl = app::get('logisticsmanager')->model('cloudprint'); $cloudprint = $cloudprintMdl->dump(array('store_id'=>$store_id),'machine_code,channel_id'); $channel_id = $cloudprint['channel_id']; $channelMdl = app::get('channel')->model('channel'); $channel = $channelMdl->dump(array('channel_id'=>$channel_id),'app_key,secret_key'); $channel['machine_code'] = $cloudprint['machine_code']; return $channel; } }