diff --git a/application/api/controller/Journal.php b/application/api/controller/Journal.php index fb19f41..f3d189a 100644 --- a/application/api/controller/Journal.php +++ b/application/api/controller/Journal.php @@ -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]; + } + }