diff --git a/application/api/controller/Article.php b/application/api/controller/Article.php index 7f5db9e..f7a308b 100644 --- a/application/api/controller/Article.php +++ b/application/api/controller/Article.php @@ -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"]); + } }