关键词 随机改为按时间正序;

hotfix/远程访问多媒体中心
lyt 8 years ago
parent e2a40a99d4
commit c261b86342

@ -104,13 +104,10 @@ class Keyworlds extends CI_Controller {
// 每个点 // 每个点
foreach ($ra as $v) { foreach ($ra as $v) {
$kwr_rank = $v->kwr_rank; $kwr_rank = $v->kwr_rank;
if ($v->kwr_rank == '>150') if ($v->kwr_rank == '>150') {
$kwr_rank = 100; $kwr_rank = 100;
if (strtolower($this->config->item('site_code')) == 'gm') {
$data['rank_json'] .=-$kwr_rank . ',';
} else {
$data['rank_json'] .=$kwr_rank . ',';
} }
$data['rank_json'] .=$kwr_rank . ',';
} }
$data['rank_json'] = substr($data['rank_json'], 0, -1); $data['rank_json'] = substr($data['rank_json'], 0, -1);
$data['rank_json'] .=']},'; $data['rank_json'] .=']},';
@ -119,13 +116,10 @@ class Keyworlds extends CI_Controller {
$data['rank_json'] .='{"name":"' . $ra[$data_time[0]]->kw_keyworlds . '(mobile)","data":['; $data['rank_json'] .='{"name":"' . $ra[$data_time[0]]->kw_keyworlds . '(mobile)","data":[';
foreach ($ra as $v) { foreach ($ra as $v) {
$kwr_mobile_rank = $v->kwr_mobile_rank ? $v->kwr_mobile_rank : 'null' ; $kwr_mobile_rank = $v->kwr_mobile_rank ? $v->kwr_mobile_rank : 'null' ;
if ($v->kwr_mobile_rank == '>150') if ($v->kwr_mobile_rank == '>150') {
$kwr_mobile_rank = 100; $kwr_mobile_rank = 100;
if (strtolower($this->config->item('site_code')) == 'gm') {
$data['rank_json'] .=-$kwr_mobile_rank . ',';
} else {
$data['rank_json'] .=$kwr_mobile_rank . ',';
} }
$data['rank_json'] .= $kwr_mobile_rank . ',';
} }
$data['rank_json'] = substr($data['rank_json'], 0, -1); $data['rank_json'] = substr($data['rank_json'], 0, -1);
$data['rank_json'] .=']},'; $data['rank_json'] .=']},';
@ -135,16 +129,15 @@ class Keyworlds extends CI_Controller {
$data['data_time'] = json_encode($data_time); $data['data_time'] = json_encode($data_time);
$data['rank_info'] = ''; $data['rank_info'] = '';
isset($rank_json[$data['current_keyworld']->kw_id]) && $data['rank_info'] = $rank_json[$data['current_keyworld']->kw_id]; isset($rank_json[$data['current_keyworld']->kw_id]) && $data['rank_info'] = $rank_json[$data['current_keyworld']->kw_id];
if($data['wordcount'] == 1) {
arsort($data['rank_info']); arsort($data['rank_info']);
} }
}
} else { } else {
redirect(site_url("Keyworlds/index")); redirect(site_url("Keyworlds/index"));
} }
// $data['analytics'] = $this->analytics_model->get_keyword_analytics($data['current_keyworld']->kw_keyworlds, 30);
$data['site_code'] = strtolower($this->config->item('site_code')); $data['site_code'] = strtolower($this->config->item('site_code'));
// print_r($data['rank_info']);
// print_r($data["rank_json"]);
$this->load->view('bootstrap/header', $data); $this->load->view('bootstrap/header', $data);
$this->load->view('keyworlds/index'); $this->load->view('keyworlds/index');
$this->load->view('bootstrap/footer'); $this->load->view('bootstrap/footer');
@ -296,14 +289,14 @@ class Keyworlds extends CI_Controller {
$j = $i; $j = $i;
$rank = $this->$method($client_flag, $keyworlds, $site_url, $j, $site_code); $rank = $this->$method($client_flag, $keyworlds, $site_url, $j, $site_code);
// 仅更新一个字段 // 仅更新一个字段
if ($client_flag == 'm') { if ($client_flag === 'm') {
$rank['rank'] = $last_rank[0]->kwr_rank; $rank['rank'] = $last_rank[0]->kwr_rank;
$rank['source'] = $last_rank[0]->kwr_source; $rank['source'] = $last_rank[0]->kwr_source;
} else { } else {
$rank['rank_m'] = null; $rank['rank_m'] = null;
$rank['source_m'] = null; $rank['source_m'] = null;
} }
if ($rank[$rank_flag] != 0) { if (intval($rank[$rank_flag]) != 0) {
if ($rank[$rank_flag] > 150) if ($rank[$rank_flag] > 150)
$rank[$rank_flag] = '151'; $rank[$rank_flag] = '151';
break; break;
@ -315,9 +308,7 @@ class Keyworlds extends CI_Controller {
} }
} }
//保存排名数据 //保存排名数据
if ($rank[$rank_flag] == '151') { //超过151的排名则不记录 if (isset($last_rank[0]->kwr_datetime) and $last_rank[0]->kwr_datetime > strtotime(date('Y-m-d'))) {
$this->Keywords_model->update_time($kw_id);
} elseif (isset($last_rank[0]->kwr_datetime) and $last_rank[0]->kwr_datetime > strtotime(date('Y-m-d'))) {
if ($rank[$rank_flag] != -1 and $rank[$rank_flag] != -2 and $this->Keywordsrank_model->update_rank($last_rank[0]->kwr_id, $rank['rank'], $rank['rank_m'], $rank['source'], $rank['source_m'])) { if ($rank[$rank_flag] != -1 and $rank[$rank_flag] != -2 and $this->Keywordsrank_model->update_rank($last_rank[0]->kwr_id, $rank['rank'], $rank['rank_m'], $rank['source'], $rank['source_m'])) {
$this->Keywords_model->update_time($kw_id); $this->Keywords_model->update_time($kw_id);
} }
@ -343,23 +334,24 @@ class Keyworlds extends CI_Controller {
$site_config = $this->config->item('site'); $site_config = $this->config->item('site');
$engines = trim($engines); $engines = trim($engines);
//取出需要更新排名的关键词 //取出需要更新排名的关键词
$worldsList = $this->Keywords_model->get_keyworld_list(1, $engines, $fix_site_code); // 先取时间最久没更新的
//如果没有需要更新的则返回 $worldsList = $this->Keywords_model->get_keyworld_list_old(1, $engines, $fix_site_code);
if (empty($worldsList)) {
echo 'all done';
return;
}
$today = strtotime(date('Y-m-d')); $today = strtotime(date('Y-m-d'));
$client_flag = "PC"; $client_flag = "PC";
$rank_flag = 'rank'; $rank_flag = 'rank';
$source_flag = 'source'; $source_flag = 'source';
if ((intval($worldsList[0]->kwr_datetime) >= intval($today)) ) { if (empty($worldsList)) {
$worldsList = $this->Keywords_model->get_keyworld_list(1, $engines, $fix_site_code);
$client_flag = "m"; $client_flag = "m";
$rank_flag = 'rank_m'; $rank_flag = 'rank_m';
$source_flag = 'source_m'; $source_flag = 'source_m';
}
$last_rank = $this->Keywordsrank_model->get_rank_list($worldsList[0]->kw_id); $last_rank = $this->Keywordsrank_model->get_rank_list($worldsList[0]->kw_id);
}
//如果没有需要更新的则返回
if (empty($worldsList)) {
echo 'all done';
return;
}
//获取排名并保存 //获取排名并保存
foreach ($worldsList as $v) { foreach ($worldsList as $v) {
$site_config = $site_config[$v->kw_sitecode]; $site_config = $site_config[$v->kw_sitecode];
@ -372,8 +364,7 @@ class Keyworlds extends CI_Controller {
} else if ($engines == 'yandex') {//俄语站的yangdex } else if ($engines == 'yandex') {//俄语站的yangdex
$rank = $this->get_search_content_by_yandex($client_flag,$v->kw_keyworlds, $site_url, $i - 1); $rank = $this->get_search_content_by_yandex($client_flag,$v->kw_keyworlds, $site_url, $i - 1);
} }
if ($client_flag === 'm') {
if ($client_flag == 'm') {
$rank['rank'] = $last_rank[0]->kwr_rank; $rank['rank'] = $last_rank[0]->kwr_rank;
$rank['source'] = $last_rank[0]->kwr_source; $rank['source'] = $last_rank[0]->kwr_source;
} else { } else {
@ -381,18 +372,17 @@ class Keyworlds extends CI_Controller {
$rank['source_m'] = null; $rank['source_m'] = null;
} }
if ($rank[$rank_flag] != 0) { if ($rank[$rank_flag] != 0) {
if ($rank[$rank_flag] > 150) if (intval($rank[$rank_flag]) > 150)
$rank[$rank_flag] = '151'; $rank[$rank_flag] = '151';
break; break;
}elseif ($i == 15) { }elseif ($i == 15) {
$rank[$rank_flag] = '151'; $rank[$rank_flag] = '151';
break;
} elseif ($rank[$rank_flag] == -2) { } elseif ($rank[$rank_flag] == -2) {
break; break;
} }
} }
if ($rank[$rank_flag] == '151') { //超过151的排名则不记录 if ($rank[$rank_flag] != -1 and $rank[$rank_flag] != -2 and $this->Keywordsrank_model->add_rank($v->kw_id, $rank['rank'], $rank['rank_m'], $rank['source'], $rank['source_m'], $rank['engines'])) {
$this->Keywords_model->update_time($v->kw_id);
}else if ($rank[$rank_flag] != -1 and $rank[$rank_flag] != -2 and $this->Keywordsrank_model->add_rank($v->kw_id, $rank['rank'], $rank['rank_m'], $rank['source'], $rank['source_m'], $rank['engines'])) {
$this->load->model('InfoSMS_model'); $this->load->model('InfoSMS_model');
$last_rank = isset($last_rank[0]) ? $last_rank[0]->kwr_rank : $rank['rank']; $last_rank = isset($last_rank[0]) ? $last_rank[0]->kwr_rank : $rank['rank'];
$this->InfoSMS_model->readed_for_info($v->kw_id, 'keywords_rank'); $this->InfoSMS_model->readed_for_info($v->kw_id, 'keywords_rank');
@ -401,6 +391,7 @@ class Keyworlds extends CI_Controller {
$this->Keywords_model->update_time($v->kw_id); $this->Keywords_model->update_time($v->kw_id);
} }
} }
var_dump("rank $client_flag " . $rank[$rank_flag]);
var_dump($worldsList[0]->kw_keyworlds, $rank); var_dump($worldsList[0]->kw_keyworlds, $rank);
} }

