Exemple #1
0
 /**
  * 获取房源点击效果
  * @param $proId
  * @param $cityId
  * @param int $getDays
  * @return array|bool|string
  */
 public static function getPropEffect($proId, $cityId, $getDays = 7)
 {
     if (!$proId || !$cityId) {
         return false;
     }
     $today = date('Ymd');
     $key = sprintf('%s_%s_%d__%d_', __CLASS__, __METHOD__, $today, $proId);
     $cacheObj = APF_Cache_Factory::get_instance()->get_memcache();
     $result = $cacheObj->get($key);
     $arrDays = array();
     $time = time();
     $start = $time - ($getDays - 1) * 86400;
     for ($i = $start; $i < $time; $i += 86400) {
         $arrDays[] = date('Ymd', $i);
     }
     if ($result === false && $getDays > 1) {
         $result = array();
         foreach ($arrDays as $day) {
             $effectResult = Model_Stats_PropClick::getPropEffectByProId($proId, $cityId, $day);
             if (!empty($effectResult)) {
                 $result[$day]['totalCost'] = (int) $effectResult['total_cost'];
                 $result[$day]['totalClick'] = (int) $effectResult['total_click'];
                 $result[$day]['totalFixCost'] = (int) $effectResult['total_fix_cost'];
                 $result[$day]['totalFixClick'] = (int) $effectResult['total_fix_click'];
                 $result[$day]['totalBidCost'] = (int) $effectResult['total_bid_cost'];
                 $result[$day]['totalBidClick'] = (int) $effectResult['total_bid_click'];
             } else {
                 $result[$day]['totalCost'] = 0;
                 $result[$day]['totalClick'] = 0;
                 $result[$day]['totalFixCost'] = 0;
                 $result[$day]['totalFixClick'] = 0;
                 $result[$day]['totalBidCost'] = 0;
                 $result[$day]['totalBidClick'] = 0;
             }
         }
         $cacheObj->set($key, $result, 0, self::EXPIRE_TIME);
     }
     // 当天数据不做缓存
     $effectResult = Model_Stats_PropClick::getPropEffectByProId($proId, $cityId, $today);
     $result[$today]['totalCost'] = isset($effectResult['total_cost']) ? $effectResult['total_cost'] : 0;
     $result[$today]['totalClick'] = isset($effectResult['total_click']) ? $effectResult['total_click'] : 0;
     $result[$today]['totalFixCost'] = isset($effectResult['total_fix_cost']) ? $effectResult['total_fix_cost'] : 0;
     $result[$today]['totalFixClick'] = isset($effectResult['total_fix_click']) ? $effectResult['total_fix_click'] : 0;
     $result[$today]['totalBidCost'] = isset($effectResult['total_bid_cost']) ? $effectResult['total_bid_cost'] : 0;
     $result[$today]['totalBidClick'] = isset($effectResult['total_bid_click']) ? $effectResult['total_bid_click'] : 0;
     return $result;
 }