1
This commit is contained in:
@@ -91,29 +91,67 @@ class Web extends Base
|
||||
$r = explode("/",$data['doi']);
|
||||
$p_info = $this->production_article_obj->where('doi',$r[1])->where("state",2)->find();
|
||||
if(!$p_info){
|
||||
return jsonError("");
|
||||
return jsonError("production error");
|
||||
}
|
||||
$article_info = $this->article_obj->where('article_id',$p_info['article_id'])->find();
|
||||
//只显示2023年5。1之后的文章流程
|
||||
if($article_info['rtime']<1682870400){
|
||||
return jsonError("time error");
|
||||
}
|
||||
|
||||
|
||||
$msgs = $this->article_msg_obj->where('article_id',$article_info['article_id'])->select();
|
||||
$reviewers = $this->article_reviewer_obj
|
||||
->field("t_article_reviewer.*,t_article_reviewer_question.ctime qtime,t_article_reviewer_question.rated,t_article_reviewer_question.is_anonymous")
|
||||
->join("t_article_reviewer_question","t_article_reviewer_question.art_rev_id = t_article_reviewer.art_rev_id","left")
|
||||
->where('t_article_reviewer.article_id',$p_info['article_id'])
|
||||
->where('t_article_reviewer.state','in',[1,2,3])
|
||||
->select();
|
||||
foreach ($reviewers as $k => $v){
|
||||
if($v['is_anonymous']==0){
|
||||
$u_info = $this->user_obj->where('user_id',$v['reviewer_id'])->find();
|
||||
$reviewers[$k]['reviewer_name'] = $u_info['realname'];
|
||||
}else{
|
||||
$reviewers[$k]['reviewer_name'] = "anonymous";
|
||||
}
|
||||
}
|
||||
$begin['type'] = 0;
|
||||
$begin['time'] = $article_info['ctime'];
|
||||
$frag[] = $begin;
|
||||
$reviewer_has = false;
|
||||
foreach ($msgs as $v){
|
||||
if($v['state_to']==2&&!$reviewer_has){
|
||||
$reviewer_has = true;
|
||||
$frag[] = [
|
||||
"type"=>$v['state_to'],
|
||||
"reviewers"=>$reviewers,
|
||||
"time"=>$v['ctime']
|
||||
];
|
||||
continue;
|
||||
}
|
||||
$frag[] = [
|
||||
"type"=>$v['state_to'],
|
||||
"time"=>$v['ctime']
|
||||
];
|
||||
// switch ($v['state_to']){
|
||||
// case 1:
|
||||
// $frag[] = [
|
||||
// "type"=>1,
|
||||
// "time"=>$v['ctime']
|
||||
// ];
|
||||
// break;
|
||||
// case 2:
|
||||
// $frag[] = [];
|
||||
// break
|
||||
// }
|
||||
}
|
||||
//如果没有审稿状态,添加
|
||||
if(!$reviewer_has&&count($reviewers)>0){
|
||||
$frag[] = [
|
||||
"type"=>2,
|
||||
"reviewers"=>$reviewers,
|
||||
"time"=>$reviewers[0]['ctime']
|
||||
];
|
||||
}
|
||||
|
||||
//冒泡排序法
|
||||
for ($i = 0; $i < count($frag) -1; $i++) {//循环对比的轮数
|
||||
for ($j = 0; $j < count($frag) - $i - 1; $j++) {//当前轮相邻元素循环对比
|
||||
if ($frag[$j]["time"] > $frag[$j + 1]["time"]) {//如果前边的大于后边的
|
||||
$tmp = $frag[$j];//交换数据
|
||||
$frag[$j] = $frag[$j + 1];
|
||||
$frag[$j + 1] = $tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$re['msgs'] = $frag;
|
||||
|
||||
Reference in New Issue
Block a user