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,