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();
|
||||
|
||||
//获取当前排名;
|
||||
$userMark = UserActivity::where([
|
||||
$userActivity = UserActivity::where([
|
||||
'user_id' => $request->user()->id,
|
||||
'activity_id' => $activityId,
|
||||
])->value('mark');
|
||||
])->first();
|
||||
|
||||
$rankNumber = null;
|
||||
if($userMark){
|
||||
$rankNumber = UserActivity::where('activity_id', $activityId)->where('mark', '>', $userMark)->sort()->count();
|
||||
$rankNumber++;
|
||||
if($userActivity?->mark > 0){ //计算自己的排名
|
||||
|
||||
$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]);
|
||||
|
|
@ -62,15 +69,21 @@ class ActivityController extends ApiController
|
|||
$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,
|
||||
'activity_id' => $activityId,
|
||||
])->value('mark');
|
||||
])->first();
|
||||
|
||||
$rankNumber = null;
|
||||
if($userMark){
|
||||
$rankNumber = UserActivity::where('activity_id', $activityId)->where('mark', '>', $userMark)->sort()->count();
|
||||
$rankNumber++;
|
||||
if($userActivity?->mark > 0){ //计算自己的排名
|
||||
$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([
|
||||
|
|
|
|||
Loading…
Reference in New Issue