diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php
index 7cd281d..c8cfebc 100644
--- a/application/api/controller/Article.php
+++ b/application/api/controller/Article.php
@@ -43,6 +43,7 @@ class Article extends Controller
protected $email_template_obj = '';
protected $production_article_obj = '';
protected $company_top_obj = '';
+ protected $user_score_log_obj = '';
public function __construct(\think\Request $request = null)
{
@@ -76,6 +77,7 @@ class Article extends Controller
$this->email_template_obj = Db::name('email_template');
$this->production_article_obj = Db::name('production_article');
$this->company_top_obj = Db::name('company_top');
+ $this->user_score_log_obj = Db::name('user_score_log');
}
/**
@@ -937,7 +939,7 @@ class Article extends Controller
$h_check = false;
foreach ($authors as $v) {
$cache_report = $this->user_obj->where('email', $v['email'])->find();
- if ($article_info['state'] != 0 || $cache_report['google_time'] != 0 || $data['state'] == 3) {
+ if ($article_info['state'] != 0 || $cache_report['google_time'] != 0|| $cache_report['google_index'] != 0 || $data['state'] == 3) {
$h_check = true;
break;
}
@@ -948,7 +950,7 @@ class Article extends Controller
//初审分数不够,自动拒稿
if ($article_info['state'] == 0 && $article_info['type'] != 'N' && $article_info['type'] != 'T') {
- if (($journal_info['journal_id'] == 1 && $article_info['scoring'] < 4) || (($journal_info['journal_id'] == 10 || $journal_info['journal_id'] == 23) && $article_info['scoring'] < 3) || ($journal_info['journal_id'] == 21 && $article_info['scoring'] < 1) || ($journal_info['journal_id'] == 16 && $article_info['scoring'] < 2) || ($journal_info['journal_id'] != 1 && $journal_info['journal_id'] != 10 && $journal_info['journal_id'] != 21 && $journal_info['journal_id'] != 23 && $article_info['scoring'] < 1)) {
+ if (($journal_info['journal_id'] == 1 && $article_info['scoring'] < 4) || (($journal_info['journal_id'] == 10 || $journal_info['journal_id'] == 23) && $article_info['scoring'] < 3) || ($journal_info['journal_id'] == 21 && $article_info['scoring'] < 0) || ($journal_info['journal_id'] == 16 && $article_info['scoring'] < 2) || ($journal_info['journal_id'] != 1 && $journal_info['journal_id'] != 10 && $journal_info['journal_id'] != 21 && $journal_info['journal_id'] != 23 && $article_info['scoring'] < 1)) {
if (count($transfer_list) > 0) {
//查询转投期刊信息
$transfer_journal = $this->journal_obj->where('journal_id', $transfer_list[0]['journal_id'])->find();
@@ -1120,6 +1122,19 @@ class Article extends Controller
return jsonError("Submissions with a repetition rate greater than thirty percent will not be accepted");
}
+ //接收后为用户增加积分
+ if($data['state']==5){
+ $score = 0;
+ if($journal_info['level']=='A'){
+ $score=1;
+ }elseif($journal_info['level']=='B'){
+ $score=0.5;
+ }else{
+ $score=0.3;
+ }
+ addUserScoreLog($user_info['user_id'],$score,"add score ".$score." for submit article :".$article_info['accept_sn'],time());
+ $this->user_obj->where('user_id',$user_info['user_id'])->setInc('score',$score);
+ }
//添加文章状态信息(如果状态未更新可做通话用,并结束操作)
@@ -2140,13 +2155,13 @@ class Article extends Controller
//发送邮件给作者,表示感谢
$tt_t = 'Dear Dr. ' . ($user_res['realname'] == '' ? $user_res['account'] : $user_res['realname']) . ',
';
$tt1 = 'Thank you for submitting your manuscript entitled "' . $article_info['title'] . '". Your submission has been assigned the following tracking number:' . $article_info['accept_sn'] . '. We will be in touch again as soon as we have reached a decision. Please quote the tracking number in any communication. This e-mail simply acknowledges receipt of your submission. If the editors decide for editorial reasons that the paper is unsuitable for publication in ' . $journal_info['title'] . ', you will be informed as soon as possible.
';
- if ($journal_info['journal_id'] == 9) { //life research 期刊发送收到文章邮件
- $tt1 .= 'Life Research applies the CC BY-NC 4.0 license. Full details of the policy can be found at https://www.tmrjournals.com/notice.html?J_num=14&footer_id=123. Authors should read Guide to Authors carefully before submitting.
';
- $tt1 .= 'You may check on the status of this manuscript in the Submission System. If you encounter any problems, please contact liferes@tmrjournals.com.
';
- $tt1 .= 'Thank you for choosing to submit your manuscript to Life Research.
';
- $tt1 .= 'Yours sincerely,
Haoran Zhang
';
- $tt1 .= 'Manuscript Administration, Life Research
https://www.tmrjournals.com/lr/';
- } else { //其他期刊发送邮件
+ // if ($journal_info['journal_id'] == 9) { //life research 期刊发送收到文章邮件
+ // $tt1 .= 'Life Research applies the CC BY-NC 4.0 license. Full details of the policy can be found at https://www.tmrjournals.com/notice.html?J_num=14&footer_id=123. Authors should read Guide to Authors carefully before submitting.
';
+ // $tt1 .= 'You may check on the status of this manuscript in the Submission System. If you encounter any problems, please contact liferes@tmrjournals.com.
';
+ // $tt1 .= 'Thank you for choosing to submit your manuscript to Life Research.
';
+ // $tt1 .= 'Yours sincerely,
Haoran Zhang
';
+ // $tt1 .= 'Manuscript Administration, Life Research
https://www.tmrjournals.com/lr/';
+ // } else { //其他期刊发送邮件
$tt1 .= 'You may check on the status of this manuscript in the Submission System. If you encounter any problems, please contact ' . $journal_info['email'] . '.
';
$tt1 .= 'Thank you for choosing to submit your manuscript to ' . $journal_info['title'] . '.
';
$tt1 .= 'Sincerely,
Editorial Office
';
@@ -2156,7 +2171,7 @@ class Article extends Controller
$tt1 .= 'Website: ' . $journal_info['website'] . '
';
$tt1 .= '
If you have any questions, please contact us:
';
$tt1 .= 'Head of publication ethics
Dr. Dan Chen
TMR Publishing Group Limited Company, Auckland, New Zealand
Email: publication.ethics@tmrjournals.com';
- }
+ // }
sendEmail($user_res['email'], $journal_info['title'], $journal_info['title'], $tt_t . $tt1, $journal_info['email'], $journal_info['epassword']);
diff --git a/application/api/controller/Journal.php b/application/api/controller/Journal.php
index ea4afcf..9134187 100644
--- a/application/api/controller/Journal.php
+++ b/application/api/controller/Journal.php
@@ -95,6 +95,12 @@ class Journal extends Controller {
return jsonSuccess($re);
}
+ public function getAllJournal(){
+ $list = $this->journal_obj->where('state',0)->select();
+ $re['journals'] = $list;
+ return jsonSuccess($re);
+ }
+
/**
* 获取可申请审稿人的期刊
diff --git a/application/api/controller/Reviewer.php b/application/api/controller/Reviewer.php
index b37932c..f231d9e 100644
--- a/application/api/controller/Reviewer.php
+++ b/application/api/controller/Reviewer.php
@@ -815,6 +815,18 @@ class Reviewer extends Controller
$tt1 .= 'Contact us
TMR Publishing Group Address: 11 Cockle Bay Rd, Cockle Bay, Auckland 2014, New Zealand
Telephone: +64 02108293806
E-mail: publisher@tmrjournals.com';
+ //为审稿人增加积分
+ $score = 0;
+ if($journal_info['level']=='A'){
+ $score = 0.3;
+ }elseif($journal_info['level']=="B"){
+ $score = 0.2;
+ }else{
+ $score = 0.1;
+ }
+ addUserScoreLog($art_rev_info['reviewer_id'],$score,"add score ".$score." for submit article",time());
+ $this->user_obj->where('user_id',$art_rev_info['reviewer_id'])->setInc('score',$score);
+
$sendReviewer = [
'title' => 'Your contribution is greatly appreciated', // 邮件标题
'content' => $tt1, //邮件内容
diff --git a/application/api/controller/Ucenter.php b/application/api/controller/Ucenter.php
index 01fbe37..a87ca51 100644
--- a/application/api/controller/Ucenter.php
+++ b/application/api/controller/Ucenter.php
@@ -22,6 +22,8 @@ class Ucenter extends Controller{
protected $user_cv_obj = '';
protected $apply_board_obj = '';
protected $apply_yboard_obj = '';
+ protected $user_score_log_obj = '';
+ protected $user_index_log_obj = '';
public function __construct(\think\Request $request = null)
{
@@ -39,6 +41,8 @@ class Ucenter extends Controller{
$this->user_cv_obj = Db::name('user_cv');
$this->apply_board_obj = Db::name('apply_board');
$this->apply_yboard_obj = Db::name('apply_yboard');
+ $this->user_score_log_obj = Db::name('user_score_log');
+ $this->user_index_log_obj = Db::name('user_index_log');
}
@@ -233,6 +237,7 @@ class Ucenter extends Controller{
'major'=>$data['major'],
'field'=>$data['field'],
'introduction'=>$data['introduction'],
+ 'company'=>$data['company']
];
$this->user_reviewer_info_obj->where(['reviewer_id'=>$data['user_id']])->update($updata1);
return jsonSuccess([]);
@@ -352,10 +357,12 @@ class Ucenter extends Controller{
->select();
// 发表文章通过数
$accept = $this->article_obj->where(['user_id'=>$userId,'state'=>5])->count();
+ $indexs = $this->user_index_log_obj->where('user_id',$userId)->where('state',0)->count();
$res = [
'manuscriptNum'=>$manuscriptNum,
'accept'=>$accept,
- 'journal'=>$journal
+ 'journal'=>$journal,
+ 'index'=>$indexs
];
return $res;
}
diff --git a/application/api/controller/User.php b/application/api/controller/User.php
index db07041..fb25d2d 100644
--- a/application/api/controller/User.php
+++ b/application/api/controller/User.php
@@ -20,6 +20,7 @@ class User extends Controller
protected $user_obj = '';
protected $captcha_obj = '';
+ protected $article_obj = '';
protected $user_act_obj = '';
protected $admin_obj = '';
protected $user_reviewer_obj = '';
@@ -38,12 +39,16 @@ class User extends Controller
protected $user_cert_obj = '';
protected $apply_board_obj = '';
protected $apply_yboard_obj = '';
+ protected $user_score_log_obj = '';
+ protected $user_index_log_obj = '';
+ protected $article_reviewer_obj = '';
public function __construct(\think\Request $request = null)
{
parent::__construct($request);
$this->user_obj = Db::name('user');
$this->captcha_obj = Db::name('captcha');
+ $this->article_obj = Db::name('article');
$this->user_act_obj = Db::name('user_act');
$this->admin_obj = Db::name('admin');
$this->user_reviewer_obj = Db::name('user_reviewer_apply');
@@ -62,6 +67,9 @@ class User extends Controller
$this->user_cert_obj = Db::name('user_cert');
$this->apply_board_obj = Db::name('apply_board');
$this->apply_yboard_obj = Db::name('apply_yboard');
+ $this->user_score_log_obj = Db::name('user_score_log');
+ $this->user_index_log_obj = Db::name('user_index_log');
+ $this->article_reviewer_obj = Db::name('article_reviewer');
}
public function pstest(){
@@ -132,19 +140,145 @@ class User extends Controller
/**
* 用户评价
*/
- public function userScore(){
+ public function userScore1(){
+ die();
$data = $this->request->post();
$rule = new Validate([
- 'user_id'=>'require'
+ 'num'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
- $user_info = $this->user_obj->where('user_id',$data['user_id'])->find();
-
+ // $user_info = $this->user_obj->where('user_id',$data['user_id'])->find();
+ // if(!$user_info){
+ // return jsonError("user not has");
+ // }
+ $limit_start = ($data['num'] - 1) * 500;
+ $list = $this->article_obj
+ ->field("t_article.*,t_journal.level")
+ ->join("t_journal","t_article.journal_id = t_journal.journal_id",'left')
+ ->where('t_article.state',5)
+ ->limit($limit_start,500)
+ ->select();
+ foreach($list as $v){
+ $check = $this->user_obj->where('user_id',$v['user_id'])->find();
+ if(!$check){
+ continue;
+ }
+ if($v['journal_id']==1&&$v['ctime']<1609430400){
+ continue;
+ }
+ if(($v['journal_id']==12||$v['journal_id']==9||$v['journal_id']==7||$v['journal_id']==16)&&$v['ctime']<1672502400){
+ continue;
+ }
+ if(($v['journal_id']==18||$v['journal_id']==21)&&$v['ctime']<1696089600){
+ continue;
+ }
+ if($v['journal_id']!=1&&$v['journal_id']!=12&&$v['journal_id']!=9&&$v['journal_id']!=7&&$v['journal_id']!=16&&$v['journal_id']!=18&&$v['journal_id']!=21&&$v['ctime']<1659283200){
+ continue;
+ }
+ $score = 0;
+ if($v['level']=='A'){
+ $score=1;
+ }elseif($v['level']=='B'){
+ $score=0.5;
+ }else{
+ $score=0.2;
+ }
+ addUserScoreLog($v['user_id'],$score,"add score ".$score." for submit article :".$v['accept_sn'],$v['ctime']);
+ $this->user_obj->where('user_id',$v['user_id'])->setInc('score',$score);
+ }
+ dump($list);
}
+ /**
+ *
+ */
+ public function userScore2(){
+ die();
+ $data = $this->request->post();
+ $rule = new Validate([
+ 'num'=>'require'
+ ]);
+ if(!$rule->check($data)){
+ return jsonError($rule->getError());
+ }
+ // $user_info = $this->user_obj->where('user_id',$data['user_id'])->find();
+ // if(!$user_info){
+ // return jsonError("user not has");
+ // }
+ $limit_start = ($data['num'] - 1) * 500;
+ $list = $this->article_reviewer_obj
+ ->field("t_article_reviewer.*,t_journal.level,t_journal.journal_id")
+ ->join('t_article','t_article.article_id = t_article_reviewer.article_id','left')
+ ->join('t_journal','t_journal.journal_id=t_article.journal_id','left')
+ ->where('t_article_reviewer.state','in',[1,2,3])
+ ->limit($limit_start,500)
+ ->select();
+
+ foreach($list as $v){
+ $check = $this->user_obj->where('user_id',$v['reviewer_id'])->find();
+ if(!$check){
+ continue;
+ }
+ if($v['journal_id']==1&&$v['ctime']<1609430400){
+ continue;
+ }
+ if(($v['journal_id']==12||$v['journal_id']==9||$v['journal_id']==7||$v['journal_id']==16)&&$v['ctime']<1672502400){
+ continue;
+ }
+ if(($v['journal_id']==18||$v['journal_id']==21)&&$v['ctime']<1696089600){
+ continue;
+ }
+ if($v['journal_id']!=1&&$v['journal_id']!=12&&$v['journal_id']!=9&&$v['journal_id']!=7&&$v['journal_id']!=16&&$v['journal_id']!=18&&$v['journal_id']!=21&&$v['ctime']<1659283200){
+ continue;
+ }
+ $score = 0;
+ if($v['level']=='A'){
+ $score = 0.2;
+ // }elseif($v['level']=="B"){
+ // $score = 0.2;
+ }else{
+ $score = 0.1;
+ }
+ addUserScoreLog($v['reviewer_id'],$score,"add score ".$score." for submit article",$v['ctime']);
+ $this->user_obj->where('user_id',$v['reviewer_id'])->setInc('score',$score);
+ }
+ dump($list);
+ }
+
+ public function addIndexApply(){
+ $data = $this->request->post();
+ $rule = new Validate([
+ 'user_id'=>'require',
+ 'journal_id'=>'require',
+ 'local_doi'=>'require',
+ 'pub_doi'=>'require'
+ ]);
+ if(!$rule->check($data)){
+ return jsonError($rule->getError());
+ }
+ $journal_info = $this->journal_obj->where('journal_id',$data['journal_id'])->find();
+ $insert['user_id'] = $data['user_id'];
+ $insert['local_doi'] = $data['local_doi'];
+ $insert['pub_doi'] = $data['pub_doi'];
+ $insert['ctime'] = time();
+ $this->user_index_log_obj->insert($insert);
+ $score = 0;
+ if($journal_info['level']=='A'){
+ $score = 0.5;
+ }elseif($journal_info['level']=="B"){
+ $score = 0.2;
+ }else{
+ $score = 0.1;
+ }
+ addUserScoreLog($data['user_id'],$score,"add score ".$score." for cite a manuscript",time());
+ $this->user_obj->where('user_id',$data['user_id'])->setInc('score',$score);
+
+ return jsonSuccess([]);
+ }
+
/**
* 为所有用户发送邮件
*/
@@ -781,6 +915,10 @@ class User extends Controller
return jsonSuccess($organic_results);
}
+ public function getUserScoreLog(){
+
+ }
+
/**
* @title 审稿系统登录功能
* @description 审稿系统登录功能
diff --git a/application/common.php b/application/common.php
index 1d442e2..0441766 100644
--- a/application/common.php
+++ b/application/common.php
@@ -322,6 +322,19 @@ function my_doiToFrag1($data){
$p_refer_obj->close();
}
+/**
+ * 增加用户积分log信息
+ */
+function addUserScoreLog($user_id,$score,$content,$ctime,$act='+'){
+ $score_obj = Db::name('user_score_log');
+ $insert['user_id'] = $user_id;
+ $insert['content'] = trim($content);
+ $insert['score'] = $score;
+ $insert['act'] = $act;
+ $insert['ctime'] = $ctime;
+ $score_obj->insert($insert);
+}
+
function my_doiToFrag2($data){
$p_refer_obj = Db::name('production_article_refer');