You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
3.2 KiB
143 lines
3.2 KiB
<?php
|
|
|
|
namespace app\admin\model;
|
|
|
|
use \think\Model;
|
|
use \think\Db;
|
|
|
|
/**
|
|
* 用户组权限相关操作
|
|
*/
|
|
class AuthRule extends Model
|
|
{
|
|
/** 通过ID获取权限信息
|
|
* @param $ruleId 权限id
|
|
*/
|
|
public function getRuleById($ruleId)
|
|
{
|
|
$where = ['id' => $ruleId];
|
|
return Db::name('auth_rule')->where($where)->find();
|
|
}
|
|
|
|
/** 通过PID获取权限信息
|
|
* @param $pid 权限pid
|
|
*/
|
|
public function getRuleByPid($pid)
|
|
{
|
|
$where = ['pid' => $pid];
|
|
return Db::name('auth_rule')->where($where)->find();
|
|
}
|
|
|
|
/** 权限id 数组
|
|
* @param $ruleIds
|
|
* @return
|
|
*/
|
|
public function getRuleByIds($ruleIds)
|
|
{
|
|
$where = ['id' => ['in', $ruleIds], 'status' => 1];
|
|
return Db::name('auth_rule')->where($where)->order('sorts', ' asc')->select();
|
|
}
|
|
|
|
/** 根据名称获取权限
|
|
* @param $name
|
|
* @return
|
|
*/
|
|
public function getRuleByName($name)
|
|
{
|
|
return Db::name('auth_rule')->where(['name' => $name])->find();
|
|
}
|
|
|
|
/**
|
|
* 获取列表
|
|
*/
|
|
public function getLists($title, $status, $myorder)
|
|
{
|
|
$where = true;
|
|
if ($title) {
|
|
$where .= " and a.title like '%" . $title . "%' ";
|
|
}
|
|
|
|
if ($status != -1) {
|
|
$where .= " and a.status = " . $status;
|
|
}
|
|
return Db::name('auth_rule')->alias('a')->field('a.*')->where($where)->order($myorder)->select();
|
|
}
|
|
|
|
/**
|
|
* 获取所有的列表,不分页
|
|
*/
|
|
public function getListsAll($status, $myorder)
|
|
{
|
|
$where = true;
|
|
if ($status != -1) {
|
|
$where .= " and a.status = " . $status;
|
|
}
|
|
return Db::name('auth_rule')->alias('a')->field('a.*')->where($where)->order($myorder)->select();
|
|
}
|
|
|
|
/**
|
|
* 获取数量
|
|
*/
|
|
public function getTotal($title, $status)
|
|
{
|
|
$where = true;
|
|
if ($title) {
|
|
$where .= " and a.title like '%" . $title . "%' ";
|
|
}
|
|
|
|
if ($status != -1) {
|
|
$where .= " and a.status = " . $status;
|
|
}
|
|
return Db::name('auth_rule')->alias('a')->where($where)->count();
|
|
}
|
|
|
|
/** 更新
|
|
* @param array $id
|
|
* @param array $data
|
|
* @return $this|void
|
|
*/
|
|
public function modify($id, $data)
|
|
{
|
|
return Db::name('auth_rule')->where(['id' => $id])->update($data);
|
|
}
|
|
|
|
/**新增
|
|
* @param $data
|
|
*/
|
|
public function add($data)
|
|
{
|
|
return Db::name('auth_rule')->insertGetId($data);
|
|
}
|
|
|
|
/** 删除
|
|
* @param $id
|
|
* @return int
|
|
*/
|
|
public function del($id)
|
|
{
|
|
return Db::name('auth_rule')->where('id', $id)->delete();
|
|
}
|
|
|
|
/**
|
|
* [check 检测是否存在]
|
|
* @param [type] $name [description]
|
|
* @return [type] [description]
|
|
*/
|
|
public function check($name)
|
|
{
|
|
$id = Db::name('auth_rule')->where('name', $name)->value('id');
|
|
if (empty($id)) {
|
|
return 0;
|
|
} else {
|
|
return $id;
|
|
}
|
|
}
|
|
|
|
//排序
|
|
public function sort($id, $sorts)
|
|
{
|
|
return Db::name('auth_rule')->where('id', $id)->update(['sorts' => $sorts,'updateTime'=>time()]);
|
|
}
|
|
|
|
}
|