From 9df4463d7ee6f175639dcfa571249bf923fc47a4 Mon Sep 17 00:00:00 2001 From: lwh <2679599887@qq.com> Date: Sat, 22 Apr 2023 21:46:25 +0800 Subject: [PATCH] =?UTF-8?q?feat=20:=20=E6=B7=BB=E5=8A=A0=E5=BD=95=E5=8F=96?= =?UTF-8?q?=E9=99=A2=E6=A0=A1=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../HonoraryAchievement/SchoolCategory.php | 124 +++++++++++++++++ .../HonoraryAchievement/SchoolCategory.php | 126 ++++++++++++++++++ 2 files changed, 250 insertions(+) create mode 100644 app/admin/controller/HonoraryAchievement/SchoolCategory.php create mode 100644 app/common/model/HonoraryAchievement/SchoolCategory.php diff --git a/app/admin/controller/HonoraryAchievement/SchoolCategory.php b/app/admin/controller/HonoraryAchievement/SchoolCategory.php new file mode 100644 index 0000000..1afe5f6 --- /dev/null +++ b/app/admin/controller/HonoraryAchievement/SchoolCategory.php @@ -0,0 +1,124 @@ +param(); + $con = []; + + $con = Tool::getOptionalQuery(['school_category_name', 'LIKE'],); + + $query = ModelSchoolCategory::where($con) + ->field([ + 'school_category_id', + 'school_category_guid', + 'school_category_title', + 'school_category_name', + 'school_category_img', + 'school_category_sort' + ]) + ->order('school_category_sort', 'asc'); + + return msg("获取录取院校分类列表成功!", $query); + } + + /** + * 编辑录取院校分类 + */ + public function editSchoolCategory(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'school_category_title|标题' => 'require', + 'school_category_name|名称' => 'require', + 'school_category_img|图片' => 'require', + 'school_category_sort|排序' => 'require' + ]); + $model = ModelSchoolCategory::where('school_category_guid', $params['school_category_guid'])->find(); + if (!$model) throwErrorMsg("该录取院校分类不存在", 1); + $model->allowField([ + 'school_category_update_user_guid', + 'school_category_title', + 'school_category_name', + 'school_category_img', + 'school_category_sort' + ])->save($params); + return msg('编辑成功!'); + } + + /** + * 添加录取院校分类 + */ + public function addSchoolCategory(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'school_category_title|标题' => 'require', + 'school_category_name|名称' => 'require', + 'school_category_img|图片' => 'require', + 'school_category_sort|排序' => 'require' + ]); + $model = ModelSchoolCategory::create($params, [ + 'school_category_guid', + 'school_category_create_user_guid', + 'school_category_update_user_guid', + 'school_category_title', + 'school_category_name', + 'school_category_img', + 'school_category_sort' + ]); + return msg('添加成功!'); + } + + /** + * 删除录取院校分类 + */ + public function deleteSchoolCategory(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'school_category_guid' => 'require', + ]); + $school_category = ModelSchoolCategory::where([ + 'school_category_guid' => explode(',', $params['school_category_guid']) + ])->select(); + $school_category->delete(); + return msg('删除成功!'); + } + + /** + * 导出Excel + */ + public function exportExcel(Request $request) + { + $params = $request->param(); + $select = ModelSchoolCategory::field([ + 'school_category_title', + 'school_category_name', + 'school_category_img', + 'school_category_sort' + ]) + ->order('school_category_sort', 'asc') + ->select(); + return ModelSchoolCategory::exportExcel($select); + } +} diff --git a/app/common/model/HonoraryAchievement/SchoolCategory.php b/app/common/model/HonoraryAchievement/SchoolCategory.php new file mode 100644 index 0000000..b382f82 --- /dev/null +++ b/app/common/model/HonoraryAchievement/SchoolCategory.php @@ -0,0 +1,126 @@ + "int", + + "school_category_guid" => "string", + + "school_category_title" => "string", + + "school_category_name" => "string", + + "school_category_img" => "string", + + "school_category_sort" => "int", + + "school_category_create_time" => "datetime", + + "school_category_create_user_guid" => "string", + + "school_category_update_time" => "datetime", + + "school_category_update_user_guid" => "string", + + "school_category_delete_time" => "datetime", + + "school_category_delete_user_guid" => "string", + + ]; + // 设置json类型字段 + protected $json = ['']; + // 开启自动写入时间戳字段 + protected $autoWriteTimestamp = 'datetime'; + // 创建时间 + protected $createTime = 'school_category_create_time'; + // 修改时间 + protected $updateTime = 'school_category_update_time'; + + + //排序字段 + public $order_field = 'school_category_sort'; + + /** + * 新增前 + */ + public static function onBeforeInsert(self $model): void + { + Validate::unique(self::class, $model->school_category_guid, $model->getData(), [ + 'school_category_name' => '录取院校类型名称', + ]); + Tool::sortInsertProc( + self::class, + $model->school_category_sort, + ); + $model->completeCreateField(); + } + + /** + * 更新前 + */ + public static function onBeforeUpdate(self $model): void + { + Validate::unique(self::class, $model->school_category_guid, $model->getData(), [ + 'school_category_name' => '录取院校类型名称', + ]); + Tool::sortEditProc( + self::class, + $model->school_category_guid, + $model->school_category_sort, + ); + $model->completeUpdateField(); + } + + /** + * 删除前 + */ + public static function onBeforeDelete(self $model): void + { + Tool::sortDeleteProc(self::class, $model->school_category_guid); + $model->completeDeleteField(); + } + + + /** + * 导出Excel + */ + public static function exportExcel($select) + { + $data = [[ + '标题', + '名称', + '图片', + '排序' + ]]; + foreach ($select as $key => $val) { + $data[] = [ + $val['school_category_title'], + $val['school_category_name'], + Excel::ExportImgFiled($val['school_category_img']), + $val['school_category_sort'], + ]; + } + $excel = (new Excel())->exporTsheet($data); + $excel->save('录取院校分类.xlsx'); + } +}