55 lines
1.4 KiB
PHP
55 lines
1.4 KiB
PHP
|
<?php
|
|||
|
namespace app\model;
|
|||
|
|
|||
|
use think\facade\Cache;
|
|||
|
|
|||
|
class AuthGroup extends Base
|
|||
|
{
|
|||
|
public static function updateRules($groupId, $rules)
|
|||
|
{
|
|||
|
$rules = implode(',', $rules);
|
|||
|
$data = ['rules' => $rules];
|
|||
|
self::updateById($groupId, $data);
|
|||
|
Member::where('group_id', $groupId)
|
|||
|
->update($data);
|
|||
|
}
|
|||
|
|
|||
|
//根据ID获取角色列表,ID为1是超级管理员
|
|||
|
public static function getListById($groupId = 1)
|
|||
|
{
|
|||
|
if($groupId < 1){
|
|||
|
return [];
|
|||
|
}
|
|||
|
$group = self::getById($groupId);
|
|||
|
if(empty($group)){
|
|||
|
return [];
|
|||
|
}
|
|||
|
if($groupId == 1){
|
|||
|
return self::select()
|
|||
|
->toArray();
|
|||
|
}else{
|
|||
|
return self::where('id','<>','1')
|
|||
|
->select()
|
|||
|
->toArray();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 重置角色权限缓存
|
|||
|
* @param int $groupId 指定重置的角色ID,若不指定则重置所有角色
|
|||
|
*/
|
|||
|
public static function resetGroupRulesCache($groupId = 0)
|
|||
|
{
|
|||
|
if(is_numeric($groupId) && $groupId > 0) {
|
|||
|
Cache::set('group_rules_'.$groupId, null);
|
|||
|
Cache::set('rule_names_'.$groupId, null);
|
|||
|
} else {
|
|||
|
$groupIds = self::column('id');
|
|||
|
foreach ($groupIds as $id){
|
|||
|
Cache::set('group_rules_'.$id, null);
|
|||
|
Cache::set('rule_names_'.$id, null);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|