推荐信息的范围内随机不重复处理

hotfix/paypal-note
尹诚诚 4 years ago
parent b4f74c0733
commit 758cfc864c

@ -1142,8 +1142,10 @@ class Information extends CI_Controller
}
//读取备用节点
if (empty($data) && !empty($recommand->ir_urls)) {//查不到信息并且备选urls不为空则随机选一条
// $url_array = explode("\n", $recommand->ir_urls);
// $data = $this->Information_model->Detail(trim($url_array[rand(0, count($url_array) - 1)]));
$url_array = explode("\n", $recommand->ir_urls);
$data = $this->Information_model->Detail(trim($url_array[rand(0, count($url_array) - 1)]));
$data = $this->Information_model->random_range(1,$url_array, $exclude_ids);
}
if (!empty($data)) {
$exclude_ids[] = $data->is_id;
@ -1183,7 +1185,7 @@ class Information extends CI_Controller
}
}
//print_r($data);
log_message('error', 'exclude_ids: '.$information->ic_url.' '.implode(',',$exclude_ids));
//log_message('error', 'exclude_ids: '.$information->ic_url.' '.implode(',',$exclude_ids));
return $data;
}

@ -105,6 +105,21 @@ class Information_model extends CI_Model {
return $this->GetList();
}
//在urls列表里面随机获取N条数据并且排除某些id
function random_range($topnum,array $url_array,array $exclude_ids){
$this->init();
$this->topNum = $topnum;
$this->search =' AND ( 1=2 ';
foreach ($url_array as $item){
$this->search .= ' OR ic_url= '.$this->HT->escape(trim($item));
}
$this->search .=' )';
$exclude_ids_string=implode(',',$exclude_ids);
$this->search .= " AND ic_status=1 AND is_id NOT in ($exclude_ids_string,0)";
$this->orderBy = " ORDER BY NewID() ";
return $this->GetList();
}
//根据url搜索信息
function search_url($url) {
$this->init();

Loading…
Cancel
Save