From 017a4b19df85d2387ef9f6005d2ec3614116ccdb Mon Sep 17 00:00:00 2001 From: chengxl Date: Mon, 20 Oct 2025 16:58:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/Board.php | 121 +++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/application/api/controller/Board.php b/application/api/controller/Board.php index 8736423..623ea30 100644 --- a/application/api/controller/Board.php +++ b/application/api/controller/Board.php @@ -838,6 +838,127 @@ class Board extends Base { } } + /** + * 新增编辑编委信息-新 + */ + public function addBoardNew(){ + $data = $this->request->post(); + $rule = new Validate([ + "user_id"=>"require", + "journal_id"=>"require", + "type"=>"require", + "board_group_id"=>"require", + "research_areas"=>"require", + "realname"=>"require", + "email"=>"require", + "website"=>"require", + "affiliation"=>"require", + "technical"=>"require", + 'icon' => "require" + ]); + if(!$rule->check($data)){ + return jsonError($rule->getError()); + } + $check = $this->board_to_journal_obj->where('user_id',$data['user_id'])->where('state',0)->find(); + if($check){ + return jsonError("According to TMR Publishing Group Policy, scientists are not allowed to serve on the editorial board of more than one journal at the same time."); + } + //新增必填字段 chengxiaoling 20251020 start + //必填验证 + $sField = ''; + $aFields = ['research_areas','realname','email','website','affiliation','technical','icon']; + foreach ($aFields as $value) { + $sInfo = empty($data[$value]) ? '' : trim($data[$value]); + if(empty($sInfo)){ + $sField = $value; + break; + } + } + if(!empty($sField)){ + return jsonError($sField.' cannot be empty'); + } + //新增必填字段 chengxiaoling 20251020 end + //添加对应关系 + $insert['user_id'] = $data['user_id']; + $insert['journal_id'] = $data['journal_id']; + $insert['type'] = $data['type']; + $insert['board_group_id'] = $data['board_group_id']; + $insert['research_areas'] = trim($data['research_areas']); + //新增必填字段 chengxiaoling 20251020 start + $insert['realname'] = trim($data['realname']); + $insert['email'] = trim($data['email']); + $insert['website'] = trim($data['website']); + $insert['affiliation'] = trim($data['affiliation']); + $insert['technical'] = trim($data['technical']); + $insert['icon'] = trim($data['icon']); + //新增必填字段 chengxiaoling 20251020 end + $this->board_to_journal_obj->insert($insert); + return jsonSuccess([]); + } + /** + * 修改编辑编委信息-新 + */ + public function editBoardNew(){ + $data = $this->request->post(); + $rule = new Validate([ + "btj_id"=>"require", + "type"=>'require', + "board_group_id"=>"require", + "research_areas"=>"require", + "realname"=>"require", + "email"=>"require", + "website"=>"require", + "affiliation"=>"require", + "technical"=>"require", + 'icon' => "require" + ]); + if(!$rule->check($data)){ + return jsonError($rule->getError()); + } + //新增必填字段 chengxiaoling 20251020 start + //必填验证 + $sField = ''; + $aFields = ['research_areas','realname','email','website','affiliation','technical','icon']; + foreach ($aFields as $value) { + $sInfo = empty($data[$value]) ? '' : trim($data[$value]); + if(empty($sInfo)){ + $sField = $value; + break; + } + } + if(!empty($sField)){ + return jsonError($sField.' cannot be empty'); + } + //新增必填字段 chengxiaoling 20251020 end + $update['type'] = $data['type']; + $update['board_group_id'] = $data['type']==2?$data['board_group_id']:0; + $update['research_areas'] = trim($data['research_areas']); + //新增必填字段 chengxiaoling 20251020 start + $update['realname'] = trim($data['realname']); + $update['email'] = trim($data['email']); + $update['website'] = trim($data['website']); + $update['affiliation'] = trim($data['affiliation']); + $update['technical'] = trim($data['technical']); + $update['icon'] = trim($data['icon']); + //新增必填字段 chengxiaoling 20251020 end + $this->board_to_journal_obj->where('btj_id',$data['btj_id'])->update($update); + return jsonSuccess([]); + } + /** + * 编委上传头像 + */ + public function uploadIcon() + { + $file = request()->file('icon'); + if ($file) { + $info = $file->move(ROOT_PATH . 'public' . DS . 'boardusericon'); + if ($info) { + return json(['code' => 0, 'upurl' => str_replace("\\", "/", $info->getSaveName())]); + } else { + return json(['code' => 1, 'msg' => $file->getError()]); + } + } + } }