CreditModel::getUserCredit PHP Метод

getUserCredit() публичный Метод

返回积分值的数据结构 array( 'score' =>array( 'credit'=>'1', 'alias' =>'积分', ), 'experience'=>array( 'credit'=>'2', 'alias' =>'经验', ), '类型' =>array( 'credit'=>'值', 'alias' =>'名称', ), )
public getUserCredit ( integer $uid ) : boolean
$uid integer
Результат boolean array
    public function getUserCredit($uid)
    {
        if (empty($uid)) {
            return false;
        }
        $userCredit = S('getUserCredit_' . $uid);
        if ($userCredit != false) {
            return $userCredit;
        }
        $userCreditInfo = M('credit_user')->where("uid={$uid}")->find();
        // 用户积分
        if (!$userCreditInfo) {
            $data['uid'] = $uid;
            M('credit_user')->add($data);
            // 用户积分
        }
        foreach ($this->creditType as $v) {
            $userCredit['credit'][$v['name']] = array('value' => intval($userCreditInfo[$v['name']]), 'alias' => $v['alias']);
        }
        $userCredit['creditType'] = $this->getTypeList();
        // 获取积分等级规则
        $level = $this->getLevel();
        $data = $userCredit['credit'][$this->type]['value'];
        foreach ($level as $k => $v) {
            if ($data >= $v['start'] && $data <= $v['end']) {
                $userCredit['level'] = $v;
                $userCredit['level']['level_type'] = $this->type;
                $userCredit['level']['nextNeed'] = $v['end'] - $data;
                $userCredit['level']['nextName'] = $level[$k + 1]['name'];
                if (is_numeric($userCredit['level']['image'])) {
                    $userCredit['level']['src'] = getImageUrlByAttachId($userCredit['level']['image']);
                } else {
                    $userCredit['level']['src'] = THEME_PUBLIC_URL . '/image/level/' . $userCredit['level']['image'];
                }
                break;
            }
            if ($data > $v['end'] && !isset($level[$k + 1])) {
                $userCredit['level'] = $v;
                $userCredit['level']['nextNeed'] = '';
                $userCredit['level']['nextName'] = '';
                if (is_numeric($userCredit['level']['image'])) {
                    $userCredit['level']['src'] = getImageUrlByAttachId($userCredit['level']['image']);
                } else {
                    $userCredit['level']['src'] = THEME_PUBLIC_URL . '/image/level/' . $userCredit['level']['image'];
                }
                break;
            }
        }
        S('getUserCredit_' . $uid, $userCredit, 604800);
        //缓存一周
        return $userCredit;
    }