教师空闲时间获取、删除

This commit is contained in:
Dai 2024-07-28 22:48:34 +08:00
parent f8f5cf0fa5
commit fe008f61f9
2 changed files with 83 additions and 6 deletions

View File

@ -20,6 +20,30 @@ class TeacherFreeTimeController extends BaseController
$service = new TeacherFreeTimeService();
$res = $service->addFreeTime($request);
return $this->json($res);
} /**
* @desc 添加空闲时间
* @param Request $request
* @return \support\Response
* @throws \Exception
*/
public function getFreeTime(Request $request)
{
$service = new TeacherFreeTimeService();
$res = $service->getFreeTime($request);
return $this->json($res);
}
/**
* @desc 删除空闲时间
* @param Request $request
* @return \support\Response
* @throws \Exception
*/
public function delete(Request $request)
{
$service = new TeacherFreeTimeService();
$res = $service->delete($request);
return $this->json($res);
}
}

View File

@ -31,7 +31,7 @@ class TeacherFreeTimeService
}
$data = $request->post();
if(empty($data['free_time'])){
if (empty($data['free_time'])) {
throw new Exception('请选择时间后提交');
}
@ -45,7 +45,7 @@ class TeacherFreeTimeService
$has_msg = false;
foreach ($free_time as $item) {
$free_date = $item['day'];
foreach ($item['times'] as $val){
foreach ($item['times'] as $val) {
$time = $val['zh'];
$en_time = $val['en'];
$time_period = explode('-', $time);
@ -71,17 +71,17 @@ class TeacherFreeTimeService
//判断是否已经存在
$exit = TeacherFreeTime::where($free_data)->findOrEmpty();
if(!$exit->isEmpty()){
if (!$exit->isEmpty()) {
$msg .= '【' + $free_data['en_time'] + '】';
$has_msg = true;
continue;
}
$res = TeacherFreeTime::create($free_data);
if(!$res){
if (!$res) {
throw new Exception('保存失败');
}
if($has_msg){
if ($has_msg) {
$msg = $msg + '已存在添加';
}
@ -128,7 +128,7 @@ class TeacherFreeTimeService
'msg' => '保存成功'
];
}catch (Exception $e){
} catch (Exception $e) {
return [
'code' => ResponseCode::FAIL,
'msg' => $e->getMessage()
@ -137,4 +137,57 @@ class TeacherFreeTimeService
}
/**
* @desc 获取教师空闲时间
* @param $request
* @return array
*/
public function getFreeTime($request)
{
try {
$free_time = TeacherFreeTime::where(['date' => $request->get('date'), 'teacher_id' => $request->teacher->id])->findOrEmpty();
if ($free_time->isEmpty()) {
throw new Exception('未找到数据');
}
return [
'code' => ResponseCode::SUCCESS,
'data' => $free_time,
'msg' => 'success'
];
} catch (Exception $e) {
return [
'code' => ResponseCode::FAIL,
'msg' => $e->getMessage()
];
}
}
/**
* @desc 删除空闲时间
* @param $request
* @return array
*/
public function delete($request)
{
try {
$free_time = TeacherFreeTime::where(['id' => $request->post('free_time_id')])->findOrEmpty();
if ($free_time->isEmpty()) {
throw new Exception('未找到数据');
}
$free_time->delete();
return [
'code' => ResponseCode::SUCCESS,
'msg' => '操作成功'
];
} catch (Exception $e) {
return [
'code' => ResponseCode::FAIL,
'msg' => $e->getMessage()
];
}
}
}