diff --git a/niucloud/app/api/controller/member/Member.php b/niucloud/app/api/controller/member/Member.php index 6ec1d896..e228c437 100644 --- a/niucloud/app/api/controller/member/Member.php +++ b/niucloud/app/api/controller/member/Member.php @@ -159,4 +159,29 @@ class Member extends BaseApiController public function index(){ return success(( new MemberService() )->index()); } + + public function assignments_list(){ + $data = $this->request->params([ + [ 'status', 0 ] + ]); + return success(( new MemberService() )->assignments_list($data)); + } + + public function assignments_info(){ + $data = $this->request->params([ + [ 'id', '' ] + ]); + return success(( new MemberService() )->assignments_info($data)); + } + + public function assignments_submit(){ + $data = $this->request->params([ + [ 'id', '' ], + [ 'student_file', '' ], + [ 'student_file_type', '' ], + [ 'student_content', '' ] + ]); + return success(( new MemberService() )->assignments_submit($data)); + } + } diff --git a/niucloud/app/api/route/member.php b/niucloud/app/api/route/member.php index ca1ff3c9..ec25ded1 100644 --- a/niucloud/app/api/route/member.php +++ b/niucloud/app/api/route/member.php @@ -116,6 +116,11 @@ Route::group('member', function () { Route::get('index', 'member.Member/index'); + Route::get('assignments_list', 'member.Member/assignments_list'); + + Route::get('assignments_info', 'member.Member/assignments_info'); + + Route::post('assignments_submit', 'member.Member/assignments_submit'); })->middleware(ApiChannel::class) ->middleware(ApiCheckToken::class, true) diff --git a/niucloud/app/service/api/member/MemberService.php b/niucloud/app/service/api/member/MemberService.php index 74488cf3..455afc6c 100644 --- a/niucloud/app/service/api/member/MemberService.php +++ b/niucloud/app/service/api/member/MemberService.php @@ -11,6 +11,7 @@ namespace app\service\api\member; +use addon\zhjw\app\model\assignments\Assignments; use addon\zhjw\app\model\classes\Classes; use addon\zhjw\app\model\courses\Courses; use addon\zhjw\app\model\staff\Staff; @@ -119,6 +120,9 @@ class MemberService extends BaseApiService $info['stay_sign_count'] = $duration_count - $sign_count; } + if(!$info['headimg']){ + $info['headimg'] = "upload/attachment/image/202503/06/1741237826ea1dfb759edf0147ec8ad6fe8fb36c24_local.png"; + } return $info; } @@ -350,8 +354,47 @@ class MemberService extends BaseApiService $data['classes_info'] = $classes_info; + $assignments = (new Assignments())->where(['student_id' => $member_info['students_id'],'status' => 2])->order('create_time asc')->find(); + $data['assignments'] = $assignments; + return $data; } + public function assignments_list($data){ + $member_info = $this->getInfo(); + $where = []; + $where['student_id'] = $member_info['students_id']; + if($data['status']){ + $where['status'] = $data['status']; + } + $search_model = (new Assignments())->where($where)->order('create_time asc'); + return $this->pageQuery($search_model); + } + + + public function assignments_info($data){ + $member_info = $this->getInfo(); + $info = (new Assignments())->where(['student_id' => $member_info['students_id'],'id' => $data['id']])->find()->toArray(); + return $info; + } + + + public function assignments_submit($data){ + $assignments = new Assignments(); + $member_info = $this->getInfo(); + (new Assignments()) + ->where(['student_id' => $member_info['students_id'],'id' => $data['id']]) + ->update([ + 'status' => 2, + 'student_file' => $data['student_file'], + 'student_file_type' => $data['student_file_type'], + 'student_content' => $data['student_content'], + 'tj_time' => date("Y-m-d H:i:s", time()) + ]); + + return true; + + } + }