RoomNums.php 1.66 KB
<?php

namespace common\models;

use Yii;

/**
 * This is the model class for table "{{%room_nums}}".
 *
 * @property string $room_id
 * @property integer $like_num
 * @property string $audience_num
 * @property integer $online_num
 * @property integer $replay_num
 * @property integer $vest_online_num
 */
class RoomNums extends \yii\db\ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return '{{%room_nums}}';
    }

    /**
     * @inheritdoc
     */
    public function rules()
    {
        return [
            [['room_id'], 'required'],
            [['room_id', 'like_num', 'audience_num', 'online_num', 'replay_num', 'vest_online_num'], 'integer'],
        ];
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
            'room_id' => 'Room ID',
            'like_num' => 'Like Num',
            'audience_num' => 'Audience Num',
            'online_num' => 'Online Num',
            'replay_num' => 'Replay Num',
            'vest_online_num' => 'Vest Online Num',
        ];
    }

    /**
     * 获取房间里的数目
     * @param $room_id
     * @return array
     */
    public static function getRoomNums($room_id)
    {
        $cache_prefix = Yii::$app->params['cache_prefix'];
        //清在线观看数
        $audience_nums = Yii::$app->redisIm->get(sprintf($cache_prefix . ":audience_nums_room_%s", $room_id));
        //清点赞数
        $like_nums = Yii::$app->redisIm->get(sprintf($cache_prefix . ":like_numbers_room_%s", $room_id));

        return [
            'audience_nums'=>$audience_nums ? :0,
            'like_nums'=>$like_nums ?:0
        ];
    }
}