This commit is contained in:
molong
2022-10-04 15:10:37 +08:00
parent d2752116a7
commit 96319f0898
23 changed files with 338 additions and 39 deletions

View File

@@ -20,18 +20,18 @@ class BaseModel extends Model{
$map = [];
if(!in_array($uid, Config::get('auth.admin_root'))){
$subMap = [];
if($auth['data_range'] == 4){
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'] == 2){
$map[] = ['creator_id', '=', $uid];
}elseif($auth['data_range'] == 4){
$map[] = ['uid', '=', $uid];
}
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[] = ['creator_id', 'IN', Db::raw($subsql)];
$map[] = ['uid', 'IN', Db::raw($subsql)];
}
}
$query->where($where)->where($map);