|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- <?php
- /**
- * Created by PhpStorm.
- * User: nizongfeng
- * Date: 2021/10/27
- * Time: 13:36
- */
-
- namespace app\admin\service;
-
-
- use app\admin\command\Util;
- use app\admin\model\CfHotelInfo;
- use app\admin\model\CfRoomInfo;
- use app\admin\model\CfRoomPlan;
- use app\admin\model\OrderHotel;
- use app\admin\model\Purchase;
- use think\Exception;
-
- class OrderHotelDao
- {
- /**
- * 更新记录
- * @param $param
- * @param $orderId
- * @return array|string
- */
- public function modify($param, $orderId)
- {
- $hotelInfo = $this->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());
- }
- }
- }
|