Compare commits

...

2 Commits

  1. 18
      niucloud/app/api/controller/apiController/ClassApi.php
  2. 7
      niucloud/app/api/controller/apiController/TeachingResearch.php
  3. 2
      niucloud/app/api/route/route.php
  4. 11
      niucloud/app/model/class_grade/ClassGrade.php
  5. 57
      niucloud/app/model/class_personnel_rel/ClassPersonnelRel.php
  6. 102
      niucloud/app/service/api/apiService/jlClassService.php

18
niucloud/app/api/controller/apiController/ClassApi.php

@ -12,7 +12,7 @@
namespace app\api\controller\apiController; namespace app\api\controller\apiController;
use app\Request; use app\Request;
use app\service\api\apiService\CourseService; use app\service\api\apiService\jlClassService;
use core\base\BaseApiService; use core\base\BaseApiService;
@ -21,22 +21,24 @@ use core\base\BaseApiService;
* Class Personnel * Class Personnel
* @package app\api\controller\apiController * @package app\api\controller\apiController
*/ */
class ClassSpi extends BaseApiService class ClassApi extends BaseApiService
{ {
//课程列表 //课程列表
public function jlClassList(Request $request){ public function jlClassList(Request $request){
$id = $this->member_id; $id = $this->member_id;
dd(111); $data = $this->request->params([
return success((new CourseService())->list($id,$data)); ["name",'']
]);
return success((new jlClassService())->list($id,$data));
} }
//获取课程详情 //课程详情
public function courseInfo(Request $request){ public function jlClassInfo(Request $request){
$data = $this->request->params([ $data = $this->request->params([
["id",0] ["class_id",0]
]); ]);
return success('SUCCESS',(new CourseService())->info($data['id'])); return success('获取成功',(new jlClassService())->info($data['class_id']));
} }
} }

7
niucloud/app/api/controller/apiController/TeachingResearch.php

