Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangjinlei
2025-04-01 13:20:51 +08:00
2 changed files with 284 additions and 2 deletions

View File

@@ -106,7 +106,6 @@ class Article extends Base
->limit($limit_start, $data['pageSize'])->select();
$count = $this->article_obj->where($where)->count();
foreach ($res as $key => $val) {
//查询建议转投详情
$transfer_info = $this->article_transfer_obj
@@ -346,6 +345,15 @@ class Article extends Base
->order('t_article.article_id desc')
->limit($limit_start, $data['pageSize'])
->select();
//查询AI审核内容 chengxiaoling 20250328 start
$aAiReview = array();
if(!empty($res)){
$aArticleId = array_column($res, 'article_id');
$aAiReview = Db::table('t_article_ai_review')->field('article_id,content')->whereIn('article_id',$aArticleId)->column('article_id,content');
}
//查询AI审核内容 chengxiaoling 20250328 end
//增加审稿意见信息
foreach ($res as $key => $val) {
$cache_review = $this->article_reviewer_obj
@@ -383,6 +391,10 @@ class Article extends Base
$file_frag[$v['type_name']][] = $v;
}
$res[$key]['file'] = $file_frag;
//返回AI审核内容 chengxiaoling 20250328 start
$res[$key]['ai_review'] = empty($aAiReview[$val['article_id']]) ? '' : $aAiReview[$val['article_id']];
//返回AI审核内容 chengxiaoling 20250328 end
}
//添加国家信息
@@ -616,6 +628,13 @@ class Article extends Base
$user_res = $this->user_obj->where(['account' => $username])->find();
$article_old_info = $this->article_obj->where('article_id', $data['articleId'])->find();
//判断简介字符串长度是否不低于200 chengxiaoling 20250327 start
if(!$this->checkMinChars($data['abstrart'],200)){
return jsonError("The abstract should not be less than 200 Chinese characters or English words!");
}
//判断简介字符串长度是否不低于200 chengxiaoling 20250327 end
Db::startTrans();
//更新文章信息
@@ -2485,7 +2504,6 @@ class Article extends Base
//接受参数,查询信息
$data = $this->request->post();
$user_res = $this->user_obj->where('account', $data['username'])->find();
//确定用户是否属于黑名单
@@ -2919,6 +2937,12 @@ class Article extends Base
if (!$rule->check($data)) {
return jsonError($rule->getError());
}
//判断简介字符串长度是否不低于200 chengxiaoling 20250327 start
if(!$this->checkMinChars($data['abstrart'],200)){
return jsonError("The abstract should not be less than 200 Chinese characters or English words!");
}
//判断简介字符串长度是否不低于200 chengxiaoling 20250327 end
$user_info = $this->user_obj->where('user_id', $data['user_id'])->find();
$journal_info = $this->journal_obj->where('journal_id', $data['journal'])->find();
@@ -4257,4 +4281,19 @@ class Article extends Base
$this->user_msg_obj->where("user_id", $data['editor_id'])->update(["state" => 1]);
return jsonSuccess([]);
}
/**
* 验证字符长度
* @param $str 字符串
* @param $num 字符长度
* @return void
*/
private function checkMinChars($str = '',$num = 200) {
// 过滤非汉字和英文的字符(保留汉字、大小写字母)
$filteredStr = preg_replace('/[^\x{4e00}-\x{9fa5}a-zA-Z0-9]/u', '', $str);
// 计算有效字符总数汉字按1个字符计英文和数字同理
$total = mb_strlen($filteredStr, 'UTF-8');
return $total >= $num;
}
}