|
|
@@ -65,9 +65,10 @@ class MemberService extends BaseService
|
|
|
$where['member.status'] = $status;
|
|
|
}
|
|
|
|
|
|
- $query = $this->model->with(['parent'])
|
|
|
+ $query = $this->model->with(['parent','point'])
|
|
|
->from('member')
|
|
|
->leftJoin('member as b','b.id','=','member.parent_id')
|
|
|
+ ->leftJoin('member as c','c.id','=','member.point_id')
|
|
|
->where($where)
|
|
|
->where(function ($query) use ($params) {
|
|
|
$keyword = isset($params['keyword']) ? $params['keyword'] : '';
|
|
|
@@ -93,15 +94,28 @@ class MemberService extends BaseService
|
|
|
if (!empty($parent)) {
|
|
|
$query->where(function ($q) use ($parent) {
|
|
|
$q->where('b.nickname', 'like', "%{$parent}%")
|
|
|
- ->orWhere('b.realname', 'like', "%{$parent}%");
|
|
|
+ ->orWhere('b.mobile', 'like', "%{$parent}%");
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ // 推荐节点
|
|
|
+ $pointId = intval($params['point_id']) ?? 0;
|
|
|
+ if ($pointId>0) {
|
|
|
+ $query->where('member.point_id', $pointId);
|
|
|
+ }
|
|
|
|
|
|
+ // 节点上级
|
|
|
+ $point = isset($params['point']) ? trim($params['point']) : '';
|
|
|
+ if (!empty($point)) {
|
|
|
+ $query->where(function ($q) use ($point) {
|
|
|
+ $q->where('c.nickname', 'like', "%{$point}%")
|
|
|
+ ->orWhere('c.mobile', 'like', "%{$point}%");
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
})
|
|
|
->select(['member.*'])
|
|
|
- ->withCount(['invites'])
|
|
|
+ ->withCount(['invites','points'])
|
|
|
->orderBy('member.create_time', 'desc')
|
|
|
->orderBy('member.id', 'desc');
|
|
|
$list = $query->paginate($pageSize > 0 ? $pageSize : 9999999);
|
|
|
@@ -115,6 +129,7 @@ class MemberService extends BaseService
|
|
|
$item['login_time_text'] = $item['login_time'] ? datetime($item['login_time'],'Y-m-d H:i:s') : '-';
|
|
|
$item['status_text'] = $item['status'] == 1 ? '正常' : '冻结';
|
|
|
$item['invites_count'] = $item['invites_count']?$item['invites_count']:0;
|
|
|
+ $item['points_count'] = $item['points_count']?$item['points_count']:0;
|
|
|
}
|
|
|
}
|
|
|
|