getHotelInfo($param['hotel_id']); if (!$hotelInfo['flag']){ return $hotelInfo; } $roomInfo = $this->getRoomInfo($param['room_id']); if (!$roomInfo['flag']){ return $roomInfo; } $roomPlan = $this->getRoomPlan($param['plan_id']); if (!$roomPlan['flag']) { return $roomPlan; } try { //设置入参 $data = [ "order_id" => $orderId, "hotel_id" => $param['hotel_id'], "hotel_name" => $hotelInfo['data']['hotel_name'], "hotel_phone" => $hotelInfo['data']['hotel_phone'], "province_name" => $hotelInfo['data']['province_name'], "city_name" => $hotelInfo['data']['city_name'], "area_name" => $hotelInfo['data']['area_name'], "detail_address" => $hotelInfo['data']['detail_address'], //房型 "room_id" => $param['room_id'], "room_name" => $roomInfo['data']['room_name'], "room_memo" => $roomInfo['data']['room_memo'], //价格方案 "plan_id" => $param['plan_id'], "plan_name" => $roomPlan['data']['plan_name'], "plan_memo" => $roomPlan['data']['plan_memo'], //其他 "check_in_date" => $param['check_in_date'], "check_out_date" => $param['check_out_date'], "confirm_status" => $param['confirm_status'], "confirm_no" => $param['confirm_no'], "customer_name" => $param['customer_name'], "customer_comments" => empty($param['customer_comments'])?"":$param['customer_comments'], "trade_order_number" => $param['trade_order_number'], "del_flag"=>0 ]; $orderHotelModel = new OrderHotel(); if (empty($param['id'])) { $id = $orderHotelModel->insertGetId($data); return Util::returnArrSu("", $id); }else { $orderHotelModel->save($data, ["id" => $param['id']]); return Util::returnArrSu("", $param['id']); } }catch (Exception $e){ return Util::returnArrEr("更新酒店子订单失败:".$e->getMessage()); } } /** * 获取酒店信息 * @param $id * @return array */ public function getHotelInfo($id) { try { $model = new CfHotelInfo(); $result = $model->where(["id" => $id])->find(); if ($result == null) { return Util::returnArrEr("获取酒店信息失败:" . $id); } return Util::returnArrSu("",$result->toArray()); } catch (Exception $e) { return Util::returnArrEr("获取酒店信息失败:" . $id); } } /** * 获取房型详情 * @param $id * @return array */ public function getRoomInfo($id) { try { $model = new CfRoomInfo(); $result = $model->where(["id" => $id])->find(); if ($result == null) { return Util::returnArrEr("获取房型信息失败:" . $id); } return Util::returnArrSu("", $result->toArray()); } catch (Exception $e) { return Util::returnArrEr("获取房型信息失败:" . $id); } } /** * 获取房型价格方案 * @param $id * @return array */ public function getRoomPlan($id) { try { $model = new CfRoomPlan(); $result = $model->where(["id" => $id])->find(); if ($result == null) { return Util::returnArrEr("获取价格方案信息失败:" . $id); } return Util::returnArrSu("",$result->toArray()); } catch (Exception $e) { return Util::returnArrEr("获取价格方案信息失败:" . $id); } } /** * 设置子订单金额 * @param int $subOrderId * @return array */ public function setSubOrderAmount( int $subOrderId) { try{ $purchaseModel = new Purchase(); $purchaseList = $purchaseModel->where(["order_detail_id"=>$subOrderId,"del_flag"=>0])->select()->toArray(); $cost = 0; $amount = 0; $count = 0; foreach ($purchaseList as $purchase) { $cost += $purchase['total_cost']; $amount += $purchase['total_price']; $count += $purchase['count']; } $orderHotel = new OrderHotel(); $orderHotel->save(["total_price"=>$amount,"total_cost"=>$cost,"prod_num"=>$count, "profit"=>$amount-$cost],["id"=>$subOrderId]); return Util::returnArrSu(); }catch (Exception $e){ return Util::returnArrEr("更新酒店订单子表金额失败:".$subOrderId); } } /** * 获取详情 * @param $id * @return array */ public function getInfoById($id) { try { $model = new OrderHotel(); $result = $model->where(["id" => $id])->find(); if ($result == null) { return Util::returnArrEr("获取子订单信息失败:" . $id); } return Util::returnArrSu("",$result->toArray()); } catch (Exception $e) { return Util::returnArrEr("获取子订单信息失败:" . $id); } } /** * 删除记录 * @param $order_id */ public function delete($order_id){ $model = new OrderHotel(); $model->save(["del_flag"=>1],["order_id"=>$order_id]); } /** * 删除记录 * @param $id */ public function delById($id) { $model = new OrderHotel(); $model->save(["del_flag"=>1],["id"=>$id]); } /** * 获取酒店子订单列表 * @param $orderId * @return array */ public function getListByOrderId($orderId){ $subOrderModel = new OrderHotel(); try { $subOrderList = $subOrderModel->where(["order_id" => $orderId, "del_flag" => 0])->select()->toArray(); if (null == $subOrderList) { return Util::returnArrSu("",[]); } return Util::returnArrSu("", $subOrderList); }catch (Exception $e) { return Util::returnArrEr("获取酒店订单列表异常:".$e->getMessage()); } } }