Cashierorder.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 上海牛之云网络科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用。
  9. * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
  10. * =========================================================
  11. */
  12. namespace addon\store\shopapi\controller;
  13. use addon\store\model\cashier\CashierOrderCommon;
  14. class Cashierorder extends BaseStoreApi
  15. {
  16. /**
  17. * 收银订单列表
  18. */
  19. public function lists()
  20. {
  21. $page_index = $this->params[ 'page' ] ?? 1;
  22. $page_size = $this->params[ 'page_size' ] ?? PAGE_LIST_ROWS;
  23. $store_id = $this->store_id;
  24. $start_time = $this->params[ 'start_time' ] ?? '';
  25. $end_time = $this->params[ 'end_time' ] ?? '';
  26. $pay_type = $this->params[ 'pay_type' ] ?? '';
  27. $order_type = $this->params[ 'order_type' ] ?? '';
  28. $search_text = $this->params[ 'search_text' ] ?? '';
  29. $condition = [
  30. [ 'site_id', '=', $this->site_id ],
  31. [ 'pay_status', '=', 1 ] // 查询已支付的订单
  32. ];
  33. if ($store_id) $condition[] = [ 'store_id', '=', $store_id ];
  34. if (!empty($start_time) && empty($end_time)) {
  35. $condition[] = [ 'create_time', '>=', date_to_time($start_time) ];
  36. } elseif (empty($start_time) && !empty($end_time)) {
  37. $condition[] = [ 'create_time', '<=', date_to_time($end_time) ];
  38. } elseif (!empty($start_time) && !empty($end_time)) {
  39. $condition[] = [ 'create_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ];
  40. }
  41. if (!empty($order_type)) {
  42. $condition[] = [ 'order_type', '=', $order_type ];
  43. }
  44. //支付方式
  45. if ($pay_type !== '' && $pay_type !== 'all') {
  46. $condition[] = [ 'pay_type', '=', $pay_type ];
  47. }
  48. if (!empty($search_text)) {
  49. $condition[] = [ 'order_no', 'like', '%' . $search_text . '%' ];
  50. }
  51. $model = new CashierOrderCommon();
  52. $data = $model->getOrderPageList($condition, $page_index, $page_size, 'create_time desc')[ 'data' ];
  53. if (!empty($data[ 'list' ])) {
  54. foreach ($data[ 'list' ] as $k => $item) {
  55. $data[ 'list' ][ $k ][ 'order_goods' ] = $model->getOrderGoodsList([ [ 'order_id', '=', $item[ 'order_id' ] ] ])[ 'data' ];
  56. $data[ 'list' ][ $k ][ 'order_goods' ] = $model->dealWithOrderGoodsImage($data[ 'list' ][ $k ][ 'order_goods' ], $item[ 'order_type' ]);
  57. }
  58. }
  59. return $this->response($this->success($data));
  60. }
  61. /**
  62. * 收银订单详情
  63. */
  64. public function detail()
  65. {
  66. $order_id = $this->params[ 'order_id' ] ?? '';
  67. $model = new CashierOrderCommon();
  68. $order_info = $model->getOrderInfo([
  69. [ 'site_id', '=', $this->site_id ],
  70. [ 'order_id', '=', $order_id ]
  71. ])[ 'data' ];
  72. if (empty($order_info)) return $this->response($this->error(null, '未获取到订单信息'));
  73. $order_info[ 'order_goods' ] = $model->getOrderGoodsList([ [ 'order_id', '=', $order_info[ 'order_id' ] ] ])[ 'data' ];
  74. $order_info[ 'order_goods' ] = $model->dealWithOrderGoodsImage($order_info[ 'order_goods' ], $order_info[ 'order_type' ]);
  75. return $this->response($this->success($order_info));
  76. }
  77. /**
  78. * 获取订单信息
  79. */
  80. public function getOrderInfo()
  81. {
  82. $order_model = new CashierOrderCommon();
  83. $condition = array (
  84. [ 'site_id', '=', $this->site_id ],
  85. [ 'store_id', '=', $this->store_id ],
  86. [ 'order_id', '=', $this->params[ 'order_id' ] ?? 0 ]
  87. );
  88. $res = $order_model->getOrderInfo($condition);
  89. return $this->response($res);
  90. }
  91. /**
  92. * 获取支付方式
  93. * @return false|string
  94. */
  95. public function getOrderPayType()
  96. {
  97. $order_model = new CashierOrderCommon();
  98. $pay_type_list = $order_model->getPayType();
  99. return $this->response($this->success($pay_type_list));
  100. }
  101. /**
  102. * 删除订单
  103. * @return false|string
  104. */
  105. public function deleteOrder()
  106. {
  107. $order_model = new CashierOrderCommon();
  108. $condition = array (
  109. [ 'site_id', '=', $this->site_id ],
  110. [ 'store_id', '=', $this->store_id ],
  111. [ 'order_id', '=', $this->params[ 'order_id' ] ?? 0 ],
  112. [ 'status', '=', 'topay' ]
  113. );
  114. $res = $order_model->deleteOrder($condition);
  115. return $this->response($res);
  116. }
  117. /**
  118. * 订单备注
  119. * @return false|string
  120. */
  121. public function orderRemark()
  122. {
  123. $order_id = $this->params[ 'order_id' ] ?? 0;
  124. $remark = $this->params[ 'remark' ] ?? '';
  125. $order_model = new CashierOrderCommon();
  126. $res = $order_model->updateOrder([ 'remark' => $remark ], [
  127. [ 'site_id', '=', $this->site_id ],
  128. [ 'store_id', '=', $this->store_id ],
  129. [ 'order_id', '=', $order_id ]
  130. ]);
  131. return $this->response($res);
  132. }
  133. }