diff --git a/app/Http/Controllers/Admin/StudyController.php b/app/Http/Controllers/Admin/StudyController.php index ded7bb1..5b057df 100644 --- a/app/Http/Controllers/Admin/StudyController.php +++ b/app/Http/Controllers/Admin/StudyController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin; use App\Models\Study; use App\Models\StudyAsk; +use App\Models\StudyLog; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; use App\Helpers\ResponseCode; @@ -44,6 +45,36 @@ class StudyController extends CommonController return $this->success($list); } + /** + * @OA\Get( + * path="/api/admin/study/study-log", + * tags={"学习资料管理"}, + * summary="学习记录", + * description="", + * @OA\Parameter(name="keyword", in="query", @OA\Schema(type="string"), required=false, description="关键词"), + * @OA\Parameter(name="page_size", in="query", @OA\Schema(type="string"), required=false, description="每页显示的条数"), + * @OA\Parameter(name="page", in="query", @OA\Schema(type="string"), required=false, description="页码"), + * @OA\Parameter(name="sort_name", in="query", @OA\Schema(type="string"), required=false, description="排序字段名字"), + * @OA\Parameter(name="sort_type", in="query", @OA\Schema(type="string"), required=false, description="排序类型"), + * @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"), + * @OA\Response( + * response="200", + * description="暂无" + * ) + * ) + */ + public function studyLog() + { + $all = request()->all(); + $list = StudyLog::with('user')->where(function ($query) use ($all) { + if (isset($all['keyword'])) { + $query->where('content', 'like', '%' . $all['keyword'] . '%'); + } + })->orderBy($all['sort_name'] ?? 'id', $all['sort_type'] ?? 'desc') + ->paginate($all['page_size'] ?? 20); + return $this->success($list); + } + /** * @OA\Get( * path="/api/admin/study/show", diff --git a/app/Http/Controllers/Mobile/VisitController.php b/app/Http/Controllers/Mobile/VisitController.php index fc94ea7..8701664 100644 --- a/app/Http/Controllers/Mobile/VisitController.php +++ b/app/Http/Controllers/Mobile/VisitController.php @@ -297,4 +297,36 @@ class VisitController extends CommonController return $this->success($model); } + /** + * @OA\Post( + * path="/api/mobile/visit/idcard-check", + * tags={"小程序-学习"}, + * summary="保存学习记录", + * description="", + * @OA\Parameter(name="idcard", in="query", @OA\Schema(type="string"), required=true, description="身份证数组"), + * @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"), + * @OA\Response( + * response="200", + * description="暂无" + * ) + * ) + */ + public function idcardCheck() + { + $all = request()->all(); + $messages = [ + 'idcard.required' => '身份证数组必填' + ]; + $validator = Validator::make($all, [ + 'idcard' => 'required' + ], $messages); + if ($validator->fails()) { + return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]); + } + $model = new StudyLog(); + $list = $model->whereIn('idcard', $all['idcard'])->pluck('idcard'); + $diff = collect($all['idcard'])->diffAssoc($list); + return $this->success($diff); + } + } diff --git a/app/Models/StudyLog.php b/app/Models/StudyLog.php index 243e4e7..f468334 100644 --- a/app/Models/StudyLog.php +++ b/app/Models/StudyLog.php @@ -10,4 +10,9 @@ class StudyLog extends CommonModel 'content'=>'json', 'ask'=>'json', ]; + + public function user(){ + return $this->hasOne(User::class,'id','user_id'); + } + } diff --git a/routes/api.php b/routes/api.php index 7fb8ec7..e24b59b 100644 --- a/routes/api.php +++ b/routes/api.php @@ -48,6 +48,7 @@ Route::group(["namespace" => "Admin", "prefix" => "admin", "middleware" => "sanc // 学习资料管理 Route::get("study/index", [\App\Http\Controllers\Admin\StudyController::class, "index"]); + Route::get("study/study-log", [\App\Http\Controllers\Admin\StudyController::class, "studyLog"]); Route::get("study/show", [\App\Http\Controllers\Admin\StudyController::class, "show"]); Route::post("study/save", [\App\Http\Controllers\Admin\StudyController::class, "save"]); Route::get("study/destroy", [\App\Http\Controllers\Admin\StudyController::class, "destroy"]); @@ -98,7 +99,9 @@ Route::group(["namespace" => "Mobile", "prefix" => "mobile", "middleware" => "sa Route::get('visit/visit-area', [\App\Http\Controllers\Mobile\VisitController::class, 'visitArea']); Route::get('visit/visit-time', [\App\Http\Controllers\Mobile\VisitController::class, 'visitTime']); + Route::get('visit/ask-log', [\App\Http\Controllers\Mobile\VisitController::class, 'askLog']); Route::post('visit/ask-save', [\App\Http\Controllers\Mobile\VisitController::class, 'askSave']); + Route::post('visit/idcard-check', [\App\Http\Controllers\Mobile\VisitController::class, 'idcardCheck']); });