generated from liutk/owl-admin-base
补充竞猜记录
parent
4601be715e
commit
3cfdae17e3
|
|
@ -20,9 +20,16 @@ class ActivityController extends ApiController
|
||||||
return $this->success(['activities' => ActivityResource::collection($activities)->resolve()]);
|
return $this->success(['activities' => ActivityResource::collection($activities)->resolve()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show(Activity $activity)
|
public function show(Activity $activity, Request $request)
|
||||||
{
|
{
|
||||||
return ActivityResource::make($activity);
|
$resource = ActivityResource::make($activity);
|
||||||
|
|
||||||
|
//判断当前用户是否在该活动有奖品
|
||||||
|
$resource->offsetSet('has_gift', UserActivity::where([
|
||||||
|
'user_id' => $request->user()->id,
|
||||||
|
'activity_id' => $activity->id
|
||||||
|
])->value('has_gift') ?? 0);
|
||||||
|
return $resource;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function rankList(Request $request)
|
public function rankList(Request $request)
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,18 @@ namespace App\Http\Controllers\Api;
|
||||||
|
|
||||||
use Cache;
|
use Cache;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use Illuminate\Http\Request;
|
use Slowlyo\OwlAdmin\Admin;
|
||||||
use App\Http\Requests\CodeRequest;
|
|
||||||
use App\Http\Requests\UserInfoRequest;
|
|
||||||
use App\Services\Api\UserService;
|
|
||||||
use App\Http\Resources\Api\UserResource;
|
|
||||||
use Overtrue\LaravelWeChat\EasyWeChat;
|
use Overtrue\LaravelWeChat\EasyWeChat;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Arr;
|
use Illuminate\Support\Arr;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Slowlyo\OwlAdmin\Admin;
|
use App\Services\Api\UserService;
|
||||||
|
use App\Http\Requests\CodeRequest;
|
||||||
|
use App\Http\Requests\UserInfoRequest;
|
||||||
|
use App\Models\Activity;
|
||||||
|
use App\Models\UserActivity;
|
||||||
|
use App\Http\Resources\Api\UserResource;
|
||||||
|
use App\Http\Resources\Api\UserActivityResource;
|
||||||
|
|
||||||
class UserController extends ApiController
|
class UserController extends ApiController
|
||||||
{
|
{
|
||||||
|
|
@ -51,6 +54,18 @@ class UserController extends ApiController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function activityList(Request $request)
|
||||||
|
{
|
||||||
|
$userActivities = UserActivity::with(['activity' => function($q) {
|
||||||
|
$q->show();
|
||||||
|
}])
|
||||||
|
->where(['user_id'=>$request->user()->id])
|
||||||
|
->orderBy('created_at', 'desc')
|
||||||
|
->simplePaginate($request->query('per_page', 20));
|
||||||
|
|
||||||
|
return $this->success(['activities' => UserActivityResource::collection($userActivities)->resolve()]);
|
||||||
|
}
|
||||||
|
|
||||||
public function updateUserInfo(UserInfoRequest $request)
|
public function updateUserInfo(UserInfoRequest $request)
|
||||||
{
|
{
|
||||||
$user = $request->user();
|
$user = $request->user();
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ class ActivityResource extends JsonResource
|
||||||
'start_at' => $this->start_at->format('Y-m-d H:i'),
|
'start_at' => $this->start_at->format('Y-m-d H:i'),
|
||||||
'end_at' => $this->end_at->format('Y-m-d H:i'),
|
'end_at' => $this->end_at->format('Y-m-d H:i'),
|
||||||
'state' => $this->state,
|
'state' => $this->state,
|
||||||
|
|
||||||
|
'has_gift' => $this->when($this->has_gift !== null, $this->has_gift),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,19 @@ class UserActivityResource extends JsonResource
|
||||||
public function toArray($request)
|
public function toArray($request)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'nick_name' => $this->user?->nick_name ?? '',
|
'nick_name' => $this->whenLoaded('user', function () {
|
||||||
'avatar' => $this->user?->avatar ?? '',
|
return $this->user?->nick_name ?? '';
|
||||||
|
}, ''),
|
||||||
|
'avatar' => $this->whenLoaded('user', function () {
|
||||||
|
return $this->user?->avatar ?? '';
|
||||||
|
}, ''),
|
||||||
|
|
||||||
'join_times' => $this->join_times,
|
'join_times' => $this->join_times,
|
||||||
'right_times' => $this->right_times,
|
'right_times' => $this->right_times,
|
||||||
'mark' => $this->mark,
|
'mark' => $this->mark,
|
||||||
|
'has_gift' => $this->has_gift,
|
||||||
|
|
||||||
|
'activity' => ActivityResource::make($this->whenLoaded('activity'))
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,7 @@ class Activity extends Model
|
||||||
];
|
];
|
||||||
|
|
||||||
public function scopeShow($q){
|
public function scopeShow($q){
|
||||||
$q->where('state', '>' ,0)
|
$q->where('state', '>' ,0);
|
||||||
->where('start_at', '<', now());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function scopeSort($q)
|
public function scopeSort($q)
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,11 @@ class UserActivity extends Model
|
||||||
->orderBy('last_join_at', 'asc');
|
->orderBy('last_join_at', 'asc');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function activity()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Activity::class, 'activity_id');
|
||||||
|
}
|
||||||
|
|
||||||
public function user()
|
public function user()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(User::class, 'user_id');
|
return $this->belongsTo(User::class, 'user_id');
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ Route::group(['prefix' => 'miniprogram', 'namespace' => 'Api\Miniprogram'], func
|
||||||
//更新头像昵称
|
//更新头像昵称
|
||||||
Route::post('user/update-info', [App\Http\Controllers\Api\UserController::class, 'updateUserInfo']);
|
Route::post('user/update-info', [App\Http\Controllers\Api\UserController::class, 'updateUserInfo']);
|
||||||
//竞猜记录
|
//竞猜记录
|
||||||
|
Route::get('user-activities', [App\Http\Controllers\Api\UserController::class, 'activityList']);
|
||||||
//中奖记录
|
//中奖记录
|
||||||
//领奖
|
//领奖
|
||||||
//中奖记录详情;
|
//中奖记录详情;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue