期刊下的文章查询是否推送微信公众号

This commit is contained in:
chengxl
2025-05-22 10:04:55 +08:00
parent 9ed09a2f7a
commit 1e82c76681

View File

@@ -5,7 +5,7 @@ namespace app\api\controller;
use app\api\controller\Base;
use think\Validate;
use app\api\controller\User as usercontroller;
use think\Db;
/**
* @title 期刊相关
* @description 期刊相关
@@ -157,7 +157,36 @@ class Journal extends Base {
$url = "http://journalapi.tmrjournals.com/public/index.php/master/Journal/getJournalStageArticlesForSubmission";
$program['issn'] = $journal_info['issn'];
$res = object_to_array(json_decode(myPost($url,$program)));
$list = $res['data']['list'];
$list = empty($res['data']['list']) ? [] : $res['data']['list'];
//获取微信公众号文章状态 chengxiaoling 20250522 start
if(!empty($list)){
$aArticleId = array_column($list, 'article_id');
$aWechatArticle = $this->getWechatInfo($aArticleId);
$aAiArticle = empty($aWechatArticle['ai_article']) ? [] : $aWechatArticle['ai_article'];
$aAiWechatArticle = empty($aWechatArticle['ai_wechat_article']) ? [] : $aWechatArticle['ai_wechat_article'];
foreach ($list as $key => $val) {
//获取微信公众号文章状态 chengxiaoling 20250522 start
$list[$key]['ai_wechat_status'] = 2; //1 Ai内容已生成 2ai内容未生成
if(in_array($val['article_id'],$aAiArticle)){
$list[$key]['ai_wechat_status'] = 1;
//是否推送到微信
$aDraft = empty($aAiWechatArticle[$val['article_id']]) ? [] : $aAiWechatArticle[$val['article_id']];
$list[$key]['ai_wechat_status'] = empty($aDraft) ? 3 : 4; //3 未生成草稿 4 已生成草稿未发布 10 发布成功 11 发布中 >11发布失败
if(!empty($aDraft)){
foreach ($aDraft as $key => $value) {
if($key == '-1'){
$list[$key]['ai_wechat_status'] = 4;
}else{
$list[$key]['ai_wechat_status'] = '1'.$key;
}
}
}
}
//获取微信公众号文章状态 chengxiaoling 20250522 end
}
}
//获取微信公众号文章状态 chengxiaoling 20250522 end
$re['list'] = $list;
return jsonSuccess($re);
@@ -401,4 +430,31 @@ class Journal extends Base {
}
}
/**
* 获取微信公众号相关数量
*/
public function getWechatInfo($aArticleId){
if(empty($aArticleId)){
return [];
}
//获取文章生成记录
$aWhere = ['article_id' => ['in',$aArticleId],'is_delete' => 2];
$aAiArticle = Db::name('ai_article')->where($aWhere)->column('article_id');
if(!empty($aAiArticle)){
//获取推送到草稿箱否
$aWhere['article_id'] = ['in',$aAiArticle];
$ai_wechat_article = Db::name('ai_wechat_article')->field('article_id,template_id,wechat_id,is_publish,publish_status')->where($aWhere)->select();
if(!empty($ai_wechat_article)){
foreach ($ai_wechat_article as $key => $value) {
$aWechatArticle[$value['article_id']][$value['publish_status']][] = $value['template_id'];
}
}
}
unset($ai_wechat_article);
//返回数据
return ['ai_article' => $aAiArticle,'ai_wechat_article' => empty($aWechatArticle) ? [] : $aWechatArticle];
}
}