diff --git a/app/admin/controller/Banner/Banner.php b/app/admin/controller/Banner/Banner.php index 423af54..b56729b 100644 --- a/app/admin/controller/Banner/Banner.php +++ b/app/admin/controller/Banner/Banner.php @@ -22,7 +22,7 @@ class Banner extends BaseController */ public function getBannerList(Request $request): array { - $con = Tool::getOptionalQuery(['banner_location', '='],); + $con = Tool::getOptionalQuery(); $query = ModelBanner::where($con) ->field([ diff --git a/app/admin/controller/Poster/Poster.php b/app/admin/controller/Poster/Poster.php new file mode 100644 index 0000000..94c2450 --- /dev/null +++ b/app/admin/controller/Poster/Poster.php @@ -0,0 +1,110 @@ +param(); + $con = Tool::getOptionalQuery(['poster_location', '='],); + + $query = ModelPoster::where($con) + ->field([ + 'poster_id', + 'poster_guid', + 'poster_location', + 'poster_img', + 'poster_title', + 'poster_describe', + 'poster_sort' + ]) + ->order('poster_update_time', 'desc'); + + return msg("获取海报列表成功!", $query); + } + + /** + * 编辑海报 + */ + public function editPoster(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'poster_location|位置' => 'require', + 'poster_img|图片' => 'require', + 'poster_title|标题' => 'require', + 'poster_describe|描述' => 'require', + 'poster_sort|排序' => 'require' + ]); + $model = ModelPoster::where('poster_guid', $params['poster_guid'])->find(); + if (!$model) throwErrorMsg("该海报不存在", 1); + $model->allowField([ + 'poster_update_user_guid', + 'poster_location', + 'poster_img', + 'poster_title', + 'poster_describe', + 'poster_sort' + ])->save($params); + return msg('编辑成功!'); + } + + /** + * 添加海报 + */ + public function addPoster(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'poster_location|位置' => 'require', + 'poster_img|图片' => 'require', + 'poster_title|标题' => 'require', + 'poster_describe|描述' => 'require', + 'poster_sort|排序' => 'require' + ]); + $model = ModelPoster::create($params, [ + 'poster_guid', + 'poster_create_user_guid', + 'poster_update_user_guid', + 'poster_location', + 'poster_img', + 'poster_title', + 'poster_describe', + 'poster_sort' + ]); + return msg('添加成功!'); + } + + /** + * 删除海报 + */ + public function deletePoster(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'poster_guid' => 'require', + ]); + $poster = ModelPoster::where([ + 'poster_guid' => explode(',', $params['poster_guid']) + ])->select(); + $poster->delete(); + return msg('删除成功!'); + } +} diff --git a/app/admin/controller/Teachers_strength/subject.php b/app/admin/controller/TeachersStrength/Subject.php similarity index 94% rename from app/admin/controller/Teachers_strength/subject.php rename to app/admin/controller/TeachersStrength/Subject.php index f7bf169..f3ce24c 100644 --- a/app/admin/controller/Teachers_strength/subject.php +++ b/app/admin/controller/TeachersStrength/Subject.php @@ -1,9 +1,9 @@ param(); - $data = array_values(ModelSubject::EXCELFIELD); + $data = [ + array_values(ModelSubject::EXCELFIELD), + ['管理组', '1'] + ]; $excel = (new Excel())->exporTsheet($data); $excel->save('授课科目导入模板.xlsx'); } diff --git a/app/admin/controller/Teachers_strength/Teacher.php b/app/admin/controller/TeachersStrength/Teacher.php similarity index 93% rename from app/admin/controller/Teachers_strength/Teacher.php rename to app/admin/controller/TeachersStrength/Teacher.php index 1de1d8e..aacab41 100644 --- a/app/admin/controller/Teachers_strength/Teacher.php +++ b/app/admin/controller/TeachersStrength/Teacher.php @@ -1,9 +1,9 @@ param(); - $data = array_values(ModelTeacher::EXCELFIELD); + $data = [ + array_values(ModelTeacher::EXCELFIELD), + ['管理组', '黎老师', '执行董事', '毕业于西南交大建筑与设计学院 高考美术教育13年', "1"] + ]; $excel = (new Excel())->exporTsheet($data); $excel->save('教师导入模板.xlsx'); } diff --git a/app/api/controller/TeachersStrength/Subject.php b/app/api/controller/TeachersStrength/Subject.php new file mode 100644 index 0000000..f73a2b3 --- /dev/null +++ b/app/api/controller/TeachersStrength/Subject.php @@ -0,0 +1,43 @@ +param(); + $con = []; + + $query = ModelSubject::where($con) + ->field([ + 'subject_id', + 'subject_guid', + 'subject_name', + 'subject_sort' + ]) + ->order('subject_sort', 'asc'); + + return msg(0, "获取授课科目列表成功!", [ + 'data' => $query, + 'count' => count($query) + ]); + } + +} diff --git a/app/api/controller/Teachers/Teachers.php b/app/api/controller/TeachersStrength/Teachers.php similarity index 91% rename from app/api/controller/Teachers/Teachers.php rename to app/api/controller/TeachersStrength/Teachers.php index 2a19e29..1d9c06d 100644 --- a/app/api/controller/Teachers/Teachers.php +++ b/app/api/controller/TeachersStrength/Teachers.php @@ -1,9 +1,9 @@ param(); $con = []; - $con = Tool::getOptionalQuery(['teacher_name', 'LIKE'], ['teacher_position', '='], ['subject_guid', '='],); + $con = Tool::getOptionalQuery(['teacher_name', 'LIKE'], ['subject_guid', '='],); $query = ModelTeachers::where($con) ->field([ diff --git a/app/api/controller/subject/subject.php b/app/api/controller/subject/subject.php deleted file mode 100644 index 730c2a9..0000000 --- a/app/api/controller/subject/subject.php +++ /dev/null @@ -1,64 +0,0 @@ -param(); - $con = []; - - $con = Tool::getOptionalQuery(['subject_name', 'LIKE'], ['subject_sort', '='],); - - $query = ModelSubject::where($con) - ->field([ - 'subject_id', - 'subject_guid', - 'subject_name', - 'subject_sort' - ]) - ->order('subject_sort', 'asc'); - - - - return msg("获取授课科目列表成功!", $query); - } - - /** - * 获取授课科目详情 - */ - public function getSubjectInfo(Request $request): array - { - $params = $request->param(); - - $this->validate($params, ['subject_guid' => 'require']); - - $find = ModelSubject::field([ - 'subject_id', - 'subject_guid', - 'subject_name', - 'subject_sort' - ]) - ->where('subject_guid', $params['subject_guid']) - ->find(); - - return msg(0, '获取授课科目详情成功!', ['data' => $find]); - } -} diff --git a/app/common/model/Banner/Banner.php b/app/common/model/Banner/Banner.php index 25cf7b5..be4df8f 100644 --- a/app/common/model/Banner/Banner.php +++ b/app/common/model/Banner/Banner.php @@ -50,7 +50,7 @@ class Banner extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc(self::class, $model->banner_order, ['banner_location' => $model->banner_location]); + Tool::sortInsertProc(self::class, $model->banner_order); $model->completeCreateField(); } @@ -59,7 +59,7 @@ class Banner extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc(self::class, $model->banner_guid, $model->banner_order, ['banner_location' => $model->banner_location]); + Tool::sortEditProc(self::class, $model->banner_guid, $model->banner_order); $model->completeUpdateField(); } @@ -68,7 +68,7 @@ class Banner extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->banner_guid, ["banner_location"]); + Tool::sortDeleteProc(self::class, $model->banner_guid); $model->completeDeleteField(); } } diff --git a/app/common/model/Poster/Poster.php b/app/common/model/Poster/Poster.php new file mode 100644 index 0000000..142c436 --- /dev/null +++ b/app/common/model/Poster/Poster.php @@ -0,0 +1,95 @@ + "int", + + "poster_guid" => "string", + + "poster_location" => "string", + + "poster_img" => "string", + + "poster_title" => "string", + + "poster_describe" => "string", + + "poster_sort" => "string", + + "poster_create_time" => "datetime", + + "poster_create_user_guid" => "string", + + "poster_update_time" => "datetime", + + "poster_update_user_guid" => "string", + + "poster_delete_time" => "datetime", + + "poster_delete_user_guid" => "string", + + ]; + // 设置json类型字段 + protected $json = ['']; + // 开启自动写入时间戳字段 + protected $autoWriteTimestamp = 'datetime'; + // 创建时间 + protected $createTime = 'poster_create_time'; + // 修改时间 + protected $updateTime = 'poster_update_time'; + + + + //排序字段 + public $order_field = 'poster_sort'; + + /** + * 新增前 + */ + public static function onBeforeInsert(self $model): void + { + Validate::unique(self::class, $model->subject_guid, $model->getData(), [ + 'poster_location' => '海报位置', + ]); + Tool::sortInsertProc(self::class, $model->poster_sort); + $model->completeCreateField(); + } + + /** + * 更新前 + */ + public static function onBeforeUpdate(self $model): void + { + Tool::sortEditProc(self::class, $model->poster_guid, $model->poster_sort); + $model->completeUpdateField(); + } + + /** + * 删除前 + */ + public static function onBeforeDelete(self $model): void + { + Tool::sortDeleteProc(self::class, $model->poster_guid); + $model->completeDeleteField(); + } +} diff --git a/app/common/model/Teachers_strength/subject.php b/app/common/model/TeachersStrength/Subject.php similarity index 89% rename from app/common/model/Teachers_strength/subject.php rename to app/common/model/TeachersStrength/Subject.php index 2eb4861..d6af7c1 100644 --- a/app/common/model/Teachers_strength/subject.php +++ b/app/common/model/TeachersStrength/Subject.php @@ -1,6 +1,6 @@ '排序', ]; -//排序字段 -public $order_field = 'subject_sort'; + //排序字段 + public $order_field = 'subject_sort'; /** * 新增前 @@ -68,10 +68,12 @@ public $order_field = 'subject_sort'; public static function onBeforeInsert(self $model): void { // self::checkRepeatData($model); + Validate::unique(self::class, $model->subject_guid, $model->getData(), [ + 'subject_name' => '科目名字', + ]); Tool::sortInsertProc( self::class, $model->subject_sort, - ); $model->completeCreateField(); } @@ -81,13 +83,14 @@ public $order_field = 'subject_sort'; */ public static function onBeforeUpdate(self $model): void { - - // self::checkRepeatData($model); + Validate::unique(self::class, $model->subject_guid, $model->getData(), [ + 'subject_name' => '科目名字', + ]); Tool::sortEditProc( self::class, $model->subject_guid, $model->subject_sort, - + ); $model->completeUpdateField(); } @@ -141,7 +144,7 @@ public $order_field = 'subject_sort'; foreach ($data as $line => $value) { try { $model = self::importExcelInit($value); - $msg[] = "{$line} 新增成功!
"; + $msg[] = "{$line} {$value->subject_name}新增成功!
"; } catch (\Throwable $th) { $msg[] = "{$line} {$th->getMessage()}
"; } diff --git a/app/common/model/Teachers_strength/Teacher.php b/app/common/model/TeachersStrength/Teacher.php similarity index 87% rename from app/common/model/Teachers_strength/Teacher.php rename to app/common/model/TeachersStrength/Teacher.php index ac7cabc..0d34e33 100644 --- a/app/common/model/Teachers_strength/Teacher.php +++ b/app/common/model/TeachersStrength/Teacher.php @@ -1,6 +1,6 @@ '授教科目', 'teacher_name' => '教师名称', 'teacher_position' => '教师职位', - 'teacher_img' => '教师图片', - 'subject_guid' => '授课科目', 'teacher_intro' => '教师简介', 'teacher_order' => '教师排序', ]; @@ -117,6 +117,7 @@ class Teacher extends BaseModel public static function exportExcel($select) { $data = [[ + '授教科目', '教师名称', '教师职位', '教师图片', @@ -126,6 +127,7 @@ class Teacher extends BaseModel ]]; foreach ($select as $key => $val) { $data[] = [ + $val['subject_name'], $val['teacher_name'], $val['teacher_position'], Excel::ExportImgFiled($val['teacher_img']), @@ -159,7 +161,7 @@ class Teacher extends BaseModel foreach ($data as $line => $value) { try { $model = self::importExcelInit($value); - $msg[] = "{$line} 新增成功!
"; + $msg[] = "{$line} 【{$model->subject_name}】{$model->teacher_name}新增成功!
"; } catch (\Throwable $th) { $msg[] = "{$line} {$th->getMessage()}
"; } @@ -177,19 +179,26 @@ class Teacher extends BaseModel */ public static function importExcelInit($value) { + $subject_name = $value['subject_name']; $teacher_name = $value['teacher_name']; $teacher_position = $value['teacher_position']; - $teacher_img = $value['teacher_img']; - $subject_guid = $value['subject_guid']; $teacher_intro = $value['teacher_intro']; $teacher_order = $value['teacher_order']; - return self::create([ + + // 授教科目 + $subject = ModelSubject::where('subject_name',$subject_name)->find(); + if(!$subject) throwErrorMsg($subject_name . " 授教科目不存在!"); + else $subject_guid = $subject->subject_guid; + + $model = self::create([ 'teacher_name' => $teacher_name, 'teacher_position' => $teacher_position, - 'teacher_img' => $teacher_img, 'subject_guid' => $subject_guid, 'teacher_intro' => $teacher_intro, 'teacher_order' => $teacher_order, ]); + + $model['subject_name'] = $subject->subject_name; + return $model; } } diff --git a/public/excel/师资力量/授课科目导入模板 (1).xlsx b/public/excel/师资力量/授课科目导入模板 (1).xlsx new file mode 100644 index 0000000..895eaef Binary files /dev/null and b/public/excel/师资力量/授课科目导入模板 (1).xlsx differ diff --git a/public/excel/师资力量/教师导入模板.xlsx b/public/excel/师资力量/教师导入模板.xlsx new file mode 100644 index 0000000..2a10b74 Binary files /dev/null and b/public/excel/师资力量/教师导入模板.xlsx differ