{
  "properties" : { },
  "id" : "a5f80b11b7fb4f3c97252331c80bcf85",
  "script" : null,
  "groupId" : "41922e26ef57421f8819fe6c59f14d63",
  "name" : "组织机构",
  "createTime" : null,
  "updateTime" : 1642327198030,
  "lock" : "0",
  "path" : "/office",
  "description" : null,
  "returnType" : null,
  "mappingPath" : null,
  "parameters" : [ ]
}
================================
import 'cn.dev33.satoken.stp.StpUtil';

var currentUserId = StpUtil.getLoginId()
//查出当前用户有多少角色
var roles = db.select("""
    select permission from sys_role where is_del = 0 and id in (select role_id from sys_user_role where user_id = #{currentUserId})
""")
var userIds = []
for(role in roles){
    if(role.permission == '0'){
        return []
    }else if(role.permission == '1'){
        userIds.addAll(db.select("""
            select id from sys_user where is_del = 0 and office_id in (
                select office_id from sys_role_office where role_id in (
                    select role_id from sys_user_role where user_id = #{currentUserId}
                )
            )
        """).map(it => it.id))
    }else{
        var officeId = db.selectValue("select office_id from sys_user where id = #{currentUserId}")
        var offices = []
        offices.push(officeId)
        var getOfficeId = (list,pid) => {
            var ids = select t.id from list t where t.pid = pid;
            for(it in ids){
                offices.push(it.id)
                getOfficeId(list,it.id)
            }
        }
        getOfficeId(db.select('select id, pid from sys_office where is_del = 0 order by sort'),officeId)
        userIds.addAll(db.select("select id from sys_user where office_id in (#{offices})").map(it => it.id))
    }
}

return userIds