diff --git a/app/Http/Controllers/Api/v1/ArticlesController.php b/app/Http/Controllers/Api/v1/ArticlesController.php index dd79320e..c42cc64e 100755 --- a/app/Http/Controllers/Api/v1/ArticlesController.php +++ b/app/Http/Controllers/Api/v1/ArticlesController.php @@ -159,6 +159,69 @@ public function receiveShadowrocketids(Request $oRequest) } public function receiveFreenode(Request $oRequest) + { + $sObjName = "nodehub:article_receive_freenodeV2"; + $oFlow = Flow::make($sObjName); + + $aData = $oRequest->all(); + $aArticle = $aData["article"]; + $sArticleTitle = $aArticle["title"]; + $sArticleTitleSub = $aArticle["title_sub"]; + $sArticleContent = $aArticle["content"]; + $aArticleTags = $aArticle["tags"]; + $sSlug = 'fn'.date("Ymd"); +// $sImgAuthor = "tg_xiuren_a"; + $sSubKey = '['.$_ENV['site_code_short'].'::fn]'; + $i7like = $aArticle["7like"]; + + $oThumbNum = ArticleFreenodeThumbNum::firstOrCreate(["author_code" => $sSubKey]); + $iThumbNum = $oThumbNum->num; + + $sImagesApi = "https://".config("path.url_resource_base")."/api/images/get/url-by-subkey"; + + $aApiArg = [ + "sSubKey" => $sSubKey, + "iNum" => $iThumbNum+1, + ]; + $sApiResult = HttpV2::make($sImagesApi, "post")->withToken()->setDataA($aApiArg)->send(); + $aApiResult = json_decode($sApiResult, true); + + if (!isset($aApiResult["isDone"]) || !$aApiResult["isDone"]) { + echo $sApiResult; + return response()->json($oFlow->fail("{$sObjName}的图片api调用失败")); + } + + $sThumbPath = $aApiResult["aData"]["sFileUrl"]; + $sThumbNumTrue = $aApiResult["aData"]["iTrueNum"]; + + $oCategories = Categories::where("sSlug", "freenode")->first(); + + $oArticle = Articles::updateOrCreate( + ['sSlug' => $sSlug], + [ + 'sThumb' => $sThumbPath, + 'iCategoryId' => $oCategories->id, + 'sTitle' => $sArticleTitle, + 'sTitleSub' => $sArticleTitleSub, + 'sContent' => $sArticleContent, + 'i7like' => $i7like, + 'iStatus' => 1, + 'iUserId' => 1, + ], + ); + + (new TagService())->syncArticleTagsByName($oArticle, $aArticleTags); + + ArticleFreenodeThumbNum::where("author_code", $sSubKey)->update(["num" => $sThumbNumTrue]); + + $sArticleUrl = config("app.url")."/feenode/".$sSlug; + + TeleSlave::notify()->send($sArticleUrl." 发布成功"); + + return response()->json($oFlow->done()); + } + + public function receiveFreenode_laji(Request $oRequest) { $sObjName = "nodehub:article_receive_freenode"; $oFlow = Flow::make($sObjName);