Order_bak.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace addon\giftcard\shop\controller;
  11. use addon\giftcard\model\card\Card as CardModel;
  12. use addon\giftcard\model\order\GiftCardOrder;
  13. /**
  14. * 礼品卡订单控制器
  15. */
  16. class Order extends Giftcard
  17. {
  18. public function __construct()
  19. {
  20. parent::__construct();
  21. if (!request()->isAjax()) {
  22. $this->forthMenu();
  23. }
  24. $this->replace = [
  25. 'GIFTCARD_CSS' => __ROOT__ . '/addon/giftcard/shop/view/public/css',
  26. 'GIFTCARD_JS' => __ROOT__ . '/addon/giftcard/shop/view/public/js',
  27. 'GIFTCARD_IMG' => __ROOT__ . '/addon/giftcard/shop/view/public/img',
  28. 'GIFTCARD_CSV' => __ROOT__ . '/addon/giftcard/shop/view/public/csv',
  29. ];
  30. }
  31. /**
  32. * 订单列表
  33. * @return mixed
  34. */
  35. public function order()
  36. {
  37. $giftcard_id = input('giftcard_id', 0);
  38. $order_model = new GiftCardOrder();
  39. if (request()->isAjax()) {
  40. $page = input('page', 1);
  41. $page_size = input('page_size', PAGE_LIST_ROWS);
  42. $status = input('status', 'all');
  43. $start_time = input('start_time', '');
  44. $end_time = input('end_time', '');
  45. $nickname = input('nickname', '');
  46. $order_no = input('order_no', '');
  47. $card_right_type = input('card_right_type', '');
  48. $condition = array (
  49. [ 'o.site_id', '=', $this->site_id ],
  50. [ 'o.is_delete', '=', 0 ],
  51. [ 'o.order_status', '=', 'complete' ],
  52. );
  53. if ($giftcard_id > 0) {
  54. $condition[] = [ 'o.giftcard_id', '=', $giftcard_id ];
  55. }
  56. if (!empty($nickname)) {
  57. $condition[] = [ 'm.nickname', 'like', '%' . $nickname . '%' ];
  58. }
  59. if (!empty($card_right_type)) {
  60. $condition[] = [ 'o.card_right_type', '=', $card_right_type ];
  61. }
  62. if (!empty($order_no)) {
  63. $condition[] = [ 'o.order_no', '=', $order_no ];
  64. }
  65. //支付时间
  66. if (!empty($start_time) && empty($end_time)) {
  67. $condition[] = [ "o.pay_time", ">=", date_to_time($start_time) ];
  68. } elseif (empty($start_time) && !empty($end_time)) {
  69. $condition[] = [ "o.pay_time", "<=", date_to_time($end_time) ];
  70. } elseif (!empty($start_time) && !empty($end_time)) {
  71. $condition[] = [ 'o.pay_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ];
  72. }
  73. $order = 'o.create_time desc';
  74. $field = 'o.*, m.nickname,m.headimg,m.mobile';
  75. $join = [
  76. [ 'member m', 'o.member_id = m.member_id', 'left' ]
  77. ];
  78. $list = $order_model->getOrderDetailPageList($condition, $page, $page_size, $order, $field, 'o', $join);
  79. return $list;
  80. }
  81. $this->assign('forth_menu', []);
  82. $this->assign('giftcard_id', $giftcard_id);
  83. return $this->fetch("order/order", [], $this->replace);
  84. }
  85. /**
  86. * 详情
  87. * @return mixed|void
  88. */
  89. public function detail()
  90. {
  91. $order_id = input('order_id', '');
  92. $order_model = new GiftCardOrder();
  93. $order_detail = $order_model->getOrderDetail([ 'site_id' => $this->site_id, 'order_id' => $order_id ])[ 'data' ] ?? [];
  94. $card_model = new CardModel();
  95. $card_list = $card_model->getCardList([ [ 'site_id', '=', $this->site_id ], [ 'order_id', '=', $order_detail[ 'order_id' ] ] ])[ 'data' ];
  96. foreach ($card_list as $k => $v) {
  97. $card_list[ $k ] = $card_model->tran($v);
  98. }
  99. $this->assign('order_detail', $order_detail);
  100. $this->assign('card_list', $card_list);
  101. return $this->fetch("order/detail", [], $this->replace);
  102. }
  103. }