diff --git a/app/admin/controller/infoArticle/infoArticle.php b/app/admin/controller/ExaminationInformation/infoArticle/infoArticle.php similarity index 96% rename from app/admin/controller/infoArticle/infoArticle.php rename to app/admin/controller/ExaminationInformation/infoArticle/infoArticle.php index 6528fc8..fc3e33c 100644 --- a/app/admin/controller/infoArticle/infoArticle.php +++ b/app/admin/controller/ExaminationInformation/infoArticle/infoArticle.php @@ -1,9 +1,9 @@ param(); $con = []; - $con = Tool::getOptionalQuery(['teacher_name', 'LIKE'], ['teacher_position', '='], ['subject_guid', '='],); + $con = Tool::getOptionalQuery(['teacher_name', 'LIKE'], ['teacher_position', 'LIKE'], ['a.subject_guid', '='],); $query = ModelTeacher::where($con) ->field([ - 'teacher_id', - 'teacher_guid', - 'teacher_name', - 'teacher_position', - 'teacher_img', - 'subject_guid', - 'teacher_intro', - 'teacher_order' + 'a.teacher_id', + 'a.teacher_guid', + 'a.teacher_name', + 'a.teacher_position', + 'a.teacher_img', + 'a.subject_guid', + 'b.subject_name', + 'a.teacher_intro', + 'a.teacher_order' ]) + ->alias('a') + ->leftJoin('subject b', 'a.subject_guid = b.subject_guid') ->order('teacher_update_time', 'desc'); return msg("获取教师列表成功!", $query); @@ -48,27 +51,34 @@ class Teacher extends BaseController */ public function editTeacher(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'teacher_name|教师名称' => 'require', - 'teacher_position|教师职位' => 'require', - 'teacher_img|教师图片' => 'require', - 'subject_guid|授课科目' => 'require', - 'teacher_intro|教师简介' => 'require', - 'teacher_order|教师排序' => 'require' - ]); - $model = ModelTeacher::where('teacher_guid', $params['teacher_guid'])->find(); - if (!$model) throwErrorMsg("该教师不存在", 1); - $model->allowField([ - 'teacher_update_user_guid', - 'teacher_name', - 'teacher_position', - 'teacher_img', - 'subject_guid', - 'teacher_intro', - 'teacher_order' - ])->save($params); - return msg('编辑成功!'); + Db::startTrans(); + try { + $params = $request->param(); + $this->validate($params, [ + 'teacher_name|教师名称' => 'require', + 'teacher_position|教师职位' => 'require', + 'teacher_img|教师图片' => 'require', + 'subject_guid|授课科目' => 'require', + 'teacher_intro|教师简介' => 'require', + 'teacher_order|教师排序' => 'require' + ]); + $model = ModelTeacher::where('teacher_guid', $params['teacher_guid'])->find(); + if (!$model) throwErrorMsg("该教师不存在", 1); + $model->allowField([ + 'teacher_update_user_guid', + 'teacher_name', + 'teacher_position', + 'teacher_img', + 'subject_guid', + 'teacher_intro', + 'teacher_order' + ])->save($params); + Db::commit(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + throw $th; + } } /** @@ -76,44 +86,57 @@ class Teacher extends BaseController */ public function addTeacher(Request $request): array { - $params = $request->param(); - $this->validate($params, [ - 'teacher_name|教师名称' => 'require', - 'teacher_position|教师职位' => 'require', - 'teacher_img|教师图片' => 'require', - 'subject_guid|授课科目' => 'require', - 'teacher_intro|教师简介' => 'require', - 'teacher_order|教师排序' => 'require' - ]); - $model = ModelTeacher::create($params, [ - 'teacher_guid', - 'teacher_create_user_guid', - 'teacher_update_user_guid', - 'teacher_name', - 'teacher_position', - 'teacher_img', - 'subject_guid', - 'teacher_intro', - 'teacher_order' - ]); - return msg('添加成功!'); + Db::startTrans(); + try { + $params = $request->param(); + $this->validate($params, [ + 'teacher_name|教师名称' => 'require', + 'teacher_position|教师职位' => 'require', + 'teacher_img|教师图片' => 'require', + 'subject_guid|授课科目' => 'require', + 'teacher_intro|教师简介' => 'require', + 'teacher_order|教师排序' => 'require' + ]); + $model = ModelTeacher::create($params, [ + 'teacher_guid', + 'teacher_create_user_guid', + 'teacher_update_user_guid', + 'teacher_name', + 'teacher_position', + 'teacher_img', + 'subject_guid', + 'teacher_intro', + 'teacher_order' + ]); + Db::commit(); + return msg('添加成功!'); + } catch (\Throwable $th) { + Db::rollback(); + throw $th; + } } /** * 删除教师 */ public function deleteTeacher(Request $request): array - { - $params = $request->param(); - $this->validate($params, [ + { Db::startTrans(); + try { + $params = $request->param(); + $this->validate($params, [ 'teacher_guid' => 'require', ]); $teacher = ModelTeacher::where([ 'teacher_guid' => explode(',', $params['teacher_guid']) ])->select(); $teacher->delete(); + Db::commit(); return msg('删除成功!'); + } catch (\Throwable $th) { + Db::rollback(); + throw $th; } +} /** * 导出Excel @@ -121,16 +144,8 @@ class Teacher extends BaseController public function exportExcel(Request $request) { $params = $request->param(); - $select = ModelTeacher::field([ - 'teacher_name', - 'teacher_position', - 'teacher_img', - 'subject_guid', - 'teacher_intro', - 'teacher_order' - ]) - ->order('teacher_update_time', 'desc') - ->select(); + $params['limit'] = 10000; + $select = self::getTeacherList($request)['data']; return ModelTeacher::exportExcel($select); } diff --git a/app/admin/controller/Teachers_strength/subject.php b/app/admin/controller/Teachers_strength/subject.php index b4213e9..bbe9d6c 100644 --- a/app/admin/controller/Teachers_strength/subject.php +++ b/app/admin/controller/Teachers_strength/subject.php @@ -44,6 +44,8 @@ class Subject extends BaseController */ public function editSubject(Request $request): array { + Db::startTrans(); + try { $params = $request->param(); $this->validate($params, [ 'subject_name|科目名字' => 'require', @@ -56,14 +58,21 @@ class Subject extends BaseController 'subject_name', 'subject_sort' ])->save($params); + Db::commit(); return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + throw $th; } +} /** * 添加授课科目 */ public function addSubject(Request $request): array { + Db::startTrans(); + try { $params = $request->param(); $this->validate($params, [ 'subject_name|科目名字' => 'require', @@ -76,14 +85,20 @@ class Subject extends BaseController 'subject_name', 'subject_sort' ]); - return msg('添加成功!'); + Db::commit(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + throw $th; } - +} /** * 删除授课科目 */ public function deleteSubject(Request $request): array { + Db::startTrans(); + try { $params = $request->param(); $this->validate($params, [ 'subject_guid' => 'require', @@ -92,9 +107,13 @@ class Subject extends BaseController 'subject_guid' => explode(',', $params['subject_guid']) ])->select(); $subject->delete(); - return msg('删除成功!'); + Db::commit(); + return msg('编辑成功!'); + } catch (\Throwable $th) { + Db::rollback(); + throw $th; } - +} /** * 导出Excel */ diff --git a/app/api/controller/infoArticle/infoArticle.php b/app/api/controller/ExaminationInformation/infoArticle/infoArticle.php similarity index 91% rename from app/api/controller/infoArticle/infoArticle.php rename to app/api/controller/ExaminationInformation/infoArticle/infoArticle.php index dfdceaf..5123c64 100644 --- a/app/api/controller/infoArticle/infoArticle.php +++ b/app/api/controller/ExaminationInformation/infoArticle/infoArticle.php @@ -1,9 +1,9 @@ "int", - - "teacher_guid" => "string", - - "teacher_name" => "string", - - "teacher_position" => "int", - - "teacher_img" => "string", - - "subject_guid" => "string", - - "teacher_intro" => "string", - - "teacher_order" => "int", - - "teacher_create_time" => "datetime", - - "teacher_create_user_guid" => "string", - - "teacher_update_time" => "datetime", - - "teacher_update_user_guid" => "string", - - "teacher_delete_time" => "datetime", - - "teacher_delete_user_guid" => "string", - - ]; + + "teacher_id" => "int", + + "teacher_guid" => "string", + + "teacher_name" => "string", + + "teacher_position" => "string", + + "teacher_img" => "string", + + "subject_guid" => "string", + + "teacher_intro" => "string", + + "teacher_order" => "int", + + "teacher_create_time" => "datetime", + + "teacher_create_user_guid" => "string", + + "teacher_update_time" => "datetime", + + "teacher_update_user_guid" => "string", + + "teacher_delete_time" => "datetime", + + "teacher_delete_user_guid" => "string", + + ]; // 设置json类型字段 protected $json = ['']; // 开启自动写入时间戳字段 @@ -60,25 +60,31 @@ class Teacher extends BaseModel // 修改时间 protected $updateTime = 'teacher_update_time'; - - // excel导入/下载模板表头 - public const EXCELFIELD = [ -'teacher_name' => '教师名称', -'teacher_position' => '教师职位', -'teacher_img' => '教师图片', -'subject_guid' => '授课科目', -'teacher_intro' => '教师简介', -'teacher_order' => '教师排序', -]; - + // excel导入/下载模板表头 + public const EXCELFIELD = [ + 'teacher_name' => '教师名称', + 'teacher_position' => '教师职位', + 'teacher_img' => '教师图片', + 'subject_guid' => '授课科目', + 'teacher_intro' => '教师简介', + 'teacher_order' => '教师排序', + ]; + + + //排序字段 + public $order_field = 'teacher_order'; /** * 新增前 */ public static function onBeforeInsert(self $model): void { - // self::checkRepeatData($model); + Tool::sortInsertProc( + self::class, + $model->teacher_order, + ['subject_guid' => $model->subject_guid] + ); $model->completeCreateField(); } @@ -87,7 +93,12 @@ class Teacher extends BaseModel */ public static function onBeforeUpdate(self $model): void { - // self::checkRepeatData($model); + Tool::sortEditProc( + self::class, + $model->teacher_guid, + $model->teacher_order, + ['subject_guid' => $model->subject_guid] + ); $model->completeUpdateField(); } @@ -96,84 +107,89 @@ class Teacher extends BaseModel */ public static function onBeforeDelete(self $model): void { + Tool::sortDeleteProc(self::class, $model->teacher_guid); $model->completeDeleteField(); } /** -* 导出Excel -*/ - public static function exportExcel($select) - { - $data = [[ -'教师名称', -'教师职位', -'教师图片', -'授课科目', -'教师简介', -'教师排序' -]]; - foreach ($select as $key => $val) { - $data[] = [ -$val['teacher_name'], -$val['teacher_position'], -Excel::ExportImgFiled($val['teacher_img']), -$val['subject_guid'], -$val['teacher_intro'], -$val['teacher_order'], -]; - } - $excel = (new Excel())->exporTsheet($data); - $excel->save('教师.xlsx'); - } + * 导出Excel + */ + public static function exportExcel($select) + { + $data = [[ + '教师名称', + '教师职位', + '教师图片', + '授课科目', + '教师简介', + '教师排序' + ]]; + foreach ($select as $key => $val) { + $data[] = [ + $val['teacher_name'], + $val['teacher_position'], + Excel::ExportImgFiled($val['teacher_img']), + $val['subject_guid'], + $val['teacher_intro'], + $val['teacher_order'], + ]; + } + $excel = (new Excel())->exporTsheet($data); + $excel->save('教师.xlsx'); + } /** -* 导入excel -*/ - public static function importExcel($file) - { - $msg = []; + * 导入excel + */ + 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} 新增成功!
"; - } catch (\Throwable $th) { - $msg[] = "{$line} {$th->getMessage()}
"; - } - } - Db::commit(); - return implode(', ', $msg); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; - } + 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} 新增成功!
"; + } catch (\Throwable $th) { + $msg[] = "{$line} {$th->getMessage()}
"; } + } + Db::commit(); + return implode(', ', $msg); + } catch (\Throwable $th) { + Db::rollback(); + throw $th; + } + } /** -* 导入excel初始化 -*/ - public static function importExcelInit($value) - { - $teacher_name = $value['teacher_name'];$teacher_position = $value['teacher_position'];$teacher_img = $value['teacher_img'];$subject_guid = $value['subject_guid'];$teacher_intro = $value['teacher_intro'];$teacher_order = $value['teacher_order']; - return self::create([ -'teacher_name' => $teacher_name, -'teacher_position' => $teacher_position, -'teacher_img' => $teacher_img, -'subject_guid' => $subject_guid, -'teacher_intro' => $teacher_intro, -'teacher_order' => $teacher_order, -]); - } - - + * 导入excel初始化 + */ + public static function importExcelInit($value) + { + $teacher_name = $value['teacher_name']; + $teacher_position = $value['teacher_position']; + $teacher_img = $value['teacher_img']; + $subject_guid = $value['subject_guid']; + $teacher_intro = $value['teacher_intro']; + $teacher_order = $value['teacher_order']; + return self::create([ + 'teacher_name' => $teacher_name, + 'teacher_position' => $teacher_position, + 'teacher_img' => $teacher_img, + 'subject_guid' => $subject_guid, + 'teacher_intro' => $teacher_intro, + 'teacher_order' => $teacher_order, + ]); + } } diff --git a/app/common/model/Teachers_strength/subject.php b/app/common/model/Teachers_strength/subject.php index c418a39..cc3d44a 100644 --- a/app/common/model/Teachers_strength/subject.php +++ b/app/common/model/Teachers_strength/subject.php @@ -21,28 +21,28 @@ class Subject extends BaseModel protected $disuse = []; // 设置字段信息 protected $schema = [ - - "subject_id" => "int", - - "subject_guid" => "string", - - "subject_name" => "string", - - "subject_sort" => "int", - - "subject_create_time" => "datetime", - - "subject_create_user_guid" => "string", - - "subject_update_time" => "datetime", - - "subject_update_user_guid" => "string", - - "subject_delete_time" => "datetime", - - "subject_delete_user_guid" => "string", - - ]; + + "subject_id" => "int", + + "subject_guid" => "string", + + "subject_name" => "string", + + "subject_sort" => "int", + + "subject_create_time" => "datetime", + + "subject_create_user_guid" => "string", + + "subject_update_time" => "datetime", + + "subject_update_user_guid" => "string", + + "subject_delete_time" => "datetime", + + "subject_delete_user_guid" => "string", + + ]; // 设置json类型字段 protected $json = ['']; // 开启自动写入时间戳字段 @@ -52,14 +52,15 @@ class Subject extends BaseModel // 修改时间 protected $updateTime = 'subject_update_time'; - - // excel导入/下载模板表头 - public const EXCELFIELD = [ -'subject_name' => '科目名字', -'subject_sort' => '排序', -]; - + // excel导入/下载模板表头 + public const EXCELFIELD = [ + 'subject_name' => '科目名字', + 'subject_sort' => '排序', + ]; + +//排序字段 +public $order_field = 'subject_sort'; /** * 新增前 @@ -67,6 +68,11 @@ class Subject extends BaseModel public static function onBeforeInsert(self $model): void { // self::checkRepeatData($model); + Tool::sortInsertProc( + self::class, + $model->subject_sort, + + ); $model->completeCreateField(); } @@ -75,7 +81,14 @@ class Subject extends BaseModel */ public static function onBeforeUpdate(self $model): void { + // self::checkRepeatData($model); + Tool::sortEditProc( + self::class, + $model->subject_guid, + $model->subject_sort, + + ); $model->completeUpdateField(); } @@ -84,72 +97,73 @@ class Subject extends BaseModel */ public static function onBeforeDelete(self $model): void { + Tool::sortDeleteProc(self::class, $model->subject_guid); $model->completeDeleteField(); } /** -* 导出Excel -*/ - public static function exportExcel($select) - { - $data = [[ -'科目名字', -'排序' -]]; - foreach ($select as $key => $val) { - $data[] = [ -$val['subject_name'], -$val['subject_sort'], -]; - } - $excel = (new Excel())->exporTsheet($data); - $excel->save('授课科目.xlsx'); - } + * 导出Excel + */ + public static function exportExcel($select) + { + $data = [[ + '科目名字', + '排序' + ]]; + foreach ($select as $key => $val) { + $data[] = [ + $val['subject_name'], + $val['subject_sort'], + ]; + } + $excel = (new Excel())->exporTsheet($data); + $excel->save('授课科目.xlsx'); + } /** -* 导入excel -*/ - public static function importExcel($file) - { - $msg = []; + * 导入excel + */ + 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} 新增成功!
"; - } catch (\Throwable $th) { - $msg[] = "{$line} {$th->getMessage()}
"; - } - } - Db::commit(); - return implode(', ', $msg); - } catch (\Throwable $th) { - Db::rollback(); - throw $th; - } + 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} 新增成功!
"; + } catch (\Throwable $th) { + $msg[] = "{$line} {$th->getMessage()}
"; } + } + Db::commit(); + return implode(', ', $msg); + } catch (\Throwable $th) { + Db::rollback(); + throw $th; + } + } /** -* 导入excel初始化 -*/ - public static function importExcelInit($value) - { - $subject_name = $value['subject_name'];$subject_sort = $value['subject_sort']; - return self::create([ -'subject_name' => $subject_name, -'subject_sort' => $subject_sort, -]); - } - - + * 导入excel初始化 + */ + public static function importExcelInit($value) + { + $subject_name = $value['subject_name']; + $subject_sort = $value['subject_sort']; + return self::create([ + 'subject_name' => $subject_name, + 'subject_sort' => $subject_sort, + ]); + } }