From d08682bbfe77e2ab9dabd04dfa9e119445525af5 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Thu, 14 Aug 2025 11:39:48 +0800 Subject: [PATCH] update --- .../Admin/SupplyDemandController.php | 56 +++++++++++++++++++ .../Controllers/Mobile/CourseController.php | 1 + ...931_create_course_content_checks_table.php | 2 + routes/api.php | 2 + 4 files changed, 61 insertions(+) diff --git a/app/Http/Controllers/Admin/SupplyDemandController.php b/app/Http/Controllers/Admin/SupplyDemandController.php index 2181644..3e40c56 100755 --- a/app/Http/Controllers/Admin/SupplyDemandController.php +++ b/app/Http/Controllers/Admin/SupplyDemandController.php @@ -6,6 +6,7 @@ use App\Exports\BaseExport; use App\Helpers\ResponseCode; use App\Models\AppointmentType; use App\Models\CustomForm; +use App\Models\Dialogue; use App\Models\Message; use App\Models\SupplyDemand; use App\Models\SupplyDemandType; @@ -336,4 +337,59 @@ class SupplyDemandController extends BaseController ]; } + + /** + * @OA\Get( + * path="/api/admin/supply-demand/message-list", + * tags={"供需信息管理"}, + * summary="消息列表", + * description="", + * @OA\Parameter(name="to_user_id", in="query", @OA\Schema(type="string"), required=true, description="接收人"), + * @OA\Parameter(name="user_id", in="query", @OA\Schema(type="string"), required=true, 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="token", in="query", @OA\Schema(type="string"), required=true, description="token"), + * @OA\Response( + * response="200", + * description="暂无" + * ) + * ) + */ + public function messageList() + { + $all = \request()->all(); + $messages = [ + 'to_user_id.required' => '接收人必填', + 'user_id.required' => '接收人必填', + ]; + $validator = Validator::make($all, [ + 'user_id' => 'required', + 'to_user_id' => 'required' + ], $messages); + if ($validator->fails()) { + return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]); + } + // 获取会话id + $dialogue = Dialogue::where(function ($query) use ($all) { + $query->where('user_id', $all['user_id'])->where('to_user_id', $all['to_user_id']); + })->orWhere(function ($query) use ($all) { + $query->where('user_id', $all['to_user_id'])->where('to_user_id', $all['user_id']); + })->first(); + if (empty($dialogue)) { + return $this->fail([ResponseCode::ERROR_BUSINESS, '会话不存在']); + } + $message = Message::with([ + 'user' => function ($query) { + $query->select('id', 'nickname', 'name', 'headimgurl', 'username'); + }, + 'toUser' => function ($query) { + $query->select('id', 'nickname', 'name', 'headimgurl', 'username'); + } + ])->where(function ($query) use ($dialogue) { + $query->where('dialogue_id', $dialogue->id); + })->orderBy($all['sort_name'] ?? 'id', $all['sort_type'] ?? 'desc') + ->paginate($all['page_size'] ?? 20); + return $this->success(compact('message')); + } + } diff --git a/app/Http/Controllers/Mobile/CourseController.php b/app/Http/Controllers/Mobile/CourseController.php index 42cab33..9c52ee1 100755 --- a/app/Http/Controllers/Mobile/CourseController.php +++ b/app/Http/Controllers/Mobile/CourseController.php @@ -568,6 +568,7 @@ class CourseController extends CommonController })->get(); foreach ($courseContentList as $courseContent) { CourseContentCheck::create([ + 'course_id' => $courseContent->course_id, 'course_content_id' => $courseContent->id, 'user_id' => $this->getUserId(), 'longitude' => $all['longitude'], diff --git a/database/migrations/2025_06_24_105931_create_course_content_checks_table.php b/database/migrations/2025_06_24_105931_create_course_content_checks_table.php index bb1ddef..42c19a8 100644 --- a/database/migrations/2025_06_24_105931_create_course_content_checks_table.php +++ b/database/migrations/2025_06_24_105931_create_course_content_checks_table.php @@ -15,6 +15,8 @@ return new class extends Migration { Schema::create('course_content_checks', function (Blueprint $table) { $table->id(); + // 课程id + $table->integer('course_id')->nullable()->comment('课程id'); $table->integer('course_content_id')->nullable()->comment('课程排课id'); $table->integer('user_id')->nullable()->comment('用户id'); // 经度 diff --git a/routes/api.php b/routes/api.php index 0d88f95..33aa168 100755 --- a/routes/api.php +++ b/routes/api.php @@ -175,6 +175,8 @@ Route::group(["namespace" => "Admin", "prefix" => "admin"], function () { Route::post('supply-demand/save', [\App\Http\Controllers\Admin\SupplyDemandController::class, "save"]); Route::get('supply-demand/destroy', [\App\Http\Controllers\Admin\SupplyDemandController::class, "destroy"]); Route::get('supply-demand/chart', [\App\Http\Controllers\Admin\SupplyDemandController::class, "chart"]); + Route::get('supply-demand/message-list', [\App\Http\Controllers\Admin\SupplyDemandController::class, "messageList"]); + // 图书管理 Route::get('book/index', [\App\Http\Controllers\Admin\BookController::class, "index"]);