This commit is contained in:
wangjinlei
2022-08-21 15:47:28 +08:00
parent ff65394c85
commit 6c759de0fb
6 changed files with 322 additions and 137 deletions

View File

@@ -0,0 +1,140 @@
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use think\Queue;
use think\Validate;
class Email extends Controller{
protected $article_obj = '';
protected $user_obj = '';
protected $user_act_obj = '';
protected $journal_obj = '';
protected $user_log_obj = '';
protected $user_reviewer_info_obj = '';
protected $reviewer_major_obj = '';
protected $reviewer_to_journal_obj = '';
protected $article_reviewer_question_obj = '';
protected $article_msg_obj = '';
protected $article_file_obj = '';
protected $article_reviewer_obj = '';
protected $article_author_obj = '';
protected $article_transfer_obj = '';
protected $chief_to_journal_obj = '';
protected $login_auto_obj = '';
protected $major_obj = "";
protected $major_to_journal_obj = '';
protected $reviewer_from_author_obj = '';
protected $article_dialog_obj = '';
protected $article_proposal_obj = '';
protected $article_response_to_reviewer_obj = '';
protected $user_black_obj = '';
protected $user_reviewer_recommend_obj = '';
protected $email_log_obj = '';
protected $email_template_obj = '';
public function __construct(\think\Request $request = null) {
parent::__construct($request);
$this->user_obj = Db::name('user');
$this->user_act_obj = Db::name('user_act');
$this->article_obj = Db::name('article');
$this->journal_obj = Db::name('journal');
$this->user_log_obj = Db::name('user_log');
$this->user_reviewer_info_obj = Db::name("user_reviewer_info");
$this->reviewer_major_obj = Db::name('reviewer_major');
$this->reviewer_to_journal_obj = Db::name('reviewer_to_journal');
$this->article_reviewer_question_obj = Db::name('article_reviewer_question');
$this->article_msg_obj = Db::name('article_msg');
$this->article_file_obj = Db::name('article_file');
$this->article_reviewer_obj = Db::name('article_reviewer');
$this->article_author_obj = Db::name('article_author');
$this->article_transfer_obj = Db::name('article_transfer');
$this->chief_to_journal_obj = Db::name('chief_to_journal');
$this->login_auto_obj = Db::name('login_auto');
$this->major_obj = Db::name("major");
$this->major_to_journal_obj = Db::name('major_to_journal');
$this->reviewer_from_author_obj = Db::name("reviewer_from_author");
$this->article_dialog_obj = Db::name('article_dialog');
$this->article_proposal_obj = Db::name('article_proposal');
$this->article_response_to_reviewer_obj = Db::name('article_response_to_reviewer');
$this->user_black_obj = Db::name('user_black');
$this->user_reviewer_recommend_obj = Db::name('user_reviewer_recommend');
$this->email_log_obj = Db::name('email_log');
$this->email_template_obj = Db::name('email_template');
}
/**
* 添加邮件模板
*/
public function addEmailTemplate(){
$data = $this->request->post();
$rule = new Validate([
'etitle'=>'require',
'epid'=>'require',
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$insert['etitle'] = $data['etitle'];
$insert['epid'] = $data['epid'];
$insert['econtent'] = isset($data['econtent'])?$data['econtent']:'';
$this->email_template_obj->insert($insert);
return jsonSuccess([]);
}
/**
* 删除邮件模板
*/
public function delEmailTemplate(){
$data = $this->request->post();
$rule = new Validate([
'eid'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$info = $this->email_template_obj->where('eid',$data['eid'])->find();
if($info['epid']==0){
$check = $this->email_template_obj->where('epid',$info['eid'])->where('estate',0)->find();
if($check){
return jsonError('Please delete all subitems first!');
}
}
$this->email_template_obj->where('eid',$data['eid'])->update(['estate'=>1]);
return jsonSuccess([]);
}
/**
* 获取全部邮件模板
*/
public function getAllEmailTemplate(){
$list = $this->email_template_obj->where('epid',0)->where('estate',0)->select();
foreach($list as $k => $v){
$cache = $this->email_template_obj->where('epid',$v['eid'])->where('estate',0)->select();
$list[$k]['children'] = $cache;
}
$re['templates'] = $list;
return jsonSuccess($re);
}
/**
* 获取邮件模板
*/
public function getEmailTemplate(){
$data = $this->request->post();
$rule = new Validate([
'eid'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$info = $this->email_template_obj->where('eid',$data['eid'])->where('estate',0)->find();
$re['template'] = $info;
return jsonSuccess($re);
}
}