Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -65,8 +65,8 @@ class Aiarticle extends Base
|
||||
'Review' => '
|
||||
**核心要求**
|
||||
1️ 内容涵盖哪些学科及方法请罗列
|
||||
2 翻译好的内容将以公众号的形式推送给读者,按学术规范翻译并提炼文章概述,应包函文章背景(不少于200字)内容,其他内容提炼更强调逻辑性、科学术语准确性和表达的严谨性,注意内容不要有严重重复,不需要分点展示,大于1000字
|
||||
3 针对结论简单总结,内容不要重复,大于300字
|
||||
2 翻译好的内容将以公众号的形式推送给读者,按学术规范翻译并提炼文章概述,整体内容应大于1200字,其中应包函文章背景(不少于400字)内容,其他内容提炼更强调逻辑性、科学术语准确性和表达的严谨性,注意内容不要有严重重复,不需要分点展示,大于1000字
|
||||
3 针对文章结论生成一个简单总结,内容不要和文章概述重复,字数150以内
|
||||
4 请将标题翻译成中文【内容需自然流畅、口语化、连贯性、学术性】
|
||||
{#title_chinese#}
|
||||
5 请将文章内容翻译成中文【内容需自然流畅、口语化、连贯性、学术性】
|
||||
@@ -673,7 +673,7 @@ class Aiarticle extends Base
|
||||
* @param template_id 模版ID
|
||||
* @param $iIsSync 是否同步素材到微信 1是2否
|
||||
*/
|
||||
public function getTemplateContent($aParam = []){
|
||||
public function getTemplateContent($aParam = [],$iIsSync = 2){
|
||||
|
||||
//获取参数
|
||||
$aParam = empty($aParam) ? $this->request->post() : $aParam;
|
||||
@@ -758,7 +758,7 @@ class Aiarticle extends Base
|
||||
//组装作者数据
|
||||
if(!empty($aAuthor)){
|
||||
$aAuthor = $this->_dealAuthor($aAuthor);
|
||||
$aUpload['author_info'] = $aAuthor;
|
||||
$aQueryParam['author_info'] = $aAuthor;
|
||||
}
|
||||
|
||||
//获取素材信息
|
||||
@@ -786,7 +786,7 @@ class Aiarticle extends Base
|
||||
$aDataInfo = array_column($aDataInfo, null,'email');
|
||||
foreach ($aAuthor as $key => $value) {
|
||||
$aAuthorData = empty($aDataInfo[$value['email']]) ? [] : $aDataInfo[$value['email']];
|
||||
if(empty($aUser)){
|
||||
if(empty($aAuthorData)){
|
||||
continue;
|
||||
}
|
||||
$aAuthor[$key]['icon'] = empty($aAuthorData['media_url']) ? $value['icon'] : $aAuthorData['media_url'];
|
||||
@@ -1216,7 +1216,7 @@ class Aiarticle extends Base
|
||||
//获取模版生成内容
|
||||
$aTemplateParam = ['article_id' => $iArticleId,'template_id' => $sTemplate,'is_sync' => 1,'wechat_id' => $sWechatId];
|
||||
$aTemplateParam += $aJournalInfo;
|
||||
$aResult = json_decode($this->getTemplateContent($aTemplateParam),true);
|
||||
$aResult = json_decode($this->getTemplateContent($aTemplateParam,1),true);
|
||||
$sMsg = empty($aResult['msg']) ? 'The content is empty' : $aResult['msg'];
|
||||
$aData = empty($aResult['data']) ? [] : $aResult['data'];
|
||||
if(empty($aData['template'])){
|
||||
@@ -1554,7 +1554,7 @@ class Aiarticle extends Base
|
||||
$oMaterial = new Material;
|
||||
$aLog = json_decode($oMaterial->getWechatLog(['article_id' => $iArticleId,'type' => 1,'status' =>1]),true);
|
||||
if(!empty($aLog['data'])){
|
||||
return json_encode(['status' => -1,'msg' => 'The material has been uploaded','data' => []]);
|
||||
return json_encode(['status' => 1,'msg' => 'The material has been uploaded','data' => []]);
|
||||
}
|
||||
|
||||
//获取AI生成文章内容
|
||||
|
||||
@@ -357,6 +357,107 @@ class Crontask extends Controller
|
||||
$this->showMessage('批量更新超过七日未审稿的状态成功',2);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量处理审稿人活跃度[近两年]
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function reviewerActivityForYear(){
|
||||
$sDate = strtotime(date('Y-m-d 00:00:00', strtotime('-2 year')));
|
||||
//获取该文章审核人的信息
|
||||
$aWhere = [
|
||||
'ctime'=>['>',$sDate],
|
||||
'state'=>['in',[1,2,3]]
|
||||
];
|
||||
$aReviewer = Db::name('article_reviewer')->field('reviewer_id,count(article_id) as review_num_two_year ')->where($aWhere)->order('reviewer_id asc')->group('reviewer_id')->select();
|
||||
|
||||
//查询审稿人数量不为0的审稿信息
|
||||
$aUserWhere = [
|
||||
// 'is_reviewer' => 1,
|
||||
'review_num_two_year' => ['>',0]
|
||||
];
|
||||
$aUser = Db::name('user')->field('user_id,review_num_two_year')->where($aUserWhere)->select();
|
||||
if(empty($aReviewer) && empty($aUser)){
|
||||
$this->showMessage('未查询到待处理的审稿人数据【近两年】',2);
|
||||
exit;
|
||||
}
|
||||
$aUser = empty($aUser) ? [] : array_column($aUser, null,'user_id');
|
||||
if(!empty($aReviewer)){
|
||||
$aChunk = array_chunk($aReviewer, 100);
|
||||
Db::startTrans();
|
||||
foreach ($aChunk as $key => $item) { //数据分片操作
|
||||
//需要更新的用户ID
|
||||
$aUpdateId = [];
|
||||
//SQL拼接
|
||||
$aCase['review_num_two_year'] = 'CASE user_id ';
|
||||
foreach ($item as $key => $value) {
|
||||
//用户ID
|
||||
$iUserId = $value['reviewer_id'];
|
||||
|
||||
//拼接更新语句
|
||||
if(empty($aUser[$iUserId])){
|
||||
//更新数量
|
||||
$aCase['review_num_two_year'] .= "WHEN {$iUserId} THEN ";
|
||||
$aCase['review_num_two_year'] .= "'{$value['review_num_two_year']}' ";
|
||||
$aUpdateId[] = $iUserId;
|
||||
continue;
|
||||
}
|
||||
//审核数量无变化,跳过更新
|
||||
if($aUser[$iUserId]['review_num_two_year'] == $value['review_num_two_year']){
|
||||
unset($aUser[$iUserId]);
|
||||
continue;
|
||||
}
|
||||
//审核数量有,变化更新数量
|
||||
$aCase['review_num_two_year'] .= "WHEN {$iUserId} THEN ";
|
||||
$aCase['review_num_two_year'] .= "'{$value['review_num_two_year']}' ";
|
||||
$aUpdateId[] = $iUserId;
|
||||
unset($aUser[$iUserId]);
|
||||
}
|
||||
//SQL拼接最后结尾
|
||||
$aCase['review_num_two_year'] .= 'END';
|
||||
//执行更新
|
||||
if(empty($aUpdateId)){
|
||||
continue;
|
||||
}
|
||||
$result = Db::name('user')
|
||||
->where(['user_id' => ['in',$aUpdateId]])
|
||||
->update([
|
||||
'review_num_two_year' => Db::raw($aCase['review_num_two_year']),
|
||||
]);
|
||||
if ($result === false) {
|
||||
$this->showMessage('更新近两年审稿人审核数量失败['.$key.']执行SQL:'.Db::getLastSql()."\n",2);
|
||||
}else{
|
||||
$this->showMessage('更新近两年审稿人审核数量成功['.$key.']执行SQL条数:'.$result."\n",1);
|
||||
}
|
||||
}
|
||||
Db::commit();
|
||||
}
|
||||
if(!empty($aUser)){
|
||||
$aChunk = array_chunk($aUser, 100);
|
||||
Db::startTrans();
|
||||
foreach ($aChunk as $key => $item) { //数据分片操作
|
||||
$aUserId = array_column($item, 'user_id');
|
||||
if(empty($aUserId)){
|
||||
continue;
|
||||
}
|
||||
$result = Db::name('user')->where(['user_id' => ['in',$aUserId]])
|
||||
->limit(count($aUserId))
|
||||
->update([
|
||||
'review_num' => 0,
|
||||
]);
|
||||
if ($result === false) {
|
||||
$this->showMessage('清空近两年审稿人审核数量失败['.$key.']执行SQL:'.Db::getLastSql()."\n",2);
|
||||
}else{
|
||||
$this->showMessage('清空近两年审稿人审核数量成功['.$key.']执行SQL条数:'.$result."\n",1);
|
||||
}
|
||||
|
||||
}
|
||||
Db::commit();
|
||||
}
|
||||
$this->showMessage('批量更新近两年审稿人审核数量成功'."\n",1);
|
||||
}
|
||||
/**
|
||||
*
|
||||
* 格式化信息输出
|
||||
|
||||
@@ -1874,7 +1874,7 @@ class Reviewer extends Base
|
||||
|
||||
|
||||
//查询基本条件
|
||||
$aWhere = ['journal_id' => ['in',$jous],'state' => 0];
|
||||
$aWhere = ['t_reviewer_to_journal.journal_id' => ['in',$jous],'t_reviewer_to_journal.state' => 0];
|
||||
if(!empty($data['grade'])){
|
||||
$aWhere['grade'] = trim($data['grade']);
|
||||
}
|
||||
@@ -1909,7 +1909,9 @@ class Reviewer extends Base
|
||||
}
|
||||
//获取数据详情
|
||||
$aResult = $this->reviewer_to_journal_obj
|
||||
->field('t_reviewer_to_journal.is_yboard,t_reviewer_to_journal.grade,t_reviewer_to_journal.journal_id,t_reviewer_to_journal.reviewer_id')
|
||||
->field('t_reviewer_to_journal.is_yboard,t_reviewer_to_journal.grade,t_reviewer_to_journal.journal_id,t_reviewer_to_journal.reviewer_id,t_user.user_id,t_user.account,t_user.email,t_user.phone,t_user.nickname,t_user.realname,t_user.localname,t_user.type,t_user.score,t_user.remark,t_user.wos_index,t_user.wos_time,t_user.g_author,t_user.g_website,t_user.google_index,t_user.google_time,t_user.google_editor,t_user.scopus_index,t_user.scopus_time,t_user.scopus_website,t_user.scopus_editor,t_user.code,t_user.orcid,t_user.orcid_code,t_user.review_num_two_year')
|
||||
->join('t_user', 't_user.user_id = t_reviewer_to_journal.reviewer_id', 'left')
|
||||
->order('t_user.review_num_two_year desc')
|
||||
->where($aWhere)
|
||||
->limit($iOffset, $iSize)
|
||||
->select();
|
||||
@@ -1923,9 +1925,9 @@ class Reviewer extends Base
|
||||
$aReviewer = Db::name('user_reviewer_info')->field('reviewer_id,gender,technical,country,introduction,company,website,field,qualifications')->where(['reviewer_id'=>['in',$aReviewerId]])->select();
|
||||
$aReviewer = empty($aReviewer) ? [] : array_column($aReviewer, null,'reviewer_id');
|
||||
|
||||
//用户基本信息
|
||||
$aUser = Db::name('user')->field('user_id,account,email,phone,nickname,realname,localname,type,score,remark,wos_index,wos_time,g_author,g_website,google_index,google_time,google_editor,scopus_index,scopus_time,scopus_website,scopus_editor,code,orcid,orcid_code')->where(['user_id'=>['in',$aReviewerId]])->select();
|
||||
$aUser = empty($aUser) ? [] : array_column($aUser, null,'user_id');
|
||||
// //用户基本信息
|
||||
// $aUser = Db::name('user')->field('user_id,account,email,phone,nickname,realname,localname,type,score,remark,wos_index,wos_time,g_author,g_website,google_index,google_time,google_editor,scopus_index,scopus_time,scopus_website,scopus_editor,code,orcid,orcid_code,review_num_two_year')->where(['user_id'=>['in',$aReviewerId]])->select();
|
||||
// $aUser = empty($aUser) ? [] : array_column($aUser, null,'user_id');
|
||||
|
||||
//查询CV
|
||||
$aUserCv = $this->user_cv_obj->where(['user_id'=>['in',$aReviewerId],'state' =>0])->select();
|
||||
@@ -1954,11 +1956,11 @@ class Reviewer extends Base
|
||||
$aResult[$key] += $aReviewerInfo;
|
||||
}
|
||||
|
||||
//审稿人信息
|
||||
$aUserInfo = empty($aUser[$value['reviewer_id']]) ? [] : $aUser[$value['reviewer_id']];
|
||||
if(!empty($aUserInfo)){
|
||||
$aResult[$key] += $aUserInfo;
|
||||
}
|
||||
// //审稿人信息
|
||||
// $aUserInfo = empty($aUser[$value['reviewer_id']]) ? [] : $aUser[$value['reviewer_id']];
|
||||
// if(!empty($aUserInfo)){
|
||||
// $aResult[$key] += $aUserInfo;
|
||||
// }
|
||||
//用户CVS信息
|
||||
$aUserCvInfo = empty($aUserCvArray[$value['reviewer_id']]) ? [] : $aUserCvArray[$value['reviewer_id']];
|
||||
$aResult[$key]['cvs'] = empty($aUserCvInfo) ? [] : $aUserCvInfo;
|
||||
|
||||
Reference in New Issue
Block a user