企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 获取订单地址信息 **位置:** Common\Lib\OrderLib.class.php **参数:** *@param $order_id 订单ID **调用:** ~~~ // 查询订单地址信息 $my_order = new OrdersLib(); $order_address = $my_order->getOrderAddress($order_id); ~~~ **返回:** 直发时返回地址表的订单地址信息,及是否直发标识符1 $order_address = array( 'consignee'=> // 收件人 'mobile'=> // 收件人电话 'province'=> // 省 'city’=> // 市 'area'=> // 区 'address'=> // 表中详细地址 'site'=> // 详细地址(省市区加address拼接) 'is_direct=>1 // 是否直发,0否,1是 ) 非直发时返回网店表中对应网店的代收货地址,及标识符0 $order_address = array( 'consignee' => // 代发货人 'mobile' => // 代发货电话 'site' => // 代发货地址 'is_direct' => 0; // 是否直发,0否,1是 ) **完整代码:** ~~~ /** * 获取收件人地址 * @param $order_id 订单ID * @return mixed * 直发时返回地址表的订单地址信息,及是否直发标识符1 *$order_address = array( * 'consignee'=> // 收件人 * 'mobile'=> // 收件人电话 * 'province'=> // 省 * 'city’=> // 市 * 'area'=> // 区 * 'address'=> // 表中详细地址 * 'site'=> // 详细地址(省市区加address拼接) * 'is_direct=>1 // 是否直发,0否,1是 * ) * 非直发时返回网店表中对应网店的代收货地址,及标识符0 *$order_address = array( * 'consignee' => // 代发货人 * 'mobile' => // 代发货电话 * 'site' => // 代发货地址 * 'is_direct' => 0; // 是否直发,0否,1是 * ) */ public function getOrderAddress($order_id) { $order_info = $this->orderInfo($order_id); // 判断是否是直发 $map_s['id'] = $order_info['store_id']; // 网店ID $source_info = M('system_ec_source')->where($map_s)->find(); if ($source_info['is_direct'] == 1) { $map_oa['order_id'] = array('eq', $order_id); // 订单ID $map_oa['is_delete'] = 0; // 伪删除状态0未删除,1已删除 $order_address = M('order_address')->where($map_oa)->find(); // 拼接收件人详细地址 $order_address['site'] = get_address($order_address['province']).get_address($order_address['city']).get_address($order_address['area']).$order_address['address']; $order_address['is_direct'] = 1; // 是否直发,0否,1是 } else { $raw_obj = json_decode($source_info['partner_address']); $partner = object_to_array($raw_obj); $order_address['consignee'] = $partner['consignee']; // 代发货人 $order_address['mobile'] = $partner['mobile']; // 待发货电话 $order_address['site'] = $partner['address']; // 待发货地址 $order_address['is_direct'] = 0; // 是否直发,0否,1是 } return $order_address; } ~~~