@ -115,10 +115,15 @@ class TeachingResearch extends BaseApiService
if ($resLessonTeaching['answers_num'] >= $res['number_answers']) { if ($resLessonTeaching['answers_num'] >= $res['number_answers']) {
return fail('已超过答题次数', []); return fail('已超过答题次数', []);
} else { } else {
if (count($userRes['data']['cameus_dept_arr']) > 0) {
$campus_id = $userRes['data']['cameus_dept_arr'][0]['campus_id'];
} else {
$campus_id = 0;
}
foreach ($result as &$v){ foreach ($result as &$v){
$v['user_id'] = $userRes['data']['id']; $v['user_id'] = $userRes['data']['id'];
$v['question_id'] = $v['ids']; $v['question_id'] = $v['ids'];
$v['campus_id'] = 0; $v['campus_id'] = $campus_id;
$v['answer'] = $v['value']; $v['answer'] = $v['value'];
$resEq = $ExamQuestions->where('id',$v['ids'])->find(); $resEq = $ExamQuestions->where('id',$v['ids'])->find();
if ($resEq['correct_answer'] == $v['value']){ if ($resEq['correct_answer'] == $v['value']){

2
niucloud/app/api/route/route.php

@ -294,6 +294,8 @@ Route::group(function () {
Route::get('course/delStudentCourse', 'apiController.course/delStudentCourse'); Route::get('course/delStudentCourse', 'apiController.course/delStudentCourse');
//班级列表 //班级列表
Route::get('class/jlClassList', 'apiController.classApi/jlClassList'); Route::get('class/jlClassList', 'apiController.classApi/jlClassList');
//班级详情
Route::get('class/jlClassInfo', 'apiController.classApi/jlClassInfo');
//课程列表 //课程列表
Route::get('course/courseList', 'apiController.course/courseList'); Route::get('course/courseList', 'apiController.course/courseList');
//获取课程详情 //获取课程详情

11
niucloud/app/model/class_grade/ClassGrade.php

@ -13,6 +13,7 @@ namespace app\model\class_grade;
use app\model\campus\Campus; use app\model\campus\Campus;
use app\model\personnel\Personnel; use app\model\personnel\Personnel;
use app\model\class_personnel_rel\ClassPersonnelRel;
use core\base\BaseModel; use core\base\BaseModel;
use think\model\concern\SoftDelete; use think\model\concern\SoftDelete;
use think\model\relation\HasMany; use think\model\relation\HasMany;
@ -229,6 +230,16 @@ class ClassGrade extends BaseModel
return $this->hasOne(Personnel::class, 'id', 'head_coach')->joinType('left')->withField('name,id')->bind(['head_coach_name'=>'name']); return $this->hasOne(Personnel::class, 'id', 'head_coach')->joinType('left')->withField('name,id')->bind(['head_coach_name'=>'name']);
} }
public function personnelAll(){
return $this->hasOne(Personnel::class, 'id', 'head_coach')->joinType('left')->withField('head_img,id')->bind(['head_coach_head_img'=>'head_img']);
}
public function personnelName(){
return $this->hasOne(Personnel::class, 'id', 'head_coach')->joinType('left')->withField('name,id')->bind(['head_coach_name'=>'name']);
}
public function classPersonnelRel(){
return $this->hasMany(ClassPersonnelRel::class, 'class_id', 'id');
}
} }

57
niucloud/app/model/class_personnel_rel/ClassPersonnelRel.php

@ -0,0 +1,57 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\model\class_personnel_rel;
use core\base\BaseModel;
use think\model\concern\SoftDelete;
use think\model\relation\HasMany;
use think\model\relation\HasOne;
use app\model\student\Student;
use app\model\student_courses\StudentCourses;
use app\model\class_grade\ClassGrade;
use app\model\customer_resources\CustomerResources;
use app\model\campus\Campus;
class ClassPersonnelRel extends BaseModel
{
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'class_personnel_rel';
public function student(){
return $this->hasOne(Student::class, 'id', 'source_id');
}
public function studentCourses(){
return $this->hasOne(StudentCourses::class, 'student_id', 'source_id')->joinType('left')->withField('end_date,student_id')->bind(['end_date'=>'end_date']);
}
public function studentCoursesInfo(){
return $this->hasOne(StudentCourses::class, 'student_id', 'source_id');
}
}

102
niucloud/app/service/api/apiService/jlClassService.php

@ -0,0 +1,102 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\api\apiService;
use app\model\class_grade\ClassGrade;
use core\base\BaseApiService;
/**
* 考勤管理服务层
* Class MemberService
* @package app\service\api\member
*/
class jlClassService extends BaseApiService
{
public function __construct()
{
parent::__construct();
$this->model = (new ClassGrade());
}
//列表
public function list($id,$data)
{
$order = 'id desc';
$where = [];
if ($data['name'] !== '') {
$where[] = ['name','like','%'.$data['name'].'%'];
}
$search_model = $this->model->where('head_coach', $id)->where($where)->order($order)
->with(['classPersonnelRel' => function($query) {
$query->with(['student' => function($query) {
$query->with(['customerResources' => function($query) {
$query->with(['member' => function($query) {
$query->select();
}]);
}]);
},'studentCourses']);
},'personnelAll']);
$list = $this->pageQuery($search_model);
foreach ($list['data'] as &$v){
if (count($v['classPersonnelRel']) > 0) {
$now = time();
$count = 0;
foreach ($v['classPersonnelRel'] as $item) {
if (isset($item['end_date'])) {
$endTime = strtotime($item['end_date']);
if ($endTime > $now && $endTime <= $now + 7 * 86400) {
$count++;
}
}
}
$v['end_count'] = $count;
} else {
$v['end_count'] = 0;
}
}
return $list;
}
public function info($data)
{
$search_model = $this->model->where('id', $data)
->with(['classPersonnelRel' => function($query) {
$query->with(['student' => function($query) {
$query->with(['customerResources' => function($query) {
$query->with(['member' => function($query) {
$query->select();
}]);
}]);
},'studentCourses','studentCoursesInfo']);
},'personnelAll', 'personnelName']);
$list = $search_model->find();
if (count($list['classPersonnelRel']) > 0) {
$now = time();
$count = 0;
foreach ($list['classPersonnelRel'] as $item) {
if (isset($item['end_date'])) {
$endTime = strtotime($item['end_date']);
if ($endTime > $now && $endTime <= $now + 7 * 86400) {
$count++;
}
}
}
$v['end_count'] = $count;
} else {
$v['end_count'] = 0;
}
return $list;
}
}
Loading…
Cancel
Save