1
This commit is contained in:
@@ -391,151 +391,6 @@ class Admin extends Controller {
|
||||
return json($res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入reviewer
|
||||
*/
|
||||
public function reviewerImport() {
|
||||
|
||||
die("server stoped");
|
||||
//接收信息
|
||||
$data = $this->request->post();
|
||||
|
||||
// $data['journal'] = 5;
|
||||
// $data['url'] = 'reviewer/import/20210819/beb6de5c69e4878d995fd8de192d17af.xlsx';
|
||||
|
||||
$journal = $data['journal'];
|
||||
$journal_info = $this->journal_obj->where('journal_id', $journal)->find();
|
||||
|
||||
//读取excel
|
||||
$path = ROOT_PATH . 'public' . DS . $data['url'];
|
||||
$frag = self::readExcel($path);
|
||||
|
||||
//check数据分开存储
|
||||
$su_data = [];
|
||||
$er_data = [];
|
||||
foreach ($frag as $v) {
|
||||
|
||||
if($v['username']==''){
|
||||
continue;
|
||||
}
|
||||
|
||||
//验证数据完整性
|
||||
if ($v['username'] == '' || $v['email'] == '' || $v['realname'] == '' || $v['major'] == '' || $v['username'] == null || $v['email'] == null || $v['realname'] == null || $v['major'] == null) {
|
||||
$er_data[] = [
|
||||
'username' => trim($v['username']),
|
||||
'realname' => trim($v['realname']),
|
||||
'email' => $v['email'],
|
||||
'reason' => 'Missing data'
|
||||
];
|
||||
continue;
|
||||
}
|
||||
//验证major
|
||||
$major = self::get_major($v['major']);
|
||||
if ($major === null) {
|
||||
$er_data[] = [
|
||||
'username' => trim($v['username']),
|
||||
'realname' => trim($v['realname']),
|
||||
'email' => $v['email'],
|
||||
'reason' => 'major is error'
|
||||
];
|
||||
continue;
|
||||
}
|
||||
//验证是否存在此用户并且存在对应关系
|
||||
$this_reviewer = self::get_username(trim($v['username']));
|
||||
$mme = self::get_userByEmail(trim($v['email']));
|
||||
if ($this_reviewer == null && $mme != null) {
|
||||
$er_data[] = [
|
||||
'username' => trim($v['username']),
|
||||
'realname' => trim($v['realname']),
|
||||
'email' => $v['email'],
|
||||
'reason' => 'Email occupied,and username is:'.$mme['account']
|
||||
];
|
||||
continue;
|
||||
}
|
||||
if ($this_reviewer != null && $this_reviewer['type'] == 2) {
|
||||
$er_data[] = [
|
||||
'username' => $v['username'],
|
||||
'realname' => $v['realname'],
|
||||
'email' => $v['email'],
|
||||
'reason' => "Editor can't become reviewer"
|
||||
];
|
||||
continue;
|
||||
}
|
||||
if ($this_reviewer != null && self::get_retojo($this_reviewer['user_id'], $journal) != null) {
|
||||
$su_data[] = [
|
||||
'username' => trim($v['username']),
|
||||
'realname' => trim($v['realname']),
|
||||
'email' => $v['email'],
|
||||
'reason' => 'success(has register)'
|
||||
];
|
||||
continue;
|
||||
}
|
||||
|
||||
//执行存储,按实际逻辑存储
|
||||
$cache_id = 0;
|
||||
if ($this_reviewer == null) {
|
||||
//添加user主体基本信息
|
||||
$cache_reviewer['account'] = trim($v['username']);
|
||||
$cache_reviewer['password'] = md5('123456qwe');
|
||||
$cache_reviewer['email'] = trim($v['email']);
|
||||
$cache_reviewer['realname'] = trim($v['realname']);
|
||||
$cache_reviewer['is_reviewer'] = 1;
|
||||
$cache_reviewer['ctime'] = time();
|
||||
$cache_id = $this->user_obj->insertGetId($cache_reviewer);
|
||||
//添加reviewer_info信息
|
||||
$cache_insert_info['reviewer_id'] = $cache_id;
|
||||
$cache_insert_info['gender'] = $v['gender'] == '女' ? 2 : 1;
|
||||
$cache_insert_info['technical'] = $v['technical'] == null ? '' : $v['technical'];
|
||||
$cache_insert_info['country'] = $v['country'] == null ? '' : $v['country'];
|
||||
$cache_insert_info['introduction'] = $v['introduction'] == null ? '' : $v['introduction'];
|
||||
$cache_insert_info['company'] = $v['company'] == null ? '' : $v['company'];
|
||||
$cache_insert_info['major'] = $major['major_id'];
|
||||
$cache_insert_info['field'] = $v['field'] == null ? '' : $v['field'];
|
||||
$this->user_reviewer_info_obj->insert($cache_insert_info);
|
||||
} else if ($this_reviewer != null && $this_reviewer['is_reviewer'] == 0) {
|
||||
$this->user_obj->where('user_id', $this_reviewer['user_id'])->update(['is_reviewer' => 1]);
|
||||
//添加reviewer_info信息
|
||||
$cache_insert_info['reviewer_id'] = $this_reviewer['user_id'];
|
||||
$cache_insert_info['gender'] = $v['gender'] == '女' ? 2 : 1;
|
||||
$cache_insert_info['technical'] = $v['technical'] == null ? '' : $v['technical'];
|
||||
$cache_insert_info['country'] = $v['country'] == null ? '' : $v['country'];
|
||||
$cache_insert_info['introduction'] = $v['introduction'] == null ? '' : $v['introduction'];
|
||||
$cache_insert_info['company'] = $v['company'] == null ? '' : $v['company'];
|
||||
$cache_insert_info['major'] = $major['major_id'];
|
||||
$cache_insert_info['field'] = $v['field'] == null ? '' : $v['field'];
|
||||
$this->user_reviewer_info_obj->insert($cache_insert_info);
|
||||
}
|
||||
//存储关系表信息
|
||||
$cache_insert_rtj['reviewer_id'] = $this_reviewer == null ? $cache_id : $this_reviewer['user_id'];
|
||||
$cache_insert_rtj['journal_id'] = $journal;
|
||||
$cache_insert_rtj['account'] = trim($v['username']);
|
||||
$cache_insert_rtj['journal_title'] = $journal_info['title'];
|
||||
$cache_insert_rtj['ctime'] = time();
|
||||
$this->reviewer_to_journal_obj->insert($cache_insert_rtj);
|
||||
|
||||
//增加成功信息
|
||||
$su_data[] = [
|
||||
'username' => trim($v['username']),
|
||||
'realname' => trim($v['realname']),
|
||||
'email' => $v['email'],
|
||||
'reason' => 'success'
|
||||
];
|
||||
|
||||
//发送邮件提醒审稿人
|
||||
$content = "Thank you for registering as a " . $journal_info['title'] . " reviewer<br/>". "At present, you have passed our examination<br/>";
|
||||
$content .= '<a href="https://submission.tmrjournals.com">Submission System</a><br>';
|
||||
$content .= '<p>username:' . trim($v['username']) . '</p>';
|
||||
$content .= '<p>Original Password: 123456qwe</p>';//$has_res ? '' : '<p>password:123456qwe</p>';
|
||||
|
||||
$maidata['email'] = $v['email'];
|
||||
$maidata['title'] = $journal_info['title'];
|
||||
$maidata['content'] = $content;
|
||||
$maidata['tmail'] = $journal_info['email'];
|
||||
$maidata['tpassword'] = $journal_info['epassword'];
|
||||
Queue::push( 'app\api\job\mail@fire' , $maidata , "tmail" );
|
||||
}
|
||||
return json(['sudata' => $su_data, 'erdata' => $er_data]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取领域分类
|
||||
|
||||
Reference in New Issue
Block a user