예제 #1
0
 /**
  * 
  * Enter description here ...
  * @param unknown_type $params
  */
 public function Pages($params = array())
 {
     //设置默认参数
     $_defaults_params = array('allow_cache' => true, 'page' => isset($_GET['page']) ? intval($_GET['page']) : 1, 'pagesize' => 10);
     $params = array_merge($_defaults_params, $params);
     //有开启缓存功能,则从缓存中取数据, 如果有数据,则直接返回结果
     if ($params['allow_cache'] && isset($this->cache)) {
         $cache_key = 'collect.source.pages.' . serialize($params);
         $_r = $this->cache->get($cache_key);
         if ($_r && is_array($_r)) {
             return $_r;
         }
     }
     //添加条件
     //$__addons = array('AND', 'u.game_union_status=:GState');
     //$__params = array('GState'=>1);
     //
     $builds = array('select' => 'COUNT(`u`.`collect_source_id`) AS `COUNT`', 'from' => array('{{collect_source}}', 'u'));
     if (isset($params['collect_source_status']) && !empty($params['collect_source_status'])) {
         $builds['where'] = array('AND', '`collect_source_status`=:collect_source_status');
         $sql_params[':collect_source_status'] = $params['collect_source_status'];
     } else {
         $builds['where'] = array('AND', '`collect_source_status`>:collect_source_status');
         $sql_params[':collect_source_status'] = 0;
     }
     //
     if (isset($params['collect_source_id']) && !empty($params['collect_source_id'])) {
         $builds['where'][] = array('AND', 'u.`collect_source_id`=:collect_source_id');
         $sql_params[':collect_source_id'] = $params['collect_source_id'];
     }
     //
     if (isset($params['collect_source_name']) && !empty($params['collect_source_name'])) {
         $builds['where'][] = array('LIKE', '`u`.`collect_source_name`', ':collect_source_name');
         $sql_params[':collect_source_name'] = "%{$params['collect_source_name']}%";
     }
     //
     //
     if (isset($params['searchKey']) && $params['searchKey']) {
         $builds['where'][] = array('AND', array('OR LIKE', '`g`.`collect_source_name`', ':searchKey'));
         $sql_params[':searchKey'] = "%{$params['searchKey']}%";
     }
     //$command = $this->db->createCommand();
     $sql = $this->buildQuery($builds);
     //统计数量
     $count = $this->db->queryScalar($sql, $sql_params);
     //分页处理
     $pages = new CPagination($count);
     //设置分页大小
     $pages->pageSize = $params['pagesize'];
     if (isset($params['orderby']) && $params['orderby']) {
         $builds['order'] = $params['orderby'];
     } else {
         $builds['order'] = array('u.collect_source_rank ASC', 'u.collect_source_id DESC');
     }
     $builds['select'] = '`collect_source_id`, `collect_source_name`, `collect_source_website`, `collect_source_remark`, `collect_source_rank`, `collect_source_status`, `collect_source_lasttime`, `collect_source_dateline`';
     $pages->applyLimit($builds);
     $sql = $this->buildQuery($builds);
     $_r['pages'] = $pages;
     $_r['rows'] = $this->db->queryAll($sql, $sql_params);
     //有开启缓存,则把结果添加到缓存中
     if ($params['allow_cache'] && isset($this->cache)) {
         $cache_cache_time = Setting::get_setting_value('COLLECT_SOURCE_PAGES_CACHE_TIME');
         $this->cache->set($_cache_key, json_encode($_r), $_cache_cache_time);
         unset($cache_cache_time, $cache_key);
     }
     return $_r;
 }
