酒店预订平台
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

OrderItemDao.php 5.3 KiB

hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
hace 3 años
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: nizongfeng
  5. * Date: 2021/10/27
  6. * Time: 13:36
  7. */
  8. namespace app\admin\service;
  9. use app\admin\command\Util;
  10. use app\admin\model\CfItem;
  11. use app\admin\model\OrderHotel;
  12. use app\admin\model\OrderItem;
  13. use app\admin\model\Purchase;
  14. use think\Exception;
  15. class OrderItemDao
  16. {
  17. /**
  18. * 新增、更新记录
  19. * @param $param
  20. * @param $orderId
  21. * @return array|string
  22. */
  23. public function modify($param, $orderId)
  24. {
  25. $itemInfo = $this->getItemInfo($param['item_id']);
  26. if (!$itemInfo['flag']){
  27. return $itemInfo;
  28. }
  29. try{
  30. //设置入参
  31. $data = [
  32. "order_id" => $orderId,
  33. //附加项目
  34. "item_id"=>$itemInfo['data']['id'],
  35. "item_type"=>$itemInfo['data']['item_type'],
  36. "item_name"=>$itemInfo['data']['item_name'],
  37. "item_memo"=>$itemInfo['data']['item_memo'],
  38. "item_unit"=>$itemInfo['data']['item_unit'],
  39. "area_name" => $itemInfo['data']['area_name'],
  40. "province_name" => $itemInfo['data']['province_name'],
  41. "city_name" => $itemInfo['data']['city_name'],
  42. "detail_address" => $itemInfo['data']['detail_address'],
  43. //其他
  44. "check_in_date" => $param['check_in_date'],
  45. "confirm_status" => $param['confirm_status'],
  46. "confirm_no" => $param['confirm_no'],
  47. "customer_name" => $param['customer_name'],
  48. "customer_comments" => empty($param['customer_comments'])?"":$param['customer_comments'],
  49. "trade_order_number" => $param['trade_order_number'],
  50. "del_flag"=>0
  51. ];
  52. $orderHotelModel = new OrderHotel();
  53. if (empty($param['id'])) {
  54. $id = $orderHotelModel->insertGetId($data);
  55. return Util::returnArrSu("",$id);
  56. }else {
  57. $orderHotelModel->save($data,["id"=>$param['id']]);
  58. return Util::returnArrSu("",$param['id']);
  59. }
  60. }catch (Exception $e){
  61. return Util::returnArrEr("更新附加项目子订单失败:".$e->getMessage());
  62. }
  63. }
  64. /**
  65. * 获取附加项目信息
  66. * @param $id
  67. * @return array
  68. */
  69. public function getItemInfo($id)
  70. {
  71. try {
  72. $model = new CfItem();
  73. $result = $model->where(["id" => $id])->find()->toArray();
  74. if ($result == null) {
  75. return Util::returnArrEr("获取附加项目信息失败:" . $id);
  76. }
  77. return Util::returnArrSu("",$result);
  78. } catch (Exception $e) {
  79. return Util::returnArrEr("获取附加项目信息失败:" . $id);
  80. }
  81. }
  82. /**
  83. * 设置子订单金额
  84. * @param int $subOrderId
  85. * @return array
  86. */
  87. public function setSubOrderAmount( int $subOrderId) {
  88. try{
  89. $purchaseModel = new Purchase();
  90. $purchaseList = $purchaseModel->where(["order_detail_id"=>$subOrderId,"del_flag"=>0])->select();
  91. $cost = 0;
  92. $amount = 0;
  93. $count = 0;
  94. foreach ($purchaseList as $purchase) {
  95. $cost += $purchase['total_cost'];
  96. $amount += $purchase['total_price'];
  97. $count += $purchase['count'];
  98. }
  99. //更新数据
  100. $oderItem = new OrderItem();
  101. $oderItem->save(["total_price"=>$amount,"total_cost"=>$cost,"prod_num"=>$count,"profit"=>$amount-$cost])->where(["id"=>$subOrderId]);
  102. return Util::returnArrSu();
  103. }catch (Exception $e){
  104. return Util::returnArrEr("更新附加项目订单子表金额失败:".$subOrderId);
  105. }
  106. }
  107. /**
  108. * 获取详情
  109. * @param $id
  110. * @return array
  111. */
  112. public function getInfoById($id) {
  113. try {
  114. $model = new OrderItem();
  115. $result = $model->where(["id" => $id])->find()->toArray();
  116. if ($result == null) {
  117. return Util::returnArrEr("获取子订单信息失败:" . $id);
  118. }
  119. return Util::returnArrSu("", $result);
  120. } catch (Exception $e) {
  121. return Util::returnArrEr("获取子订单信息失败:" . $id);
  122. }
  123. }
  124. /**
  125. * 删除记录
  126. * @param $order_id
  127. */
  128. public function delete($order_id){
  129. $model = new OrderItem();
  130. $model->save(["del_flag"=>1],["order_id"=>$order_id]);
  131. }
  132. /**
  133. * 删除记录
  134. * @param $id
  135. */
  136. public function delById($id) {
  137. $model = new OrderItem();
  138. $model->save(["del_flag"=>1],["id"=>$id]);
  139. }
  140. /**
  141. * 获取附加项目子订单列表
  142. * @param $orderId
  143. * @return array
  144. */
  145. public function getListByOrderId($orderId){
  146. $subOrderModel = new OrderItem();
  147. try {
  148. $subOrderList = $subOrderModel->where(["order_id" => $orderId, "del_flag" => 0])->select();
  149. if (null == $subOrderList) {
  150. return Util::returnArrSu("",[]);
  151. }
  152. return Util::returnArrSu("", $subOrderList);
  153. }catch (Exception $e) {
  154. return Util::returnArrEr("获取附加项目订单列表异常".$e->getMessage());
  155. }
  156. }
  157. }