This commit is contained in:
wangjinlei
2025-02-13 09:14:09 +08:00
parent aff3123377
commit bd5f4fa187
3 changed files with 113 additions and 16 deletions

View File

@@ -269,6 +269,9 @@ class Article extends Base
return json(['code' => 0]);
}
/**
* @title 获取文章列表(编辑)
* @description 获取文章列表(编辑)
@@ -511,6 +514,12 @@ class Article extends Base
// $suggest[$k]['repeats'] = $ca;
// }
$major = $this->getMajorStr($article_res['major_id']);
$majors = $this->major_to_article_obj->where("article_id",$data['articleId'])->where("state",0)->select();
foreach ($majors as $k => $v){
$majors[$k]["major"] = getMajorShu($v['major_id']);
$majors[$k]['str'] = getMajorStr($v['major_id']);
}
$article_res['majors'] = $majors;
//查询文章作者信息
$author_res = $this->article_author_obj->where('article_id', $data['articleId'])->where('state', 0)->select();
//查询转投信息
@@ -529,7 +538,7 @@ class Article extends Base
$up_data['editor_act'] = 0;
}
$this->article_obj->where('article_id', $data['articleId'])->update($up_data);
return json(['article' => $article_res, 'msg' => $article_msg, 'authors' => $author_res, 'suggest' => $suggest, 'transfer' => $transfer_res, 'transinfo' => $transfer_info, 'major' => $major]);
return json(['article' => $article_res, 'msg' => $article_msg, 'authors' => $author_res, 'suggest' => $suggest, 'transfer' => $transfer_res, 'transinfo' => $transfer_info,"major"=>$major]);
}
@@ -2839,19 +2848,23 @@ class Article extends Base
return jsonError($rule->getError());
}
$base = $this->article_obj->where('article_id', $data['article_id'])->find();
$major_info = $this->major_obj->where('major_id', $base['major_id'])->find();
// $major_info = $this->major_obj->where('major_id', $base['major_id'])->find();
$major = '';
if ($major_info['major_level'] == 4) {
$major2 = $this->major_obj->where('major_id', $major_info['pid'])->find();
$major2['child'] = $major_info;
$major = $this->major_obj->where('major_id', $major2['pid'])->find();
$major['child'] = $major2;
} elseif ($major_info['major_level'] == 3) {
$major1 = $this->major_obj->where('major_id', $major_info['pid'])->find();
$major1['child'] = $major_info;
$major = $major1;
} else {
$major = $major_info;
// if ($major_info['major_level'] == 4) {
// $major2 = $this->major_obj->where('major_id', $major_info['pid'])->find();
// $major2['child'] = $major_info;
// $major = $this->major_obj->where('major_id', $major2['pid'])->find();
// $major['child'] = $major2;
// } elseif ($major_info['major_level'] == 3) {
// $major1 = $this->major_obj->where('major_id', $major_info['pid'])->find();
// $major1['child'] = $major_info;
// $major = $major1;
// } else {
// $major = $major_info;
// }
$majors = $this->major_to_article_obj->where("article_id",$data['article_id'])->where("state",0)->select();
foreach ($majors as $k => $v){
$majors[$k]["major"] = getMajorShu($v['major_id']);
}
$authors = $this->article_author_obj->where('article_id', $data['article_id'])->where('state', 0)->select();
$files = $this->article_file_obj->where('article_id', $data['article_id'])->where('state', 0)->select();
@@ -2859,6 +2872,7 @@ class Article extends Base
$re['authors'] = $authors;
$re['files'] = $files;
$re['major'] = $major;
$re['majors'] = $majors;
return jsonSuccess($re);
}
@@ -2906,7 +2920,7 @@ class Article extends Base
$inset_data['accept_sn'] = getArticleSN($journal_info['abbr'], $data['type']);
$inset_data['topics'] = isset($data["topics"]) ? json_encode($data['topics']) : "";
$inset_data['type'] = $data['type'];
$inset_data['major_id'] = $data['major'];
// $inset_data['major_id'] = $data['major'];
//处理伦理
if(isset($data['approval'])&&$data['approval']==1){
@@ -2920,6 +2934,7 @@ class Article extends Base
$inset_data['ctime'] = time();
$inset_data['state'] = -1;
$article_id = $this->article_obj->insertGetId($inset_data);
} else {
$checkArticle = $this->article_obj->where("article_id", "<>", $article_id)->where("title", trim($data['title']))->select();
foreach ($checkArticle as $v) {
@@ -2936,7 +2951,7 @@ class Article extends Base
$up['topics'] = isset($data["topics"]) ? json_encode($data['topics']) : "";
$up['fund'] = isset($data['fund']) ? trim($data['fund']) : '';
$up['type'] = $data['type'];
$up['major_id'] = $data['major'];
// $up['major_id'] = $data['major'];
//处理伦理
if(isset($data['approval'])&&$data['approval']==1){
$up['approval'] = 1;
@@ -2947,10 +2962,17 @@ class Article extends Base
}
$this->article_obj->where('article_id', $article_id)->update($up);
}
changeArticleMajor($article_id,$data['major']);
return jsonSuccess(['article_id' => $article_id]);
}
public function mytest(){
changeArticleMajor(5774,"97");
}
/**获取期刊话题
* @return void
*/