예제 #2
0
파일: AdData.php 프로젝트: nbaiwan/yav
 /**
  * 
  * Enter description here ...
  * @param unknown_type $params
  */
 public static function Pages($params = array())
 {
     //设置默认参数
     $_defaults_params = array('allow_cache' => true, 'page' => isset($_GET['page']) ? intval($_GET['page']) : 1, 'pagesize' => 10);
     $params = array_merge($_defaults_params, $params);
     //有开启缓存功能,则从缓存中取数据, 如果有数据,则直接返回结果
     if ($params['allow_cache'] && isset(Yii::app()->cache)) {
         $_cache_key = md5('ad.position.pages.' . serialize($params));
         $_r = Yii::app()->cache->get($_cache_key);
         if ($_r && is_array($_r)) {
             return $_r;
         }
     }
     $cmd = Yii::app()->db->createCommand();
     $cmd->select('COUNT(gad.ad_data_id) AS COUNT')->from('{{ad_data}} gad');
     //添加条件
     //$__addons = array('AND', 'u.union_status=:GState');
     //$__params = array('GState'=>1);
     //
     if (isset($params['ad_data_status']) && !empty($params['ad_data_status'])) {
         $__addons = array('AND', 'gad.ad_data_status=:ad_data_status');
         $__params = array(':ad_data_status' => $params['ad_data_status']);
     } else {
         $__addons = array('AND', 'gad.ad_data_status>:ad_data_status');
         $__params = array(':ad_data_status' => 0);
     }
     if (isset($params['ad_position_id']) && !empty($params['ad_position_id'])) {
         $__addons[] = array('AND', 'gad.ad_position_id=:ad_position_id');
         $__params = array_merge($__params, array(':ad_position_id' => $params['ad_position_id']));
     }
     if (isset($params['search_key']) && !empty($params['search_key'])) {
         $__addons[] = array('AND', 'gad.ad_data_subject LIKE :search_key');
         $__params = array_merge($__params, array(':search_key' => "%{$params['search_key']}%"));
     }
     if (is_array($__addons) && is_array($__params)) {
         $cmd->where($__addons, $__params);
     }
     //统计数量
     $count = $cmd->queryScalar();
     //分页处理
     $pages = new CPagination($count);
     //设置分页大小
     $pages->pageSize = $params['pagesize'];
     //清空前面执行过的SQL
     $cmd->setText('');
     if (isset($params['orderby']) && $params['orderby']) {
         $cmd->order($params['orderby']);
     } else {
         $cmd->order(array('gad.ad_data_rank ASC', 'gad.ad_data_id DESC'));
     }
     $cmd->select('gad.ad_data_id, gad.ad_data_subject, gad.ad_data_type, gad.ad_data_link, gap.ad_position_name, gad.ad_data_rank, gad.ad_data_is_show,gad.ad_data_relative_id,gad.ad_position_id')->join("{{ad_position}} gap", "gad.ad_position_id=gap.ad_position_id")->limit($pages->getLimit())->offset($pages->getOffset());
     $_r['pages'] = $pages;
     $_r['rows'] = $cmd->queryAll();
     //有开启缓存,则把结果添加到缓存中
     if ($params['allow_cache'] && isset(Yii::app()->cache)) {
         $_cache_cache_time = Setting::get_setting_value('AD_DATA_PAGES_CACHE_TIME');
         Yii::app()->cache->add($_cache_key, json_encode($_r), $_cache_cache_time);
         unset($_cache_cache_time, $_cache_key);
     }
     return $_r;
 }
예제 #3
0
파일: CollectTask.php 프로젝트: nbaiwan/yav
 /**
  * 
  * Enter description here ...
  * @param unknown_type $params
  */
 public function Pages($params = array())
 {
     //设置默认参数
     $_defaults_params = array('allow_cache' => true, 'page' => isset($_GET['page']) ? intval($_GET['page']) : 1, 'pagesize' => 10);
     $params = array_merge($_defaults_params, $params);
     //有开启缓存功能,则从缓存中取数据, 如果有数据,则直接返回结果
     if ($params['allow_cache'] && isset($this->cache)) {
         $cacheKey = md5('collect.task.pages.' . serialize($params));
         $ret = $this->cache->get($cacheKey);
         if ($ret && is_array($ret)) {
             return $ret;
         }
     }
     //添加条件
     $builds = array('select' => 'COUNT(DISTINCT t.collect_task_id) AS COUNT', 'from' => array('{{collect_task}}', 't'), 'join' => array(array('{{collect_template}}', 'tp', '`tp`.`collect_template_id`=`t`.`collect_template_id`'), array('{{collect_model}}', 'm', '`m`.`collect_model_id`=`tp`.`collect_model_id`'), array('{{collect_source}}', 's', '`s`.`collect_source_id`=`tp`.`collect_source_id`')));
     if (isset($params['collect_task_status']) && !empty($params['collect_task_status'])) {
         $builds['where'][] = array('AND', '`t`.`collect_task_status`=:collect_task_status');
         $sql_params[':collect_task_status'] = $params['collect_task_status'];
     } else {
         $builds['where'][] = array('AND', '`t`.`collect_task_status`>:collect_task_status');
         $sql_params[':collect_task_status'] = 0;
     }
     //
     if (isset($params['collect_task_id']) && !empty($params['collect_task_id'])) {
         $builds['where'][] = array('AND', '`t`.`collect_task_id`=:collect_task_id');
         $sql_params[':collect_task_id'] = $params['collect_task_id'];
     }
     if (isset($params['collect_template_id']) && !empty($params['collect_template_id'])) {
         $builds['where'][] = array('AND', 't.collect_template_id IN(:collect_template_id)');
         $sql_params[':collect_template_id'] = $params['collect_template_id'];
     }
     if ($params['collect_task_name']) {
         $builds['where'][] = array('AND', array('OR LIKE', '`t`.`collect_task_name`', ':collect_task_name'));
         $sql_params[':collect_task_name'] = "%{$params['collect_task_name']}%";
     }
     //
     if (isset($params['searchKey']) && $params['searchKey']) {
         $builds['where'][] = array('AND', array('OR LIKE', 't.collect_task_name', ":searchKey"));
         $sql_params[':searchKey'] = "%{$params['searchKey']}%";
     }
     $sql = $this->buildQuery($builds);
     //统计数量
     $count = $this->db->queryScalar($sql, $sql_params);
     //分页处理
     $pages = new CPagination($count);
     //设置分页大小
     $pages->pageSize = $params['pagesize'];
     if (isset($params['orderby']) && $params['orderby']) {
         $builds['order'] = $params['orderby'];
     } else {
         $builds['order'] = array('`t`.`collect_task_rank` ASC', '`t`.`collect_task_id` DESC');
     }
     $builds['select'] = 't.collect_task_id, t.collect_task_name, tp.collect_template_name, tp.collect_model_id, s.collect_source_name, tp.collect_source_id, m.collect_model_name, t.collect_template_id, t.collect_task_rank, t.collect_task_lastcollecttime, t.collect_task_lasttime, t.collect_task_dateline';
     $pages->applyLimit($builds);
     $sql = $this->buildQuery($builds);
     $ret['pages'] = $pages;
     $ret['rows'] = $this->db->queryAll($sql, $sql_params);
     //有开启缓存,则把结果添加到缓存中
     if ($params['allow_cache'] && isset($this->cache)) {
         $cacheTimeout = Setting::get_setting_value('COLLECT_TEMPLATE_PAGES_CACHE_TIME');
         $this->cache->set($cacheKey, json_encode($ret), $cacheTimeout);
         unset($cacheTimeout, $cacheKey);
     }
     return $ret;
 }
