Files
midi-php/application/api/model/QuanXian.php

58 lines
1.7 KiB
PHP
Raw Normal View History

2025-08-13 10:43:56 +08:00
<?php
namespace app\api\model;
use think\Db;
use think\Model;
class QuanXian extends Model
{
public function quan_xian($user_id, $accept_user_id, $room_id)
{
//操作者
//房主
$owner = db::name('vs_room')->where(['id' => $room_id, 'user_id' => $user_id])->field('id')->find();
//管理
$management = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $user_id,'delete_time' => null,'type' => 2])->find();
//主持
$host = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $user_id,'delete_time' => null,'type' => 1])->find();
//操作者的最大角色
$max_role = 0;
if ($host) {
$max_role = 1;
}
if ($management) {
$max_role = 2;
}
if ($owner) {
$max_role = 3;
}
//被操作者
//房主
$owner = db::name('vs_room')->where(['id' => $room_id, 'user_id' => $accept_user_id])->field('id')->find();
//管理
$management = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $accept_user_id,'delete_time' => null,'type' => 2])->find();
//主持
$host = db::name('vs_room_host')->where(['room_id' => $room_id, 'user_id' => $accept_user_id,'delete_time' => null,'type' => 1])->find();
//被操作者最大角色
$max_role_accept = 0;
if ($host) {
$max_role_accept = 1;
}
if ($management) {
$max_role_accept = 2;
}
if ($owner) {
$max_role_accept = 3;
}
if ($max_role_accept > $max_role) {
return false;
}
return true;
}
}