Compare commits

...

2 Commits

  1. 10
      niucloud/app/api/controller/member/Member.php
  2. 5
      niucloud/app/api/route/member.php
  3. 21
      niucloud/app/service/api/apiService/CourseService.php
  4. 59
      niucloud/app/service/api/member/MemberService.php

10
niucloud/app/api/controller/member/Member.php

@ -11,10 +11,13 @@
namespace app\api\controller\member;
use app\model\assignment\Assignment;
use app\model\course_schedule\CourseSchedule;
use app\service\api\login\AuthService;
use app\service\api\member\MemberLogService;
use app\service\api\member\MemberService;
use core\base\BaseApiController;
use think\facade\Db;
use think\Response;
class Member extends BaseApiController
@ -137,4 +140,11 @@ class Member extends BaseApiController
]);
return success((new MemberService())->update_call_up($data['id'], $data['remarks']));
}
public function jl_index()
{
return success((new MemberService())->jl_index());
}
}

5
niucloud/app/api/route/member.php

@ -12,6 +12,7 @@
use app\api\middleware\ApiChannel;
use app\api\middleware\ApiCheckToken;
use app\api\middleware\ApiLog;
use app\api\middleware\ApiPersonnelCheckToken;
use think\facade\Route;
@ -105,8 +106,10 @@ Route::group('member', function () {
//获取签到设置
Route::get('sign/config', 'member.MemberSign/signConfig');
Route::get('jl_index', 'member.Member/jl_index');
})->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class, true)
->middleware(ApiPersonnelCheckToken::class, true)
->middleware(ApiLog::class);

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

@ -11,8 +11,10 @@
namespace app\service\api\apiService;
use app\model\campus_person_role\CampusPersonRole;
use app\model\course_schedule\CourseSchedule;
use app\model\person_course_schedule\PersonCourseSchedule;
use app\model\six_speed\SixSpeed;
use app\model\student_course_usage\StudentCourseUsage;
use app\model\student\Student;
use app\model\assignment\Assignment;
@ -39,13 +41,17 @@ class CourseService extends BaseApiService
//课程列表
public function list($id,$data)
{
$campus_person_role = new CampusPersonRole();
$where = [];
if ($data['schedule_date']) {
$where[] = ['course_date','=', $data['schedule_date']];
}
$campus_id = $campus_person_role->where(['person_id' => $id])->column('campus_id');
$CourseSchedule = new CourseSchedule();
$search_model = $CourseSchedule
->where('coach_id', $id)
->where('campus_id','in',$campus_id)
->where($where)
->with(['course' => function($query) {
$query->select();
@ -69,6 +75,7 @@ class CourseService extends BaseApiService
//获取课程详情
public function info($data)
{
$school_six_speed = new SixSpeed();
$CourseSchedule = new CourseSchedule();
$search_model = $CourseSchedule
->where('id', $data)
@ -95,14 +102,24 @@ class CourseService extends BaseApiService
->join('school_student_course_usage sscu', 'sc.id = sscu.student_course_id')
->field('sc.student_id,sc.end_date,sc.end_date,sc.start_date,sc.course_id')
->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')
->field('st.name, sm.headimg as avatar,cr.id as resources_id,cr.source')
->find();
if($student){
$v['school_six_speed'] = $school_six_speed->where(['staff_id' => $student['resources_id']])->find();
}else{
$v['school_six_speed'] = [];
}
$v['source'] = get_dict_value("source",$student['source']);
$v['name'] = $student['name'];
$v['avatar'] = $student['avatar'];
}

59
niucloud/app/service/api/member/MemberService.php

@ -11,13 +11,18 @@
namespace app\service\api\member;
use app\model\assignment\Assignment;
use app\model\campus\Campus;
use app\model\communication_records\CommunicationRecords;
use app\model\course_schedule\CourseSchedule;
use app\model\member\Member;
use app\model\person_course_schedule\PersonCourseSchedule;
use app\model\service_logs\ServiceLogs;
use app\service\core\member\CoreMemberService;
use core\base\BaseApiService;
use core\exception\ApiException;
use core\util\Barcode;
use think\facade\Db;
use think\Model;
/**
@ -184,4 +189,58 @@ class MemberService extends BaseApiService
$campus = new CommunicationRecords();
return $campus->where('resource_id', $resource_id)->update(['remarks' => $remarks]);
}
public function jl_index(){
$schedules = new CourseSchedule();
$person_course_schedule = new PersonCourseSchedule();
$Assignment = new Assignment();
$service_logs = new ServiceLogs();
$course_list = $schedules
->alias("a")
->join(['school_venue' => 'b'],'a.venue_id = b.id','left')
->join(['school_course' => 'c'],'a.course_id = c.id','left')
->where([
['a.status','<>','completed'],
['a.course_date', 'between', [date('Y-m-d', strtotime('-6 days')), date('Y-m-d')]],
])
->where("a.coach_id = {$this->member_id} OR education_id = {$this->member_id} OR find_in_set('{$this->member_id}', a.assistant_ids) ")
->field("a.id,a.status,c.course_name,a.course_date,a.time_slot,b.venue_name as address,a.student_ids")
->order("time_slot desc")
->limit(3)
->select();
if($course_list){
$course_list = $course_list->toArray();
foreach ($course_list as $k=>$v){
$course_list[$k]['students_count'] = $person_course_schedule->where(['schedule_id' => $v['id']])->count();
$course_list[$k]['sign_count'] = $person_course_schedule->where(['schedule_id' => $v['id'],'status' => 2])->count();
}
}
//作业列表
$task_list = $Assignment
->alias("a")
->join(['school_class' => 'b'],"a.class_id = b.id","left")
->join(['school_course' => 'c'],"a.course_id = c.id","left")
->field("a.id,a.create_time,b.class_name,c.course_name")
->where([
'a.personnel_id' => $this->member_id,
'a.status' => 3
])
->limit("5")
->select();
$service_list = $service_logs
->alias("a")
->join(['school_service' => 'b'],"a.service_id = b.id","left")
->field("a.id,b.service_name,b.description,a.created_at,a.status")
->where(['staff_id' => $this->member_id])
->order("a.created_at desc")
->limit("5")
->select();
return ['course_list' => $course_list,'task_list' => $task_list,'service_list' => $service_list];
}
}

Loading…
Cancel
Save