大更新,1投稿系统参考文献的类型增加功能,,,2官网数据库功能

This commit is contained in:
wangjinlei
2026-07-08 11:15:44 +08:00
parent 186126a726
commit 05af67bc1a
22 changed files with 1634 additions and 81 deletions

View File

@@ -0,0 +1,37 @@
<?php
namespace app\master\service\push;
use app\master\service\XmlBuilder;
/**
* Scopus (Elsevier) 推送器
* 为每篇文章生成 XML连同 PDF 通过 SFTP 上传到 Elsevier。
* 逻辑迁移自 Datebase::scopusPushXMLSFTP 复用 common.php 的 pushSFTPForScopus。
*/
class ScopusPusher extends AbstractPusher
{
public function code()
{
return 'scopus';
}
public function label()
{
return 'Scopus (Elsevier)';
}
public function pushStage($stage_id, array $options = [])
{
$list = $this->article_obj->where("journal_stage_id", $stage_id)->where("state", 0)->select();
$stage_info = $this->journal_stage_obj->where("journal_stage_id", $stage_id)->find();
$count = 0;
foreach ($list as $v) {
XmlBuilder::forArticle($v['article_id']);
$file = substr($v['doi'], strpos($v['doi'], "/") + 1) . ".xml";
pushSFTPForScopus($file, $v['file_pdf'], $stage_info);
$count++;
}
return PushResult::success("Scopus 已上传 {$count} 篇文章的 XML/PDF");
}
}