自动推荐审稿人修改
This commit is contained in:
@@ -4404,4 +4404,76 @@ class Article extends Base
|
||||
Db::name('user')->where('user_id', 'IN', $aId)->limit(count($aId))->update($aUpdate);
|
||||
return json(['status' => 1,'msg' => '执行成功']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文章所属领域
|
||||
* @param reviewer_id 审核人ID
|
||||
* @param
|
||||
*/
|
||||
public function getArticleField($aParam = []){
|
||||
|
||||
$aParam = empty($aParam) ? $this->request->post() : $this->request->post();
|
||||
|
||||
if(empty($aParam['article_id'])){
|
||||
return json_encode(['status' => 2,'msg' => 'Please select a Article']);
|
||||
}
|
||||
|
||||
//查询审稿人领域信息
|
||||
$aParam['state'] = 0;
|
||||
$aReviewerMajor = Db::name('major_to_article')->field('major_id')->where($aParam)->order('major_id asc')->select();
|
||||
if(empty($aReviewerMajor)){
|
||||
return json_encode(['status' => 1,'msg' => "The article field is empty",'data' => []]);
|
||||
}
|
||||
|
||||
//数据处理
|
||||
foreach ($aReviewerMajor as $key => $value) {
|
||||
$aReviewerMajor[$key]['major_title'] = getMajorStr($value['major_id']);
|
||||
$aReviewerMajor[$key]['shu'] = getMajorShu($value['major_id']);
|
||||
}
|
||||
return json_encode(['status' => 1,'msg' => "success",'data' => $aReviewerMajor]);
|
||||
}
|
||||
/**
|
||||
* 修改文章所属领域
|
||||
* @param reviewer_id 审核人ID
|
||||
* @param
|
||||
*/
|
||||
public function updateArticleField($aParam = []){
|
||||
|
||||
$aParam = empty($aParam) ? $this->request->post() : $this->request->post();
|
||||
$iArticleId = empty($aParam['article_id']) ? 0 : $aParam['article_id'];
|
||||
if(empty($iArticleId)){
|
||||
return json_encode(['status' => 2,'msg' => 'Please select a article']);
|
||||
}
|
||||
$sField = empty($aParam['article_field']) ? '' : $aParam['article_field'];
|
||||
if(empty($sField)){
|
||||
return json_encode(['status' => 2,'msg' => "Please select the field to which the article belongs"]);
|
||||
}
|
||||
$aField = is_array($sField) ? $sField : explode(',', trim($sField,','));
|
||||
if(empty($aField)){
|
||||
return json_encode(['status' => 3,'msg' => "Please select the user's field of expertise"]);
|
||||
}
|
||||
//查询审稿人领域信息
|
||||
$aWhere = ['state' => 0,'article_id' => $iArticleId];
|
||||
$aArticleMajor = Db::name('major_to_article')->where($aWhere)->order('major_id asc')->column('major_id');
|
||||
|
||||
//新增
|
||||
$aInsert = array_diff($aField,$aArticleMajor);
|
||||
//删除
|
||||
$aDelete = array_diff($aArticleMajor,$aField);
|
||||
|
||||
//数据处理
|
||||
Db::startTrans();
|
||||
if(!empty($aInsert)){//新增
|
||||
foreach ($aInsert as $key => $value) {
|
||||
$aAdd[] = ['major_id' => $value,'article_id' => $iArticleId,'ctime' => time(),'state' => 0];
|
||||
}
|
||||
$result = Db::name('major_to_article')->insertAll($aAdd);
|
||||
}
|
||||
if(!empty($aDelete)){//修改状态为1
|
||||
$aWhere = ['article_id' => $iArticleId,'state' => 0,'major_id' => ['in',$aDelete]];
|
||||
$result = Db::name('major_to_article')->where($aWhere)->limit(count($aDelete))->update(['state' => 1,'ctime' => time()]);
|
||||
}
|
||||
Db::commit();
|
||||
return json_encode(['status' => 1,'msg' => "The field to which the article belongs has been successfully updated"]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user