@ -64,11 +64,14 @@ class infoKeywords_model extends CI_Model
} }
//获取关键词列表用于抓取排名 //获取关键词列表用于抓取排名
public function get_keyworld_list($top=1,$engines='',$site_code=false) public function get_keyworld_list_old($top = 1, $engines='',$site_code=false)
{ {
$today = strtotime(date('Y-m-d')); $today = strtotime(date('Y-m-d'));
//只查某个站点,原因是个事业部服务器分开,只需要查询本事业部站点即可
$map = " "; $map = " ";
if ($engines=='yandex') { if(!empty($site_code)){
$map.=" AND kw_sitecode in ('$site_code') ";
}else if ($engines=='yandex') {
$map=" AND kw_sitecode='ru' "; $map=" AND kw_sitecode='ru' ";
}elseif ($engines=='baidu') { }elseif ($engines=='baidu') {
$map.=" AND kw_sitecode='wt' "; $map.=" AND kw_sitecode='wt' ";
@ -77,9 +80,35 @@ class infoKeywords_model extends CI_Model
}elseif ($engines=='eu') { }elseif ($engines=='eu') {
$map.=" AND kw_sitecode in ('gm','vc','vac','ru','it','jp') "; $map.=" AND kw_sitecode in ('gm','vc','vac','ru','it','jp') ";
} }
$sql = "SELECT TOP 1 kw_id,
kw_keyworlds,
kw_is_id,
kw_sitecode,
kw_datetime,
kw_status
FROM infoKeywords
WHERE kw_status=1 AND kw_datetime<'$today' $map
ORDER BY kw_datetime asc";
$query = $this->HT->query($sql);
$result = $query->result();
return $result;
}
public function get_keyworld_list($top=1,$engines='',$site_code=false)
{
$today = strtotime(date('Y-m-d'));
$map = " ";
//只查某个站点,原因是个事业部服务器分开,只需要查询本事业部站点即可 //只查某个站点,原因是个事业部服务器分开,只需要查询本事业部站点即可
if(!empty($site_code)){ if(!empty($site_code)){
$map.=" AND kw_sitecode in ('$site_code') "; $map.=" AND kw_sitecode in ('$site_code') ";
}else if ($engines=='yandex') {
$map=" AND kw_sitecode='ru' ";
}elseif ($engines=='baidu') {
$map.=" AND kw_sitecode='wt' ";
}elseif ($engines=='en') {
$map.=" AND kw_sitecode in ('cht','ct','sht','tbt','yz','gl','mbj','dct','mct','bht','ah') ";
}elseif ($engines=='eu') {
$map.=" AND kw_sitecode in ('gm','vc','vac','ru','it','jp') ";
} }
$sql = "SELECT TOP $top kw_id, $sql = "SELECT TOP $top kw_id,
kw_keyworlds, kw_keyworlds,
@ -93,10 +122,9 @@ class infoKeywords_model extends CI_Model
kwr_id kwr_id
FROM infoKeywords INNER JOIN infoKeywordsrank ON kwr_kw_id=kw_id FROM infoKeywords INNER JOIN infoKeywordsrank ON kwr_kw_id=kw_id
AND kwr_id = ( SELECT MAX(kwr_id) FROM infoKeywordsrank WHERE kwr_kw_id=kw_id ) AND kwr_id = ( SELECT MAX(kwr_id) FROM infoKeywordsrank WHERE kwr_kw_id=kw_id )
AND (kwr_datetime<'$today' AND (kwr_mobile_rank=0 OR kwr_mobile_rank IS NULL)
OR kwr_mobile_rank IS NULL OR kwr_mobile_rank=0)
WHERE kw_status=1 $map WHERE kw_status=1 $map
ORDER BY kwr_datetime ASC"; ORDER BY kw_datetime ASC ";
$query = $this->HT->query($sql); $query = $this->HT->query($sql);
//print_r($this->HT->queries); //print_r($this->HT->queries);
$result = $query->result(); $result = $query->result();

@ -346,22 +346,6 @@
}, },
series: <?php echo $rank_json; ?> series: <?php echo $rank_json; ?>
}); });
<?php if ($site_code=='gm') { ?>
$(".highcharts-data-labels>g").each(function(){
var tspan=$(this).find('tspan');
var olenum=tspan.text();
var nuewnum=0-(olenum);
tspan.text(nuewnum);
});
$(".highcharts-axis-labels>text>tspan").each(function(){
var olenum=$(this).text();
var nuewnum=olenum<0?0-(olenum):olenum;
if (!$(this).parent("text").attr("transform")) {
$(this).text(nuewnum);
}
});
<?php } ?>
}); });
</script> </script>

Loading…
Cancel
Save