fix:TOOL类缩表方法优化、各导入模块接口修改
This commit is contained in:
parent
e5139d95b2
commit
3ddf42c795
@ -167,7 +167,7 @@ class Classes extends BaseController
|
||||
public function importExcel(Request $request)
|
||||
{
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite('classes');
|
||||
Tool::adminLockTableWrite(['classes','dictionary']);
|
||||
try {
|
||||
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||
$file->putFile('classes');
|
||||
|
@ -185,7 +185,7 @@ class InfoArticle extends BaseController
|
||||
public function importExcel(Request $request)
|
||||
{
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite('info_article');
|
||||
Tool::adminLockTableWrite(['info_article','dictionary']);
|
||||
try {
|
||||
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||
$file->putFile('info_article');
|
||||
|
@ -173,7 +173,7 @@ class Achievement extends BaseController
|
||||
public function importExcel(Request $request)
|
||||
{
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite('teacher');
|
||||
Tool::adminLockTableWrite(['teacher','school_category']);
|
||||
try {
|
||||
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||
$file->putFile('achievement');
|
||||
|
@ -25,7 +25,7 @@ class SchoolLeaders extends BaseController
|
||||
$params = $request->param();
|
||||
$con = [];
|
||||
|
||||
$con = Tool::getOptionalQuery(['a.school_category_guid', '='], ['school_leaders_name', 'LIKE'],['school_leaders_school', 'LIKE'],);
|
||||
$con = Tool::getOptionalQuery(['a.school_category_guid', '='], ['school_leaders_name', 'LIKE'], ['school_leaders_school', 'LIKE'], );
|
||||
|
||||
$query = ModelSchoolLeaders::where($con)
|
||||
->field([
|
||||
@ -61,7 +61,8 @@ class SchoolLeaders extends BaseController
|
||||
'school_leaders_img|图片' => 'require'
|
||||
]);
|
||||
$model = ModelSchoolLeaders::where('school_leaders_guid', $params['school_leaders_guid'])->find();
|
||||
if (!$model) throwErrorMsg("该录取学院领军者不存在", 1);
|
||||
if (!$model)
|
||||
throwErrorMsg("该录取学院领军者不存在", 1);
|
||||
$model->allowField([
|
||||
'school_leaders_update_user_guid',
|
||||
'school_category_guid',
|
||||
@ -76,7 +77,7 @@ class SchoolLeaders extends BaseController
|
||||
} catch (\Throwable $th) {
|
||||
Tool::unlockTable();
|
||||
Db::rollback();
|
||||
throw $th;
|
||||
throw $th;
|
||||
}
|
||||
}
|
||||
|
||||
@ -111,7 +112,7 @@ class SchoolLeaders extends BaseController
|
||||
} catch (\Throwable $th) {
|
||||
Tool::unlockTable();
|
||||
Db::rollback();
|
||||
throw $th;
|
||||
throw $th;
|
||||
}
|
||||
}
|
||||
|
||||
@ -137,7 +138,7 @@ class SchoolLeaders extends BaseController
|
||||
} catch (\Throwable $th) {
|
||||
Tool::unlockTable();
|
||||
Db::rollback();
|
||||
throw $th;
|
||||
throw $th;
|
||||
}
|
||||
}
|
||||
|
||||
@ -168,13 +169,23 @@ class SchoolLeaders extends BaseController
|
||||
*/
|
||||
public function importExcel(Request $request)
|
||||
{
|
||||
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||
$file->putFile('school_leaders');
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite(['teacher','school_category']);
|
||||
try {
|
||||
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||
$file->putFile('school_leaders');
|
||||
|
||||
$msg = ModelSchoolLeaders::importExcel($file);
|
||||
return [
|
||||
'code' => 0,
|
||||
'msg' => $msg
|
||||
];
|
||||
$msg = ModelSchoolLeaders::importExcel($file);
|
||||
Db::commit();
|
||||
Tool::unlockTable();
|
||||
return [
|
||||
'code' => 0,
|
||||
'msg' => $msg
|
||||
];
|
||||
} catch (\Throwable $th) {
|
||||
Db::rollback();
|
||||
Tool::unlockTable();
|
||||
throw $th;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -187,7 +187,7 @@ class Teacher extends BaseController
|
||||
public function importExcel(Request $request)
|
||||
{
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite('teacher');
|
||||
Tool::adminLockTableWrite(['teacher','subject']);
|
||||
try {
|
||||
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||
$file->putFile('info_article');
|
||||
|
@ -209,7 +209,7 @@ class Works extends BaseController
|
||||
public function importExcel(Request $request)
|
||||
{
|
||||
Db::startTrans();
|
||||
Tool::adminLockTableWrite('works');
|
||||
Tool::adminLockTableWrite(['works','works_type']);
|
||||
try {
|
||||
$file = new UploadFile('uploads', 'fileExt:xlsx');
|
||||
$file->putFile('works');
|
||||
|
@ -374,11 +374,22 @@ class Tool
|
||||
/**
|
||||
* 后台接口锁表(排他锁/写锁/独占锁)操作
|
||||
*
|
||||
* @param string $table 被锁表名
|
||||
* @param string|array $table 被锁表名(可批量)
|
||||
*/
|
||||
public static function adminLockTableWrite(string $table)
|
||||
public static function adminLockTableWrite($table)
|
||||
{
|
||||
Db::execute("LOCK TABLES {$table} WRITE,token WRITE,user WRITE");
|
||||
if(is_string($table)){
|
||||
$table = [$table];
|
||||
}
|
||||
|
||||
$lock_table =[];
|
||||
foreach ($table as $table_name)
|
||||
{
|
||||
$lock_table[] = "{$table_name} WRITE";
|
||||
};
|
||||
$lock_table = implode(',',$lock_table);
|
||||
|
||||
Db::execute("LOCK TABLES {$lock_table},token WRITE,user WRITE");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -106,13 +106,15 @@ class Achievement extends BaseModel
|
||||
*/
|
||||
public static function exportExcel($select)
|
||||
{
|
||||
$data = [[
|
||||
'录取院校',
|
||||
'标题',
|
||||
'内容',
|
||||
'副内容',
|
||||
'排序'
|
||||
]];
|
||||
$data = [
|
||||
[
|
||||
'录取院校',
|
||||
'标题',
|
||||
'内容',
|
||||
'副内容',
|
||||
'排序'
|
||||
]
|
||||
];
|
||||
foreach ($select as $key => $val) {
|
||||
$data[] = [
|
||||
$val['school_category_name'],
|
||||
@ -133,31 +135,26 @@ class Achievement 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 {
|
||||
$model = self::importExcelInit($value);
|
||||
$msg[] = "{$line} <span style='color:#27af49'> 【{$model->school_category_name}】的{$model->achievement_title}数据 新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
$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} <span style='color:#27af49'> 【{$model->school_category_name}】的{$model->achievement_title}数据 新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
Db::commit();
|
||||
return implode(', ', $msg);
|
||||
} catch (\Throwable $th) {
|
||||
Db::rollback();
|
||||
throw $th;
|
||||
}
|
||||
|
||||
return implode(', ', $msg);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -173,8 +170,10 @@ class Achievement extends BaseModel
|
||||
|
||||
// 录取院校
|
||||
$school_category = ModelSchoolCategory::where('school_category_name', $school_category_name)->find();
|
||||
if (!$school_category) throwErrorMsg($school_category_name . " 录取院校不存在!");
|
||||
else $school_category_guid = $school_category->school_category_guid;
|
||||
if (!$school_category)
|
||||
throwErrorMsg($school_category_name . " 录取院校不存在!");
|
||||
else
|
||||
$school_category_guid = $school_category->school_category_guid;
|
||||
|
||||
$model = self::create([
|
||||
'school_category_guid' => $school_category_guid,
|
||||
@ -184,7 +183,7 @@ class Achievement extends BaseModel
|
||||
'achievement_sort' => $achievement_sort,
|
||||
]);
|
||||
|
||||
$model['school_category_name'] = $school_category_name;
|
||||
return $model;
|
||||
$model['school_category_name'] = $school_category_name;
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
}
|
@ -105,19 +105,21 @@ class SchoolLeaders extends BaseModel
|
||||
Tool::dataDeleteSortProc($model);
|
||||
$model->completeDeleteField();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 导出Excel
|
||||
*/
|
||||
public static function exportExcel($select)
|
||||
{
|
||||
$data = [[
|
||||
'录取院校',
|
||||
'名称',
|
||||
'所属院校',
|
||||
'图片',
|
||||
'排序'
|
||||
]];
|
||||
$data = [
|
||||
[
|
||||
'录取院校',
|
||||
'名称',
|
||||
'所属院校',
|
||||
'图片',
|
||||
'排序'
|
||||
]
|
||||
];
|
||||
foreach ($select as $key => $val) {
|
||||
$data[] = [
|
||||
$val['school_category_name'],
|
||||
@ -137,32 +139,25 @@ class SchoolLeaders 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} <span style='color:#27af49'>【{$model->school_category_name}】的{$model->school_leaders_name} 新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
$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} <span style='color:#27af49'>【{$model->school_category_name}】的{$model->school_leaders_name} 新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
Db::commit();
|
||||
return implode(', ', $msg);
|
||||
} catch (\Throwable $th) {
|
||||
Db::rollback();
|
||||
throw $th;
|
||||
}
|
||||
return implode(', ', $msg);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -177,8 +172,10 @@ class SchoolLeaders extends BaseModel
|
||||
|
||||
// 录取院校
|
||||
$school_category = ModelSchoolCategory::where('school_category_name', $school_category_name)->find();
|
||||
if (!$school_category) throwErrorMsg($school_category_name . " 录取院校不存在!");
|
||||
else $school_category_guid = $school_category->school_category_guid;
|
||||
if (!$school_category)
|
||||
throwErrorMsg($school_category_name . " 录取院校不存在!");
|
||||
else
|
||||
$school_category_guid = $school_category->school_category_guid;
|
||||
|
||||
$model = self::create([
|
||||
'school_category_guid' => $school_category_guid,
|
||||
@ -187,7 +184,7 @@ class SchoolLeaders extends BaseModel
|
||||
'school_leaders_sort' => $school_leaders_sort,
|
||||
]);
|
||||
|
||||
$model['school_category_name'] = $school_category_name;
|
||||
return $model;
|
||||
$model['school_category_name'] = $school_category_name;
|
||||
return $model;
|
||||
}
|
||||
}
|
||||
}
|
@ -100,10 +100,12 @@ class Subject extends BaseModel
|
||||
*/
|
||||
public static function exportExcel($select)
|
||||
{
|
||||
$data = [[
|
||||
'科目名字',
|
||||
'排序'
|
||||
]];
|
||||
$data = [
|
||||
[
|
||||
'科目名字',
|
||||
'排序'
|
||||
]
|
||||
];
|
||||
foreach ($select as $key => $val) {
|
||||
$data[] = [
|
||||
$val['subject_name'],
|
||||
@ -120,32 +122,26 @@ class Subject 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} <span style='color:#27af49'>{$value->subject_name}新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
$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} <span style='color:#27af49'>{$value->subject_name}新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
Db::commit();
|
||||
return implode(', ', $msg);
|
||||
} catch (\Throwable $th) {
|
||||
Db::rollback();
|
||||
throw $th;
|
||||
}
|
||||
return implode(', ', $msg);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -160,4 +156,4 @@ class Subject extends BaseModel
|
||||
'subject_sort' => $subject_sort,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
@ -119,14 +119,16 @@ class Teacher extends BaseModel
|
||||
*/
|
||||
public static function exportExcel($select)
|
||||
{
|
||||
$data = [[
|
||||
'授教科目',
|
||||
'教师名称',
|
||||
'教师职位',
|
||||
'教师图片',
|
||||
'教师简介',
|
||||
'教师排序'
|
||||
]];
|
||||
$data = [
|
||||
[
|
||||
'授教科目',
|
||||
'教师名称',
|
||||
'教师职位',
|
||||
'教师图片',
|
||||
'教师简介',
|
||||
'教师排序'
|
||||
]
|
||||
];
|
||||
foreach ($select as $key => $val) {
|
||||
$data[] = [
|
||||
$val['subject_name'],
|
||||
@ -147,32 +149,25 @@ class Teacher 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} <span style='color:#27af49'>【{$model->subject_name}】{$model->teacher_name}新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
$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} <span style='color:#27af49'>【{$model->subject_name}】{$model->teacher_name}新增成功!</span><br>";
|
||||
} catch (\Throwable $th) {
|
||||
$msg[] = "{$line} <span style='color:red'>{$th->getMessage()}</span><br>";
|
||||
}
|
||||
Db::commit();
|
||||
return implode(', ', $msg);
|
||||
} catch (\Throwable $th) {
|
||||
Db::rollback();
|
||||
throw $th;
|
||||
}
|
||||
return implode(', ', $msg);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -188,8 +183,10 @@ class Teacher extends BaseModel
|
||||
|
||||
// 授教科目
|
||||
$subject = ModelSubject::where('subject_name', $subject_name)->find();
|
||||
if (!$subject) throwErrorMsg($subject_name . " 授教科目不存在!");
|
||||
else $subject_guid = $subject->subject_guid;
|
||||
if (!$subject)
|
||||
throwErrorMsg($subject_name . " 授教科目不存在!");
|
||||
else
|
||||
$subject_guid = $subject->subject_guid;
|
||||
|
||||
$model = self::create([
|
||||
'teacher_name' => $teacher_name,
|
||||
@ -206,7 +203,7 @@ class Teacher extends BaseModel
|
||||
// 获取器 - 中文转拼音(全部大写)
|
||||
public function getTeacherEngNameAttr($value, $data)
|
||||
{
|
||||
$teacher_name = $data['teacher_name'];
|
||||
$teacher_name = $data['teacher_name'];
|
||||
|
||||
// 实例化拼音转换库
|
||||
$pinyin = new Pinyin();
|
||||
@ -219,4 +216,4 @@ class Teacher extends BaseModel
|
||||
|
||||
return $teacher_eng_name;
|
||||
}
|
||||
}
|
||||
}
|
@ -170,12 +170,9 @@ class Works extends BaseModel
|
||||
|
||||
$works_type = ModelWorksType::where("works_type_name", $works_type_name)->find();
|
||||
if (!$works_type) throwErrorMsg("作品类型不存在!");
|
||||
$classes = ModelClasses::where("classes_name", $classes_name)->find();
|
||||
if (!$classes) throwErrorMsg("班型不存在!");
|
||||
|
||||
self::create([
|
||||
'works_type_guid' => $works_type->works_type_guid,
|
||||
'classes_guid' => $classes->classes_guid,
|
||||
'works_name' => $works_name,
|
||||
'works_author' => $works_author,
|
||||
'works_likes_count' => $works_likes_count,
|
||||
|
Loading…
Reference in New Issue
Block a user