예제 #4
0
파일: CollectList.php 프로젝트: nbaiwan/yav
 /**
  * 
  * Enter description here ...
  * @param unknown_type $params
  */
 public static function Pages($params = array())
 {
     //设置默认参数
     $_defaults_params = array('allow_cache' => true, 'page' => isset($_GET['page']) ? intval($_GET['page']) : 1, 'pagesize' => 10);
     $params = array_merge($_defaults_params, $params);
     $cmd = Yii::app()->db->createCommand();
     $cmd->select('COUNT(u.collect_list_id) AS COUNT')->from('{{collect_list}} u')->join('{{collect_task}} ct', 'u.collect_task_id=ct.collect_task_id');
     if (intval($params['collect_task_id'])) {
         $__addons = array('AND', 'u.collect_task_id=:collect_task_id');
         $__params = array(':collect_task_id' => $params['collect_task_id']);
     } else {
         $__addons = array('AND', 'u.collect_task_id!=:collect_task_id');
         $__params = array(':collect_task_id' => 0);
     }
     if ($params['collect_list_check'] !== "") {
         $__addons[] = array('AND', 'u.collect_list_check=:collect_list_check');
         $__params = array_merge($__params, array(':collect_list_check' => $params['collect_list_check']));
     }
     if ($params['collect_list_day'] && is_array($params['collect_list_day'])) {
         $__addons[] = array('AND', 'u.collect_list_day BETWEEN "' . $params['collect_list_day'][0] . '" AND "' . $params['collect_list_day'][1] . '"');
     } elseif ($params['collect_list_day']) {
         $__addons[] = array('AND', 'u.collect_list_day=:collect_list_day');
         $__params = array_merge($__params, array(':collect_list_day' => $params['collect_list_day']));
     }
     if ($params['collect_list_title']) {
         $__addons[] = array('AND', array('OR LIKE', 'u.collect_list_title', "%{$params[collect_list_title]}%"));
     }
     if (is_array($__addons) && is_array($__params)) {
         $cmd->where($__addons, $__params);
     }
     //统计数量
     $count = $cmd->queryScalar();
     //分页处理
     $pages = new CPagination($count);
     //设置分页大小
     $pages->pageSize = $params['pagesize'];
     //清空前面执行过的SQL
     $cmd->setText('');
     if (isset($params['orderby']) && $params['orderby']) {
         $cmd->order($params['orderby']);
     } else {
         $cmd->order(array('u.collect_list_day DESC'));
     }
     $cmd->select('u.*,ct.collect_task_name')->limit($pages->getLimit())->offset($pages->getOffset());
     $_r['pages'] = $pages;
     $_r['rows'] = $cmd->queryAll();
     //有开启缓存,则把结果添加到缓存中
     if ($params['allow_cache'] && isset(Yii::app()->cache)) {
         $_cache_cache_time = Setting::get_setting_value('COLLECT_MODEL_PAGES_CACHE_TIME');
         Yii::app()->cache->add($_cache_key, json_encode($_r), $_cache_cache_time);
         unset($_cache_cache_time, $_cache_key);
     }
     return $_r;
 }