更新代码
This commit is contained in:
110
app/Http/Controllers/TeamController.php
Normal file
110
app/Http/Controllers/TeamController.php
Normal file
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\User;
|
||||
use Auth;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use RuLong\UserRelation\Models\UserRelation;
|
||||
|
||||
class TeamController extends Controller
|
||||
{
|
||||
|
||||
public function __construct(Request $request)
|
||||
{
|
||||
parent::__construct($request);
|
||||
$this->middleware('auth');
|
||||
view()->share('nav', 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* 成为会员的6层用户,这个写的比较清晰
|
||||
* @Author:<Leady>
|
||||
* @Date:2019-01-07T10:12:29+0800
|
||||
* @param Request $request [description]
|
||||
* @param integer $node [description]
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function index(Request $request, $node = 0)
|
||||
{
|
||||
$user = Auth::user();
|
||||
$page = $request->page ?? 1; //获取当前页码
|
||||
|
||||
$lists = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%") //血缘有关
|
||||
->where('layer', '<=', $user->relation->layer + 6) //向下6层
|
||||
// ->whereHas('identity', function ($query) use ($user) {
|
||||
// //存在大于会员身份
|
||||
// $query->where('identity_id', '>', 0);
|
||||
// })
|
||||
// ->orderBy('layer', 'asc')->orderBy('user_id', 'asc')->paginate(50); //层正序,分页50。
|
||||
->orderBy('layer', 'asc')->orderBy('user_id', 'asc')->get(); //层正序,分页50。
|
||||
if ($page > 1) {
|
||||
//页码大于1,AJAX调用分页
|
||||
if ($lists->count() > 0) {
|
||||
//内容大于0返回渲染的页面HTML内容
|
||||
$html = response(view('team.item', compact('lists')))->getContent();
|
||||
return $this->success($html);
|
||||
} else {
|
||||
//无内容提示到最后一页
|
||||
return $this->error('已经到最后一页');
|
||||
}
|
||||
} else {
|
||||
//正常渲染访问页面
|
||||
$listsCount = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%")
|
||||
->where('layer', '<=', $user->relation->layer + 6)
|
||||
// ->whereHas('identity', function ($query) use ($user) {
|
||||
// $query->where('identity_id', '>', 0);
|
||||
// })
|
||||
->orderBy('layer', 'asc')->count();
|
||||
return view('team.index', compact('user', 'lists', 'listsCount'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 未成为会员的6层用户,这个写的比较乱
|
||||
* @Author:<Leady>
|
||||
* @Date:2019-01-07T10:12:01+0800
|
||||
* @param Request $request [description]
|
||||
* @param integer $node [description]
|
||||
* @return [type] [description]
|
||||
*/
|
||||
public function novip(Request $request, $node = 0)
|
||||
{
|
||||
$user = Auth::user();
|
||||
if (Auth::id() == 3 || Auth::id() == 1757 || Auth::id() == 12 || Auth::id() == 824) {
|
||||
//测试人员查看指定人员关系
|
||||
$user = User::find(62);
|
||||
}
|
||||
$page = $request->page ?? 1; //获取当前页码
|
||||
|
||||
//列举下6层所有会员
|
||||
$ids = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%")
|
||||
->where('layer', '<=', $user->relation->layer + 6)
|
||||
->whereHas('identity', function ($query) use ($user) {
|
||||
$query->where('identity_id', '>', 0);
|
||||
})
|
||||
->pluck('user_id') ?: [0];
|
||||
//排除会员查询6层血缘关系
|
||||
$lists = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%")
|
||||
->where('layer', '<=', $user->relation->layer + 6)
|
||||
->whereNotIn('user_id', $ids)
|
||||
->orderBy('layer', 'asc')->orderBy('layer', 'asc')->orderBy('user_id', 'asc')->paginate(50);
|
||||
|
||||
//以下步骤同INDEX事件
|
||||
if ($page > 1) {
|
||||
if ($lists->count() > 0) {
|
||||
$html = response(view('team.item', compact('lists')))->getContent();
|
||||
return $this->success($html);
|
||||
} else {
|
||||
return $this->error('已经到最后一页');
|
||||
}
|
||||
} else {
|
||||
$children_count = UserRelation::where('bloodline', 'like', "%," . $user->id . ",%")
|
||||
->where('layer', '<=', $user->relation->layer + 6)
|
||||
->whereNotIn('user_id', $ids)
|
||||
->orderBy('layer', 'asc')->count();
|
||||
return view('team.novip', compact('user', 'lists', 'children_count'));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user