diff --git a/app/admin/controller/Banner/Banner.php b/app/admin/controller/Banner/Banner.php
index 423af54..b56729b 100644
--- a/app/admin/controller/Banner/Banner.php
+++ b/app/admin/controller/Banner/Banner.php
@@ -22,7 +22,7 @@ class Banner extends BaseController
*/
public function getBannerList(Request $request): array
{
- $con = Tool::getOptionalQuery(['banner_location', '='],);
+ $con = Tool::getOptionalQuery();
$query = ModelBanner::where($con)
->field([
diff --git a/app/admin/controller/Poster/Poster.php b/app/admin/controller/Poster/Poster.php
new file mode 100644
index 0000000..94c2450
--- /dev/null
+++ b/app/admin/controller/Poster/Poster.php
@@ -0,0 +1,110 @@
+param();
+ $con = Tool::getOptionalQuery(['poster_location', '='],);
+
+ $query = ModelPoster::where($con)
+ ->field([
+ 'poster_id',
+ 'poster_guid',
+ 'poster_location',
+ 'poster_img',
+ 'poster_title',
+ 'poster_describe',
+ 'poster_sort'
+ ])
+ ->order('poster_update_time', 'desc');
+
+ return msg("获取海报列表成功!", $query);
+ }
+
+ /**
+ * 编辑海报
+ */
+ public function editPoster(Request $request): array
+ {
+ $params = $request->param();
+ $this->validate($params, [
+ 'poster_location|位置' => 'require',
+ 'poster_img|图片' => 'require',
+ 'poster_title|标题' => 'require',
+ 'poster_describe|描述' => 'require',
+ 'poster_sort|排序' => 'require'
+ ]);
+ $model = ModelPoster::where('poster_guid', $params['poster_guid'])->find();
+ if (!$model) throwErrorMsg("该海报不存在", 1);
+ $model->allowField([
+ 'poster_update_user_guid',
+ 'poster_location',
+ 'poster_img',
+ 'poster_title',
+ 'poster_describe',
+ 'poster_sort'
+ ])->save($params);
+ return msg('编辑成功!');
+ }
+
+ /**
+ * 添加海报
+ */
+ public function addPoster(Request $request): array
+ {
+ $params = $request->param();
+ $this->validate($params, [
+ 'poster_location|位置' => 'require',
+ 'poster_img|图片' => 'require',
+ 'poster_title|标题' => 'require',
+ 'poster_describe|描述' => 'require',
+ 'poster_sort|排序' => 'require'
+ ]);
+ $model = ModelPoster::create($params, [
+ 'poster_guid',
+ 'poster_create_user_guid',
+ 'poster_update_user_guid',
+ 'poster_location',
+ 'poster_img',
+ 'poster_title',
+ 'poster_describe',
+ 'poster_sort'
+ ]);
+ return msg('添加成功!');
+ }
+
+ /**
+ * 删除海报
+ */
+ public function deletePoster(Request $request): array
+ {
+ $params = $request->param();
+ $this->validate($params, [
+ 'poster_guid' => 'require',
+ ]);
+ $poster = ModelPoster::where([
+ 'poster_guid' => explode(',', $params['poster_guid'])
+ ])->select();
+ $poster->delete();
+ return msg('删除成功!');
+ }
+}
diff --git a/app/admin/controller/Teachers_strength/subject.php b/app/admin/controller/TeachersStrength/Subject.php
similarity index 94%
rename from app/admin/controller/Teachers_strength/subject.php
rename to app/admin/controller/TeachersStrength/Subject.php
index f7bf169..f3ce24c 100644
--- a/app/admin/controller/Teachers_strength/subject.php
+++ b/app/admin/controller/TeachersStrength/Subject.php
@@ -1,9 +1,9 @@
param();
- $data = array_values(ModelSubject::EXCELFIELD);
+ $data = [
+ array_values(ModelSubject::EXCELFIELD),
+ ['管理组', '1']
+ ];
$excel = (new Excel())->exporTsheet($data);
$excel->save('授课科目导入模板.xlsx');
}
diff --git a/app/admin/controller/Teachers_strength/Teacher.php b/app/admin/controller/TeachersStrength/Teacher.php
similarity index 93%
rename from app/admin/controller/Teachers_strength/Teacher.php
rename to app/admin/controller/TeachersStrength/Teacher.php
index 1de1d8e..aacab41 100644
--- a/app/admin/controller/Teachers_strength/Teacher.php
+++ b/app/admin/controller/TeachersStrength/Teacher.php
@@ -1,9 +1,9 @@
param();
- $data = array_values(ModelTeacher::EXCELFIELD);
+ $data = [
+ array_values(ModelTeacher::EXCELFIELD),
+ ['管理组', '黎老师', '执行董事', '毕业于西南交大建筑与设计学院 高考美术教育13年', "1"]
+ ];
$excel = (new Excel())->exporTsheet($data);
$excel->save('教师导入模板.xlsx');
}
diff --git a/app/api/controller/TeachersStrength/Subject.php b/app/api/controller/TeachersStrength/Subject.php
new file mode 100644
index 0000000..f73a2b3
--- /dev/null
+++ b/app/api/controller/TeachersStrength/Subject.php
@@ -0,0 +1,43 @@
+param();
+ $con = [];
+
+ $query = ModelSubject::where($con)
+ ->field([
+ 'subject_id',
+ 'subject_guid',
+ 'subject_name',
+ 'subject_sort'
+ ])
+ ->order('subject_sort', 'asc');
+
+ return msg(0, "获取授课科目列表成功!", [
+ 'data' => $query,
+ 'count' => count($query)
+ ]);
+ }
+
+}
diff --git a/app/api/controller/Teachers/Teachers.php b/app/api/controller/TeachersStrength/Teachers.php
similarity index 91%
rename from app/api/controller/Teachers/Teachers.php
rename to app/api/controller/TeachersStrength/Teachers.php
index 2a19e29..1d9c06d 100644
--- a/app/api/controller/Teachers/Teachers.php
+++ b/app/api/controller/TeachersStrength/Teachers.php
@@ -1,9 +1,9 @@
param();
$con = [];
- $con = Tool::getOptionalQuery(['teacher_name', 'LIKE'], ['teacher_position', '='], ['subject_guid', '='],);
+ $con = Tool::getOptionalQuery(['teacher_name', 'LIKE'], ['subject_guid', '='],);
$query = ModelTeachers::where($con)
->field([
diff --git a/app/api/controller/subject/subject.php b/app/api/controller/subject/subject.php
deleted file mode 100644
index 730c2a9..0000000
--- a/app/api/controller/subject/subject.php
+++ /dev/null
@@ -1,64 +0,0 @@
-param();
- $con = [];
-
- $con = Tool::getOptionalQuery(['subject_name', 'LIKE'], ['subject_sort', '='],);
-
- $query = ModelSubject::where($con)
- ->field([
- 'subject_id',
- 'subject_guid',
- 'subject_name',
- 'subject_sort'
- ])
- ->order('subject_sort', 'asc');
-
-
-
- return msg("获取授课科目列表成功!", $query);
- }
-
- /**
- * 获取授课科目详情
- */
- public function getSubjectInfo(Request $request): array
- {
- $params = $request->param();
-
- $this->validate($params, ['subject_guid' => 'require']);
-
- $find = ModelSubject::field([
- 'subject_id',
- 'subject_guid',
- 'subject_name',
- 'subject_sort'
- ])
- ->where('subject_guid', $params['subject_guid'])
- ->find();
-
- return msg(0, '获取授课科目详情成功!', ['data' => $find]);
- }
-}
diff --git a/app/common/model/Banner/Banner.php b/app/common/model/Banner/Banner.php
index 25cf7b5..be4df8f 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, ['banner_location' => $model->banner_location]);
+ Tool::sortInsertProc(self::class, $model->banner_order);
$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, ['banner_location' => $model->banner_location]);
+ Tool::sortEditProc(self::class, $model->banner_guid, $model->banner_order);
$model->completeUpdateField();
}
@@ -68,7 +68,7 @@ class Banner extends BaseModel
*/
public static function onBeforeDelete(self $model): void
{
- Tool::sortDeleteProc(self::class, $model->banner_guid, ["banner_location"]);
+ Tool::sortDeleteProc(self::class, $model->banner_guid);
$model->completeDeleteField();
}
}
diff --git a/app/common/model/Poster/Poster.php b/app/common/model/Poster/Poster.php
new file mode 100644
index 0000000..142c436
--- /dev/null
+++ b/app/common/model/Poster/Poster.php
@@ -0,0 +1,95 @@
+ "int",
+
+ "poster_guid" => "string",
+
+ "poster_location" => "string",
+
+ "poster_img" => "string",
+
+ "poster_title" => "string",
+
+ "poster_describe" => "string",
+
+ "poster_sort" => "string",
+
+ "poster_create_time" => "datetime",
+
+ "poster_create_user_guid" => "string",
+
+ "poster_update_time" => "datetime",
+
+ "poster_update_user_guid" => "string",
+
+ "poster_delete_time" => "datetime",
+
+ "poster_delete_user_guid" => "string",
+
+ ];
+ // 设置json类型字段
+ protected $json = [''];
+ // 开启自动写入时间戳字段
+ protected $autoWriteTimestamp = 'datetime';
+ // 创建时间
+ protected $createTime = 'poster_create_time';
+ // 修改时间
+ protected $updateTime = 'poster_update_time';
+
+
+
+ //排序字段
+ public $order_field = 'poster_sort';
+
+ /**
+ * 新增前
+ */
+ public static function onBeforeInsert(self $model): void
+ {
+ Validate::unique(self::class, $model->subject_guid, $model->getData(), [
+ 'poster_location' => '海报位置',
+ ]);
+ Tool::sortInsertProc(self::class, $model->poster_sort);
+ $model->completeCreateField();
+ }
+
+ /**
+ * 更新前
+ */
+ public static function onBeforeUpdate(self $model): void
+ {
+ Tool::sortEditProc(self::class, $model->poster_guid, $model->poster_sort);
+ $model->completeUpdateField();
+ }
+
+ /**
+ * 删除前
+ */
+ public static function onBeforeDelete(self $model): void
+ {
+ Tool::sortDeleteProc(self::class, $model->poster_guid);
+ $model->completeDeleteField();
+ }
+}
diff --git a/app/common/model/Teachers_strength/subject.php b/app/common/model/TeachersStrength/Subject.php
similarity index 89%
rename from app/common/model/Teachers_strength/subject.php
rename to app/common/model/TeachersStrength/Subject.php
index 2eb4861..d6af7c1 100644
--- a/app/common/model/Teachers_strength/subject.php
+++ b/app/common/model/TeachersStrength/Subject.php
@@ -1,6 +1,6 @@
'排序',
];
-//排序字段
-public $order_field = 'subject_sort';
+ //排序字段
+ public $order_field = 'subject_sort';
/**
* 新增前
@@ -68,10 +68,12 @@ public $order_field = 'subject_sort';
public static function onBeforeInsert(self $model): void
{
// self::checkRepeatData($model);
+ Validate::unique(self::class, $model->subject_guid, $model->getData(), [
+ 'subject_name' => '科目名字',
+ ]);
Tool::sortInsertProc(
self::class,
$model->subject_sort,
-
);
$model->completeCreateField();
}
@@ -81,13 +83,14 @@ public $order_field = 'subject_sort';
*/
public static function onBeforeUpdate(self $model): void
{
-
- // self::checkRepeatData($model);
+ Validate::unique(self::class, $model->subject_guid, $model->getData(), [
+ 'subject_name' => '科目名字',
+ ]);
Tool::sortEditProc(
self::class,
$model->subject_guid,
$model->subject_sort,
-
+
);
$model->completeUpdateField();
}
@@ -141,7 +144,7 @@ public $order_field = 'subject_sort';
foreach ($data as $line => $value) {
try {
$model = self::importExcelInit($value);
- $msg[] = "{$line} 新增成功!
";
+ $msg[] = "{$line} {$value->subject_name}新增成功!
";
} catch (\Throwable $th) {
$msg[] = "{$line} {$th->getMessage()}
";
}
diff --git a/app/common/model/Teachers_strength/Teacher.php b/app/common/model/TeachersStrength/Teacher.php
similarity index 87%
rename from app/common/model/Teachers_strength/Teacher.php
rename to app/common/model/TeachersStrength/Teacher.php
index ac7cabc..0d34e33 100644
--- a/app/common/model/Teachers_strength/Teacher.php
+++ b/app/common/model/TeachersStrength/Teacher.php
@@ -1,6 +1,6 @@
'授教科目',
'teacher_name' => '教师名称',
'teacher_position' => '教师职位',
- 'teacher_img' => '教师图片',
- 'subject_guid' => '授课科目',
'teacher_intro' => '教师简介',
'teacher_order' => '教师排序',
];
@@ -117,6 +117,7 @@ class Teacher extends BaseModel
public static function exportExcel($select)
{
$data = [[
+ '授教科目',
'教师名称',
'教师职位',
'教师图片',
@@ -126,6 +127,7 @@ class Teacher extends BaseModel
]];
foreach ($select as $key => $val) {
$data[] = [
+ $val['subject_name'],
$val['teacher_name'],
$val['teacher_position'],
Excel::ExportImgFiled($val['teacher_img']),
@@ -159,7 +161,7 @@ class Teacher extends BaseModel
foreach ($data as $line => $value) {
try {
$model = self::importExcelInit($value);
- $msg[] = "{$line} 新增成功!
";
+ $msg[] = "{$line} 【{$model->subject_name}】{$model->teacher_name}新增成功!
";
} catch (\Throwable $th) {
$msg[] = "{$line} {$th->getMessage()}
";
}
@@ -177,19 +179,26 @@ class Teacher extends BaseModel
*/
public static function importExcelInit($value)
{
+ $subject_name = $value['subject_name'];
$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([
+
+ // 授教科目
+ $subject = ModelSubject::where('subject_name',$subject_name)->find();
+ if(!$subject) throwErrorMsg($subject_name . " 授教科目不存在!");
+ else $subject_guid = $subject->subject_guid;
+
+ $model = 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,
]);
+
+ $model['subject_name'] = $subject->subject_name;
+ return $model;
}
}
diff --git a/public/excel/师资力量/授课科目导入模板 (1).xlsx b/public/excel/师资力量/授课科目导入模板 (1).xlsx
new file mode 100644
index 0000000..895eaef
Binary files /dev/null and b/public/excel/师资力量/授课科目导入模板 (1).xlsx differ
diff --git a/public/excel/师资力量/教师导入模板.xlsx b/public/excel/师资力量/教师导入模板.xlsx
new file mode 100644
index 0000000..2a10b74
Binary files /dev/null and b/public/excel/师资力量/教师导入模板.xlsx differ