From 33308f234e8cc1594d43147aa872d439d10b87e3 Mon Sep 17 00:00:00 2001 From: xjh <2423579486@qq.com> Date: Sat, 22 Apr 2023 22:15:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=8C=E6=88=90=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E5=85=B3=E4=BA=8E=E6=88=91=E4=BB=AC-=E6=95=99=E5=AD=A6?= =?UTF-8?q?=E7=8E=AF=E5=A2=83-=E7=8E=AF=E5=A2=83=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E7=9A=84=E6=8E=A5=E5=8F=A3=E3=80=81=E4=BD=9C?= =?UTF-8?q?=E5=93=81=E7=B1=BB=E5=9E=8B=E3=80=81=E7=8E=AF=E5=A2=83=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=A8=A1=E5=9E=8B=E5=B1=82=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AboutUs/TeachingEnvir/TeachingEnvir.php | 140 ++++++++++++++++++ .../AboutUs/TeachingEnvir/TeachingEnvir.php | 77 ++++++++++ .../TeachingEnvir/TeachingEnvirType.php | 4 +- app/common/model/Works/WorksType.php | 6 +- 4 files changed, 222 insertions(+), 5 deletions(-) create mode 100644 app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvir.php create mode 100644 app/common/model/AboutUs/TeachingEnvir/TeachingEnvir.php diff --git a/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvir.php b/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvir.php new file mode 100644 index 0000000..3b88d52 --- /dev/null +++ b/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvir.php @@ -0,0 +1,140 @@ +field([ + 'teaching_envir_id', + 'teaching_envir_guid', + 'teaching_envir', + 'teaching_envir_img', + 'teaching_envir_intro', + 'teaching_envir_details', + 'teaching_envir.teaching_envir_type_guid', + 'teaching_envir_type_name', + ]) + ->leftJoin('teaching_envir_type', 'teaching_envir_type.teaching_envir_type_guid = teaching_envir.teaching_envir_type_guid') + ->order('teaching_envir_update_time', 'desc'); + + return msg("获取教学环境列表成功!", $query); + } + + /** + * 编辑教学环境接口 + * + * @param Request request + * @return array + * @date 2023-04-22 + * @author xjh + * @since 1.0.0 + */ + public function editTeachingEnvir(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'teaching_envir|教学环境标题' => 'require', + 'teaching_envir_img|教学环境图片' => 'require', + 'teaching_envir_intro|教学环境简介' => 'require', + 'teaching_envir_details|教学环境详情' => 'require', + 'teaching_envir_type_guid|教学环境类型guid' => 'require', + ]); + $model = ModelTeachingEnvir::where('teaching_envir_guid', $params['teaching_envir_guid'])->find(); + if (!$model) throwErrorMsg("该教学环境不存在", 1); + $model->allowField([ + 'teaching_envir_update_user_guid', + 'teaching_envir', + 'teaching_envir_img', + 'teaching_envir_intro', + 'teaching_envir_type_guid', + 'teaching_envir_details' + ])->save($params); + return msg('编辑成功!'); + } + + /** + * 添加教学环境接口 + * + * @param Request request + * @return array + * @date 2023-04-22 + * @author xjh + * @since 1.0.0 + */ + public function addTeachingEnvir(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'teaching_envir|教学环境标题' => 'require', + 'teaching_envir_img|教学环境图片' => 'require', + 'teaching_envir_intro|教学环境简介' => 'require', + 'teaching_envir_details|教学环境详情' => 'require', + 'teaching_envir_type_guid|教学环境类型guid' => 'require', + ]); + ModelTeachingEnvir::create($params, [ + 'teaching_envir_guid', + 'teaching_envir_create_user_guid', + 'teaching_envir_update_user_guid', + 'teaching_envir', + 'teaching_envir_img', + 'teaching_envir_type_guid', + 'teaching_envir_intro', + 'teaching_envir_details' + ]); + return msg('添加成功!'); + } + + /** + * 删除教学环境接口 + * + * @param Request request + * @return array + * @date 2023-04-22 + * @author xjh + * @since 1.0.0 + */ + public function deleteTeachingEnvir(Request $request): array + { + $params = $request->param(); + $this->validate($params, [ + 'teaching_envir_guid' => 'require', + ]); + $teaching_envir = ModelTeachingEnvir::where([ + 'teaching_envir_guid' => explode(',', $params['teaching_envir_guid']) + ])->select(); + $teaching_envir->delete(); + return msg('删除成功!'); + } +} diff --git a/app/common/model/AboutUs/TeachingEnvir/TeachingEnvir.php b/app/common/model/AboutUs/TeachingEnvir/TeachingEnvir.php new file mode 100644 index 0000000..07c77e5 --- /dev/null +++ b/app/common/model/AboutUs/TeachingEnvir/TeachingEnvir.php @@ -0,0 +1,77 @@ + "int", + "teaching_envir_guid" => "string", + "teaching_envir_type_guid" => "string", + "teaching_envir" => "string", + "teaching_envir_img" => "string", + "teaching_envir_intro" => "string", + "teaching_envir_details" => "string", + "teaching_envir_create_time" => "datetime", + "teaching_envir_create_user_guid" => "string", + "teaching_envir_update_time" => "datetime", + "teaching_envir_update_user_guid" => "string", + "teaching_envir_delete_time" => "datetime", + "teaching_envir_delete_user_guid" => "string", + ]; + // 设置json类型字段 + protected $json = ['']; + // 开启自动写入时间戳字段 + protected $autoWriteTimestamp = 'datetime'; + // 创建时间 + protected $createTime = 'teaching_envir_create_time'; + // 修改时间 + protected $updateTime = 'teaching_envir_update_time'; + + /** + * 新增前 + */ + public static function onBeforeInsert(self $model): void + { + Validate::unique( + self::class, + $model->teaching_envir_type_guid, + $model->getData(), + ['teaching_envir_type_guid' => '环境类型',], + ['teaching_envir_type_guid' => '一个教学环境类型只能拥有一个教学环境数据'] + ); + $model->completeCreateField(); + } + + /** + * 更新前 + */ + public static function onBeforeUpdate(self $model): void + { + $model->completeUpdateField(); + } + + /** + * 删除前 + */ + public static function onBeforeDelete(self $model): void + { + $model->completeDeleteField(); + } +} diff --git a/app/common/model/AboutUs/TeachingEnvir/TeachingEnvirType.php b/app/common/model/AboutUs/TeachingEnvir/TeachingEnvirType.php index 58eea2d..6eede66 100644 --- a/app/common/model/AboutUs/TeachingEnvir/TeachingEnvirType.php +++ b/app/common/model/AboutUs/TeachingEnvir/TeachingEnvirType.php @@ -81,8 +81,8 @@ class TeachingEnvirType extends BaseModel Validate::unique(self::class, $model->teaching_envir_type_guid, $model->getData(), [ 'teaching_envir_type_name' => '环境类型名称', ]); - Tool::handleEthicalRel($model); - Tool::buildAncestorsGuid($model); + // Tool::handleEthicalRel($model); + Tool::buildAncestorsGuid($model, true); Tool::sortEditProc( self::class, $model->teaching_envir_type_guid, diff --git a/app/common/model/Works/WorksType.php b/app/common/model/Works/WorksType.php index 68be9a5..4c498cb 100644 --- a/app/common/model/Works/WorksType.php +++ b/app/common/model/Works/WorksType.php @@ -66,7 +66,7 @@ class WorksType extends BaseModel Validate::unique(self::class, $model->works_type_guid, $model->getData(), [ 'works_type_name' => '作品类型名称', ]); - Tool::buildAncestorsGuid($model); + Tool::buildAncestorsGuid($model, true); Tool::sortInsertProc( self::class, $model->works_type_order, @@ -83,8 +83,8 @@ class WorksType extends BaseModel Validate::unique(self::class, $model->works_type_guid, $model->getData(), [ 'works_type_name' => '作品类型名称', ]); - Tool::handleEthicalRel($model); - Tool::buildAncestorsGuid($model); + // Tool::handleEthicalRel($model); + Tool::buildAncestorsGuid($model, true); Tool::sortEditProc( self::class, $model->works_type_guid,