From 1f0dde074893e44c51cfa52eb74008b54b9309e5 Mon Sep 17 00:00:00 2001 From: xjh <2423579486@qq.com> Date: Fri, 12 May 2023 17:28:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E9=83=A8=E5=88=86=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8E=92=E5=BA=8F=E5=A4=84=E7=90=86=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AboutUs/CompanyProfile.php | 81 ++++--- .../AboutUs/TeachingEnvir/TeachingEnvir.php | 150 ++++++++----- .../TeachingEnvir/TeachingEnvirType.php | 205 +++++++++++------- app/admin/controller/Banner/Banner.php | 114 ++++++---- .../ContactUs/ConsultingHotline.php | 124 +++++++---- .../controller/ContactUs/ContactScancode.php | 126 +++++++---- app/admin/controller/Enrol/Classes.php | 156 ++++++++----- app/admin/controller/Enrol/EnrolAq.php | 53 +++-- app/admin/controller/Enrol/EnrolIntro.php | 122 +++++++---- .../controller/Enrol/EnterSchoolProcess.php | 123 +++++++---- app/admin/controller/Enrol/SignUpProcess.php | 130 ++++++----- .../ExaminationInformation/InfoArticle.php | 96 ++++---- .../InfoArticleType.php | 89 +++++--- app/admin/controller/Home/HomeEnv.php | 175 +++++++++------ app/admin/controller/Home/HomeWorks.php | 126 +++++++---- app/admin/controller/Works/Works.php | 134 ++++++------ app/admin/controller/Works/WorksType.php | 107 +++++---- app/common/exception/Sort.php | 8 + app/common/exception/Tool.php | 33 ++- app/common/model/AboutUs/CompanyProfile.php | 6 +- .../TeachingEnvir/TeachingEnvirType.php | 60 ++--- app/common/model/Banner/Banner.php | 6 +- .../model/ContactUs/ConsultingHotline.php | 15 +- .../model/ContactUs/ContactScancode.php | 15 +- app/common/model/Enrol/Classes.php | 55 ++--- app/common/model/Enrol/EnrolAq.php | 14 +- app/common/model/Enrol/EnrolIntro.php | 11 +- app/common/model/Enrol/EnterSchoolProcess.php | 13 +- app/common/model/Enrol/SignUpProcess.php | 72 +++--- .../ExaminationInformation/InfoArticle.php | 59 ++--- .../InfoArticleType.php | 54 ++--- app/common/model/Home/HomeEnv.php | 13 +- app/common/model/Home/HomeWorks.php | 19 +- app/common/model/Works/Works.php | 64 +++--- app/common/model/Works/WorksType.php | 58 ++--- 35 files changed, 1493 insertions(+), 1193 deletions(-) diff --git a/app/admin/controller/AboutUs/CompanyProfile.php b/app/admin/controller/AboutUs/CompanyProfile.php index 4a3e074..040a6ae 100644 --- a/app/admin/controller/AboutUs/CompanyProfile.php +++ b/app/admin/controller/AboutUs/CompanyProfile.php @@ -46,42 +46,6 @@ class CompanyProfile extends BaseController return msg("获取公司简介列表成功!", $query); } - /** - * 编辑公司简介接口 - * - * @param Request request - * @return array - * @date 2023-04-19 - * @author xjh - * @since 1.0.0 - */ - public function editCompanyProfile(Request $request): array - { - Db::startTrans(); - try { - $params = $request->param(); - $this->validate($params, [ - 'company_profile_img|简介图片' => 'require', - 'company_profile_content|简介内容' => 'require', - 'company_profile_order|简介排序' => 'require' - ]); - $model = ModelCompanyProfile::where('company_profile_guid', $params['company_profile_guid'])->find(); - if (!$model) throwErrorMsg("该公司简介不存在", 1); - $model->allowField([ - 'company_profile_update_user_guid', - 'company_profile_img', - 'company_profile_color', - 'company_profile_content', - 'company_profile_order' - ])->save($params); - Db::commit(); - return msg('编辑成功!'); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; - } - } - /** * 添加公司简介接口 * @@ -94,6 +58,7 @@ class CompanyProfile extends BaseController public function addCompanyProfile(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('company_profile'); try { $params = $request->param(); $this->validate($params, [ @@ -111,9 +76,50 @@ class CompanyProfile extends BaseController 'company_profile_order' ]); Db::commit(); + Tool::unlockTable(); return msg('添加成功!'); } catch (\Throwable $th) { Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑公司简介接口 + * + * @param Request request + * @return array + * @date 2023-04-19 + * @author xjh + * @since 1.0.0 + */ + public function editCompanyProfile(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('company_profile'); + try { + $params = $request->param(); + $this->validate($params, [ + 'company_profile_img|简介图片' => 'require', + 'company_profile_content|简介内容' => 'require', + 'company_profile_order|简介排序' => 'require' + ]); + $model = ModelCompanyProfile::where('company_profile_guid', $params['company_profile_guid'])->find(); + if (!$model) throwErrorMsg("该公司简介不存在", 1); + $model->allowField([ + 'company_profile_update_user_guid', + 'company_profile_img', + 'company_profile_color', + 'company_profile_content', + 'company_profile_order' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); throw $th; } } @@ -130,6 +136,7 @@ class CompanyProfile extends BaseController public function deleteCompanyProfile(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('company_profile'); try { $params = $request->param(); $this->validate($params, [ @@ -140,9 +147,11 @@ class CompanyProfile extends BaseController ])->select(); $company_profile->delete(); Db::commit(); + Tool::unlockTable(); return msg('删除成功!'); } catch (\Throwable $th) { Db::rollback(); + Tool::unlockTable(); throw $th; } } diff --git a/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvir.php b/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvir.php index 208f605..5f94c20 100644 --- a/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvir.php +++ b/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvir.php @@ -52,38 +52,6 @@ class TeachingEnvir extends BaseController 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_title|教学环境标题' => '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_title', - 'teaching_envir_img', - 'teaching_envir_intro', - 'teaching_envir_type_guid', - 'teaching_envir_details' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加教学环境接口 * @@ -95,25 +63,77 @@ class TeachingEnvir extends BaseController */ public function addTeachingEnvir(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'teaching_envir_title|教学环境标题' => '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_title', - 'teaching_envir_img', - 'teaching_envir_type_guid', - 'teaching_envir_intro', - 'teaching_envir_details' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('teaching_envire'); + try { + $params = $request->param(); + $this->validate($params, [ + 'teaching_envir_title|教学环境标题' => '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_title', + 'teaching_envir_img', + 'teaching_envir_type_guid', + 'teaching_envir_intro', + 'teaching_envir_details' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑教学环境接口 + * + * @param Request request + * @return array + * @date 2023-04-22 + * @author xjh + * @since 1.0.0 + */ + public function editTeachingEnvir(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('teaching_envire'); + try { + $params = $request->param(); + $this->validate($params, [ + 'teaching_envir_title|教学环境标题' => '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_title', + 'teaching_envir_img', + 'teaching_envir_intro', + 'teaching_envir_type_guid', + 'teaching_envir_details' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -127,14 +147,24 @@ class TeachingEnvir extends BaseController */ 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('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('teaching_envire'); + try { + $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(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvirType.php b/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvirType.php index 02dcf86..a9d0767 100644 --- a/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvirType.php +++ b/app/admin/controller/AboutUs/TeachingEnvir/TeachingEnvirType.php @@ -74,35 +74,6 @@ class TeachingEnvirType extends BaseController ]); } - /** - * 编辑教学环境类型接口 - * - * @param Request request - * @return array - * @date 2023-04-22 - * @author xjh - * @since 1.0.0 - */ - public function editTeachingEnvirType(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'teaching_envir_type_name|环境类型名称' => 'require', - 'teaching_envir_type_order|环境类型排序' => 'require', - 'teaching_envir_type_parent_guid|作品类型父级guid' => 'require', - ]); - $model = ModelTeachingEnvirType::where('teaching_envir_type_guid', $params['teaching_envir_type_guid'])->find(); - if (!$model) throwErrorMsg("该教学环境类型不存在", 1); - $model->allowField([ - 'teaching_envir_type_update_user_guid', - 'teaching_envir_type_name', - 'teaching_envir_type_order', - 'teaching_envir_type_ancestors_guid', - 'teaching_envir_type_parent_guid' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加教学环境类型接口 * @@ -114,24 +85,74 @@ class TeachingEnvirType extends BaseController */ public function addTeachingEnvirType(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'teaching_envir_type_name|环境类型名称' => 'require', - 'teaching_envir_type_order|环境类型排序' => 'require', - 'teaching_envir_type_parent_guid|作品类型父级guid' => 'require', - ]); - ModelTeachingEnvirType::create($params, [ - 'teaching_envir_type_guid', - 'teaching_envir_type_create_user_guid', - 'teaching_envir_type_update_user_guid', - 'teaching_envir_type_name', - 'teaching_envir_type_order', - 'teaching_envir_type_ancestors_guid', - 'teaching_envir_type_parent_guid' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('teaching_envir_type'); + try { + $params = $request->param(); + $this->validate($params, [ + 'teaching_envir_type_name|环境类型名称' => 'require', + 'teaching_envir_type_order|环境类型排序' => 'require', + 'teaching_envir_type_parent_guid|作品类型父级guid' => 'require', + ]); + ModelTeachingEnvirType::create($params, [ + 'teaching_envir_type_guid', + 'teaching_envir_type_create_user_guid', + 'teaching_envir_type_update_user_guid', + 'teaching_envir_type_name', + 'teaching_envir_type_order', + 'teaching_envir_type_ancestors_guid', + 'teaching_envir_type_parent_guid' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } + /** + * 编辑教学环境类型接口 + * + * @param Request request + * @return array + * @date 2023-04-22 + * @author xjh + * @since 1.0.0 + */ + public function editTeachingEnvirType(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('teaching_envir_type'); + try { + $params = $request->param(); + $this->validate($params, [ + 'teaching_envir_type_name|环境类型名称' => 'require', + 'teaching_envir_type_order|环境类型排序' => 'require', + 'teaching_envir_type_parent_guid|作品类型父级guid' => 'require', + ]); + $model = ModelTeachingEnvirType::where('teaching_envir_type_guid', $params['teaching_envir_type_guid'])->find(); + if (!$model) throwErrorMsg("该教学环境类型不存在", 1); + $model->allowField([ + 'teaching_envir_type_update_user_guid', + 'teaching_envir_type_name', + 'teaching_envir_type_order', + 'teaching_envir_type_ancestors_guid', + 'teaching_envir_type_parent_guid' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** * 删除教学环境类型接口 * @@ -143,15 +164,25 @@ class TeachingEnvirType extends BaseController */ public function deleteTeachingEnvirType(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'teaching_envir_type_guid' => 'require', - ]); - $teaching_envir_type = ModelTeachingEnvirType::where([ - 'teaching_envir_type_guid' => explode(',', $params['teaching_envir_type_guid']) - ])->select(); - $teaching_envir_type->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('teaching_envir_type'); + try { + $params = $request->param(); + $this->validate($params, [ + 'teaching_envir_type_guid' => 'require', + ]); + $teaching_envir_type = ModelTeachingEnvirType::where([ + 'teaching_envir_type_guid' => explode(',', $params['teaching_envir_type_guid']) + ])->select(); + $teaching_envir_type->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -165,23 +196,33 @@ class TeachingEnvirType extends BaseController */ public function exportExcel(Request $request) { - $params = $request->param(); - $con = []; - if (isset($params['teaching_envir_type_guids']) && $params['teaching_envir_type_guids']) { - $con['a.teaching_envir_type_guid'] = explode(',', $params['teaching_envir_type_guids']); + Db::startTrans(); + Tool::adminLockTableWrite('teaching_envir_type'); + try { + $params = $request->param(); + $con = []; + if (isset($params['teaching_envir_type_guids']) && $params['teaching_envir_type_guids']) { + $con['a.teaching_envir_type_guid'] = explode(',', $params['teaching_envir_type_guids']); + } + $select = ModelTeachingEnvirType::field([ + 'a.teaching_envir_type_name', + 'a.teaching_envir_type_order', + // 'a.teaching_envir_type_parent_guid', + // 'b.teaching_envir_type_name' => 'teaching_envir_type_parent_name', + ]) + ->where($con) + ->alias('a') + // ->leftjoin('teaching_envir_type b', 'a.teaching_envir_type_parent_guid = b.teaching_envir_type_guid') + ->order('teaching_envir_type_order', 'asc') + ->select(); + Db::commit(); + Tool::unlockTable(); + return ModelTeachingEnvirType::exportExcel($select); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; } - $select = ModelTeachingEnvirType::field([ - 'a.teaching_envir_type_name', - 'a.teaching_envir_type_order', - // 'a.teaching_envir_type_parent_guid', - // 'b.teaching_envir_type_name' => 'teaching_envir_type_parent_name', - ]) - ->where($con) - ->alias('a') - // ->leftjoin('teaching_envir_type b', 'a.teaching_envir_type_parent_guid = b.teaching_envir_type_guid') - ->order('teaching_envir_type_order', 'asc') - ->select(); - return ModelTeachingEnvirType::exportExcel($select); } /** @@ -215,13 +256,23 @@ class TeachingEnvirType extends BaseController */ public function importExcel(Request $request): array { - $file = new UploadFile('uploads', 'fileExt:xlsx'); - $file->putFile('teaching_envir_type'); + Db::startTrans(); + Tool::adminLockTableWrite('teaching_envir_type'); + try { + $file = new UploadFile('uploads', 'fileExt:xlsx'); + $file->putFile('teaching_envir_type'); - $msg = ModelTeachingEnvirType::importExcel($file); - return [ - 'code' => 0, - 'msg' => $msg - ]; + $msg = ModelTeachingEnvirType::importExcel($file); + Db::commit(); + Tool::unlockTable(); + return [ + 'code' => 0, + 'msg' => $msg + ]; + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/Banner/Banner.php b/app/admin/controller/Banner/Banner.php index fee77b7..92f7233 100644 --- a/app/admin/controller/Banner/Banner.php +++ b/app/admin/controller/Banner/Banner.php @@ -37,44 +37,64 @@ class Banner extends BaseController return msg("获取轮播图列表成功!", $query); } - /** - * 编辑轮播图 - */ - public function editBanner(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'banner_img|轮播图图片' => 'require', - 'banner_order|排序' => 'require' - ]); - $model = ModelBanner::where('banner_guid', $params['banner_guid'])->find(); - if (!$model) throwErrorMsg("该轮播图不存在", 1); - $model->allowField([ - 'banner_update_user_guid', - 'banner_img', - 'banner_order' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加轮播图 */ public function addBanner(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'banner_img|轮播图图片' => 'require', - 'banner_order|排序' => 'require' - ]); - ModelBanner::create($params, [ - 'banner_guid', - 'banner_create_user_guid', - 'banner_update_user_guid', - 'banner_img', - 'banner_order' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('banner'); + try { + $params = $request->param(); + $this->validate($params, [ + 'banner_img|轮播图图片' => 'require', + 'banner_order|排序' => 'require' + ]); + ModelBanner::create($params, [ + 'banner_guid', + 'banner_create_user_guid', + 'banner_update_user_guid', + 'banner_img', + 'banner_order' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑轮播图 + */ + public function editBanner(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('banner'); + try { + $params = $request->param(); + $this->validate($params, [ + 'banner_img|轮播图图片' => 'require', + 'banner_order|排序' => 'require' + ]); + $model = ModelBanner::where('banner_guid', $params['banner_guid'])->find(); + if (!$model) throwErrorMsg("该轮播图不存在", 1); + $model->allowField([ + 'banner_update_user_guid', + 'banner_img', + 'banner_order' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -82,14 +102,24 @@ class Banner extends BaseController */ public function deleteBanner(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'banner_guid' => 'require', - ]); - $banner = ModelBanner::where([ - 'banner_guid' => explode(',', $params['banner_guid']) - ])->select(); - $banner->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('banner'); + try { + $params = $request->param(); + $this->validate($params, [ + 'banner_guid' => 'require', + ]); + $banner = ModelBanner::where([ + 'banner_guid' => explode(',', $params['banner_guid']) + ])->select(); + $banner->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/ContactUs/ConsultingHotline.php b/app/admin/controller/ContactUs/ConsultingHotline.php index f7fc1ce..96483cb 100644 --- a/app/admin/controller/ContactUs/ConsultingHotline.php +++ b/app/admin/controller/ContactUs/ConsultingHotline.php @@ -25,7 +25,7 @@ class ConsultingHotline extends BaseController $params = $request->param(); $con = []; - $con = Tool::getOptionalQuery(['consulting_hotline_user', 'LIKE'], ['consulting_hotline_phone', 'LIKE'],['consulting_hotline_order','='],); + $con = Tool::getOptionalQuery(['consulting_hotline_user', 'LIKE'], ['consulting_hotline_phone', 'LIKE'], ['consulting_hotline_order', '='],); $query = ModelConsultingHotline::where($con) ->field([ @@ -40,48 +40,68 @@ class ConsultingHotline extends BaseController return msg("获取咨询热线列表成功!", $query); } - /** - * 编辑咨询热线 - */ - public function editConsultingHotline(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'consulting_hotline_user|资讯留言人' => 'require', - 'consulting_hotline_phone|资讯热线方式' => 'require', - 'consulting_hotline_order|资讯热线排序'=>'require' - ]); - $model = ModelConsultingHotline::where('consulting_hotline_guid', $params['consulting_hotline_guid'])->find(); - if (!$model) throwErrorMsg("该咨询热线不存在", 1); - $model->allowField([ - 'consulting_hotline_update_user_guid', - 'consulting_hotline_user', - 'consulting_hotline_phone', - 'consulting_hotline_order' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加咨询热线 */ public function addConsultingHotline(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'consulting_hotline_user|资讯留言人' => 'require', - 'consulting_hotline_phone|资讯热线方式' => 'require', - 'consulting_hotline_order|资讯热线排序'=>'require' - ]); - $model = ModelConsultingHotline::create($params, [ - 'consulting_hotline_guid', - 'consulting_hotline_create_user_guid', - 'consulting_hotline_update_user_guid', - 'consulting_hotline_user', - 'consulting_hotline_phone', - 'consulting_hotline_order' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('consulting_hotline'); + try { + $params = $request->param(); + $this->validate($params, [ + 'consulting_hotline_user|资讯留言人' => 'require', + 'consulting_hotline_phone|资讯热线方式' => 'require', + 'consulting_hotline_order|资讯热线排序' => 'require' + ]); + $model = ModelConsultingHotline::create($params, [ + 'consulting_hotline_guid', + 'consulting_hotline_create_user_guid', + 'consulting_hotline_update_user_guid', + 'consulting_hotline_user', + 'consulting_hotline_phone', + 'consulting_hotline_order' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑咨询热线 + */ + public function editConsultingHotline(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('consulting_hotline'); + try { + $params = $request->param(); + $this->validate($params, [ + 'consulting_hotline_user|资讯留言人' => 'require', + 'consulting_hotline_phone|资讯热线方式' => 'require', + 'consulting_hotline_order|资讯热线排序' => 'require' + ]); + $model = ModelConsultingHotline::where('consulting_hotline_guid', $params['consulting_hotline_guid'])->find(); + if (!$model) throwErrorMsg("该咨询热线不存在", 1); + $model->allowField([ + 'consulting_hotline_update_user_guid', + 'consulting_hotline_user', + 'consulting_hotline_phone', + 'consulting_hotline_order' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -89,14 +109,24 @@ class ConsultingHotline extends BaseController */ public function deleteConsultingHotline(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'consulting_hotline_guid' => 'require', - ]); - $consulting_hotline = ModelConsultingHotline::where([ - 'consulting_hotline_guid' => explode(',', $params['consulting_hotline_guid']) - ])->select(); - $consulting_hotline->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('consulting_hotline'); + try { + $params = $request->param(); + $this->validate($params, [ + 'consulting_hotline_guid' => 'require', + ]); + $consulting_hotline = ModelConsultingHotline::where([ + 'consulting_hotline_guid' => explode(',', $params['consulting_hotline_guid']) + ])->select(); + $consulting_hotline->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/ContactUs/ContactScancode.php b/app/admin/controller/ContactUs/ContactScancode.php index 3efec14..e21c3fa 100644 --- a/app/admin/controller/ContactUs/ContactScancode.php +++ b/app/admin/controller/ContactUs/ContactScancode.php @@ -42,50 +42,70 @@ class ContactScancode extends BaseController return msg("获取联系扫码列表成功!", $query); } - /** - * 编辑联系扫码 - */ - public function editContactScancode(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'contact_scancode_title|联系扫码标题' => 'require' - - ]); - $model = ModelContactScancode::where('contact_scancode_guid', $params['contact_scancode_guid'])->find(); - if (!$model) throwErrorMsg("该联系扫码不存在", 1); - $model->allowField([ - 'contact_scancode_update_user_guid', - 'contact_scancode_title', - 'contact_scancode_status', - 'contact_scancode_icon', - 'contact_scancode_img', - 'contact_scancode_order' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加联系扫码 */ public function addContactScancode(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'contact_scancode_title|联系扫码标题' => 'require', - 'contact_scancode_order|联系扫码排序' => 'require' - ]); - $model = ModelContactScancode::create($params, [ - 'contact_scancode_guid', - 'contact_scancode_create_user_guid', - 'contact_scancode_update_user_guid', - 'contact_scancode_title', - 'contact_scancode_img', - 'contact_scancode_status', - 'contact_scancode_icon', - 'contact_scancode_order' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('contact_scancode'); + try { + $params = $request->param(); + $this->validate($params, [ + 'contact_scancode_title|联系扫码标题' => 'require', + 'contact_scancode_order|联系扫码排序' => 'require' + ]); + $model = ModelContactScancode::create($params, [ + 'contact_scancode_guid', + 'contact_scancode_create_user_guid', + 'contact_scancode_update_user_guid', + 'contact_scancode_title', + 'contact_scancode_img', + 'contact_scancode_status', + 'contact_scancode_icon', + 'contact_scancode_order' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑联系扫码 + */ + public function editContactScancode(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('contact_scancode'); + try { + $params = $request->param(); + $this->validate($params, [ + 'contact_scancode_title|联系扫码标题' => 'require' + + ]); + $model = ModelContactScancode::where('contact_scancode_guid', $params['contact_scancode_guid'])->find(); + if (!$model) throwErrorMsg("该联系扫码不存在", 1); + $model->allowField([ + 'contact_scancode_update_user_guid', + 'contact_scancode_title', + 'contact_scancode_status', + 'contact_scancode_icon', + 'contact_scancode_img', + 'contact_scancode_order' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -93,14 +113,24 @@ class ContactScancode extends BaseController */ public function deleteContactScancode(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'contact_scancode_guid' => 'require', - ]); - $contact_scancode = ModelContactScancode::where([ - 'contact_scancode_guid' => explode(',', $params['contact_scancode_guid']) - ])->select(); - $contact_scancode->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('contact_scancode'); + try { + $params = $request->param(); + $this->validate($params, [ + 'contact_scancode_guid' => 'require', + ]); + $contact_scancode = ModelContactScancode::where([ + 'contact_scancode_guid' => explode(',', $params['contact_scancode_guid']) + ])->select(); + $contact_scancode->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/Enrol/Classes.php b/app/admin/controller/Enrol/Classes.php index aa9dbc2..69df843 100644 --- a/app/admin/controller/Enrol/Classes.php +++ b/app/admin/controller/Enrol/Classes.php @@ -25,7 +25,7 @@ class Classes extends BaseController $params = $request->param(); $con = []; - $con = Tool::getOptionalQuery(['classes_name', 'LIKE'],['classes_status', '='],); + $con = Tool::getOptionalQuery(['classes_name', 'LIKE'], ['classes_status', '='],); $query = ModelClasses::where($con) ->field([ @@ -43,52 +43,72 @@ class Classes extends BaseController return msg("获取班型列表成功!", $query); } - /** - * 编辑班型 - */ - public function editClasses(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'classes_name|名称' => 'require', - 'classes_sort|排序' => 'require' - ]); - $model = ModelClasses::where('classes_guid', $params['classes_guid'])->find(); - if (!$model) throwErrorMsg("该班型不存在", 1); - $model->allowField([ - 'classes_update_user_guid', - 'classes_name', - 'classes_cover', - 'classes_desc', - 'classes_status', - 'classes_sort', - 'classes_content' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加班型 */ public function addClasses(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'classes_name|名称' => 'require', - 'classes_sort|排序' => 'require' - ]); - $model = ModelClasses::create($params, [ - 'classes_guid', - 'classes_create_user_guid', - 'classes_update_user_guid', - 'classes_name', - 'classes_cover', - 'classes_desc', - 'classes_status', - 'classes_sort', - 'classes_content' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('classes'); + try { + $params = $request->param(); + $this->validate($params, [ + 'classes_name|名称' => 'require', + 'classes_sort|排序' => 'require' + ]); + $model = ModelClasses::create($params, [ + 'classes_guid', + 'classes_create_user_guid', + 'classes_update_user_guid', + 'classes_name', + 'classes_cover', + 'classes_desc', + 'classes_status', + 'classes_sort', + 'classes_content' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑班型 + */ + public function editClasses(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('classes'); + try { + $params = $request->param(); + $this->validate($params, [ + 'classes_name|名称' => 'require', + 'classes_sort|排序' => 'require' + ]); + $model = ModelClasses::where('classes_guid', $params['classes_guid'])->find(); + if (!$model) throwErrorMsg("该班型不存在", 1); + $model->allowField([ + 'classes_update_user_guid', + 'classes_name', + 'classes_cover', + 'classes_desc', + 'classes_status', + 'classes_sort', + 'classes_content' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -96,15 +116,25 @@ class Classes extends BaseController */ public function deleteClasses(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'classes_guid' => 'require', - ]); - $classes = ModelClasses::where([ - 'classes_guid' => explode(',', $params['classes_guid']) - ])->select(); - $classes->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('classes'); + try { + $params = $request->param(); + $this->validate($params, [ + 'classes_guid' => 'require', + ]); + $classes = ModelClasses::where([ + 'classes_guid' => explode(',', $params['classes_guid']) + ])->select(); + $classes->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -134,13 +164,23 @@ class Classes extends BaseController */ public function importExcel(Request $request) { - $file = new UploadFile('uploads', 'fileExt:xlsx'); - $file->putFile('classes'); + Db::startTrans(); + Tool::adminLockTableWrite('classes'); + try { + $file = new UploadFile('uploads', 'fileExt:xlsx'); + $file->putFile('classes'); - $msg = ModelClasses::importExcel($file); - return [ - 'code' => 0, - 'msg' => $msg - ]; + $msg = ModelClasses::importExcel($file); + Db::commit(); + Tool::unlockTable(); + return [ + 'code' => 0, + 'msg' => $msg + ]; + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/Enrol/EnrolAq.php b/app/admin/controller/Enrol/EnrolAq.php index d32cff4..f75874a 100644 --- a/app/admin/controller/Enrol/EnrolAq.php +++ b/app/admin/controller/Enrol/EnrolAq.php @@ -52,12 +52,39 @@ class EnrolAq extends BaseController return $isExport ? $query->select()->toArray() : msg("获取招生问答列表成功!", $query); } + /** + * 删除招生问答 + */ + public function deleteEnrolAq(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('enrol_aq'); + try { + $params = $request->param(); + $this->validate($params, [ + 'enrol_aq_guid' => 'require', + ]); + $enrol_aq = ModelEnrolAq::where([ + 'enrol_aq_guid' => explode(',', $params['enrol_aq_guid']) + ])->select(); + $enrol_aq->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + /** * 编辑招生问答 */ public function editEnrolAq(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('enrol_aq'); try { $params = $request->param(); @@ -84,33 +111,11 @@ class EnrolAq extends BaseController ])->save($params); Db::commit(); + Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); - throw $th; - } - } - - /** - * 删除招生问答 - */ - public function deleteEnrolAq(Request $request): array - { - Db::startTrans(); - try { - $params = $request->param(); - $this->validate($params, [ - 'enrol_aq_guid' => 'require', - ]); - $enrol_aq = ModelEnrolAq::where([ - 'enrol_aq_guid' => explode(',', $params['enrol_aq_guid']) - ])->select(); - $enrol_aq->delete(); - - Db::commit(); - return msg('删除成功!'); - } catch (\Throwable $th) { - Db::rollback(); + Tool::unlockTable(); throw $th; } } diff --git a/app/admin/controller/Enrol/EnrolIntro.php b/app/admin/controller/Enrol/EnrolIntro.php index 0ec3070..e5b801b 100644 --- a/app/admin/controller/Enrol/EnrolIntro.php +++ b/app/admin/controller/Enrol/EnrolIntro.php @@ -41,48 +41,68 @@ class EnrolIntro extends BaseController return msg("获取招生简介列表成功!", $query); } - /** - * 编辑招生简介 - */ - public function editEnrolIntro(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'enrol_intro_title|标题' => 'require', - 'enrol_intro_content|内容' => 'require' - ]); - $model = ModelEnrolIntro::where('enrol_intro_guid', $params['enrol_intro_guid'])->find(); - if (!$model) throwErrorMsg("该招生简介不存在", 1); - $model->allowField([ - 'enrol_intro_update_user_guid', - 'enrol_intro_title', - 'enrol_intro_cover', - 'enrol_intro_content', - 'enrol_intro_sort' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加招生简介 */ public function addEnrolIntro(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'enrol_intro_title|标题' => 'require', - 'enrol_intro_content|内容' => 'require' - ]); - $model = ModelEnrolIntro::create($params, [ - 'enrol_intro_guid', - 'enrol_intro_create_user_guid', - 'enrol_intro_update_user_guid', - 'enrol_intro_title', - 'enrol_intro_cover', - 'enrol_intro_content', - 'enrol_intro_sort' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('enrol_intro'); + try { + $params = $request->param(); + $this->validate($params, [ + 'enrol_intro_title|标题' => 'require', + 'enrol_intro_content|内容' => 'require' + ]); + $model = ModelEnrolIntro::create($params, [ + 'enrol_intro_guid', + 'enrol_intro_create_user_guid', + 'enrol_intro_update_user_guid', + 'enrol_intro_title', + 'enrol_intro_cover', + 'enrol_intro_content', + 'enrol_intro_sort' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑招生简介 + */ + public function editEnrolIntro(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('enrol_intro'); + try { + $params = $request->param(); + $this->validate($params, [ + 'enrol_intro_title|标题' => 'require', + 'enrol_intro_content|内容' => 'require' + ]); + $model = ModelEnrolIntro::where('enrol_intro_guid', $params['enrol_intro_guid'])->find(); + if (!$model) throwErrorMsg("该招生简介不存在", 1); + $model->allowField([ + 'enrol_intro_update_user_guid', + 'enrol_intro_title', + 'enrol_intro_cover', + 'enrol_intro_content', + 'enrol_intro_sort' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -90,14 +110,24 @@ class EnrolIntro extends BaseController */ public function deleteEnrolIntro(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'enrol_intro_guid' => 'require', - ]); - $enrol_intro = ModelEnrolIntro::where([ - 'enrol_intro_guid' => explode(',', $params['enrol_intro_guid']) - ])->select(); - $enrol_intro->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('enrol_intro'); + try { + $params = $request->param(); + $this->validate($params, [ + 'enrol_intro_guid' => 'require', + ]); + $enrol_intro = ModelEnrolIntro::where([ + 'enrol_intro_guid' => explode(',', $params['enrol_intro_guid']) + ])->select(); + $enrol_intro->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/Enrol/EnterSchoolProcess.php b/app/admin/controller/Enrol/EnterSchoolProcess.php index 12520c6..e5ba768 100644 --- a/app/admin/controller/Enrol/EnterSchoolProcess.php +++ b/app/admin/controller/Enrol/EnterSchoolProcess.php @@ -40,48 +40,69 @@ class EnterSchoolProcess extends BaseController return msg("获取入学流程列表成功!", $query); } - /** - * 编辑入学流程 - */ - public function editEnterSchoolProcess(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'enter_school_process_title|标题' => 'require', - 'enter_school_process_intro|介绍' => 'require', - 'enter_school_process_sort|排序' => 'require' - ]); - $model = ModelEnterSchoolProcess::where('enter_school_process_guid', $params['enter_school_process_guid'])->find(); - if (!$model) throwErrorMsg("该入学流程不存在", 1); - $model->allowField([ - 'enter_school_process_update_user_guid', - 'enter_school_process_title', - 'enter_school_process_intro', - 'enter_school_process_sort' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加入学流程 */ public function addEnterSchoolProcess(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'enter_school_process_title|标题' => 'require', - 'enter_school_process_intro|介绍' => 'require', - 'enter_school_process_sort|排序' => 'require' - ]); - $model = ModelEnterSchoolProcess::create($params, [ - 'enter_school_process_guid', - 'enter_school_process_create_user_guid', - 'enter_school_process_update_user_guid', - 'enter_school_process_title', - 'enter_school_process_intro', - 'enter_school_process_sort' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('enter_school_process'); + try { + $params = $request->param(); + $this->validate($params, [ + 'enter_school_process_title|标题' => 'require', + 'enter_school_process_intro|介绍' => 'require', + 'enter_school_process_sort|排序' => 'require' + ]); + $model = ModelEnterSchoolProcess::create($params, [ + 'enter_school_process_guid', + 'enter_school_process_create_user_guid', + 'enter_school_process_update_user_guid', + 'enter_school_process_title', + 'enter_school_process_intro', + 'enter_school_process_sort' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + + /** + * 编辑入学流程 + */ + public function editEnterSchoolProcess(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('enter_school_process'); + try { + $params = $request->param(); + $this->validate($params, [ + 'enter_school_process_title|标题' => 'require', + 'enter_school_process_intro|介绍' => 'require', + 'enter_school_process_sort|排序' => 'require' + ]); + $model = ModelEnterSchoolProcess::where('enter_school_process_guid', $params['enter_school_process_guid'])->find(); + if (!$model) throwErrorMsg("该入学流程不存在", 1); + $model->allowField([ + 'enter_school_process_update_user_guid', + 'enter_school_process_title', + 'enter_school_process_intro', + 'enter_school_process_sort' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -89,15 +110,25 @@ class EnterSchoolProcess extends BaseController */ public function deleteEnterSchoolProcess(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'enter_school_process_guid' => 'require', - ]); - $enter_school_process = ModelEnterSchoolProcess::where([ - 'enter_school_process_guid' => explode(',', $params['enter_school_process_guid']) - ])->select(); - $enter_school_process->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('enter_school_process'); + try { + $params = $request->param(); + $this->validate($params, [ + 'enter_school_process_guid' => 'require', + ]); + $enter_school_process = ModelEnterSchoolProcess::where([ + 'enter_school_process_guid' => explode(',', $params['enter_school_process_guid']) + ])->select(); + $enter_school_process->delete(); + return msg('删除成功!'); + Db::commit(); + Tool::unlockTable(); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** diff --git a/app/admin/controller/Enrol/SignUpProcess.php b/app/admin/controller/Enrol/SignUpProcess.php index 106bd81..3b8234e 100644 --- a/app/admin/controller/Enrol/SignUpProcess.php +++ b/app/admin/controller/Enrol/SignUpProcess.php @@ -41,52 +41,72 @@ class SignUpProcess extends BaseController return msg("获取报名流程列表成功!", $query); } - /** - * 编辑报名流程 - */ - public function editSignUpProcess(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'sign_up_process_title|标题' => 'require', - 'sign_up_process_icon|图标' => 'require', - 'sign_up_process_intro|介绍' => 'require', - 'sign_up_process_sort|排序' => 'require' - ]); - $model = ModelSignUpProcess::where('sign_up_process_guid', $params['sign_up_process_guid'])->find(); - if (!$model) throwErrorMsg("该报名流程不存在", 1); - $model->allowField([ - 'sign_up_process_update_user_guid', - 'sign_up_process_title', - 'sign_up_process_icon', - 'sign_up_process_intro', - 'sign_up_process_sort' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加报名流程 */ public function addSignUpProcess(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'sign_up_process_title|标题' => 'require', - 'sign_up_process_icon|图标' => 'require', - 'sign_up_process_intro|介绍' => 'require', - 'sign_up_process_sort|排序' => 'require' - ]); - $model = ModelSignUpProcess::create($params, [ - 'sign_up_process_guid', - 'sign_up_process_create_user_guid', - 'sign_up_process_update_user_guid', - 'sign_up_process_title', - 'sign_up_process_icon', - 'sign_up_process_intro', - 'sign_up_process_sort' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('sign_up_process'); + try { + $params = $request->param(); + $this->validate($params, [ + 'sign_up_process_title|标题' => 'require', + 'sign_up_process_icon|图标' => 'require', + 'sign_up_process_intro|介绍' => 'require', + 'sign_up_process_sort|排序' => 'require' + ]); + $model = ModelSignUpProcess::create($params, [ + 'sign_up_process_guid', + 'sign_up_process_create_user_guid', + 'sign_up_process_update_user_guid', + 'sign_up_process_title', + 'sign_up_process_icon', + 'sign_up_process_intro', + 'sign_up_process_sort' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑报名流程 + */ + public function editSignUpProcess(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('sign_up_process'); + try { + $params = $request->param(); + $this->validate($params, [ + 'sign_up_process_title|标题' => 'require', + 'sign_up_process_icon|图标' => 'require', + 'sign_up_process_intro|介绍' => 'require', + 'sign_up_process_sort|排序' => 'require' + ]); + $model = ModelSignUpProcess::where('sign_up_process_guid', $params['sign_up_process_guid'])->find(); + if (!$model) throwErrorMsg("该报名流程不存在", 1); + $model->allowField([ + 'sign_up_process_update_user_guid', + 'sign_up_process_title', + 'sign_up_process_icon', + 'sign_up_process_intro', + 'sign_up_process_sort' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -94,15 +114,25 @@ class SignUpProcess extends BaseController */ public function deleteSignUpProcess(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'sign_up_process_guid' => 'require', - ]); - $sign_up_process = ModelSignUpProcess::where([ - 'sign_up_process_guid' => explode(',', $params['sign_up_process_guid']) - ])->select(); - $sign_up_process->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('sign_up_process'); + try { + $params = $request->param(); + $this->validate($params, [ + 'sign_up_process_guid' => 'require', + ]); + $sign_up_process = ModelSignUpProcess::where([ + 'sign_up_process_guid' => explode(',', $params['sign_up_process_guid']) + ])->select(); + $sign_up_process->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** diff --git a/app/admin/controller/ExaminationInformation/InfoArticle.php b/app/admin/controller/ExaminationInformation/InfoArticle.php index f2cc8de..4a8224d 100644 --- a/app/admin/controller/ExaminationInformation/InfoArticle.php +++ b/app/admin/controller/ExaminationInformation/InfoArticle.php @@ -47,6 +47,42 @@ class InfoArticle extends BaseController return $isExport ? $query->select()->toArray() : msg("获取资讯文章列表成功!", $query); } + /** + * 添加资讯文章 + */ + public function addinfoArticle(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('info_article'); + try { + $params = $request->param(); + $this->validate($params, [ + 'info_article_type_guid|文章类型' => 'require', + 'info_article_title|文章标题' => 'require', + 'info_article_cover|文章封面' => 'require', + 'info_article_content|文章内容' => 'require', + ]); + ModelinfoArticle::create($params, [ + 'info_article_guid', + 'info_article_create_user_guid', + 'info_article_update_user_guid', + 'info_article_type_guid', + 'info_article_title', + 'info_article_cover', + 'info_article_content', + 'info_article_order', + 'info_article_status', + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + /** * 编辑资讯文章 */ @@ -85,42 +121,6 @@ class InfoArticle extends BaseController } } - /** - * 添加资讯文章 - */ - public function addinfoArticle(Request $request): array - { - Db::startTrans(); - Tool::adminLockTableWrite('info_article'); - try { - $params = $request->param(); - $this->validate($params, [ - 'info_article_type_guid|文章类型' => 'require', - 'info_article_title|文章标题' => 'require', - 'info_article_cover|文章封面' => 'require', - 'info_article_content|文章内容' => 'require', - ]); - $model = ModelinfoArticle::create($params, [ - 'info_article_guid', - 'info_article_create_user_guid', - 'info_article_update_user_guid', - 'info_article_type_guid', - 'info_article_title', - 'info_article_cover', - 'info_article_content', - 'info_article_order', - 'info_article_status', - ]); - Db::commit(); - Tool::unlockTable(); - return msg('添加成功!'); - } catch (\Throwable $th) { - Db::rollback(); - Tool::unlockTable(); - throw $th; - } - } - /** * 删除资讯文章 */ @@ -181,13 +181,23 @@ class InfoArticle extends BaseController */ public function importExcel(Request $request) { - $file = new UploadFile('uploads', 'fileExt:xlsx'); - $file->putFile('info_article'); + Db::startTrans(); + Tool::adminLockTableWrite('info_article'); + try { + $file = new UploadFile('uploads', 'fileExt:xlsx'); + $file->putFile('info_article'); - $msg = ModelinfoArticle::importExcel($file); - return [ - 'code' => 0, - 'msg' => $msg - ]; + $msg = ModelinfoArticle::importExcel($file); + Db::commit(); + Tool::unlockTable(); + return [ + 'code' => 0, + 'msg' => $msg + ]; + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/ExaminationInformation/InfoArticleType.php b/app/admin/controller/ExaminationInformation/InfoArticleType.php index 31c2ee7..a014b41 100644 --- a/app/admin/controller/ExaminationInformation/InfoArticleType.php +++ b/app/admin/controller/ExaminationInformation/InfoArticleType.php @@ -39,12 +39,44 @@ class InfoArticleType extends BaseController return msg("获取资讯文章类型列表成功!", $query); } + /** + * 添加资讯文章类型 + */ + public function addinfoArticleType(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('info_article_type'); + try { + $params = $request->param(); + $this->validate($params, [ + 'info_article_type_name|资讯类型名称' => 'require', + 'info_article_type_sort|资讯类型排序' => 'require' + ]); + + $model = ModelinfoArticleType::create($params, [ + 'info_article_type_guid', + 'info_article_type_create_user_guid', + 'info_article_type_update_user_guid', + 'info_article_type_name', + 'info_article_type_sort' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + /** * 编辑资讯文章类型 */ public function editinfoArticleType(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('info_article_type'); try { $params = $request->param(); $this->validate($params, [ @@ -61,37 +93,11 @@ class InfoArticleType extends BaseController 'info_article_type_sort' ])->save($params); Db::commit(); + Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); - throw $th; - } - } - - /** - * 添加资讯文章类型 - */ - public function addinfoArticleType(Request $request): array - { - Db::startTrans(); - try { - $params = $request->param(); - $this->validate($params, [ - 'info_article_type_name|资讯类型名称' => 'require', - 'info_article_type_sort|资讯类型排序' => 'require' - ]); - - $model = ModelinfoArticleType::create($params, [ - 'info_article_type_guid', - 'info_article_type_create_user_guid', - 'info_article_type_update_user_guid', - 'info_article_type_name', - 'info_article_type_sort' - ]); - Db::commit(); - return msg('添加成功!'); - } catch (\Throwable $th) { - Db::rollback(); + Tool::unlockTable(); throw $th; } } @@ -102,6 +108,7 @@ class InfoArticleType extends BaseController public function deleteinfoArticleType(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('info_article_type'); try { $params = $request->param(); $this->validate($params, [ @@ -114,9 +121,11 @@ class InfoArticleType extends BaseController ])->select(); $info_article_type->delete(); Db::commit(); + Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); + Tool::unlockTable(); throw $th; } } @@ -154,13 +163,23 @@ class InfoArticleType extends BaseController */ public function importExcel(Request $request) { - $file = new UploadFile('uploads', 'fileExt:xlsx'); - $file->putFile('info_article_type'); + Db::startTrans(); + Tool::adminLockTableWrite('info_article_type'); + try { + $file = new UploadFile('uploads', 'fileExt:xlsx'); + $file->putFile('info_article_type'); - $msg = ModelinfoArticleType::importExcel($file); - return [ - 'code' => 0, - 'msg' => $msg - ]; + $msg = ModelinfoArticleType::importExcel($file); + Db::commit(); + Tool::unlockTable(); + return [ + 'code' => 0, + 'msg' => $msg + ]; + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/Home/HomeEnv.php b/app/admin/controller/Home/HomeEnv.php index 2243a19..e51f496 100644 --- a/app/admin/controller/Home/HomeEnv.php +++ b/app/admin/controller/Home/HomeEnv.php @@ -39,62 +39,19 @@ class HomeEnv extends BaseController return msg("获取首页环境列表成功!", $query); } - /** - * 编辑首页环境 - */ - public function editHomeEnv(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - // 'home_env_img|图片' => 'require', - 'home_env_sort|排序' => 'require' - ]); - $model = ModelHomeEnv::where('home_env_guid', $params['home_env_guid'])->find(); - if (!$model) throwErrorMsg("该首页环境不存在", 1); - $model->allowField([ - 'home_env_update_user_guid', - 'home_env_img', - 'home_env_video', - 'home_env_sort' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加首页环境 */ public function addHomeEnv(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - // 'home_env_img|图片' => 'require', - 'home_env_sort|排序' => 'require' - ]); - $model = ModelHomeEnv::create($params, [ - 'home_env_guid', - 'home_env_create_user_guid', - 'home_env_update_user_guid', - 'home_env_video', - 'home_env_img', - 'home_env_sort' - ]); - return msg('添加成功!'); - } - - /** - * 批量添加首页环境 - */ - public function batchAddHomeEnv(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'home_env_img|图片' => 'require', - ]); - $params['home_env_sort'] = 1; - - $arr = explode(",", $params['home_env_img']); - // return $arr; - if (empty($arr)) { + Db::startTrans(); + Tool::adminLockTableWrite('home_env'); + try { + $params = $request->param(); + $this->validate($params, [ + // 'home_env_img|图片' => 'require', + 'home_env_sort|排序' => 'require' + ]); $model = ModelHomeEnv::create($params, [ 'home_env_guid', 'home_env_create_user_guid', @@ -103,16 +60,88 @@ class HomeEnv extends BaseController 'home_env_img', 'home_env_sort' ]); - } else { - foreach ($arr as $key => $value) { - ModelHomeEnv::create([ - 'home_env_img' => $value, - // 'home_env_sort' => 1 - ]); - } + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; } + } - return msg('批量添加成功!'); + /** + * 编辑首页环境 + */ + public function editHomeEnv(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('home_env'); + try { + $params = $request->param(); + $this->validate($params, [ + // 'home_env_img|图片' => 'require', + 'home_env_sort|排序' => 'require' + ]); + $model = ModelHomeEnv::where('home_env_guid', $params['home_env_guid'])->find(); + if (!$model) throwErrorMsg("该首页环境不存在", 1); + $model->allowField([ + 'home_env_update_user_guid', + 'home_env_img', + 'home_env_video', + 'home_env_sort' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 批量添加首页环境 + */ + public function batchAddHomeEnv(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('home_env'); + try { + $params = $request->param(); + $this->validate($params, [ + 'home_env_img|图片' => 'require', + ]); + $params['home_env_sort'] = 1; + + $arr = explode(",", $params['home_env_img']); + // return $arr; + if (empty($arr)) { + $model = ModelHomeEnv::create($params, [ + 'home_env_guid', + 'home_env_create_user_guid', + 'home_env_update_user_guid', + 'home_env_video', + 'home_env_img', + 'home_env_sort' + ]); + } else { + foreach ($arr as $key => $value) { + ModelHomeEnv::create([ + 'home_env_img' => $value, + // 'home_env_sort' => 1 + ]); + } + } + Db::commit(); + Tool::unlockTable(); + return msg('批量添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -120,15 +149,25 @@ class HomeEnv extends BaseController */ public function deleteHomeEnv(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'home_env_guid' => 'require', - ]); - $home_env = ModelHomeEnv::where([ - 'home_env_guid' => explode(',', $params['home_env_guid']) - ])->select(); - $home_env->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('home_env'); + try { + $params = $request->param(); + $this->validate($params, [ + 'home_env_guid' => 'require', + ]); + $home_env = ModelHomeEnv::where([ + 'home_env_guid' => explode(',', $params['home_env_guid']) + ])->select(); + $home_env->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** diff --git a/app/admin/controller/Home/HomeWorks.php b/app/admin/controller/Home/HomeWorks.php index c43ee88..50c3276 100644 --- a/app/admin/controller/Home/HomeWorks.php +++ b/app/admin/controller/Home/HomeWorks.php @@ -41,50 +41,70 @@ class HomeWorks extends BaseController return msg("获取首页作品列表成功!", $query); } - /** - * 编辑首页作品 - */ - public function editHomeWorks(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ - 'home_works_author_type|作者类型' => 'require', - 'home_works_img|图片' => 'require', - 'home_works_sort|排序' => 'require', - ]); - $model = ModelHomeWorks::where('home_works_guid', $params['home_works_guid'])->find(); - if (!$model) throwErrorMsg("该首页作品不存在", 1); - $model->allowField([ - 'home_works_update_user_guid', - 'home_works_author_type', - 'home_works_img', - 'home_works_sort', - 'home_works_intro' - ])->save($params); - return msg('编辑成功!'); - } - /** * 添加首页作品 */ public function addHomeWorks(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'home_works_author_type|作者类型' => 'require', - 'home_works_img|图片' => 'require', - 'home_works_sort|排序' => 'require', - ]); - $model = ModelHomeWorks::create($params, [ - 'home_works_guid', - 'home_works_create_user_guid', - 'home_works_update_user_guid', - 'home_works_author_type', - 'home_works_img', - 'home_works_sort', - 'home_works_intro' - ]); - return msg('添加成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('home_works'); + try { + $params = $request->param(); + $this->validate($params, [ + 'home_works_author_type|作者类型' => 'require', + 'home_works_img|图片' => 'require', + 'home_works_sort|排序' => 'require', + ]); + $model = ModelHomeWorks::create($params, [ + 'home_works_guid', + 'home_works_create_user_guid', + 'home_works_update_user_guid', + 'home_works_author_type', + 'home_works_img', + 'home_works_sort', + 'home_works_intro' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + + /** + * 编辑首页作品 + */ + public function editHomeWorks(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('home_works'); + try { + $params = $request->param(); + $this->validate($params, [ + 'home_works_author_type|作者类型' => 'require', + 'home_works_img|图片' => 'require', + 'home_works_sort|排序' => 'require', + ]); + $model = ModelHomeWorks::where('home_works_guid', $params['home_works_guid'])->find(); + if (!$model) throwErrorMsg("该首页作品不存在", 1); + $model->allowField([ + 'home_works_update_user_guid', + 'home_works_author_type', + 'home_works_img', + 'home_works_sort', + 'home_works_intro' + ])->save($params); + Db::commit(); + Tool::unlockTable(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -92,15 +112,25 @@ class HomeWorks extends BaseController */ public function deleteHomeWorks(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'home_works_guid' => 'require', - ]); - $home_works = ModelHomeWorks::where([ - 'home_works_guid' => explode(',', $params['home_works_guid']) - ])->select(); - $home_works->delete(); - return msg('删除成功!'); + Db::startTrans(); + Tool::adminLockTableWrite('home_works'); + try { + $params = $request->param(); + $this->validate($params, [ + 'home_works_guid' => 'require', + ]); + $home_works = ModelHomeWorks::where([ + 'home_works_guid' => explode(',', $params['home_works_guid']) + ])->select(); + $home_works->delete(); + Db::commit(); + Tool::unlockTable(); + return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** diff --git a/app/admin/controller/Works/Works.php b/app/admin/controller/Works/Works.php index 4ecc4e0..c5cad73 100644 --- a/app/admin/controller/Works/Works.php +++ b/app/admin/controller/Works/Works.php @@ -26,7 +26,7 @@ class Works extends BaseController * @author xjh * @since 1.0.0 */ - public function getWorksList(Request $request): array + public function getWorksList(Request $request, bool $isExport = false): array { $query = ModelWorks::where( Tool::getOptionalQuery( @@ -46,7 +46,50 @@ class Works extends BaseController ])->leftJoin('works_type', 'works_type.works_type_guid = works.works_type_guid') ->order('works_order', 'asc'); - return msg("获取作品列表成功!", $query); + return $isExport ? $query->select()->toArray() : msg("获取作品列表成功!", $query); + } + + /** + * 添加作品接口 + * + * @param Request request + * @return array + * @date 2023-04-18 + * @author xjh + * @since 1.0.0 + */ + public function addWorks(Request $request): array + { + Db::startTrans(); + Tool::adminLockTableWrite('works'); + try { + $params = $request->param(); + $this->validate($params, [ + 'works_img|作品图片' => 'require', + 'works_intro|作品介绍' => 'require', + 'works_likes_count|作品点赞数' => 'require', + 'works_order|排序' => 'require', + 'works_type_guid|作品类型guid' => 'require', + ]); + ModelWorks::create($params, [ + 'works_guid', + 'works_create_user_guid', + 'works_update_user_guid', + 'works_author_type', + 'works_img', + 'works_intro', + 'works_likes_count', + 'works_type_guid', + 'works_order', + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } /** @@ -61,6 +104,7 @@ class Works extends BaseController public function editWorks(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('works'); try { $params = $request->param(); $this->validate($params, [ @@ -83,49 +127,11 @@ class Works extends BaseController 'works_order', ])->save($params); Db::commit(); + Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); - throw $th; - } - } - - /** - * 添加作品接口 - * - * @param Request request - * @return array - * @date 2023-04-18 - * @author xjh - * @since 1.0.0 - */ - public function addWorks(Request $request): array - { - Db::startTrans(); - try { - $params = $request->param(); - $this->validate($params, [ - 'works_img|作品图片' => 'require', - 'works_intro|作品介绍' => 'require', - 'works_likes_count|作品点赞数' => 'require', - 'works_order|排序' => 'require', - 'works_type_guid|作品类型guid' => 'require', - ]); - ModelWorks::create($params, [ - 'works_guid', - 'works_create_user_guid', - 'works_update_user_guid', - 'works_author_type', - 'works_img', - 'works_intro', - 'works_likes_count', - 'works_type_guid', - 'works_order', - ]); - Db::commit(); - return msg('添加成功!'); - } catch (\Throwable $th) { - Db::rollback(); + Tool::unlockTable(); throw $th; } } @@ -142,6 +148,7 @@ class Works extends BaseController public function deleteWorks(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('works'); try { $params = $request->param(); $this->validate($params, [ @@ -152,9 +159,11 @@ class Works extends BaseController ])->select(); $works->delete(); Db::commit(); + Tool::unlockTable(); return msg('删除成功!'); } catch (\Throwable $th) { Db::rollback(); + Tool::unlockTable(); throw $th; } } @@ -170,22 +179,7 @@ class Works extends BaseController */ public function exportExcel(Request $request): void { - $params = $request->param(); - $con = [ - ['works_type_delete_time', 'NULL', null], - ['classes_delete_time', 'NULL', null], - ]; - if (isset($params['works_guids']) && $params['works_guids']) { - $con['works.works_guid'] = explode(',', $params['works_guids']); - } - $select = ModelWorks::where($con) - ->leftJoin('works_type', 'works_type.works_type_guid = works.works_type_guid') - ->leftJoin('classes', 'classes.classes_guid = works.classes_guid') - ->order('works_order', 'asc') - ->select() - ->toArray(); - - ModelWorks::exportExcel($select); + ModelWorks::exportExcel($this->getWorksList($request, true)); } /** @@ -218,13 +212,23 @@ class Works extends BaseController */ public function importExcel(Request $request) { - $file = new UploadFile('uploads', 'fileExt:xlsx'); - $file->putFile('works'); + Db::startTrans(); + Tool::adminLockTableWrite('works'); + try { + $file = new UploadFile('uploads', 'fileExt:xlsx'); + $file->putFile('works'); - $msg = ModelWorks::importExcel($file); - return [ - 'code' => 0, - 'msg' => $msg - ]; + $msg = ModelWorks::importExcel($file); + Db::commit(); + Tool::unlockTable(); + return [ + 'code' => 0, + 'msg' => $msg + ]; + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/admin/controller/Works/WorksType.php b/app/admin/controller/Works/WorksType.php index b1e59bb..234024f 100644 --- a/app/admin/controller/Works/WorksType.php +++ b/app/admin/controller/Works/WorksType.php @@ -74,6 +74,46 @@ class WorksType extends BaseController ]); } + /** + * 添加作品类型接口 + * + * @param Request request + * @return array + * @date 2023-04-17 + * @author xjh + * @since 1.0.0 + */ + public function addWorksType(Request $request) + { + Db::startTrans(); + Tool::adminLockTableWrite('works_type'); + try { + $params = $request->param(); + $this->validate($params, [ + 'works_type_name|作品类型名称' => 'require', + 'works_type_order|作品类型排序' => 'require', + 'works_type_parent_guid|作品类型父级guid' => 'require', + ]); + + ModelWorksType::create($params, [ + 'works_type_guid', + 'works_type_create_user_guid', + 'works_type_update_user_guid', + 'works_type_name', + 'works_type_order', + 'works_type_ancestors_guid', + 'works_type_parent_guid' + ]); + Db::commit(); + Tool::unlockTable(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } + } + /** * 编辑作品类型接口 * @@ -86,6 +126,7 @@ class WorksType extends BaseController public function editWorksType(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('works_type'); try { $params = $request->param(); $this->validate($params, [ @@ -106,46 +147,11 @@ class WorksType extends BaseController 'works_type_ancestors_guid', ])->save($params); Db::commit(); + Tool::unlockTable(); return msg('编辑成功!'); } catch (\Throwable $th) { Db::rollback(); - throw $th; - } - } - - /** - * 添加作品类型接口 - * - * @param Request request - * @return array - * @date 2023-04-17 - * @author xjh - * @since 1.0.0 - */ - public function addWorksType(Request $request) - { - Db::startTrans(); - try { - $params = $request->param(); - $this->validate($params, [ - 'works_type_name|作品类型名称' => 'require', - 'works_type_order|作品类型排序' => 'require', - 'works_type_parent_guid|作品类型父级guid' => 'require', - ]); - - ModelWorksType::create($params, [ - 'works_type_guid', - 'works_type_create_user_guid', - 'works_type_update_user_guid', - 'works_type_name', - 'works_type_order', - 'works_type_ancestors_guid', - 'works_type_parent_guid' - ]); - Db::commit(); - return msg('添加成功!'); - } catch (\Throwable $th) { - Db::rollback(); + Tool::unlockTable(); throw $th; } } @@ -162,6 +168,7 @@ class WorksType extends BaseController public function deleteWorksType(Request $request): array { Db::startTrans(); + Tool::adminLockTableWrite('works_type'); try { $params = $request->param(); $this->validate($params, [ @@ -172,9 +179,11 @@ class WorksType extends BaseController ])->select(); $works_type->delete(); Db::commit(); + Tool::unlockTable(); return msg('删除成功!'); } catch (\Throwable $th) { Db::rollback(); + Tool::unlockTable(); throw $th; } } @@ -242,13 +251,23 @@ class WorksType extends BaseController */ public function importExcel(Request $request): array { - $file = new UploadFile('uploads', 'fileExt:xlsx'); - $file->putFile('works_type'); + Db::startTrans(); + Tool::adminLockTableWrite('works_type'); + try { + $file = new UploadFile('uploads', 'fileExt:xlsx'); + $file->putFile('works_type'); - $msg = ModelWorksType::importExcel($file); - return [ - 'code' => 0, - 'msg' => $msg - ]; + $msg = ModelWorksType::importExcel($file); + Db::commit(); + Tool::unlockTable(); + return [ + 'code' => 0, + 'msg' => $msg + ]; + } catch (\Throwable $th) { + Db::rollback(); + Tool::unlockTable(); + throw $th; + } } } diff --git a/app/common/exception/Sort.php b/app/common/exception/Sort.php index 8f83af3..cd00b0a 100644 --- a/app/common/exception/Sort.php +++ b/app/common/exception/Sort.php @@ -63,6 +63,14 @@ class Sort return $this->sort_field; } + /** + * 获取主键字段名 + */ + public function getPk(): string + { + return $this->pk; + } + /** * 排序号新增处理 * diff --git a/app/common/exception/Tool.php b/app/common/exception/Tool.php index 3ecb948..0216d84 100644 --- a/app/common/exception/Tool.php +++ b/app/common/exception/Tool.php @@ -390,49 +390,46 @@ class Tool } /** - * 排序数据修改前处理 + * 数据修改前排序处理 * * 注意:(调用此类的方法需要进行事务与锁表操作) - * @param string $model_namespace 模型层命名空间地址 - * @param string $guid 主键 - * @param int $order 新排序号 + * @param \think\model &$model 模型实例引用 * @param array $extra_wheres 关联类型 例:["xxx_type" => 1] */ - public static function sortEditProc(string $model_namespace, string $guid, int $order, array $extra_wheres = []): void + public static function dataEditSortProc(\think\model &$model, array $extra_wheres = []): void { - (new Sort($model_namespace))->swap($guid, $order, $extra_wheres); + $sort = new Sort(get_class($model)); + $sort->swap($model[$sort->getPk()], $model[$sort->getSortField()], $extra_wheres); } /** - * 排序数据新增前处理 + * 数据新增前排序处理 * * 注意:(调用此类的方法需要进行事务与锁表操作) - * @param string $model_namespace 模型层命名空间地址 * @param \think\model &$model 模型实例引用 - * @param int|null $order 当前排序号 * @param array $wheres 当前指定数据的额外查询条件(tp批量查询数组) 例:["xxx_type" => 1,...] */ - public static function sortInsertProc(string $model_namespace, \think\model &$model, $order, array $wheres = []): void + public static function dataAddSortProc(\think\model &$model, array $wheres = []): void { - $sort = new Sort($model_namespace); - if ($order) { - $sort->vacate($order, $wheres); + $sort = new Sort(get_class($model)); + if ($model[$sort->getSortField()]) { + $sort->vacate($model[$sort->getSortField()], $wheres); } else { $model[$sort->getSortField()] = $sort->add($wheres); } } /** - * 排序删除前处理 + * 数据删除前排序处理 * * 注意:(调用此类的方法需要进行事务与锁表操作) - * @param string $model_namespace 模型层命名空间地址 - * @param string $guid 主键 + * @param \think\model &$model 模型实例引用 * @param array $correl_fields 关联类型字段 例:["xxx_guid",...] 代表删除排序号时会根据这些字段来关联(例:所属xxx类型、所属xxx系列)来进行排序处理 */ - public static function sortDeleteProc(string $model_namespace, string $guid, array $correl_fields = []): void + public static function dataDeleteSortProc(\think\model &$model, array $correl_fields = []): void { - (new Sort($model_namespace))->back($guid, $correl_fields); + $sort = new Sort(get_class($model)); + $sort->back($model[$sort->getPk()], $correl_fields); } /** diff --git a/app/common/model/AboutUs/CompanyProfile.php b/app/common/model/AboutUs/CompanyProfile.php index 15f6615..20bde09 100644 --- a/app/common/model/AboutUs/CompanyProfile.php +++ b/app/common/model/AboutUs/CompanyProfile.php @@ -51,7 +51,7 @@ class CompanyProfile extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc(self::class, $model->company_profile_order); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -60,7 +60,7 @@ class CompanyProfile extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc(self::class, $model->company_profile_guid, $model->company_profile_order); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -69,7 +69,7 @@ class CompanyProfile extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->company_profile_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } } diff --git a/app/common/model/AboutUs/TeachingEnvir/TeachingEnvirType.php b/app/common/model/AboutUs/TeachingEnvir/TeachingEnvirType.php index d33ef91..e465b59 100644 --- a/app/common/model/AboutUs/TeachingEnvir/TeachingEnvirType.php +++ b/app/common/model/AboutUs/TeachingEnvir/TeachingEnvirType.php @@ -65,11 +65,7 @@ class TeachingEnvirType extends BaseModel 'teaching_envir_type_name' => '环境类型名称', ]); Tool::buildAncestorsGuid($model, true); - Tool::sortInsertProc( - self::class, - $model->teaching_envir_type_order, - // ['teaching_envir_type_parent_guid' => $model->teaching_envir_type_parent_guid] - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -83,12 +79,7 @@ class TeachingEnvirType extends BaseModel ]); // Tool::handleEthicalRel($model); Tool::buildAncestorsGuid($model, true); - Tool::sortEditProc( - self::class, - $model->teaching_envir_type_guid, - $model->teaching_envir_type_order, - // ["teaching_envir_type_parent_guid" => $model->teaching_envir_type_parent_guid], - ); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -97,7 +88,7 @@ class TeachingEnvirType extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->teaching_envir_type_guid, ["teaching_envir_type_parent_guid"]); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } @@ -132,35 +123,28 @@ class TeachingEnvirType extends BaseModel { $msg = []; - Db::startTrans(); - try { - $excel = new Excel($file); - $data = $excel->parseExcel( - Tool::getExcelRule(self::EXCELFIELD), - [ - 'titleLine' => [1] - ] - ); - if (!$data) throwErrorMsg('excel无数据', 1); - $msg = []; - foreach ($data as $line => $value) { - try { - $op = self::importExcelInit($value); - if ($op == 'create') { - $msg[] = "{$line} 环境类型名:【{$value['teaching_envir_type_name']}】 新增成功!
"; - } else { - $msg[] = "{$line} 环境类型名:【{$value['teaching_envir_type_name']}】 修改成功!
"; - } - } catch (\Throwable $th) { - $msg[] = "{$line} {$th->getMessage()}
"; + $excel = new Excel($file); + $data = $excel->parseExcel( + Tool::getExcelRule(self::EXCELFIELD), + [ + 'titleLine' => [1] + ] + ); + if (!$data) throwErrorMsg('excel无数据', 1); + $msg = []; + foreach ($data as $line => $value) { + try { + $op = self::importExcelInit($value); + if ($op == 'create') { + $msg[] = "{$line} 环境类型名:【{$value['teaching_envir_type_name']}】 新增成功!
"; + } else { + $msg[] = "{$line} 环境类型名:【{$value['teaching_envir_type_name']}】 修改成功!
"; } + } catch (\Throwable $th) { + $msg[] = "{$line} {$th->getMessage()}
"; } - Db::commit(); - return implode(', ', $msg); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; } + return implode(', ', $msg); } /** diff --git a/app/common/model/Banner/Banner.php b/app/common/model/Banner/Banner.php index be4df8f..bb2d085 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); + Tool::dataAddSortProc($model); $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); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -68,7 +68,7 @@ class Banner extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->banner_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } } diff --git a/app/common/model/ContactUs/ConsultingHotline.php b/app/common/model/ContactUs/ConsultingHotline.php index 5a214e1..4f2968d 100644 --- a/app/common/model/ContactUs/ConsultingHotline.php +++ b/app/common/model/ContactUs/ConsultingHotline.php @@ -63,11 +63,7 @@ class ConsultingHotline extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc( - self::class, - $model->consulting_hotline_order, - ); - // self::checkRepeatData($model); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -76,12 +72,7 @@ class ConsultingHotline extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc( - self::class, - $model->consulting_hotline_guid, - $model->consulting_hotline_order, - ); - // self::checkRepeatData($model); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -90,7 +81,7 @@ class ConsultingHotline extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->consulting_hotline_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } } diff --git a/app/common/model/ContactUs/ContactScancode.php b/app/common/model/ContactUs/ContactScancode.php index 1872c43..80cc16a 100644 --- a/app/common/model/ContactUs/ContactScancode.php +++ b/app/common/model/ContactUs/ContactScancode.php @@ -69,11 +69,7 @@ class ContactScancode extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc( - self::class, - $model->contact_scancode_order, - ); - // self::checkRepeatData($model); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -82,12 +78,7 @@ class ContactScancode extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc( - self::class, - $model->contact_scancode_guid, - $model->contact_scancode_order, - ); - // self::checkRepeatData($model); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -96,7 +87,7 @@ class ContactScancode extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->contact_scancode_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } } diff --git a/app/common/model/Enrol/Classes.php b/app/common/model/Enrol/Classes.php index 32b32af..8335cec 100644 --- a/app/common/model/Enrol/Classes.php +++ b/app/common/model/Enrol/Classes.php @@ -79,10 +79,7 @@ class Classes extends BaseModel Validate::unique(self::class, $model->classes_guid, $model->getData(), [ 'classes_name' => '班型名称', ]); - Tool::sortInsertProc( - self::class, - $model->classes_sort, - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -94,11 +91,7 @@ class Classes extends BaseModel Validate::unique(self::class, $model->classes_guid, $model->getData(), [ 'classes_name' => '班型名称', ]); - Tool::sortEditProc( - self::class, - $model->classes_guid, - $model->classes_sort, - ); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -107,7 +100,7 @@ class Classes extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->classes_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } @@ -140,33 +133,25 @@ class Classes extends BaseModel public static function importExcel($file) { $msg = []; - - Db::startTrans(); - try { - $excel = new Excel($file); - $data = $excel->parseExcel( - Tool::getExcelRule(self::EXCELFIELD), - [ - 'titleLine' => [1] - ] - ); - if (!$data) throwErrorMsg('excel无数据', 1); - $msg = []; - foreach ($data as $line => $value) { - $classes_name = $value['classes_name']; - try { - $model = self::importExcelInit($value); - $msg[] = "{$line} {$classes_name} 新增成功!
"; - } catch (\Throwable $th) { - $msg[] = "{$line} {$classes_name} {$th->getMessage()}
"; - } + $excel = new Excel($file); + $data = $excel->parseExcel( + Tool::getExcelRule(self::EXCELFIELD), + [ + 'titleLine' => [1] + ] + ); + if (!$data) throwErrorMsg('excel无数据', 1); + $msg = []; + foreach ($data as $line => $value) { + $classes_name = $value['classes_name']; + try { + $model = self::importExcelInit($value); + $msg[] = "{$line} {$classes_name} 新增成功!
"; + } catch (\Throwable $th) { + $msg[] = "{$line} {$classes_name} {$th->getMessage()}
"; } - Db::commit(); - return implode(', ', $msg); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; } + return implode(', ', $msg); } /** diff --git a/app/common/model/Enrol/EnrolAq.php b/app/common/model/Enrol/EnrolAq.php index 6163446..49080d7 100644 --- a/app/common/model/Enrol/EnrolAq.php +++ b/app/common/model/Enrol/EnrolAq.php @@ -74,10 +74,7 @@ class EnrolAq extends BaseModel 'enrol_aq_status' => 1, 'enrol_aq_answer_status' => 1, ]); - Tool::sortInsertProc( - self::class, - $model->enrol_aq_sort, - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -86,11 +83,7 @@ class EnrolAq extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc( - self::class, - $model->enrol_aq_guid, - $model->enrol_aq_sort, - ); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -99,7 +92,7 @@ class EnrolAq extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->enrol_aq_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } @@ -134,5 +127,4 @@ class EnrolAq extends BaseModel $excel = (new Excel())->exporTsheet($data); $excel->save('招生问答.xlsx'); } - } diff --git a/app/common/model/Enrol/EnrolIntro.php b/app/common/model/Enrol/EnrolIntro.php index 71bf36f..128bb33 100644 --- a/app/common/model/Enrol/EnrolIntro.php +++ b/app/common/model/Enrol/EnrolIntro.php @@ -66,10 +66,7 @@ class EnrolIntro extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc( - self::class, - $model->enrol_intro_sort, - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -78,11 +75,7 @@ class EnrolIntro extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc( - self::class, - $model->enrol_intro_guid, - $model->enrol_intro_sort, - ); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } } diff --git a/app/common/model/Enrol/EnterSchoolProcess.php b/app/common/model/Enrol/EnterSchoolProcess.php index 11d45c0..f9bc36a 100644 --- a/app/common/model/Enrol/EnterSchoolProcess.php +++ b/app/common/model/Enrol/EnterSchoolProcess.php @@ -65,10 +65,7 @@ class EnterSchoolProcess extends BaseModel Validate::unique(self::class, $model->enter_school_process_guid, $model->getData(), [ 'enter_school_process_title' => '入学流程标题', ]); - Tool::sortInsertProc( - self::class, - $model->enter_school_process_sort, - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -80,11 +77,7 @@ class EnterSchoolProcess extends BaseModel Validate::unique(self::class, $model->enter_school_process_guid, $model->getData(), [ 'enter_school_process_title' => '入学流程标题', ]); - Tool::sortEditProc( - self::class, - $model->enter_school_process_guid, - $model->enter_school_process_sort, - ); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -93,7 +86,7 @@ class EnterSchoolProcess extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->enter_school_process_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } diff --git a/app/common/model/Enrol/SignUpProcess.php b/app/common/model/Enrol/SignUpProcess.php index 7327191..765aeb4 100644 --- a/app/common/model/Enrol/SignUpProcess.php +++ b/app/common/model/Enrol/SignUpProcess.php @@ -21,32 +21,32 @@ class SignUpProcess extends BaseModel protected $disuse = []; // 设置字段信息 protected $schema = [ - - "sign_up_process_id" => "int", - - "sign_up_process_guid" => "string", - - "sign_up_process_title" => "string", - - "sign_up_process_icon" => "string", - - "sign_up_process_intro" => "string", - - "sign_up_process_sort" => "int", - - "sign_up_process_create_time" => "datetime", - - "sign_up_process_create_user_guid" => "string", - - "sign_up_process_update_time" => "datetime", - - "sign_up_process_update_user_guid" => "string", - - "sign_up_process_delete_time" => "datetime", - - "sign_up_process_delete_user_guid" => "string", - - ]; + + "sign_up_process_id" => "int", + + "sign_up_process_guid" => "string", + + "sign_up_process_title" => "string", + + "sign_up_process_icon" => "string", + + "sign_up_process_intro" => "string", + + "sign_up_process_sort" => "int", + + "sign_up_process_create_time" => "datetime", + + "sign_up_process_create_user_guid" => "string", + + "sign_up_process_update_time" => "datetime", + + "sign_up_process_update_user_guid" => "string", + + "sign_up_process_delete_time" => "datetime", + + "sign_up_process_delete_user_guid" => "string", + + ]; // 设置json类型字段 protected $json = ['']; // 开启自动写入时间戳字段 @@ -56,7 +56,7 @@ class SignUpProcess extends BaseModel // 修改时间 protected $updateTime = 'sign_up_process_update_time'; - + //排序字段 public $order_field = 'sign_up_process_sort'; @@ -68,10 +68,7 @@ class SignUpProcess extends BaseModel Validate::unique(self::class, $model->sign_up_process_guid, $model->getData(), [ 'sign_up_process_title' => '报名流程标题', ]); - Tool::sortInsertProc( - self::class, - $model->sign_up_process_sort, - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -83,11 +80,7 @@ class SignUpProcess extends BaseModel Validate::unique(self::class, $model->sign_up_process_guid, $model->getData(), [ 'sign_up_process_title' => '报名流程标题', ]); - Tool::sortEditProc( - self::class, - $model->sign_up_process_guid, - $model->sign_up_process_sort, - ); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -96,11 +89,11 @@ class SignUpProcess extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->sign_up_process_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } - + /** * 导出Excel */ @@ -119,7 +112,4 @@ class SignUpProcess extends BaseModel $excel = (new Excel())->exporTsheet($data); $excel->save('报名流程.xlsx'); } - - - } diff --git a/app/common/model/ExaminationInformation/InfoArticle.php b/app/common/model/ExaminationInformation/InfoArticle.php index d6f8007..7678bf8 100644 --- a/app/common/model/ExaminationInformation/InfoArticle.php +++ b/app/common/model/ExaminationInformation/InfoArticle.php @@ -75,17 +75,13 @@ class InfoArticle extends BaseModel //排序字段 public $order_field = 'info_article_order'; + /** * 新增前 */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc( - self::class, - $model, - $model->info_article_order, - ['info_article_type_guid' => $model->info_article_type_guid] - ); + Tool::dataAddSortProc($model, ['info_article_type_guid' => $model->info_article_type_guid]); $model->completeCreateField(); } @@ -94,13 +90,7 @@ class InfoArticle extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc( - self::class, - $model->info_article_guid, - $model->info_article_order, - ['info_article_type_guid' => $model->info_article_type_guid] - ); - // self::checkRepeatData($model); + Tool::dataEditSortProc($model, ['info_article_type_guid' => $model->info_article_type_guid]); $model->completeUpdateField(); } @@ -109,7 +99,7 @@ class InfoArticle extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->info_article_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } @@ -149,32 +139,25 @@ class InfoArticle extends BaseModel public static function importExcel($file) { $msg = []; - - Db::startTrans(); - try { - $excel = new Excel($file); - $data = $excel->parseExcel( - Tool::getExcelRule(self::EXCELFIELD), - [ - 'titleLine' => [1] - ] - ); - if (!$data) throwErrorMsg('excel无数据', 1); - $msg = []; - foreach ($data as $line => $value) { - try { - $model = self::importExcelInit($value); - $msg[] = "{$line} {$model->info_article_title}新增成功!
"; - } catch (\Throwable $th) { - $msg[] = "{$line} {$th->getMessage()}
"; - } + $excel = new Excel($file); + $data = $excel->parseExcel( + Tool::getExcelRule(self::EXCELFIELD), + [ + 'titleLine' => [1] + ] + ); + if (!$data) throwErrorMsg('excel无数据', 1); + $msg = []; + foreach ($data as $line => $value) { + try { + $model = self::importExcelInit($value); + $msg[] = "{$line} {$model->info_article_title}新增成功!
"; + } catch (\Throwable $th) { + $msg[] = "{$line} {$th->getMessage()}
"; } - Db::commit(); - return implode(', ', $msg); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; } + + return implode(', ', $msg); } /** diff --git a/app/common/model/ExaminationInformation/InfoArticleType.php b/app/common/model/ExaminationInformation/InfoArticleType.php index c3e9477..efd6baf 100644 --- a/app/common/model/ExaminationInformation/InfoArticleType.php +++ b/app/common/model/ExaminationInformation/InfoArticleType.php @@ -67,10 +67,7 @@ class InfoArticleType extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc( - self::class, - $model->info_article_type_sort, - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -79,12 +76,7 @@ class InfoArticleType extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc( - self::class, - $model->info_article_type_guid, - $model->info_article_type_sort, - ); - // self::checkRepeatData($model); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -93,7 +85,7 @@ class InfoArticleType extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->info_article_type_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } @@ -122,32 +114,24 @@ class InfoArticleType extends BaseModel public static function importExcel($file) { $msg = []; - - Db::startTrans(); - try { - $excel = new Excel($file); - $data = $excel->parseExcel( - Tool::getExcelRule(self::EXCELFIELD), - [ - 'titleLine' => [1] - ] - ); - if (!$data) throwErrorMsg('excel无数据', 1); - $msg = []; - foreach ($data as $line => $value) { - try { - $model = self::importExcelInit($value); - $msg[] = "{$line} 【{$value->info_article_type_name}】新增成功!
"; - } catch (\Throwable $th) { - $msg[] = "{$line} {$th->getMessage()}
"; - } + $excel = new Excel($file); + $data = $excel->parseExcel( + Tool::getExcelRule(self::EXCELFIELD), + [ + 'titleLine' => [1] + ] + ); + if (!$data) throwErrorMsg('excel无数据', 1); + $msg = []; + foreach ($data as $line => $value) { + try { + $model = self::importExcelInit($value); + $msg[] = "{$line} 【{$value->info_article_type_name}】新增成功!
"; + } catch (\Throwable $th) { + $msg[] = "{$line} {$th->getMessage()}
"; } - Db::commit(); - return implode(', ', $msg); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; } + return implode(', ', $msg); } /** diff --git a/app/common/model/Home/HomeEnv.php b/app/common/model/Home/HomeEnv.php index f1d65da..1d0fb5f 100644 --- a/app/common/model/Home/HomeEnv.php +++ b/app/common/model/Home/HomeEnv.php @@ -51,10 +51,7 @@ class HomeEnv extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc( - self::class, - $model->home_env_sort, - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -63,11 +60,7 @@ class HomeEnv extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc( - self::class, - $model->home_env_guid, - $model->home_env_sort, - ); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -76,7 +69,7 @@ class HomeEnv extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->home_env_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } diff --git a/app/common/model/Home/HomeWorks.php b/app/common/model/Home/HomeWorks.php index 375cb3f..89c7f8a 100644 --- a/app/common/model/Home/HomeWorks.php +++ b/app/common/model/Home/HomeWorks.php @@ -55,11 +55,7 @@ class HomeWorks extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc( - self::class, - $model->home_works_sort, - ['home_works_author_type' => $model->home_works_author_type] - ); + Tool::dataAddSortProc($model, ['home_works_author_type' => $model->home_works_author_type]); $model->completeCreateField(); } @@ -68,12 +64,7 @@ class HomeWorks extends BaseModel */ public static function onBeforeUpdate(self $model): void { - Tool::sortEditProc( - self::class, - $model->home_works_guid, - $model->home_works_sort, - ['home_works_author_type' => $model->home_works_author_type] - ); + Tool::dataEditSortProc($model, ['home_works_author_type' => $model->home_works_author_type]); $model->completeUpdateField(); } @@ -82,7 +73,7 @@ class HomeWorks extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->home_works_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } @@ -114,10 +105,10 @@ class HomeWorks extends BaseModel /** * 作品作者类型字典获取器 */ - public function getHomeWorksAuthorTypeNameAttr($value,$data) + public function getHomeWorksAuthorTypeNameAttr($value, $data) { $home_works_author_type = $data['home_works_author_type']; - $works_author_type = ModelDictionary::getDictionaryData('works_author_type'); + $works_author_type = ModelDictionary::getDictionaryData('works_author_type'); $home_works_author_type = ModelDictionary::getDataDictionaryName($works_author_type, $home_works_author_type); return $home_works_author_type; } diff --git a/app/common/model/Works/Works.php b/app/common/model/Works/Works.php index 8b7403a..0dc0624 100644 --- a/app/common/model/Works/Works.php +++ b/app/common/model/Works/Works.php @@ -13,6 +13,7 @@ use app\common\model\Works\WorksType as ModelWorksType; use app\common\model\Enrol\Classes as ModelClasses; use app\common\model\Dictionary\Dictionary as ModelDictionary; + class Works extends BaseModel { use SoftDelete; @@ -55,10 +56,9 @@ class Works extends BaseModel public const EXPORT_EXCEL_FIELD = [ 'works_type_name' => '作品类型', 'works_img' => '作品图片', - 'works_name' => '作品名称', - 'works_author' => '作品作者', - 'classes_name' => '班型名称', + 'works_author_type' => '作品作者类型', 'works_likes_count' => '点赞数', + 'works_intro' => '作品介绍', ]; // excel导入/下载模板表头 public const IMPORT_EXCEL_FIELD = [ @@ -75,7 +75,7 @@ class Works extends BaseModel */ public static function onBeforeInsert(self $model): void { - Tool::sortInsertProc(self::class, $model->works_order, ['works_type_guid' => $model->works_type_guid]); + Tool::dataAddSortProc($model, ['works_type_guid' => $model->works_type_guid]); $model->completeCreateField(); } @@ -84,8 +84,7 @@ class Works extends BaseModel */ public static function onBeforeUpdate(self $model): void { - BaseModel::setUserGuid(false); - Tool::sortEditProc(self::class, $model->works_guid, $model->works_order, ['works_type_guid' => $model->works_type_guid]); + Tool::dataEditSortProc($model, ['works_type_guid' => $model->works_type_guid]); $model->completeUpdateField(); } @@ -94,7 +93,7 @@ class Works extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->works_guid); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } @@ -109,8 +108,19 @@ class Works extends BaseModel foreach ($select as $key => $val) { foreach (array_keys(self::EXPORT_EXCEL_FIELD) as $field_name) { $value = $val[$field_name]; - if ($field_name == 'works_img') $value = Excel::ExportImgFiled($value); - if ($field_name == 'works_likes_count') $value = strval($value); + //业务内容处理 + //作品图片 + if ($field_name == 'works_img') { + $value = Excel::ExportImgFiled($value); + } + //作品点赞数 + if ($field_name == 'works_likes_count') { + $value = strval($value); + } + //作品作者类型 + if ($field_name == 'works_author_type') { + $value = ModelDictionary::getDataDictionaryName(ModelDictionary::getDictionaryData('works_author_type'), $value); + } $data[$key + 1][$field_name] = $value; } } @@ -127,29 +137,23 @@ class Works extends BaseModel { $msg = []; - Db::startTrans(); - try { - $excel = new Excel($file); - $data = $excel->parseExcel( - Tool::getExcelRule(self::IMPORT_EXCEL_FIELD), - ['titleLine' => [1]] - ); - if (!$data) throwErrorMsg('excel无数据', 1); - $msg = []; - foreach ($data as $line => $value) { - try { - self::importExcelInit($value); - $msg[] = "{$line} 新增成功!
"; - } catch (\Throwable $th) { - $msg[] = "{$line} {$th->getMessage()}
"; - } + $excel = new Excel($file); + $data = $excel->parseExcel( + Tool::getExcelRule(self::IMPORT_EXCEL_FIELD), + ['titleLine' => [1]] + ); + if (!$data) throwErrorMsg('excel无数据', 1); + $msg = []; + foreach ($data as $line => $value) { + try { + self::importExcelInit($value); + $msg[] = "{$line} 新增成功!
"; + } catch (\Throwable $th) { + $msg[] = "{$line} {$th->getMessage()}
"; } - Db::commit(); - return implode(', ', $msg); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; } + + return implode(', ', $msg); } /** diff --git a/app/common/model/Works/WorksType.php b/app/common/model/Works/WorksType.php index 2d0391e..5adeeac 100644 --- a/app/common/model/Works/WorksType.php +++ b/app/common/model/Works/WorksType.php @@ -67,11 +67,7 @@ class WorksType extends BaseModel 'works_type_name' => '作品类型名称', ]); Tool::buildAncestorsGuid($model, true); - Tool::sortInsertProc( - self::class, - $model->works_type_order, - // ['works_type_parent_guid' => $model->works_type_parent_guid] - ); + Tool::dataAddSortProc($model); $model->completeCreateField(); } @@ -85,12 +81,7 @@ class WorksType extends BaseModel ]); // Tool::handleEthicalRel($model); Tool::buildAncestorsGuid($model, true); - Tool::sortEditProc( - self::class, - $model->works_type_guid, - $model->works_type_order, - // ["works_type_parent_guid" => $model->works_type_parent_guid], - ); + Tool::dataEditSortProc($model); $model->completeUpdateField(); } @@ -99,7 +90,7 @@ class WorksType extends BaseModel */ public static function onBeforeDelete(self $model): void { - Tool::sortDeleteProc(self::class, $model->works_type_guid, ["works_type_parent_guid"]); + Tool::dataDeleteSortProc($model); $model->completeDeleteField(); } @@ -134,39 +125,32 @@ class WorksType extends BaseModel { $msg = []; - Db::startTrans(); - try { - $excel = new Excel($file); - $data = $excel->parseExcel( - Tool::getExcelRule(self::IMPORT_EXCEL_FIELD), - ['titleLine' => [1]] - ); - if (!$data) throwErrorMsg('excel无数据', 1); - $msg = []; - foreach ($data as $line => $value) { - try { - $op = self::importExcelInit($value); - if ($op == 'create') { - $msg[] = "{$line} 新增成功!
"; - } else { - $msg[] = "{$line} 修改成功!
"; - } - } catch (\Throwable $th) { - $msg[] = "{$line} {$th->getMessage()}
"; + $excel = new Excel($file); + $data = $excel->parseExcel( + Tool::getExcelRule(self::IMPORT_EXCEL_FIELD), + ['titleLine' => [1]] + ); + if (!$data) throwErrorMsg('excel无数据', 1); + $msg = []; + foreach ($data as $line => $value) { + try { + $op = self::importExcelInit($value); + if ($op == 'create') { + $msg[] = "{$line} 新增成功!
"; + } else { + $msg[] = "{$line} 修改成功!
"; } + } catch (\Throwable $th) { + $msg[] = "{$line} {$th->getMessage()}
"; } - Db::commit(); - return implode(', ', $msg); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; } + return implode(', ', $msg); } /** * 导入excel初始化 * - * @param array $value 每行数据 + * @param array $value excel每行数据 */ public static function importExcelInit(array $value): string {