酒店预订平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

103 line
3.1 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: nizongfeng
  5. * Date: 2021/10/27
  6. * Time: 11:26
  7. */
  8. namespace app\admin\service;
  9. use app\admin\command\Util;
  10. use app\admin\model\OrderHotel;
  11. use app\admin\model\OrderItem;
  12. use app\admin\model\OrderMain;
  13. use think\Exception;
  14. class OrderMainDao
  15. {
  16. /**
  17. * 添加订单信息
  18. * @param $param
  19. * @return array
  20. */
  21. public function addMain ($param){
  22. try{
  23. $data = [
  24. "commissioner_id"=>$param['commissioner_id'],
  25. "commissioner"=>$param["commissioner"],
  26. "channel_id"=>$param["channel_id"],
  27. "channel_name"=>$param["channel_name"],
  28. "channel_order_no"=>$param["channel_order_no"],
  29. "user_name"=>$param["user_name"],
  30. "user_phone"=>$param["user_phone"],
  31. "order_memo"=>$param["order_memo"]
  32. ];
  33. $orderMain = new OrderMain();
  34. $id = $orderMain->insertGetId($data);
  35. if (!is_numeric($id)) {
  36. return Util::returnArrEr("新增失败");
  37. }
  38. return Util::returnArrSu($id);
  39. }catch (Exception $e){
  40. return Util::returnArrEr("新增主订单失败".$e->getMessage());
  41. }
  42. }
  43. /**
  44. * 更新订单信息
  45. * @param $param
  46. * @return array
  47. */
  48. public function edit($param) {
  49. try{
  50. $data = [
  51. "commissioner_id"=>$param['commissioner_id'],
  52. "commissioner"=>$param["commissioner"],
  53. "channel_id"=>$param["channel_id"],
  54. "channel_name"=>$param["channel_name"],
  55. "channel_order_no"=>$param["channel_order_no"],
  56. "user_name"=>$param["user_name"],
  57. "user_phone"=>$param["user_phone"],
  58. "order_memo"=>$param["order_memo"]
  59. ];
  60. $orderMain = new OrderMain();
  61. $orderMain->save($data,['id'=>$param['id']]);
  62. return Util::returnArrSu();
  63. }catch (Exception $e){
  64. return Util::returnArrEr("更新主订单失败".$e->getMessage());
  65. }
  66. }
  67. /**
  68. * 设置主订单金额
  69. * @param int $orderId
  70. * @return array
  71. */
  72. public function setOrderAmount(int $orderId){
  73. try {
  74. $itemModel = new OrderItem();
  75. $hotelModel = new OrderHotel();
  76. $itemList = $itemModel->where(["order_id" => $orderId])->select();
  77. $hotelList = $hotelModel->where(["order_id" => $orderId])->select();
  78. $amount = 0;
  79. $cost = 0;
  80. foreach ($itemList as $item) {
  81. $amount += $item['total_price'];
  82. $cost += $item['total_cost'];
  83. }
  84. foreach ($hotelList as $hotel) {
  85. $amount += $hotel['total_price'];
  86. $cost += $hotel["total_cost"];
  87. }
  88. //更新金额
  89. OrderMain::update(["total_amount" => $amount, "cost_amount" => $cost])->where(["id" => $orderId]);
  90. return Util::returnArrSu();
  91. }catch (Exception $e){
  92. return Util::returnArrEr("更新主表订单金额失败".$orderId);
  93. }
  94. }
  95. }