Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangjinlei
2025-07-30 14:35:24 +08:00
21 changed files with 727 additions and 874 deletions

View File

@@ -2005,6 +2005,21 @@ class Article extends Base
return jsonError("The article can only be added in state with editor at least");
}
//获取审稿人最后一次邀请时间 chengxiaoling 20250724 start
$iUserId = empty($data['uid']) ? 0 : $data['uid'];
if(empty($iUserId)){
return jsonError("Please select the reviewers to invite!");
}
//判断距离上次邀请审稿是否超过10天
$aWhere = ['reviewer_id' => $iUserId];
$iTeenDaysLater = strtotime('-10 days');// 计算10天之前的时间戳
$aUserInfo = Db::name('user_reviewer_info')->field('last_invite_time')->where($aWhere)->where('t_user_reviewer_info.last_invite_time', '<', $iTeenDaysLater)
->whereOr('t_user_reviewer_info.last_invite_time', '=', 0)->find();
if(empty($aUserInfo)){
return jsonError("The time since the last invitation for review by the reviewer has not exceeded 10 days!");
}
//获取审稿人最后一次邀请时间 chengxiaoling 20250724 end
//增加信息到文章审稿表
$insert_data['reviewer_id'] = $data['uid'];
$insert_data['article_id'] = $data['articleId'];
@@ -2013,6 +2028,14 @@ class Article extends Base
$insert_data['state'] = 5;
$res = $this->article_reviewer_obj->insertGetId($insert_data);
//更新审稿人最后一次审稿时间 chengxiaoling 20250724 start
if(!empty($res) && !empty($insert_data['reviewer_id'])){
$aUpdate = ['last_invite_time'=>time()];
$aWhere = ['reviewer_id' => $iUserId];
$updateResult = Db::name('user_reviewer_info')->where($aWhere)->limit(1)->update($aUpdate);
}
//更新审稿人最后一次审稿时间 chengxiaoling 20250724 end
//修改文章状态->审稿中
$this->article_obj->where('article_id', $data['articleId'])->update(['state' => 2]);
@@ -3063,7 +3086,7 @@ class Article extends Base
'journal' => 'require',
'title' => 'require',
'type' => 'require',
'major' => 'require',
// 'major' => 'require',
'abstrart' => 'require'
]);
if (!$rule->check($data)) {
@@ -3114,6 +3137,12 @@ class Article extends Base
$inset_data['ctime'] = time();
$inset_data['state'] = -1;
//新增字段是否使用AI及使用说明 chengxiaoling 20250725 start
$inset_data['is_use_ai'] = empty($data['is_use_ai']) ? 2 : $data['is_use_ai']; //是否使用AI1是2否
$inset_data['use_ai_explain'] = isset($data['use_ai_explain']) ? $data['use_ai_explain'] : '';
//新增字段是否使用AI及使用说明 chengxiaoling 20250725 end
$article_id = $this->article_obj->insertGetId($inset_data);
} else {
@@ -3141,9 +3170,20 @@ class Article extends Base
$up["approval"] = 0;
$up['approval_content'] = isset($data["approval_content"]) ? $data["approval_content"] : '';//trim($data['approval_content']);
}
//新增字段是否使用AI及使用说明 chengxiaoling 20250725 start
$up['is_use_ai'] = empty($data['is_use_ai']) ? 2 : $data['is_use_ai']; //是否使用AI1是2否
$up['use_ai_explain'] = isset($data['use_ai_explain']) ? $data['use_ai_explain'] : '';//使用AI说明
//新增字段是否使用AI及使用说明 chengxiaoling 20250725 end
$this->article_obj->where('article_id', $article_id)->update($up);
}
changeArticleMajor($article_id, $data['major']);
//注释文章筛选领域添加修改为AI推荐领域在第四步可以查看修改 chengxiaoling 20250722
// changeArticleMajor($article_id,$data['major']);
if(!empty($article_id)){//AI推荐领域队列执行
$sQueueId = \think\Queue::push('app\api\job\RecommendArticleField@fire',['article_id' => $article_id], 'RecommendArticleField');
}
//注释文章筛选领域添加修改为AI推荐领域在第四步可以查看修改 chengxiaoling 20250722
return jsonSuccess(['article_id' => $article_id]);
}
@@ -3451,6 +3491,15 @@ class Article extends Base
}
$this->article_obj->where('article_id', $data['article_id'])->update($update_l);
$this->ai_scor($data['article_id']);
//判断是否有文章领域 进行更新操作 chengxiaoling 20250722 start
$sMajorData = empty($data['article_field']) ? '' : $data['article_field'];//文章领域
$iArticleId = empty($data['article_id']) ? 0 : $data['article_id'];//文章ID
if(!empty($sMajorData) && !empty($iArticleId)){
$this->updateArticleField(['article_id' => $iArticleId,'article_field' => $sMajorData]);
}
//判断是否有文章领域 进行更新操作 chengxiaoling 20250722 end
return json(['code' => 0]);
}
@@ -4617,7 +4666,7 @@ class Article extends Base
public function getArticleField($aParam = [])
{
$aParam = empty($aParam) ? $this->request->post() : $this->request->post();
$aParam = empty($aParam) ? $this->request->post() : $aParam;
if (empty($aParam['article_id'])) {
return json_encode(['status' => 2, 'msg' => 'Please select a Article']);
@@ -4646,7 +4695,7 @@ class Article extends Base
public function updateArticleField($aParam = [])
{
$aParam = empty($aParam) ? $this->request->post() : $this->request->post();
$aParam = empty($aParam) ? $this->request->post() : $aParam;
$iArticleId = empty($aParam['article_id']) ? 0 : $aParam['article_id'];
if (empty($iArticleId)) {
return json_encode(['status' => 2, 'msg' => 'Please select a article']);