酒店预订平台
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

OrderMainDao.php 4.1 KiB

3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
3 yıl önce
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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 save($param) {
  22. try{
  23. $data = [
  24. "commissioner_id"=>empty($param['commissioner_id'])?0:$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. "create_id"=>empty($param['create_id'])?0:$param['create_id'],
  33. "group_id"=>empty($param['group_id'])?0:$param['group_id']
  34. ];
  35. $orderMain = new OrderMain();
  36. if (empty($param['id'])) {
  37. $id = $orderMain->insertGetId($data);
  38. return Util::returnArrSu("", $id);
  39. } else {
  40. $orderMain->save($data,['id'=>$param['id']]);
  41. return Util::returnArrSu("", $param['id']);
  42. }
  43. }catch (Exception $e){
  44. return Util::returnArrEr("更新主订单失败:".$e->getMessage());
  45. }
  46. }
  47. /**
  48. * 设置主订单金额
  49. * @param int $orderId
  50. * @return array
  51. */
  52. public function setOrderAmount(int $orderId){
  53. try {
  54. $itemModel = new OrderItem();
  55. $hotelModel = new OrderHotel();
  56. $itemList = $itemModel->where(["order_id" => $orderId])->select()->toArray();
  57. $hotelList = $hotelModel->where(["order_id" => $orderId])->select()->toArray();
  58. $amount = 0;
  59. $cost = 0;
  60. foreach ($itemList as $item) {
  61. $amount += $item['total_price'];
  62. $cost += $item['total_cost'];
  63. }
  64. foreach ($hotelList as $hotel) {
  65. $amount += $hotel['total_price'];
  66. $cost += $hotel["total_cost"];
  67. }
  68. //更新金额
  69. $orderMain = new OrderMain();
  70. $orderMain->save(["total_amount" => $amount, "cost_amount" => $cost,"profit_amount"=>$amount-$cost],["id" => $orderId]);
  71. return Util::returnArrSu();
  72. }catch (Exception $e){
  73. return Util::returnArrEr("更新主表订单金额失败:".$e->getMessage());
  74. }
  75. }
  76. /**
  77. * 根据ID获取详情
  78. * @param $id
  79. * @return array
  80. */
  81. public function getInfoById($id) {
  82. try {
  83. $orderMainModel = new OrderMain();
  84. $orderMain = $orderMainModel->where(["id" => $id])->find()->toArray();
  85. if (null == $orderMain) {
  86. return Util::returnArrEr("订单查询失败:".$id);
  87. }
  88. return Util::returnArrSu("",$orderMain);
  89. }catch (Exception $e) {
  90. return Util::returnArrEr("订单查询失败:".$e->getMessage());
  91. }
  92. }
  93. /**
  94. * 子订单展示
  95. * @param $purchaseShow
  96. * @param $orderHotel
  97. * @param $orderItem
  98. * @return array
  99. */
  100. public function setSubOrderShow($purchaseShow,$orderHotel,$orderItem){
  101. $result = [];
  102. foreach ($orderItem as $item) {
  103. $item['prod_type'] = 'item';
  104. foreach ($purchaseShow as $key=> $purchase) {
  105. if ($item['id'] == $key) {
  106. $item = array_merge($item,$purchase);
  107. }
  108. }
  109. $result[] = $item;
  110. }
  111. foreach ($orderHotel as $hotel) {
  112. $hotel['prod_type'] = 'hotel';
  113. foreach ($purchaseShow as $key=> $purchase) {
  114. if ($hotel['id'] == $key) {
  115. $hotel = array_merge($hotel,$purchase);
  116. }
  117. }
  118. $result[] = $hotel;
  119. }
  120. return Util::returnArrSu("",$result);
  121. }
  122. }