0], ['user_id', 'required'], ['user_id', 'exist', 'targetClass' => '\common\models\User', 'targetAttribute' => 'id'], ['level', 'default', 'value' => 0], ['level', 'number', 'min' => 0, 'max' => GameConfigServices::getMaxVipLevel()], ['exp', 'default', 'value' => 0], ['is_get_fix_gift', 'default', 'value' => VipUtil::NOT_GET_GIFT], ['is_get_fix_gift', 'in', 'range' => VipUtil::GET_GIFT_LIST], ['is_get_week_gift', 'default', 'value' => VipUtil::NOT_GET_GIFT], ['is_get_week_gift', 'in', 'range' => VipUtil::GET_GIFT_LIST], ['last_get_week_gift_time', 'default', 'value' => 0], ['created_at', 'default', 'value' => 0], ['updated_at', 'default', 'value' => 0], ]; } public static function findByUserID($userID) { $data = self::findOne(['user_id' => $userID]); if (empty($data)) { $data = new Vip(); $data->user_id = $userID; if (!$data->save()) throw new StatusException(ResultStatusServices::RS_SAVE_DB_ERROR); } return $data; } }