Virtualorder.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. /**
  3. * Niushop商城系统 - 团队十年电商经验汇集巨献!
  4. * =========================================================
  5. * Copy right 2019-2029 杭州牛之云科技有限公司, 保留所有权利。
  6. * ----------------------------------------------
  7. * 官方网址: https://www.niushop.com
  8. * =========================================================
  9. */
  10. namespace app\shop\controller;
  11. use app\model\order\OrderCommon as OrderCommonModel;
  12. use app\model\order\VirtualOrder as VirtualOrderModel;
  13. use think\facade\Config;
  14. use app\model\system\Promotion as PromotionModel;
  15. /**
  16. * 虚拟订单
  17. * Class Virtualorder
  18. * @package app\shop\controller
  19. */
  20. class Virtualorder extends BaseShop
  21. {
  22. /**
  23. * 快递订单列表
  24. */
  25. public function lists()
  26. {
  27. $order_label_list = array (
  28. "order_no" => "订单号",
  29. "out_trade_no" => "外部单号",
  30. "name" => "收货人姓名",
  31. "order_name" => "商品名称",
  32. "mobile" => "收货人电话",
  33. );
  34. $order_status = input("order_status", "");//订单状态
  35. $order_name = input("order_name", '');
  36. $pay_type = input("pay_type", '');
  37. $order_from = input("order_from", '');
  38. $start_time = input("start_time", '');
  39. $end_time = input("end_time", '');
  40. $order_label = !empty($order_label_list[ input("order_label") ]) ? input("order_label") : "";
  41. $search_text = input("search", '');
  42. $promotion_type = input("promotion_type", '');
  43. $order_common_model = new OrderCommonModel();
  44. if (request()->isAjax()) {
  45. $page_index = input('page', 1);
  46. $page_size = input('page_size', PAGE_LIST_ROWS);
  47. $condition = [
  48. [ "order_type", "=", 4 ],
  49. [ "site_id", "=", $this->site_id ]
  50. ];
  51. //订单状态
  52. if ($order_status != "") {
  53. $condition[] = [ "order_status", "=", $order_status ];
  54. }
  55. //订单内容 模糊查询
  56. if ($order_name != "") {
  57. $condition[] = [ "order_name", 'like', "%$order_name%" ];
  58. }
  59. //订单来源
  60. if ($order_from != "") {
  61. $condition[] = [ "order_from", "=", $order_from ];
  62. }
  63. //订单支付
  64. if ($pay_type != "") {
  65. $condition[] = [ "pay_type", "=", $pay_type ];
  66. }
  67. //营销类型
  68. if ($promotion_type != "") {
  69. if ($promotion_type == 'empty') {
  70. $condition[] = [ "promotion_type", "=", '' ];
  71. } else {
  72. $condition[] = [ "promotion_type", "=", $promotion_type ];
  73. }
  74. }
  75. if (!empty($start_time) && empty($end_time)) {
  76. $condition[] = [ "create_time", ">=", date_to_time($start_time) ];
  77. } elseif (empty($start_time) && !empty($end_time)) {
  78. $condition[] = [ "create_time", "<=", date_to_time($end_time) ];
  79. } elseif (!empty($start_time) && !empty($end_time)) {
  80. $condition[] = [ 'create_time', 'between', [ date_to_time($start_time), date_to_time($end_time) ] ];
  81. }
  82. if ($search_text != "") {
  83. $condition[] = [ $order_label, 'like', "%$search_text%" ];
  84. }
  85. $list = $order_common_model->getOrderPageList($condition, $page_index, $page_size, "create_time desc");
  86. return $list;
  87. } else {
  88. $this->assign("order_label_list", $order_label_list);
  89. $order_model = new VirtualOrderModel();
  90. $order_status_list = $order_model->order_status;
  91. $this->assign("order_status_list", $order_status_list);//订单状态
  92. //订单来源 (支持端口)
  93. $order_from = Config::get("app_type");
  94. $this->assign('order_from_list', $order_from);
  95. $pay_type = $order_common_model->getPayType();
  96. $this->assign("pay_type_list", $pay_type);
  97. //营销活动类型
  98. $promotion_model = new PromotionModel();
  99. $promotion_type = $promotion_model->getPromotionType();
  100. $this->assign("promotion_type", $promotion_type);
  101. return $this->fetch('virtualorder/lists');
  102. }
  103. }
  104. /**
  105. * 订单详情
  106. * @return mixed
  107. */
  108. public function detail()
  109. {
  110. $order_id = input("order_id", 0);
  111. $order_common_model = new OrderCommonModel();
  112. $order_detail_result = $order_common_model->getOrderDetail($order_id);
  113. $order_detail = $order_detail_result[ "data" ];
  114. $this->assign("order_detail", $order_detail);
  115. return $this->fetch("virtualorder/detail");
  116. }
  117. /**
  118. * 订单关闭
  119. * @return mixed
  120. */
  121. public function close()
  122. {
  123. }
  124. /**
  125. * 订单调价
  126. * @return mixed
  127. */
  128. public function adjustprice()
  129. {
  130. }
  131. /**
  132. * 订单发货
  133. */
  134. public function delivery()
  135. {
  136. $virtual_order_model = new VirtualOrderModel();
  137. $params = array (
  138. 'order_id' => input('order_id', 0),
  139. 'site_id' => $this->site_id
  140. );
  141. $result = $virtual_order_model->virtualDelivery($params);
  142. return $result;
  143. }
  144. }