diff --git a/niucloud/app/api/controller/apiController/ClassApi.php b/niucloud/app/api/controller/apiController/ClassApi.php index 24b8d248..d8c22f2a 100644 --- a/niucloud/app/api/controller/apiController/ClassApi.php +++ b/niucloud/app/api/controller/apiController/ClassApi.php @@ -69,6 +69,20 @@ class ClassApi extends BaseApiService 'id' => $id, ]; $res = (new PhysicalTestService())->getInfo($where); + $physicalTestReport = []; + if (isset($res['data']['physical_test_report'])) { + $value = $res['data']['physical_test_report']; + if (is_string($value)) { + if (strpos($value, ',') !== false) { + $physicalTestReport = array_map('trim', explode(',', $value)); + } else { + $physicalTestReport = [$value]; + } + } elseif (is_array($value)) { + $physicalTestReport = $value; + } + } + $res['data']['physical_test_report'] = $physicalTestReport; if(!$res['code']){ return fail($res['msg']); } @@ -96,19 +110,40 @@ class ClassApi extends BaseApiService //添加作业 public function addJlPublishJob(Request $request) { + $id = $this->member_id; $data = $this->request->params([ ["class_id",0], ["classes_id_name",''], - ["content_text",''], + ["description",''], ["content_type",''], ["course_id",0], ["course_id_name",''], ["student_id",''], ["students_ids_name",''], ["type",''], + ["personnel_id",$id], ]); + if (isset($data['student_id'])) { + if (is_string($data['student_id']) && strpos($data['student_id'], ',') !== false) { + $studentIds = explode(',', $data['student_id']); + $studentIds = array_map('trim', $studentIds); + } elseif (is_array($data['student_id'])) { + $studentIds = $data['student_id']; + } else { + $studentIds = [(string)$data['student_id']]; + } + $studentIds = array_map('intval', $studentIds); + } else { + $studentIds = []; + } + $data['student_id'] = $studentIds; return success('操作成功', (new jlClassService())->addPublishJob($data)); } - + //获取我的页面统计个数 + public function getStatisticsInfo() + { + $id = $this->member_id; + return success('操作成功', (new jlClassService())->getStatisticsInfo($id)); + } } diff --git a/niucloud/app/api/route/route.php b/niucloud/app/api/route/route.php index 8d542f04..c235ec91 100644 --- a/niucloud/app/api/route/route.php +++ b/niucloud/app/api/route/route.php @@ -277,7 +277,8 @@ Route::group(function () { - + //添加作业 + Route::get('class/Statistics/info', 'apiController.classApi/getStatisticsInfo'); //添加作业 Route::get('class/jlPublishJob/add', 'apiController.classApi/addJlPublishJob'); //添加作业-获取课程列表 diff --git a/niucloud/app/service/api/apiService/TeachingResearchService.php b/niucloud/app/service/api/apiService/TeachingResearchService.php index 547949a0..d8d696e6 100644 --- a/niucloud/app/service/api/apiService/TeachingResearchService.php +++ b/niucloud/app/service/api/apiService/TeachingResearchService.php @@ -59,12 +59,11 @@ class TeachingResearchService extends BaseApiService $field = 'id,title,image,type,content,status,create_time,update_time,delete_time,table_type,user_permission,url,exam_papers_id'; $LessonCourseTeaching = new LessonCourseTeaching(); $info = $LessonCourseTeaching->field($field)->where([['id', "=", $id]])->findOrEmpty()->toArray(); - if (is_array($info) && isset($info['type']) && $info['type'] == 2 && !empty($info['url']) && is_string($info['url'])) { - $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https://" : "http://"; - $domain = $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'] ?? 'localhost'; - $info['url'] = $protocol . $domain . '/' . $info['url']; - } - +// if (is_array($info) && isset($info['type']) && $info['type'] == 2 && !empty($info['url']) && is_string($info['url'])) { +// $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? "https://" : "http://"; +// $domain = $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'] ?? 'localhost'; +// $info['url'] = $protocol . $domain . '/' . $info['url']; +// } return $info; } diff --git a/niucloud/app/service/api/apiService/jlClassService.php b/niucloud/app/service/api/apiService/jlClassService.php index 115420f4..e1565f72 100644 --- a/niucloud/app/service/api/apiService/jlClassService.php +++ b/niucloud/app/service/api/apiService/jlClassService.php @@ -12,6 +12,7 @@ namespace app\service\api\apiService; use app\model\class_grade\ClassGrade; +use app\model\course_schedule\CourseSchedule; use app\model\student\Student; use app\model\assignment\Assignment; use app\model\course\Course; @@ -148,9 +149,51 @@ class jlClassService extends BaseApiService public function addPublishJob($data) { $Assignment = new Assignment(); - $res = $Assignment->create($data); - return $res; + foreach ($data['student_id'] as $v) { + $data['student_id'] = $v; + $Assignment->create($data); + } + return true; } + public function getStatisticsInfo($id) + { + $CourseSchedule = new CourseSchedule(); + $courseNum = $CourseSchedule->where('coach_id', $id)->count(); + $classNum = $this->model->where('head_coach', $id)->count(); + $studentInfo = $this->model->where('head_coach', $id) + ->with(['classPersonnelRel' => function($query) { + $query->select(); + }]); + $studentInfo = $studentInfo->select()->toArray(); + $studentNum = 0; + foreach ($studentInfo as $v){ + $studentNum += count($v['classPersonnelRel']); + } + // 获取当前时间戳 + $now = time(); + $firstDayOfMonth = date('Y-m-01', $now); + $lastDayOfMonth = date('Y-m-t', $now); + $classMonthNum = $this->model->where('head_coach', $id)->whereBetween('created_at', [$firstDayOfMonth, $lastDayOfMonth])->count(); + $courseMonthNum = $CourseSchedule->where('coach_id', $id)->whereBetween('course_date', [$firstDayOfMonth, $lastDayOfMonth])->count(); + $studentMonthInfo = $this->model->where('head_coach', $id)->whereBetween('created_at', [$firstDayOfMonth, $lastDayOfMonth]) + ->with(['classPersonnelRel' => function($query) { + $query->select(); + }]); + $studentMonthInfo = $studentMonthInfo->select()->toArray(); + $studentMonthNum = 0; + foreach ($studentMonthInfo as $v){ + $studentMonthNum += count($v['classPersonnelRel']); + } + $arr = [ + 'courseNum' => $courseNum, + 'classNum' => $classNum, + 'studentNum' => $studentNum, + 'classMonthNum' => $classMonthNum, + 'courseMonthNum' => $courseMonthNum, + 'studentMonthNum' => $studentMonthNum, + ]; + return $arr; + } }