diff --git a/app/api/controller/TeacherController.php b/app/api/controller/TeacherController.php index 4dda45a..264dcfe 100644 --- a/app/api/controller/TeacherController.php +++ b/app/api/controller/TeacherController.php @@ -31,4 +31,5 @@ class TeacherController extends BaseController return $this->json($res); } + } \ No newline at end of file diff --git a/app/api/controller/TeacherFreeTimeController.php b/app/api/controller/TeacherScheduleTimeController.php similarity index 57% rename from app/api/controller/TeacherFreeTimeController.php rename to app/api/controller/TeacherScheduleTimeController.php index da48bfd..797d688 100644 --- a/app/api/controller/TeacherFreeTimeController.php +++ b/app/api/controller/TeacherScheduleTimeController.php @@ -3,10 +3,10 @@ namespace app\api\controller; use app\BaseController; -use app\common\service\TeacherFreeTimeService; +use app\common\service\TeacherScheduleTimeService; use support\Request; -class TeacherFreeTimeController extends BaseController +class TeacherScheduleTimeController extends BaseController { /** @@ -14,9 +14,9 @@ class TeacherFreeTimeController extends BaseController * @param Request $request * @return \support\Response */ - public function addFreeTime(Request $request) + public function addScheduleTime(Request $request) { - $service = new TeacherFreeTimeService(); + $service = new TeacherScheduleTimeService(); $res = $service->addFreeTime($request); return $this->json($res); } diff --git a/app/common/model/BiddingOrder.php b/app/common/model/BiddingOrder.php deleted file mode 100644 index de9d27d..0000000 --- a/app/common/model/BiddingOrder.php +++ /dev/null @@ -1,25 +0,0 @@ -hasOne(Photographer::class, 'id', 'photographer_id'); - } - - public function requirement() - { - return $this->hasOne(Requirement::class, 'id', 'requirement_id'); - } - -} diff --git a/app/common/model/CaseShare.php b/app/common/model/CaseShare.php deleted file mode 100644 index 1eebdc1..0000000 --- a/app/common/model/CaseShare.php +++ /dev/null @@ -1,29 +0,0 @@ -hasOne(ServiceType::class, 'id', 'service_type'); - } - - public function photographer() - { - return $this->hasOne(Photographer::class, 'id', 'photographer_id'); - } - -} diff --git a/app/common/model/ChatFriend.php b/app/common/model/ChatFriend.php deleted file mode 100644 index a8b3336..0000000 --- a/app/common/model/ChatFriend.php +++ /dev/null @@ -1,33 +0,0 @@ -hasOne(User::class, 'id', 'friend_id')->bind(['nickname', 'avatar', 'is_photographer']); - } - - /** - * @desc 好友摄影师信息 - * @return \think\model\relation\HasOne - */ - public function photographer() - { - return $this->hasOne(Photographer::class, 'id', 'photographer_id')->bind([ -// 'photographer_id' => 'id', - 'photographer_name' => 'name', - 'photographer_avatar' => 'avatar', - ]); - } - -} diff --git a/app/common/model/ChatRecords.php b/app/common/model/ChatRecords.php deleted file mode 100644 index e75ffb5..0000000 --- a/app/common/model/ChatRecords.php +++ /dev/null @@ -1,14 +0,0 @@ -hasOne(Photographer::class, 'id', 'photographer_id'); - } -} diff --git a/app/common/model/PaidService.php b/app/common/model/PaidService.php deleted file mode 100644 index 4f1b19c..0000000 --- a/app/common/model/PaidService.php +++ /dev/null @@ -1,21 +0,0 @@ -hasOne(Photographer::class, 'id', 'photographer_id'); - } - - -} diff --git a/app/common/model/Photographer.php b/app/common/model/Photographer.php deleted file mode 100644 index fea9389..0000000 --- a/app/common/model/Photographer.php +++ /dev/null @@ -1,28 +0,0 @@ -hasOne(Studio::class, 'id', 'studio_id')->bind([ - 'studio_name', - 'studio_img' => 'img', - 'studio_introductions' => 'introductions', - ]); - } - - public function user() - { - return $this->hasOne(User::class, 'id', 'user_id')->bind(['nickname']); - } -} diff --git a/app/common/model/Ratio.php b/app/common/model/Ratio.php deleted file mode 100644 index 3bbcc9c..0000000 --- a/app/common/model/Ratio.php +++ /dev/null @@ -1,20 +0,0 @@ -hasOne(ServiceType::class, 'id', 'service_type')->bind(['service_name']); - } - - - public function bidWinPhotographer() - { - return $this->hasOne(Photographer::class, 'id', 'bid_win_photographer_id'); - } -} diff --git a/app/common/model/RequirementOrder.php b/app/common/model/RequirementOrder.php deleted file mode 100644 index e17cc2d..0000000 --- a/app/common/model/RequirementOrder.php +++ /dev/null @@ -1,31 +0,0 @@ -hasOne(Teacher::class, 'id', 'teacher_id'); + } + + public function subject() + { + return $this->hasOne(Subject::class, 'id', 'subject_id')->bind(['subject_name','english_name']); + } } diff --git a/app/common/service/TeacherFreeTimeService.php b/app/common/service/TeacherScheduleTimeService.php similarity index 91% rename from app/common/service/TeacherFreeTimeService.php rename to app/common/service/TeacherScheduleTimeService.php index 098e9b7..dde2aa8 100644 --- a/app/common/service/TeacherFreeTimeService.php +++ b/app/common/service/TeacherScheduleTimeService.php @@ -3,12 +3,12 @@ namespace app\common\service; use app\common\model\Teacher; -use app\common\model\TeacherFreeTime; +use app\common\model\TeacherScheduleTime; use app\constant\ResponseCode; use DateTime; use think\Exception; -class TeacherFreeTimeService +class TeacherScheduleTimeService { /** @@ -52,7 +52,7 @@ class TeacherFreeTimeService // ]; $data = $request->post(); - $free_time = json_decode($data['free_time'], true); + $free_time = json_decode($data['schedule_time'], true); if (empty($free_time)) { throw new Exception('请选择时间段之后再提交'); @@ -74,7 +74,8 @@ class TeacherFreeTimeService 'hour' => $hour, 'month' => date('Y-m', strtotime($free_date)), ]; - $res = TeacherFreeTime::create($free_data); + //@todo:判断是否已经存在 + $res = TeacherScheduleTime::create($free_data); if(!$res){ throw new Exception('保存失败'); } diff --git a/plugin/admin/app/controller/TeacherScheduleTimeController.php b/plugin/admin/app/controller/TeacherScheduleTimeController.php new file mode 100644 index 0000000..1c43593 --- /dev/null +++ b/plugin/admin/app/controller/TeacherScheduleTimeController.php @@ -0,0 +1,150 @@ +model = new TeacherScheduleTime; + } + + /** + * 浏览 + * @return Response + */ + public function index(): Response + { + return view('teacher-schedule-time/index'); + } + + + /** + * 插入 + * @param Request $request + * @return Response + * @throws BusinessException + */ + public function insert(Request $request): Response + { + if ($request->method() === 'POST') { + return parent::insert($request); + } + return view('teacher-schedule-time/insert'); + } + + /** + * 更新 + * @param Request $request + * @return Response + * @throws BusinessException + */ + public function update(Request $request): Response + { + if ($request->method() === 'POST') { + return parent::update($request); + } + $teacher = []; + + if ($request->get('id')) { + $teacher_free_time = \app\common\model\TeacherScheduleTime::where(['id' => $request->get('id')])->findOrEmpty(); + $teacher = Teacher::where(['id' => $teacher_free_time->teacher_id])->field('teacher_name,account')->findOrEmpty()->toArray(); + } + return view('teacher-schedule-time/update', ['teacher' => $teacher]); + } + + /** + * 更新 + * @param Request $request + * @return Response + * @throws BusinessException + */ + public function scheduleTimeSet(Request $request): Response + { + if ($request->method() === 'POST') { + + if($request->post('is_publish')){ + $request->post('is_publish', 0); + } +// parent::update($request); + + return parent::update($request); + } + $free_time_id = $request->get('free_time_id'); + $schedule_time = \app\common\model\TeacherScheduleTime::where(['id' => $free_time_id])->with(['teacher'])->findOrEmpty()->toArray(); + $project = Subject::order('sort desc, id asc')->select()->toArray(); + + return view('teacher-schedule-time/schedule_time_setting', ['schedule_time' => $schedule_time, 'project' => $project]); + } + + /** + * @desc 时间列表 + * @param Request $request + * @return Response + */ + public function getScheduleTime(Request $request) + { + try { + $list = \app\common\model\TeacherScheduleTime::where(['teacher_id' => $request->get('id'), 'month' => '2024-07']) + ->with(['subject']) + ->select() + ->toArray(); + + $free_time = []; + foreach ($list as $item) { + $time_period = explode('-', $item['time']); + if ($item['subject_id']) { + $title = $item['time'] . ' - ' . $item['subject_name'] . '/' .$item['english_name']; + if($item['is_publish'] == 0){ + $color = 'orange'; + }else{ + $color = 'green'; + } + } else { + $color = 'red'; + $title = $item['time']; + } + $free_time[] = [ + 'free_time_id' => $item['id'], + 'title' => $title, + 'start' => $item['date'] . ' ' . $time_period[0], + 'color' => $color, + ]; + } + + return json([ + 'code' => ResponseCode::WEB_API_SUCCESS, + 'data' => $free_time, + 'msg' => 'success' + ]); + } catch (Exception $e) { + return json([ + 'code' => ResponseCode::WEB_API_FAIL, + 'msg' => $e->getMessage() + ]); + } + } + +} diff --git a/plugin/admin/app/controller/TeacherScheduleTimeController232.php b/plugin/admin/app/controller/TeacherScheduleTimeController232.php new file mode 100644 index 0000000..ff63e5d --- /dev/null +++ b/plugin/admin/app/controller/TeacherScheduleTimeController232.php @@ -0,0 +1,68 @@ +model = new TeacherScheduleTime; + } + + /** + * 浏览 + * @return Response + */ + public function index(): Response + { + return view('teacher-schedule-time/index'); + } + + /** + * 插入 + * @param Request $request + * @return Response + * @throws BusinessException + */ + public function insert(Request $request): Response + { + if ($request->method() === 'POST') { + return parent::insert($request); + } + return view('teacher-schedule-time/insert'); + } + + /** + * 更新 + * @param Request $request + * @return Response + * @throws BusinessException + */ + public function update(Request $request): Response + { + if ($request->method() === 'POST') { + return parent::update($request); + } + return view('teacher-schedule-time/update'); + } + +} diff --git a/plugin/admin/app/controller/TeacherFreeTimeController.php b/plugin/admin/app/controller/TeacherScheduleTimebakController.php similarity index 78% rename from plugin/admin/app/controller/TeacherFreeTimeController.php rename to plugin/admin/app/controller/TeacherScheduleTimebakController.php index f114d36..6005c83 100644 --- a/plugin/admin/app/controller/TeacherFreeTimeController.php +++ b/plugin/admin/app/controller/TeacherScheduleTimebakController.php @@ -2,6 +2,7 @@ namespace plugin\admin\app\controller; +use app\common\model\Teacher; use app\constant\ResponseCode; use support\Request; use support\Response; @@ -13,7 +14,7 @@ use think\Exception; /** * 教师空闲时间 */ -class TeacherFreeTimeController extends Crud +class TeacherScheduleTimebakController extends Crud { /** @@ -64,8 +65,15 @@ class TeacherFreeTimeController extends Crud if ($request->method() === 'POST') { return parent::update($request); } - return view('teacher-free-time/update'); + $teacher = []; + if ($request->get('id')) { + $teacher_free_time = \app\common\model\TeacherScheduleTime::where(['id' => $request->get('id')])->findOrEmpty(); + $teacher = Teacher::where(['id' => $teacher_free_time->teacher_id])->field('teacher_name,account')->findOrEmpty()->toArray(); + } + + return view('teacher-free-time/update', ['teacher'=>$teacher]); } + /** * 更新 * @param Request $request @@ -88,13 +96,13 @@ class TeacherFreeTimeController extends Crud public function getFreeTime(Request $request) { try { - $list = \app\common\model\TeacherFreeTime::where(['teacher_id' => $request->get('id'), 'month' => '2024-07'])->select()->toArray(); + $list = \app\common\model\TeacherScheduleTime::where(['teacher_id' => $request->get('id'), 'month' => '2024-07'])->select()->toArray(); $free_time = []; foreach ($list as $item) { $time_period = explode('-', $item['time']); $free_time[] = [ - 'free_time_id'=> $item['id'], + 'free_time_id' => $item['id'], 'title' => $item['time'], 'start' => $item['date'] . ' ' . $time_period[0] ]; diff --git a/plugin/admin/app/model/TeacherSchedule.php b/plugin/admin/app/model/TeacherSchedule.php new file mode 100644 index 0000000..063ff3d --- /dev/null +++ b/plugin/admin/app/model/TeacherSchedule.php @@ -0,0 +1,39 @@ +