酒店预订平台
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.
 
 
 
 
 
 

166 line
4.8 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: nizongfeng
  5. * Date: 2021/11/17
  6. * Time: 17:29
  7. */
  8. namespace app\admin\service;
  9. use app\admin\command\Util;
  10. use app\admin\model\PaymentOrder;
  11. use think\Exception;
  12. class PaymentOrderDao
  13. {
  14. /**
  15. * 获取详情
  16. * @param $id
  17. * @return array
  18. */
  19. public function getInfoById($id){
  20. try{
  21. $model = new PaymentOrder();
  22. $info = $model->where(["id"=>$id])->find();
  23. if ($info == null) {
  24. return Util::returnArrEr("获取付款单信息失败:".$id);
  25. }
  26. return Util::returnArrSu("",$info->toArray());
  27. }catch (Exception $e){
  28. return Util::returnArrEr("获取付款单信息失败:".$e->getMessage());
  29. }
  30. }
  31. /**
  32. * 添加记录
  33. * @param $param
  34. * @return array
  35. */
  36. public function save($param)
  37. {
  38. if ($this->checkName($param)) {
  39. return Util::returnArrEr("名称已经存在");
  40. }
  41. try {
  42. $data = [
  43. 'name' => $param['name'],
  44. "create_id"=>$param['create_id'],
  45. "group_id"=>$param['group_id']
  46. ];
  47. if (isset($param['status'])) {
  48. $data['status'] = $param['status'];
  49. }
  50. $receiptOrder = new PaymentOrder();
  51. if (empty($param['id'])) {
  52. $id = $receiptOrder->insertGetId($data);
  53. return Util::returnArrSu("", $id);
  54. } else {
  55. $receiptOrder->save($data, ['id' => $param['id']]);
  56. return Util::returnArrSu("", $param['id']);
  57. }
  58. } catch (Exception $e) {
  59. return Util::returnArrEr("更新主订单失败:" . $e->getMessage());
  60. }
  61. }
  62. /**
  63. * 校验名称
  64. * @param $param
  65. * @return bool
  66. */
  67. public function checkName($param):bool {
  68. try {
  69. $model = new PaymentOrder();
  70. $infoRe = $model->where(["name" => $param['name']])->find();
  71. if ($infoRe == null) {
  72. return false;
  73. }
  74. $info = $infoRe->toArray();
  75. if (isset($param['id'])) {
  76. if ($param['id'] != $info['id']) {
  77. return true;
  78. }
  79. }else{
  80. return true;
  81. }
  82. return false;
  83. } catch (Exception $e) {
  84. return false;
  85. }
  86. }
  87. /**
  88. * 修改状态
  89. * @param $id
  90. * @param $status
  91. * @return array
  92. */
  93. public function setStatus($id, $status)
  94. {
  95. try {
  96. //设置收购单状态
  97. $receiptOrder = new PaymentOrder();
  98. $receiptOrder->save(['status' => $status], ['id' => $id]);
  99. return Util::returnArrSu();
  100. } catch (Exception $e) {
  101. return Util::returnArrEr("修改状态失败" . $e->getMessage());
  102. }
  103. }
  104. /**
  105. * 获取列表
  106. * @param $param
  107. * @return array
  108. */
  109. public function getList($param)
  110. {
  111. try {
  112. $where = ["a.del_flag"=>0];
  113. if (!empty($param['name'])) {
  114. $where['a.name'] = ["like","%".$param['name']."%"];
  115. }
  116. if ($param['status'] != 'all') {
  117. $where["a.status"] = $param['status'];
  118. }
  119. $offset = ($param['pageNum'] - 1) * $param['pageSize'];
  120. $receiptOrder = new PaymentOrder();
  121. $total = $receiptOrder
  122. ->alias("a")
  123. ->group("a.id")
  124. ->where($where)->count();
  125. $list = $receiptOrder
  126. ->alias("a")
  127. ->join('hbp_order_hotel b', 'a.id = b.receipt_order_id', 'left')
  128. ->join('hbp_order_item c', 'a.id = c.receipt_order_id', 'left')
  129. ->field("a.*,GROUP_CONCAT(b.id ORDER BY b.id DESC) hotel_ids,sum(b.total_amount) hotel_amount,GROUP_CONCAT(c.id ORDER BY c.id DESC) hotel_ids,sum(c.total_amount) hotel_amount")
  130. ->group("a.id")
  131. ->where($where)
  132. ->limit($offset, $param['pageSize'])
  133. ->order("id","DESC")->select();
  134. $data = ["total" => $total, "list" => $list->toArray()];
  135. return Util::returnArrSu("", $data);
  136. } catch (Exception $e) {
  137. return Util::returnArrSu("", ["total" => 0, "list" => []]);
  138. }
  139. }
  140. /**
  141. * 删除
  142. * @param $id
  143. * @return array
  144. */
  145. public function del($id){
  146. try {
  147. //设置收购单状态
  148. $receiptOrder = new PaymentOrder();
  149. $receiptOrder->save(['del_flag' => 1], ['id' => $id]);
  150. return Util::returnArrSu();
  151. } catch (Exception $e) {
  152. return Util::returnArrEr("修改状态失败" . $e->getMessage());
  153. }
  154. }
  155. }