public function actionView() { header('Content-type: application/json'); if (!IjoyPlusServiceUtils::validateAPPKey()) { IjoyPlusServiceUtils::exportServiceError(Constants::APP_KEY_INVALID); return; } // if(Yii::app()->user->isGuest){ // IjoyPlusServiceUtils::exportServiceError(Constants::SEESION_IS_EXPIRED); // return ; // } $prod_id = Yii::app()->request->getParam("prod_id"); if (!isset($prod_id) || is_null($prod_id)) { IjoyPlusServiceUtils::exportServiceError(Constants::PARAM_IS_INVALID); return; } $program = CacheManager::getProgramCache($prod_id); //var_dump($program->can_play_device); if ($program === null) { IjoyPlusServiceUtils::exportServiceError(Constants::OBJECT_NOT_FOUND); return; } $prod = ProgramUtil::exportProgramEntity($program); if (isset($program->can_play_device) && $program->can_play_device !== '0') { $prod['can_play_device'] = $program->can_play_device; } else { $prod['can_play_device'] = ''; } $comments = Comment::model()->getCommentsByProgram($prod_id, 10, 0); $commentTemps = array(); if (isset($comments) && is_array($comments)) { foreach ($comments as $comment) { $commentTemps[] = IjoyPlusServiceUtils::transferComments($comment); } } $prod['comments'] = $commentTemps; $topics = Topic::model()->getRelatedTops($prod_id); if (isset($topics) && is_array($topics)) { $prod['topics'] = $topics; } else { $prod['topics'] = array(); } IjoyPlusServiceUtils::exportEntity($prod); }
public static function getProgramVOByID($prod_id) { $key = CacheManager::CACHE_PROGRAM_VO_BY_ID . '_' . $prod_id; $prodVO = CacheManager::getValueFromCache($key); if ($prodVO) { return $prodVO; } $prod = CacheManager::getProgramCache($prod_id); $prodVO = new ProgramVO(); if (isset($prod) && !is_null($prod)) { $prodVO->id = $prod->d_id; $prodVO->pro_type = $prod->d_type; $prodVO->name = $prod->d_name; $prodVO->poster = $prod->d_pic; $prodVO->score = $prod->d_score; $prodVO->publish_owner_id = $prod->publish_owner_id; $userExpired = CacheManager::getExpireByCache(CacheManager::CACHE_PARAM_EXPIRED_PROGRAM); CacheManager::setValueToCache($key, $prodVO, $userExpired); return $prodVO; } else { return null; } }