58 lines
1.7 KiB
PHP
58 lines
1.7 KiB
PHP
<?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;
|
|
}
|
|
} |