Files
tougao/application/api/controller/Journal.php
wangjinlei 4c6f6d97c1 20201112
2022-02-18 17:39:32 +08:00

96 lines
3.3 KiB
PHP

<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use think\Queue;
/**
* @title 期刊相关
* @description 期刊相关
*/
class Journal extends Controller {
protected $user_obj = '';
protected $captcha_obj = '';
protected $journal_obj = '';
protected $user_act_obj = '';
protected $reviewer_major_obj = '';
protected $article_obj = '';
protected $article_msg_obj = '';
protected $article_author_obj = '';
protected $admin_obj = '';
protected $country_obj = '';
protected $reviewer_to_journal_obj = '';
protected $user_reviewer_info_obj = '';
protected $user_reviewer_obj = '';
protected $user_msg_obj = '';
public function __construct(\think\Request $request = null) {
parent::__construct($request);
$this->user_obj = Db::name('user');
$this->captcha_obj = Db::name('captcha');
$this->user_act_obj = Db::name('user_act');
$this->admin_obj = Db::name('admin');
$this->reviewer_major_obj = Db::name('reviewer_major');
$this->journal_obj = Db::name('journal');
$this->user_reviewer_obj = Db::name('user_reviewer_apply');
$this->user_reviewer_info_obj = Db::name('user_reviewer_info');
$this->reviewer_to_journal_obj = Db::name('reviewer_to_journal');
$this->article_obj = Db::name('article');
$this->user_msg_obj = Db::name('user_msg');
$this->article_msg_obj = Db::name('article_msg');
$this->article_author_obj = Db::name('article_author');
$this->country_obj = Db::name('country');
}
/**
* @title 获取期刊列表除去审稿人已存在审稿关系
* @description 获取期刊列表除去审稿人已存在审稿关系
* @author wangjinlei
* @url /api/Journal/getJournalOutReviewer
* @method POST
*
* @param name:username type:string require:1 desc:用户名
*
* @return journals:期刊列表#
*/
public function getJournalOutReviewer(){
$data = $this->request->post();
$user_info = $this->user_obj->where("account",$data['username'])->find();
$journalIds = $this->reviewer_to_journal_obj->where('reviewer_id',$user_info['user_id'])->where('state',0)->column('journal_id');
$list = $this->journal_obj->where('journal_id',"not in",$journalIds)->where('state',0)->select();
$re['journals'] = $list;
return jsonSuccess($re);
}
/**
* @title 获取审稿人所属期刊列表
* @description 获取审稿人所属期刊列表
* @author wangjinlei
* @url /api/Journal/getJournalInReviewer
* @method POST
*
* @param name:username type:string require:1 desc:用户名
*
* @return journals:期刊列表#
*/
public function getJournalInReviewer(){
$data = $this->request->post();
$user_info = $this->user_obj->where('account',$data['username'])->where('state',0)->find();
$list = $this->reviewer_to_journal_obj
->field("t_journal.*")
->join('t_journal',"t_journal.journal_id = t_reviewer_to_journal.journal_id","left")
->where('t_reviewer_to_journal.reviewer_id',$user_info['user_id'])
->where('t_reviewer_to_journal.state',0)
->select();
$re['journals'] = $list;
return jsonSuccess($re);
}
}