/** * 获取小区在板块中的排名和小区房源数 * @param $commId * @return array|bool|string */ public static function getVppvOrderAndPropNum($commId) { if (!$commId) { return false; } $yesterday = date('Ymd', strtotime("-1 day")); $cacheTime = strtotime(date("Y-m-d 09:00:00")); //每天9点之后的数据开始缓存 $key = sprintf('%s_%s_%d', __CLASS__, __METHOD__, $commId); $cacheObj = APF_Cache_Factory::get_instance()->get_memcache(); $result = $cacheObj->get($key); if ($result && time() > $cacheTime) { return $result; } $result = array(); // 当前小区的vppv $commVppcInfo = Model_Stats_HzCommVppvDaily::getCommVppvInfo($commId, $yesterday); $vppv = $commVppcInfo ? $commVppcInfo['vppv'] : 0; $result['propNum'] = $commVppcInfo ? $commVppcInfo['propNum'] : 0; // 小区对应的板块id $solrCommInfo = Util_SearchUtil::getHzCommInfo($commId); $blockId = $solrCommInfo ? $solrCommInfo['block_id'] : 0; $result['order'] = 0; if ($blockId) { //取板块下vppv当大于当前小区的总数 $total = Model_Stats_HzCommVppvDaily::getCommCntGtVppvByBlockId($blockId, $yesterday, $vppv); $result['order'] = $total ? $total + 1 : ($vppv ? 1 : 0); } $cacheObj->set($key, $result, 0, self::EXPIRE_TIME); return $result; }