generated from liutk/owl-admin-base
调整自己当前排名逻辑
parent
df7ca68395
commit
14dc1072c3
|
|
@ -40,15 +40,22 @@ class ActivityController extends ApiController
|
||||||
$list = UserActivity::with('user')->where('activity_id', $activityId)->where('mark', '>', 0)->sort()->limit(30)->get();
|
$list = UserActivity::with('user')->where('activity_id', $activityId)->where('mark', '>', 0)->sort()->limit(30)->get();
|
||||||
|
|
||||||
//获取当前排名;
|
//获取当前排名;
|
||||||
$userMark = UserActivity::where([
|
$userActivity = UserActivity::where([
|
||||||
'user_id' => $request->user()->id,
|
'user_id' => $request->user()->id,
|
||||||
'activity_id' => $activityId,
|
'activity_id' => $activityId,
|
||||||
])->value('mark');
|
])->first();
|
||||||
|
|
||||||
$rankNumber = null;
|
$rankNumber = null;
|
||||||
if($userMark){
|
if($userActivity?->mark > 0){ //计算自己的排名
|
||||||
$rankNumber = UserActivity::where('activity_id', $activityId)->where('mark', '>', $userMark)->sort()->count();
|
|
||||||
$rankNumber++;
|
$markNumber = UserActivity::where('activity_id', $activityId)->where('mark', '>', $userActivity->mark)->sort()->count();
|
||||||
|
$rightTimesNumber = UserActivity::where('activity_id', $activityId)->where('mark', '=', $userActivity->mark)->where('right_times', '>', $userActivity->right_times)->count();
|
||||||
|
$joinAtNumber = UserActivity::where('activity_id', $activityId)->where([
|
||||||
|
'mark' =>$userActivity->mark,
|
||||||
|
'right_times' => $userActivity->right_times
|
||||||
|
])->where('last_join_at', '<', $userActivity->last_join_at)->count();
|
||||||
|
|
||||||
|
$rankNumber = $markNumber + $rightTimesNumber + $joinAtNumber + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->success(['rank_list' => UserActivityResource::collection($list)->resolve(), 'rank_number'=>$rankNumber]);
|
return $this->success(['rank_list' => UserActivityResource::collection($list)->resolve(), 'rank_number'=>$rankNumber]);
|
||||||
|
|
@ -62,15 +69,21 @@ class ActivityController extends ApiController
|
||||||
$list = UserActivity::with('user')->where('activity_id', $activityId)->where('mark', '>', 0)->sort()->limit(30)->get();
|
$list = UserActivity::with('user')->where('activity_id', $activityId)->where('mark', '>', 0)->sort()->limit(30)->get();
|
||||||
|
|
||||||
//获取当前排名;
|
//获取当前排名;
|
||||||
$userMark = UserActivity::where([
|
$userActivity = UserActivity::where([
|
||||||
'user_id' => $request->user()->id,
|
'user_id' => $request->user()->id,
|
||||||
'activity_id' => $activityId,
|
'activity_id' => $activityId,
|
||||||
])->value('mark');
|
])->first();
|
||||||
|
|
||||||
$rankNumber = null;
|
$rankNumber = null;
|
||||||
if($userMark){
|
if($userActivity?->mark > 0){ //计算自己的排名
|
||||||
$rankNumber = UserActivity::where('activity_id', $activityId)->where('mark', '>', $userMark)->sort()->count();
|
$markNumber = UserActivity::where('activity_id', $activityId)->where('mark', '>', $userActivity->mark)->sort()->count();
|
||||||
$rankNumber++;
|
$rightTimesNumber = UserActivity::where('activity_id', $activityId)->where('mark', '=', $userActivity->mark)->where('right_times', '>', $userActivity->right_times)->count();
|
||||||
|
$joinAtNumber = UserActivity::where('activity_id', $activityId)->where([
|
||||||
|
'mark' =>$userActivity->mark,
|
||||||
|
'right_times' => $userActivity->right_times
|
||||||
|
])->where('last_join_at', '<', $userActivity->last_join_at)->count();
|
||||||
|
|
||||||
|
$rankNumber = $markNumber + $rightTimesNumber + $joinAtNumber + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->success([
|
return $this->success([
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue