于宏哲PHP 1 year ago
parent
commit
5ef681839d
  1. 2
      admin/.env.development
  2. 24
      niucloud/addon/zhjw/app/adminapi/route/route.php
  3. 15
      niucloud/app/api/controller/member/Member.php
  4. 4
      niucloud/app/api/route/member.php
  5. 74
      niucloud/app/service/api/member/MemberService.php

2
admin/.env.development

@ -2,7 +2,7 @@
VITE_APP_BASE_URL='http://zhjw.cc/adminapi/' VITE_APP_BASE_URL='http://zhjw.cc/adminapi/'
# 图片服务器地址 # 图片服务器地址
VITE_IMG_DOMAIN='http://zhjw.cc' VITE_IMG_DOMAIN='http://146.56.228.75:20021'
# 请求时header中token的参数名 # 请求时header中token的参数名
VITE_REQUEST_HEADER_TOKEN_KEY='token' VITE_REQUEST_HEADER_TOKEN_KEY='token'

24
niucloud/addon/zhjw/app/adminapi/route/route.php

@ -450,3 +450,27 @@ Route::group('zhjw', function () {
AdminLog::class AdminLog::class
]); ]);
// USER_CODE_END -- classes // USER_CODE_END -- classes
// USER_CODE_BEGIN -- feedback
Route::group('zhjw', function () {
//意见反馈列表
Route::get('feedback', 'addon\zhjw\app\adminapi\controller\feedback\Feedback@lists');
//意见反馈详情
Route::get('feedback/:id', 'addon\zhjw\app\adminapi\controller\feedback\Feedback@info');
//添加意见反馈
Route::post('feedback', 'addon\zhjw\app\adminapi\controller\feedback\Feedback@add');
//编辑意见反馈
Route::put('feedback/:id', 'addon\zhjw\app\adminapi\controller\feedback\Feedback@edit');
//删除意见反馈
Route::delete('feedback/:id', 'addon\zhjw\app\adminapi\controller\feedback\Feedback@del');
Route::get('students_all','addon\zhjw\app\adminapi\controller\feedback\Feedback@getStudentsAll');
})->middleware([
AdminCheckToken::class,
AdminCheckRole::class,
AdminLog::class
]);
// USER_CODE_END -- feedback

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

@ -50,7 +50,7 @@ class Member extends BaseApiController
[ 'field', $field ], [ 'field', $field ],
]); ]);
$data[ $field ] = $data[ 'value' ]; $data[ $field ] = $data[ 'value' ];
$this->validate($data, 'app\validate\member\Member.modify'); // $this->validate($data, 'app\validate\member\Member.modify');
( new MemberService() )->modify($field, $data[ 'value' ]); ( new MemberService() )->modify($field, $data[ 'value' ]);
return success('MODIFY_SUCCESS'); return success('MODIFY_SUCCESS');
} }
@ -142,4 +142,17 @@ class Member extends BaseApiController
return success(( new MemberService() )->course_list($data)); return success(( new MemberService() )->course_list($data));
} }
//课时列表
public function students_sign_list(){
return success(( new MemberService() )->students_sign_list());
}
public function set_feedback(){
$data = $this->request->params([
[ 'content', '' ],
['images',''],
['mailbox','']
]);
return success(( new MemberService() )->set_feedback($data));
}
} }

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

@ -110,6 +110,10 @@ Route::group('member', function () {
Route::post('course_list', 'member.Member/course_list'); Route::post('course_list', 'member.Member/course_list');
Route::post('students_sign_list', 'member.Member/students_sign_list');
Route::post('set_feedback', 'member.Member/set_feedback');
})->middleware(ApiChannel::class) })->middleware(ApiChannel::class)
->middleware(ApiCheckToken::class, true) ->middleware(ApiCheckToken::class, true)
->middleware(ApiLog::class); ->middleware(ApiLog::class);

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

@ -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;
}
}
}
}
return $list; 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);
} }
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;
}
} }

Loading…
Cancel
Save