作者 赵彬吉

update

... ... @@ -59,7 +59,7 @@ class RankDataTask extends Command
$api = new QuanqiusouApi();
$site_res = $api->getSiteRes();
(new RankDataLogic())->syncRankData($item['data']['api_no'], $site_res);
(new RankDataLogic())->syncRankData($item['data']['api_no'], $site_res, true);
$item->status = NoticeLog::STATUS_SUCCESS;
$item->save();
... ...
... ... @@ -34,7 +34,7 @@ class QuanqiusouApi
$res = HttpUtils::get($api_url, []);
if($res){
$res = Arr::s2a($res);
Cache::put($key, $res, 24 * 3600);
Cache::put($key, $res, 2 * 3600);
}
} catch (\Exception | GuzzleException $e) {
errorLog('获取站点收录页面数', [], $e);
... ... @@ -60,7 +60,7 @@ class QuanqiusouApi
$res = HttpUtils::get($api_url, ['apino' => $api_no]);
if($res){
$res = Arr::s2a($res);
Cache::put($key, $res, 24 * 3600);
Cache::put($key, $res, 2 * 3600);
}
} catch (\Exception | GuzzleException $e) {
errorLog('获取站点收录页面数', [], $e);
... ... @@ -80,11 +80,11 @@ class QuanqiusouApi
* @author zbj
* @date 2023/5/11
*/
public function getGoogleRank($api_no, int $lang = 0, int $day = 7)
public function getGoogleRank($api_no, int $lang = 0, int $day = 7, $force = true)
{
$key = "quanqiusou_api_rank_{$api_no}_{$lang}_{$day}_" . date('Y-m-d');
$res = Cache::get($key);
if (!$res) {
if (!$res || $force) {
$param = [
'key' => '289c1fc81c89d79c04ed4fd72822948e',
'w' => $api_no,
... ... @@ -100,7 +100,7 @@ class QuanqiusouApi
$res = HttpUtils::get($api_url, $param);
if($res){
$res = Arr::s2a($res);
Cache::put($key, $res, 24 * 3600);
Cache::put($key, $res, 2 * 3600);
}
} catch (\Exception | GuzzleException $e) {
errorLog('获取谷歌排名数据失败', $api_no, $e);
... ... @@ -127,7 +127,7 @@ class QuanqiusouApi
$res = HttpUtils::get($api_url, []);
if($res){
$res = Arr::s2a($res);
Cache::put($key, $res, 24 * 3600);
Cache::put($key, $res, 2 * 3600);
}
} catch (\Exception | GuzzleException $e) {
errorLog('获取每周谷歌排名数据失败', [], $e);
... ... @@ -162,7 +162,7 @@ class QuanqiusouApi
$res = HttpUtils::get($api_url, $param);
if($res){
$res = Arr::s2a($res);
Cache::put($key, $res, 24 * 3600);
Cache::put($key, $res, 2 * 3600);
}
} catch (\Exception | GuzzleException $e) {
errorLog('获取历史排名统计数据失败', [], $e);
... ... @@ -221,7 +221,7 @@ class QuanqiusouApi
$res = HttpUtils::get($api_url, $param);
if($res){
$res = Arr::s2a($res);
Cache::put($key, $res, 24 * 3600);
Cache::put($key, $res, 2 * 3600);
}
} catch (\Exception | GuzzleException $e) {
errorLog('获取项目小语种数据失败', [], $e);
... ... @@ -249,7 +249,7 @@ class QuanqiusouApi
$res = HttpUtils::get($api_url, $param);
if($res){
$res = Arr::s2a($res);
Cache::put($key, $res, 24 * 3600);
Cache::put($key, $res, 2 * 3600);
}
} catch (\Exception | GuzzleException $e) {
errorLog('获取项目API_NO数据失败', [], $e);
... ...
... ... @@ -357,7 +357,7 @@ class RankDataLogic extends BaseLogic
* @author zbj
* @date 2023/9/20
*/
public function syncRankData($api_no, $site_res){
public function syncRankData($api_no, $site_res, $force){
$project_ids = DeployOptimize::where('api_no', $api_no)->pluck('project_id');
foreach ($project_ids as $project_id) {
$project = Project::find($project_id);
... ... @@ -368,8 +368,8 @@ class RankDataLogic extends BaseLogic
$api = new QuanqiusouApi();
$model = RankData::where('project_id', $project_id)->where('lang', '')->first();
if (!$model || $model->updated_date != date('Y-m-d')) {
$res = $api->getGoogleRank($api_no);
if (!$model || $model->updated_date != date('Y-m-d') || $force) {
$res = $api->getGoogleRank($api_no, 0, 7, $force);
if (!$res) {
throw new \Exception('接口数据获取失败');
}
... ... @@ -381,8 +381,8 @@ class RankDataLogic extends BaseLogic
$lang_list = $api->getLangList();
if (!empty($lang_list[$api_no])) {
$model = RankData::where('project_id', $project_id)->where('lang', '<>', '')->first();
if (!$model || $model->updated_date != date('Y-m-d')) {
$res = $api->getGoogleRank($api_no, 1);
if (!$model || $model->updated_date != date('Y-m-d') || $force) {
$res = $api->getGoogleRank($api_no, 1, 7, $force);
if (!$res) {
throw new \Exception('接口数据获取失败');
}
... ...