|
|
@ -72,7 +72,22 @@ class MemberService extends BaseApiService |
|
|
->field($field) |
|
|
->field($field) |
|
|
->append(['sex_name']) |
|
|
->append(['sex_name']) |
|
|
->findOrEmpty()->toArray(); |
|
|
->findOrEmpty()->toArray(); |
|
|
$info['students_id'] = (new Students())->where(['user_id' => $this->member_id])->value('id'); |
|
|
$data = (new Students())->where(['user_id' => $this->member_id])->find(); |
|
|
|
|
|
$info['students_id'] = $data['id']; |
|
|
|
|
|
$info['name'] = $data['name'] ?? ''; |
|
|
|
|
|
|
|
|
|
|
|
//课程 |
|
|
|
|
|
$classes = new Classes(); |
|
|
|
|
|
|
|
|
|
|
|
$classes_list = $classes |
|
|
|
|
|
->alias("a") |
|
|
|
|
|
->join(['school_venues' => 'b'],'a.venue_id = b.id','left') |
|
|
|
|
|
->join(['school_timetables' => 'c'],'a.id = c.class_id','left') |
|
|
|
|
|
->join(['school_courses' => 'd'],'c.courses_id = d.id','left') |
|
|
|
|
|
->whereRaw("FIND_IN_SET(?, a.max_students)", [$info['students_id']]) |
|
|
|
|
|
->group("d.id") |
|
|
|
|
|
->column("d.name"); |
|
|
|
|
|
$info['classes_list'] = implode(",", $classes_list); |
|
|
return $info; |
|
|
return $info; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -199,8 +214,6 @@ class MemberService extends BaseApiService |
|
|
$member_info = $this->getInfo(); |
|
|
$member_info = $this->getInfo(); |
|
|
$venues = new Venues(); |
|
|
$venues = new Venues(); |
|
|
$classes = new Classes(); |
|
|
$classes = new Classes(); |
|
|
$timetables = new Timetables(); |
|
|
|
|
|
$courses = new Courses(); |
|
|
|
|
|
|
|
|
|
|
|
$classes_list = $classes |
|
|
$classes_list = $classes |
|
|
->alias("a") |
|
|
->alias("a") |
|
|
@ -210,7 +223,7 @@ class MemberService extends BaseApiService |
|
|
->where('a.start_date', '<=', $data['schedule_date']) |
|
|
->where('a.start_date', '<=', $data['schedule_date']) |
|
|
->where('a.end_date', '>=', $data['schedule_date']) |
|
|
->where('a.end_date', '>=', $data['schedule_date']) |
|
|
->whereRaw("FIND_IN_SET(?, a.max_students)", [$member_info['students_id']]) |
|
|
->whereRaw("FIND_IN_SET(?, a.max_students)", [$member_info['students_id']]) |
|
|
->field("a.id,a.venue_id,a.start_date,a.end_date,a.max_students,a.name,b.name as address,d.name as courses_name, |
|
|
->field("a.id,a.status,a.venue_id,a.start_date,a.end_date,a.max_students,a.name,b.name as address,d.name as courses_name, |
|
|
LENGTH(a.max_students) - LENGTH(REPLACE(a.max_students, ',', '')) + 1 as students_count,d.id as courses_id |
|
|
LENGTH(a.max_students) - LENGTH(REPLACE(a.max_students, ',', '')) + 1 as students_count,d.id as courses_id |
|
|
") |
|
|
") |
|
|
->group("a.venue_id") |
|
|
->group("a.venue_id") |
|
|
@ -221,6 +234,7 @@ class MemberService extends BaseApiService |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$groupedClassesList = []; |
|
|
$groupedClassesList = []; |
|
|
|
|
|
$venue_ids = []; |
|
|
foreach ($classes_list as $item) { |
|
|
foreach ($classes_list as $item) { |
|
|
|
|
|
|
|
|
$has_sign = Db::name("zhjw_students_sign") |
|
|
$has_sign = Db::name("zhjw_students_sign") |
|
|
@ -233,40 +247,36 @@ class MemberService extends BaseApiService |
|
|
$item['has_sign_list'] = $has_sign; |
|
|
$item['has_sign_list'] = $has_sign; |
|
|
|
|
|
|
|
|
$venueId = $item['venue_id']; |
|
|
$venueId = $item['venue_id']; |
|
|
|
|
|
$venue_ids[] = $venueId; |
|
|
if (!isset($groupedClassesList[$venueId])) { |
|
|
if (!isset($groupedClassesList[$venueId])) { |
|
|
$groupedClassesList[$venueId] = []; |
|
|
$groupedClassesList[$venueId] = []; |
|
|
} |
|
|
} |
|
|
$groupedClassesList[$venueId][] = $item; |
|
|
$groupedClassesList[$venueId][] = $item; |
|
|
} |
|
|
} |
|
|
|
|
|
$venue_ids = array_unique($venue_ids); |
|
|
|
|
|
$venue_list = $venues->where('id','in',$venue_ids)->select()->toArray(); |
|
|
|
|
|
return ['classes_list' => $groupedClassesList, 'venue_list' => $venue_list]; |
|
|
|
|
|
|
|
|
return $groupedClassesList; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$list = $venues->order("id desc")->select()->toArray(); |
|
|
|
|
|
|
|
|
|
|
|
foreach ($list as $k=>$v){ |
|
|
|
|
|
$list[$k]['list'] = []; |
|
|
|
|
|
$classes_list = $classes->where(['venue_id' => $v['id']])->select(); |
|
|
|
|
|
if($classes_list){ |
|
|
|
|
|
foreach ($classes_list as $k1=>$v1){ |
|
|
|
|
|
$timetables_info = $timetables->where(['class_id' => $v1['id'],'schedule_date' => $data['schedule_date']])->find(); |
|
|
|
|
|
$courses_info = $courses->where(['id' => $timetables_info['courses_id']])->find(); |
|
|
|
|
|
if($timetables_info and $courses_info){ |
|
|
|
|
|
$info = [ |
|
|
|
|
|
'bj' => $v1['name'], |
|
|
|
|
|
'status' => $v1['status'], |
|
|
|
|
|
'courses_info' => $courses_info, |
|
|
|
|
|
'datetime' => $data['schedule_date'], |
|
|
|
|
|
'address' => '', |
|
|
|
|
|
'name' => $courses_info['name'] |
|
|
|
|
|
]; |
|
|
|
|
|
$list[$k]['list'][] = $info; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
public function students_sign_list(){ |
|
|
} |
|
|
$member_info = $this->getInfo(); |
|
|
|
|
|
$where['students_id'] = $member_info['students_id']; |
|
|
|
|
|
$search_model = Db::name("zhjw_students_sign")->where($where)->order('create_time desc'); |
|
|
|
|
|
return $this->pageQuery($search_model); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return $list; |
|
|
public function set_feedback($data){ |
|
|
|
|
|
$member_info = $this->getInfo(); |
|
|
|
|
|
Db::name("feedback")->insert([ |
|
|
|
|
|
'students_id' => $member_info['students_id'], |
|
|
|
|
|
'content' => $data['content'], |
|
|
|
|
|
'images' => $data['images'], |
|
|
|
|
|
'mailbox' => $data['mailbox'], |
|
|
|
|
|
'create_time' => date("Y-m-d H:i:s", time()), |
|
|
|
|
|
]); |
|
|
|
|
|
return true; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|