更新目录结构
This commit is contained in:
@@ -10,6 +10,7 @@ namespace app\model;
|
||||
|
||||
use think\Model;
|
||||
use think\facade\Config;
|
||||
use think\facade\Env;
|
||||
use think\facade\Db;
|
||||
|
||||
class BaseModel extends Model{
|
||||
@@ -18,22 +19,32 @@ class BaseModel extends Model{
|
||||
$auth = request()->auth();
|
||||
$uid = request()->user['uid'];
|
||||
$map = [];
|
||||
if(!in_array($uid, Config::get('auth.admin_root'))){
|
||||
if($uid != Env::get('admin')){
|
||||
$subMap = [];
|
||||
if($auth['data_range'] == 2){
|
||||
$subMap[] = ['department_id', 'IN', getDepartmentChild($auth['department_id'])];
|
||||
}elseif($auth['data_range'] == 3){
|
||||
$subMap[] = ['department_id', 'IN', $auth['department_id']];
|
||||
}elseif($auth['data_range'] == 4){
|
||||
$map[] = ['uid', '=', $uid];
|
||||
$map[] = ['user_id', '=', $uid];
|
||||
}else{
|
||||
$m = [['user_id', '=', $uid], ['user_id', '=', 0]];
|
||||
$query->where(function($q) use($m){
|
||||
$q->whereOr($m);
|
||||
});
|
||||
}
|
||||
if(!empty($subMap)){
|
||||
$subsql = Db::name('users')->where($subMap)->field('uid')->buildSql();
|
||||
$subsql = str_replace(" AS thinkphp) AS T1 )", "", $subsql);
|
||||
$subsql = str_replace("SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER ( ORDER BY rand()) AS ROW_NUMBER FROM (", "", $subsql);
|
||||
$map[] = ['uid', 'IN', Db::raw($subsql)];
|
||||
$map[] = ['user_id', 'IN', Db::raw($subsql)];
|
||||
}
|
||||
}
|
||||
$query->where($where)->where($map);
|
||||
if(!empty($map)){
|
||||
$query->where($map);
|
||||
}
|
||||
if(!empty($where)){
|
||||
$query->where($where);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user