美文网首页
摇奖接口代码阅读记录

摇奖接口代码阅读记录

作者: wwwxi | 来源:发表于2017-10-11 18:05 被阅读0次

    1.http://api.itv.cctv.com/shakeitv2/Getresult  
    
    1)请求参数:活动期数 iid  
             用户id uid  
             
    根据iid通过prizeclient的getPrizeDetail方法查询活动。
    
    2)prizeclient抽奖客户端  
        核心方法:DPrizeActivity::model()->findByPk($id);  
    3)DPrizeActivity为数据中心的model类继承framwork中的CRedisModel方法  
        找到CRedisModel中的findByPk方法 
                /**
             * 根据 pk 查询
             * 设置 二级 pk 表示需要查询 hash表
             */
            public function findByPk($pk, $suffix = null) {
                list($key, $field) = $this->keyManager->getCacheKeyWithSuffix($pk, $suffix);
                
                return $field !== null ? $this->hget($key, $field) : $this->get($key);
            }  
        普通存储:get($key)获取值  
        哈希存储:hget($key,$field);//key为哈希名称,field为要找值的对应键。  
     4)$this->keyManager->getCacheKeyWithSuffix($pk, $suffix) 执行CRedisKeyManager中的getCacheKeyWithSuffix方法。根据PK获取缓存键值,自动判断是 hash,还是普通 模式,并返回相应的 key  
    
        public function getCacheKeyWithSuffix($pk, $suffix) {
            $this->setSuffix($suffix);
            $key = $this->getCacheKey($pk);
            $this->delSuffix();
            
            return $key;
        }  
    通过getCacheKey方法列出缓存键值。$key($key,$field);  
    
    5)回到shakeitv2控制器  
        //获取摇奖结果信息
        $prize = $prizeclient->getPrize($data, $uid,1);
        //data为当期摇奖属性,uid为用户id,1控制奖品是更替的  
    

    相关文章

      网友评论

          本文标题:摇奖接口代码阅读记录

          本文链接:https://www.haomeiwen.com/subject/oaawyxtx.html