View File

@@ -17,7 +17,7 @@ use think\Validate;
* @title 领域接口
* @description 领域接口
*/
class Major extends Controller {
class Major extends Base {
protected $article_obj = '';
protected $user_obj = '';
@@ -393,6 +393,57 @@ class Major extends Controller {
return jsonSuccess([]);
}
public function getMajorByArticleId(){
$data = $this->request->post();
$rule = new Validate([
"article_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$majors = $this->major_to_article_obj->where("article_id",$data['article_id'])->where("state",0)->select();
foreach ($majors as $k => $v){
$majors[$k]["ids"] = getMajorShu($v['major_id']);
$majors[$k]['str'] = getMajorStr($v['major_id']);
}
$re['majors'] = $majors;
return jsonSuccess($re);
}
public function addMajorByArticleIdForEditor(){
$data = $this->request->post();
$rule = new Validate([
"article_id"=>"require",
"major_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$check = $this->major_to_article_obj->where("article_id",$data['article_id'])->where("major_id",$data['major_id'])->where("state",0)->find();
if($check){
return jsonError("Repeat addition");
}
$insert['article_id'] = $data['article_id'];
$insert['major_id'] = $data['major_id'];
$insert['ctime'] = time();
$this->major_to_article_obj->insert($insert);
return jsonSuccess([]);
}
public function delMajorByArticleIdForEditor(){
$data = $this->request->post();
$rule = new Validate([
"mta_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$this->major_to_article_obj->where("mta_id",$data['mta_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* @title 获取期刊领域树
* @description 获取期刊领域树

View File

@@ -869,6 +869,30 @@ function getMajorShu($major)
return $p . ',' . $res['major_id'];
}
function changeArticleMajor($article_id,$majors){
$ms = explode(",",$majors);
$major_to_article_obj = Db::name("major_to_article");
foreach ($ms as $v){
$check = $major_to_article_obj->where("article_id",$article_id)->where("major_id",$v)->where("state",0)->find();
if(!$check){
$insert['article_id'] = $article_id;
$insert['major_id'] = $v;
$insert['ctime'] = time();
$major_to_article_obj->insert($insert);
}
}
$has = $major_to_article_obj->where("article_id",$article_id)->where("state",0)->select();
foreach ($has as $v){
if(!in_array($v['major_id'],$ms)){
$major_to_article_obj->where("mta_id",$v['mta_id'])->update(['state'=>1]);
}
}
}
function getReviewerCvs($reviewer_id){
$cvs = Db::name('user_cv')->where('user_id',$reviewer_id)->where('state',0)->select();
return $cvs;