Order.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace app\store\model\recharge;
  3. use app\common\model\recharge\Order as OrderModel;
  4. /**
  5. * 用户充值订单模型
  6. * Class Order
  7. * @package app\store\model\recharge
  8. */
  9. class Order extends OrderModel
  10. {
  11. /**
  12. * 获取订单列表
  13. * @param array $query
  14. * @return \think\Paginator
  15. * @throws \think\exception\DbException
  16. */
  17. public function getList($query = [])
  18. {
  19. // 设置查询条件
  20. !empty($query) && $this->setQueryWhere($query);
  21. // 获取列表数据
  22. return $this->with(['user', 'order_plan'])
  23. ->alias('order')
  24. ->field('order.*')
  25. ->join('user', 'user.user_id = order.user_id')
  26. ->order(['order.create_time' => 'desc'])
  27. ->paginate(15, false, [
  28. 'query' => request()->request()
  29. ]);
  30. }
  31. /**
  32. * 设置查询条件
  33. * @param $query
  34. */
  35. private function setQueryWhere($query)
  36. {
  37. // 设置默认的检索数据
  38. $params = $this->setQueryDefaultValue($query, [
  39. 'user_id' => 0,
  40. 'recharge_type' => '-1',
  41. 'pay_status' => '-1',
  42. ]);
  43. // 用户ID
  44. $params['user_id'] > 0 && $this->where('order.user_id', '=', $params['user_id']);
  45. // 用户昵称/订单号
  46. !empty($params['search']) && $this->where('order.order_no|user.nickName', 'like', "%{$params['search']}%");
  47. // 充值方式
  48. $params['recharge_type'] > -1 && $this->where('order.recharge_type', '=', (int)$params['recharge_type']);
  49. // 支付状态
  50. $params['pay_status'] > -1 && $this->where('order.pay_status', '=', (int)$params['pay_status']);
  51. // 起始时间
  52. !empty($params['start_time']) && $this->where('order.create_time', '>=', strtotime($params['start_time']));
  53. // 截止时间
  54. !empty($params['end_time']) && $this->where('order.create_time', '<', strtotime($params['end_time']) + 86400);
  55. }
  56. }