PointsLog.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace app\store\model\user;
  3. use app\common\model\user\PointsLog as PointsLogModel;
  4. /**
  5. * 用户余额变动明细模型
  6. * Class PointsLog
  7. * @package app\store\model\user
  8. */
  9. class PointsLog extends PointsLogModel
  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'])
  23. ->alias('log')
  24. ->field('log.*')
  25. ->join('user', 'user.user_id = log.user_id')
  26. ->order(['log.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. 'search' => '',
  41. 'start_time' => '',
  42. 'end_time' => '',
  43. ]);
  44. // 用户ID
  45. $params['user_id'] > 0 && $this->where('log.user_id', '=', $params['user_id']);
  46. // 用户昵称
  47. !empty($params['search']) && $this->where('user.nickName', 'like', "%{$params['search']}%");
  48. // 起始时间
  49. !empty($params['start_time']) && $this->where('log.create_time', '>=', strtotime($params['start_time']));
  50. // 截止时间
  51. !empty($params['end_time']) && $this->where('log.create_time', '<', strtotime($params['end_time']) + 86400);
  52. }
  53. }