作者邮箱修改

This commit is contained in:
chengxl
2025-09-26 10:46:41 +08:00
parent f5993ca9e5
commit 707182700b

View File

@@ -92,21 +92,6 @@ class JournalArticle
return json_encode(['status' => 5,'msg' => '未查询到引用文章作者数据']);
}
//查询关联关系
$aArticleId = array_unique(array_column($aAuthor,'article_id'));
$aWhere = ['w_article_id' => ['in',$aArticleId]];//,'state' => ['in',[0,2]]
$aProductionArticle = Db::name('production_article')->where($aWhere)->column('article_id,w_article_id');
if(empty($aProductionArticle)){
return json_encode(['status' => 6,'msg' => 'production_article is null']);
}
//获取作者信息
$aArticleId = array_keys($aProductionArticle);
$aWhere = ['article_id' => ['in',$aArticleId],'state' => 0,'email' => ['<>','']];
$aAuthor = Db::name('article_author')->field('article_id,firstname,lastname,art_aut_id as article_author_id,email')->where($aWhere)->order('article_id asc')->select();
if(empty($aAuthor)){
return json_encode(['status' => 6,'msg' => 'No author information found for the article']);
}
//查询邮件发送日志
$aWhere = ['article_id' => $iArticleId,'is_success' => 1];
$aEmailLog = Db::name('email_related_article')->field('related_article_id,email')->where($aWhere)->select();
@@ -122,6 +107,8 @@ class JournalArticle
//数据处理
$aEmailLog = [];
$sErrorMsg = '';
$aSendEmail = [];//['2101' => ['mohammadalipour_z@yahoo.com']];
foreach ($aAuthor as $key => $value) {
//作者邮箱-发送信息
@@ -129,14 +116,11 @@ class JournalArticle
if(empty($email)){
continue;
}
//文章ID转换
$value['article_id'] = empty($aProductionArticle[$value['article_id']]) ? 0 : $aProductionArticle[$value['article_id']];
if(empty($value['article_id'])){
//判断同一个邮箱是否重复发送
if(!empty($aSendEmail[$value['article_id']]) && in_array($email, $aSendEmail[$value['article_id']])){
continue;
}
//发件人姓名拼接
$value['author_name'] = empty($value['lastname']) ? '' : $value['lastname'];
$value['author_name'] .= empty($value['firstname']) ? '' : ' ' .$value['firstname'];
//判断是否发送过邮件
$aEmailLogInfo = empty($aLog[$value['article_id']]) ? [] : $aLog[$value['article_id']];//邮件日志
@@ -210,6 +194,9 @@ class JournalArticle
$sMsg = '成功';
}
$aEmailParam = ['article_id' => $iArticleId,'article_author_id' =>$value['article_author_id'],'related_article_id' => $value['article_id'],'email' => $email,'content' => $content,'create_time' => time(),'journal_id' => $aJournalInfo['journal_id'],'journal_issn' => $aJournalInfo['issn'],'email' => $email,'title' => $title,'from_name' => $from_name,'memail' => $memail,'mpassword' => $mpassword];
//邮件发送记录
$aSendEmail[$value['article_id']][] = $email;
//调用邮件发送队列
Queue::push('app\api\job\SendRelatedArticleEmail@fire', $aEmailParam, 'SendRelatedArticleEmail');
}