From b0c4d31d16cfd5728a158e2e93236cceb7b26648 Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Wed, 11 Jun 2025 10:51:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(api):=20=E5=AD=A6=E7=94=9F=E7=AB=AF?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BD=9C=E4=B8=9A=E6=8F=90=E4=BA=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E8=A7=86=E9=A2=91=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增学生作业提交接口和相关逻辑 - 优化视频上传接口,增加文件扩展名和名称信息 - 更新路由配置,支持新的作业提交功能 --- .../controller/apiController/Assignment.php | 28 +++++++++++++++++++ niucloud/app/api/controller/upload/Upload.php | 11 +++++++- niucloud/app/api/route/route.php | 6 +++- .../api/apiService/AssignmentService.php | 28 +++++++++++++++++++ 4 files changed, 71 insertions(+), 2 deletions(-) diff --git a/niucloud/app/api/controller/apiController/Assignment.php b/niucloud/app/api/controller/apiController/Assignment.php index 7021a5dd..13e337d6 100644 --- a/niucloud/app/api/controller/apiController/Assignment.php +++ b/niucloud/app/api/controller/apiController/Assignment.php @@ -44,4 +44,32 @@ class Assignment extends BaseApiService return success($res); } + + //学生提交作业 + public function submitObj(Request $request){ + $resources_id = $request->param('resources_id', '');//学生资源id + $id = $request->param('id', '');//作业表id + $content_text = $request->param('content_text', '');//学生提交的作业内容(根据content_type字段判断学生提交的内容是|文本,视频oss绝对路径url,图片oss上的绝对路径ur) + + if(empty($resources_id) || empty($id) || empty($content_text)){ + return fail('缺少参数'); + } + + $where = [ + 'resources_id'=>$resources_id, + 'id'=>$id, + ]; + + $data = [ + 'content_text'=>$content_text, + 'status'=>1,//状态 1待批改 2未提交 3已提交 + ]; + + $res = (new AssignmentService())->edit($where,$data); + if (!$res['code']){ + return fail($res['msg']); + } + + return success([$res['data']]); + } } diff --git a/niucloud/app/api/controller/upload/Upload.php b/niucloud/app/api/controller/upload/Upload.php index b24b7733..69a433a6 100644 --- a/niucloud/app/api/controller/upload/Upload.php +++ b/niucloud/app/api/controller/upload/Upload.php @@ -55,7 +55,16 @@ class Upload extends BaseApiController ['file', 'file'], ]); $upload_service = new UploadService(); - return success($upload_service->video($data['file'])); + $res = $upload_service->video($data['file']); + + $res['ext'] = ''; // 初始化文件扩展名 + $res['name'] = ''; // 初始化文件名称 + if (isset($res['url'])) { + $res['ext'] = pathinfo($res['url'], PATHINFO_EXTENSION); + $res['name'] = basename($res['url']); + } + + return success($res); } /** diff --git a/niucloud/app/api/route/route.php b/niucloud/app/api/route/route.php index b8c870f9..61a001ba 100644 --- a/niucloud/app/api/route/route.php +++ b/niucloud/app/api/route/route.php @@ -334,8 +334,11 @@ Route::group(function () { //需要token验证的 Route::group(function () { - //员工端-上传图片 + //学生端-上传图片 Route::post('memberUploadImage', 'upload.Upload/image'); + //学生端-上传图片 + Route::post('memberUploadVideo', 'upload.Upload/video'); + //学生详情 Route::get('customerResourcesAuth/info', 'apiController.CustomerResourcesAuth/info'); //学生详情-修改 @@ -376,6 +379,7 @@ Route::group(function () { //学生端-学生作业-作业列表 Route::get('xy/assignment', 'apiController.Assignment/index'); + Route::get('xy/assignment/submitObj', 'apiController.Assignment/submitObj'); diff --git a/niucloud/app/service/api/apiService/AssignmentService.php b/niucloud/app/service/api/apiService/AssignmentService.php index 2d1e023b..02c87a4a 100644 --- a/niucloud/app/service/api/apiService/AssignmentService.php +++ b/niucloud/app/service/api/apiService/AssignmentService.php @@ -71,6 +71,34 @@ class AssignmentService extends BaseApiService return $data; } + //修改 + public function edit(array $where,array $data) + { + + if(empty($data['updated_at'])){ + $data['updated_at'] = date('Y-m-d H:i:s'); + } + $student_id = Student::where('id',$where['resources_id'])->value('id');//学生id + $data = Assignment::where('id',$where['id']) + ->where('student_id',$student_id) + ->update($data); + + $res = [ + 'code'=>0, + 'msg'=>'操作失败', + 'data'=>[] + ]; + if($data){ + $res = [ + 'code'=>1, + 'msg'=>'操作成功', + 'data'=>$data + ]; + } + + return $res; + } + //查询详情 public function getTestInfo(array $where) {