params[ 'province_id' ] ?? 0; $city_id = $this->params[ 'city_id' ] ?? 0; $district_id = $this->params[ 'district_id' ] ?? 0; $community_id = $this->params[ 'community_id' ] ?? 0; $address = $this->params[ 'address' ] ?? ''; $full_address = $this->params[ 'full_address' ] ?? ''; $longitude = $this->params[ 'longitude' ] ?? ''; $latitude = $this->params[ 'latitude' ] ?? ''; $mobile = $this->params[ 'mobile' ] ?? ''; $telephone = $this->params[ 'telephone' ] ?? ''; $name = $this->params[ 'name' ] ?? ''; $data = array ( 'province_id' => $province_id, 'city_id' => $city_id, 'district_id' => $district_id, 'community_id' => $community_id, 'address' => $address, 'full_address' => $full_address, 'longitude' => $longitude, 'latitude' => $latitude, 'mobile' => $mobile, 'telephone' => $telephone, 'name' => $name, 'order_id' => $order_id, 'site_id' => $this->site_id, 'uid' => $this->uid, ); $condition = array ( [ 'order_id', '=', $order_id ], [ 'site_id', '=', $this->site_id ] ); $result = $order_common_model->orderAddressUpdate($data, $condition); return $this->response($result); } /************************************************************* 物流相关 start **************************************************************************/ /** * 获取待发货项 */ public function getOrderExpressLists() { $order_id = $this->params[ 'order_id' ] ?? 0; //查询订单的可配送订单项 $order_trade_model = new OrderTradeModel(); $condition = array ( [ 'oe.site_id', '=', $this->site_id ], [ 'oe.order_id', '=', $order_id ] ); $result = $order_trade_model->getExpressOrderLists($condition); return $this->response($result); } /** * 订单发货 * @return mixed */ public function delivery() { $order_common_model = new OrderCommon(); $data = array ( 'order_goods_ids' => $this->params[ 'order_goods_ids' ] ?? 0,//商品id 'express_company_id' => $this->params[ 'express_company_id' ] ?? 0,//物流公司 'delivery_no' => $this->params[ 'delivery_no' ] ?? '',//快递单号 'order_id' => $this->params[ 'order_id' ] ?? 0,//订单id 'delivery_type' => $this->params[ 'delivery_type' ] ?? 'not',//是否需要物流 'site_id' => $this->site_id, 'uid' => $this->uid ); $result = $order_common_model->delivery($data); return $this->response($result); } /** * 确认收货(应该不会有) */ public function takeDelivery() { $order_id = $this->params[ 'order_id' ] ?? 0; $order_model = new OrderCommonModel(); $result = $order_model->orderCommonTakeDelivery($order_id); return $this->response($result); } /** * 查询可用的物流公司 * @return array */ public function getShopCompany() { $express_company_template_model = new ExpressCompanyTemplate(); //平台公用的物流公司 $company_list_result = $express_company_template_model->getExpressCompanyTemplateList([ [ "site_id", "=", 0 ] ]); $company_list = $company_list_result[ "data" ]; $company_list = array_column($company_list, "company_id"); $express_company_model = new ExpressCompany(); $result = $express_company_model->getExpressCompanyList([ [ "site_id", "=", $this->site_id ], [ 'company_id', 'in', $company_list ] ]); return $this->response($result); } /************************************************************* 物流相关 end **************************************************************************/ /************************************************************* 自提相关 start **************************************************************************/ /** * 获取待发货项 */ public function getOrderStoreLists() { $order_id = $this->params[ 'order_id' ] ?? 0; //查询订单的可配送订单项 $order_trade_model = new OrderTradeModel(); $condition = array ( [ 'site_id', '=', $this->site_id ], [ 'order_id', '=', $order_id ] ); $store_info = $order_trade_model->getOrderStore($condition, 'status')[ 'data' ] ?? []; if (empty($store_info)) return $this->response($this->error()); $order_common_model = new OrderCommon(); $order_info = $order_common_model->getOrderInfo($condition)[ 'data' ] ?? []; if (empty($order_info)) return $this->response($this->error()); $order_goods_list = $order_common_model->getOrderGoodsList($condition)[ 'data' ] ?? []; if (empty($order_goods_list)) return $this->response($this->error()); foreach ($order_goods_list as $k => $v) { $order_goods_list[ $k ][ 'store_info' ] = $store_info; } $order_info[ 'order_goods_list' ] = $order_goods_list; return $this->response($order_common_model->success($order_info)); } /** * 自提操作 */ public function takeStore() { $order_id = $this->params[ 'order_id' ] ?? 0; $store_type = $this->params[ 'store_type' ] ?? 'code';//提货方式 code 需要提货码 no_code无需提货码 $store_no = $this->params[ 'store_no' ] ?? '';//提货码 $order_trade_model = new OrderTradeModel(); $condition = array ( [ 'site_id', '=', $this->site_id ], [ 'order_id', '=', $order_id ] ); $store_info = $order_trade_model->getOrderStore($condition, 'member_verify_id')[ 'data' ] ?? []; if (empty($store_info)) return $this->response($this->error()); $member_verify_id = $store_info[ 'member_verify_id' ]; $verify_model = new VerifyModel(); switch ( $store_type ) { case 'code': if (empty($store_no)) { return $this->response($verify_model->error([], '核销码不能为空!')); } $verify_info = $verify_model->getMemberVerifyInfo([ [ 'verify_code', '=', $store_no ] ])[ 'data' ] ?? []; if (empty($verify_info)) { return $this->response($verify_model->error([], '核销码不是有效的!')); } if ($member_verify_id != $verify_info[ 'id' ]) return $this->response($verify_model->error([], '核销码和当前提货商品不匹配!')); break; case 'no_code': break; } $result = $verify_model->verify($member_verify_id, $this->uid, $this->site_id); return $this->response($result); } /************************************************************* 自提相关 end **************************************************************************/ /************************************************************* 本地配送相关 start **************************************************************************/ /** * 获取待发货项 */ public function getOrderLocalLists() { $order_id = $this->params[ 'order_id' ] ?? 0; //查询订单的可配送订单项 $order_trade_model = new OrderTradeModel(); $condition = array ( [ 'site_id', '=', $this->site_id ], [ 'order_id', '=', $order_id ] ); $local_info = $order_trade_model->getOrderLocal($condition, 'status')[ 'data' ] ?? []; if (empty($local_info)) return $this->error(); $order_common_model = new OrderCommon(); $order_info = $order_common_model->getOrderInfo($condition)[ 'data' ] ?? []; if (empty($order_info)) return $this->error(); $order_goods_list = $order_common_model->getOrderGoodsList($condition)[ 'data' ] ?? []; if (empty($order_goods_list)) return $this->error(); foreach ($order_goods_list as $k => $v) { $order_goods_list[ $k ][ 'local_info' ] = $local_info; } $order_info[ 'order_goods_list' ] = $order_goods_list; return $this->response($order_common_model->success($order_info)); } /** * 配送操作 */ public function doLocal() { $order_id = $this->params[ 'order_id' ] ?? 0; $delivery_clerk_id = $this->params[ 'delivery_clerk_id' ] ?? 0;//配送员 $order_common_model = new OrderCommon(); $data = array ( 'order_id' => $order_id, 'delivery_clerk_id' => $delivery_clerk_id, 'site_id' => $this->site_id, ); $result = $order_common_model->localDelivery($data); return $this->response($result); } /************************************************************* 本地配送相关 end **************************************************************************/ }