Compare commits

...

2 Commits

  1. 42
      niucloud/app/api/controller/apiController/ClassApi.php
  2. 40
      niucloud/app/api/controller/apiController/Course.php
  3. 10
      niucloud/app/api/route/route.php
  4. 61
      niucloud/app/model/assignment/Assignment.php
  5. 5
      niucloud/app/model/customer_resources/CustomerResources.php
  6. 121
      niucloud/app/service/api/apiService/CourseService.php

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

@ -0,0 +1,42 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\apiController;
use app\Request;
use app\service\api\apiService\CourseService;
use core\base\BaseApiService;
/**
* 客户资源相关接口
* Class Personnel
* @package app\api\controller\apiController
*/
class ClassSpi extends BaseApiService
{
//课程列表
public function jlClassList(Request $request){
$id = $this->member_id;
dd(111);
return success((new CourseService())->list($id,$data));
}
//获取课程详情
public function courseInfo(Request $request){
$data = $this->request->params([
["id",0]
]);
return success('SUCCESS',(new CourseService())->info($data['id']));
}
}

40
niucloud/app/api/controller/apiController/Course.php

@ -24,7 +24,7 @@ use core\base\BaseApiService;
class Course extends BaseApiService class Course extends BaseApiService
{ {
//客户资源-修改记录列表 //课程列表
public function courseList(Request $request){ public function courseList(Request $request){
$id = $this->member_id; $id = $this->member_id;
$data = $this->request->params([ $data = $this->request->params([
@ -33,4 +33,42 @@ class Course extends BaseApiService
return success((new CourseService())->list($id,$data)); return success((new CourseService())->list($id,$data));
} }
//获取课程详情
public function courseInfo(Request $request){
$data = $this->request->params([
["id",0]
]);
return success('SUCCESS',(new CourseService())->info($data['id']));
}
//获取添加学员列表
public function addStudentList(Request $request){
$data = $this->request->params([
["id",0]
]);
return success('SUCCESS',(new CourseService())->StudentList($data['id']));
}
//获取添加学员列表
public function addStudent(Request $request){
$data = $this->request->params([
["student_id",0],
["schedule_id",0],
["time_slot",0],
["resources_id",1],
["person_id",1],
["course_date",'']
]);
return success('SUCCESS',(new CourseService())->addStudent($data));
}
//请假
public function delStudentCourse(Request $request){
$data = $this->request->params([
["student_id",0],
["course_id",0]
]);
return success('SUCCESS',(new CourseService())->delStudentCourse($data));
}
} }

10
niucloud/app/api/route/route.php

@ -278,10 +278,16 @@ Route::group(function () {
//获取添加学员列表
Route::get('course/addStudentList', 'apiController.course/addStudentList');
Route::post('course/addStudent', 'apiController.course/addStudent');
Route::get('course/delStudentCourse', 'apiController.course/delStudentCourse');
//班级列表
Route::get('class/jlClassList', 'apiController.classApi/jlClassList');
//课程列表 //课程列表
Route::get('course/courseList', 'apiController.course/courseList'); Route::get('course/courseList', 'apiController.course/courseList');
//获取课程详情
Route::get('course/courseInfo', 'apiController.course/courseInfo');
//教研管理文章列表 //教研管理文章列表
Route::get('teachingResearch/list', 'apiController.teachingResearch/list'); Route::get('teachingResearch/list', 'apiController.teachingResearch/list');
//教研管理文章详情 //教研管理文章详情

61
niucloud/app/model/assignment/Assignment.php

@ -0,0 +1,61 @@
<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\model\Assignment;
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\customer_resources\CustomerResources;
/**
* 校区模型
* Class Campus
* @package app\model\campus
*/
class Assignment extends BaseModel
{
use SoftDelete;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'assignment';
/**
* 定义软删除标记字段.
* @var string
*/
protected $deleteTime = 'deleted_at';
/**
* 定义软删除字段的默认值.
* @var int
*/
protected $defaultSoftDelete = 0;
public function student()
{
return $this->hasOne(Student::class, 'id', 'student_id');
}
}

5
niucloud/app/model/customer_resources/CustomerResources.php

@ -24,6 +24,7 @@ use think\model\relation\HasOne;
use app\model\personnel\Personnel; use app\model\personnel\Personnel;
use app\model\campus\Campus; use app\model\campus\Campus;
use app\model\member\Member;
/** /**
* 客户资源模型 * 客户资源模型
@ -127,7 +128,9 @@ class CustomerResources extends BaseModel
} }
public function member(){
return $this->hasOne(Member::class, 'member_id', 'member_id');
}

121
niucloud/app/service/api/apiService/CourseService.php

@ -13,7 +13,11 @@ namespace app\service\api\apiService;
use app\model\course_schedule\CourseSchedule; use app\model\course_schedule\CourseSchedule;
use app\model\person_course_schedule\PersonCourseSchedule; use app\model\person_course_schedule\PersonCourseSchedule;
use app\model\student_course_usage\StudentCourseUsage;
use app\model\student\Student;
use app\model\assignment\Assignment;
use app\model\course\Course; use app\model\course\Course;
use app\model\student_courses\StudentCourses;
use core\base\BaseApiService; use core\base\BaseApiService;
use think\Model; use think\Model;
use think\facade\Db; use think\facade\Db;
@ -31,7 +35,7 @@ class CourseService extends BaseApiService
$this->model = new Course(); $this->model = new Course();
} }
//获取教研管理文章列表 //课程列表
public function list($id,$data) public function list($id,$data)
{ {
$where = []; $where = [];
@ -62,5 +66,120 @@ class CourseService extends BaseApiService
} }
return $list; return $list;
} }
//获取课程详情
public function info($data)
{
$CourseSchedule = new CourseSchedule();
$search_model = $CourseSchedule
->where('id', $data)
->with(['course' => function($query) {
$query->select();
},'venue' => function($query) {
$query->select();
},'coach' => function($query) {
$query->select();
}]);
$list = $search_model->find();
$student = Db::name('person_course_schedule')
->alias('pcs')
->where('pcs.schedule_id', $list['id'])
->join('school_student st', 'pcs.student_id = st.id')
->join('school_customer_resources cr', 'st.user_id = cr.id')
->join('school_member sm', 'cr.member_id = sm.member_id')
->field('st.name, sm.headimg as avatar')
->select();
$list['student'] = $student;
$student_courses = Db::name('student_courses')
->alias('sc')
->where('sc.course_id', $list['id'])
->join('school_student_course_usage sscu', 'sc.id = sscu.student_course_id')
->field('sc.student_id,sc.end_date')
->select()->toArray();
foreach ($student_courses as &$v){
$student = Db::name('student')
->alias('st')
->where('st.id', $v['student_id'])
->join('school_customer_resources cr', 'st.user_id = cr.id')
->join('school_member sm', 'cr.member_id = sm.member_id')
->field('st.name, sm.headimg as avatar')
->find();
$v['name'] = $student['name'];
$v['avatar'] = $student['avatar'];
}
$list['student_courses'] = $student_courses;
$Assignment = new Assignment();
$search_model = $Assignment->where('course_id', $data)
->with(['student' => function($query) {
$query->with(['customerResources' => function($query) {
$query->with(['member' => function($query) {
$query->select();
}]);
}]);
}]);
$search_model_res = $search_model->select()->toArray();
$groupedByStatus1 = [];
$groupedByStatus2 = [];
$groupedByStatus3 = [];
foreach ($search_model_res as $item) {
if ($item['status'] == 1){
array_push($groupedByStatus1,$item);
} else if ($item['status'] == 2){
array_push($groupedByStatus2,$item);
} else if ($item['status'] == 3){
array_push($groupedByStatus3,$item);
}
}
$list['groupedByStatus1'] = $groupedByStatus1;
$list['groupedByStatus2'] = $groupedByStatus2;
$list['groupedByStatus3'] = $groupedByStatus3;
return $list;
}
//获取添加学员列表
public function StudentList($id)
{
$StudentCourses = new StudentCourses();
$PersonCourseSchedule = new PersonCourseSchedule();
$student_arr = $PersonCourseSchedule->where('schedule_id',$id)->column('student_id');
$query = $StudentCourses->where('course_id', $id);
if (!empty($student_arr)) {
$query->whereNotIn('student_id', $student_arr);
}
$res = $query->field('student_id as value')->select()->toArray();
$Student = new Student();
foreach ($res as $k => &$v) {
$StudentName = $Student->where('id',$v['value'])->value('name');
$v['text'] = $StudentName;
}
return $res;
}
public function addStudent($data)
{
$PersonCourseSchedule = new PersonCourseSchedule();
$res = $PersonCourseSchedule->create($data);
return $res;
}
public function delStudentCourse($data)
{
$StudentCourseUsage = new StudentCourseUsage();
$StudentCourses = new StudentCourses();
$StudentCourses_id = $StudentCourses->where('student_id',$data['student_id'])->where('course_id',$data['course_id'])->value('id');
$PersonCourseSchedule_id = $StudentCourseUsage->where('student_course_id',$StudentCourses_id)->value('id');
if ($PersonCourseSchedule_id) {
$StudentCourseUsage->where('student_course_id',$StudentCourses_id)->delete();
return true;
} else {
return false;
}
}
} }

Loading…
Cancel
Save