mirror of https://gitee.com/stylefeng/roses
【8.0】【sys】更新用户列表接口增加数据范围控制
parent
657a0a854c
commit
ded1c7ec54
|
@ -3,6 +3,7 @@ package cn.stylefeng.roses.kernel.sys.api;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.pojo.user.UserOrgDTO;
|
import cn.stylefeng.roses.kernel.sys.api.pojo.user.UserOrgDTO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单独编写用户和组织机构关系的Api
|
* 单独编写用户和组织机构关系的Api
|
||||||
|
@ -67,4 +68,13 @@ public interface SysUserOrgServiceApi {
|
||||||
*/
|
*/
|
||||||
Long getUserOrgPositionId(Long userId, Long orgId);
|
Long getUserOrgPositionId(Long userId, Long orgId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询某些组织机构下,有哪些用户
|
||||||
|
*
|
||||||
|
* @param orgIdList 组织机构id集合
|
||||||
|
* @author fengshuonan
|
||||||
|
* @since 2023/7/19 0:18
|
||||||
|
*/
|
||||||
|
Set<Long> getOrgUserIdList(Set<Long> orgIdList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,6 @@ import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory;
|
import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveOrgCallbackApi;
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveOrgCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
|
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.context.DataScopeContext;
|
|
||||||
import cn.stylefeng.roses.kernel.sys.api.enums.org.DetectModeEnum;
|
import cn.stylefeng.roses.kernel.sys.api.enums.org.DetectModeEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.enums.org.OrgTypeEnum;
|
import cn.stylefeng.roses.kernel.sys.api.enums.org.OrgTypeEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.exception.enums.OrgExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.api.exception.enums.OrgExceptionEnum;
|
||||||
|
@ -531,12 +530,6 @@ public class HrOrganizationServiceImpl extends ServiceImpl<HrOrganizationMapper,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新数据范围的筛选条件
|
|
||||||
Set<Long> dataScope = DataScopeContext.me().currentUserOrgScopeList();
|
|
||||||
if (ObjectUtil.isNotEmpty(dataScope)) {
|
|
||||||
queryWrapper.in(HrOrganization::getOrgId, dataScope);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据排序正序查询
|
// 根据排序正序查询
|
||||||
queryWrapper.orderByAsc(HrOrganization::getOrgSort);
|
queryWrapper.orderByAsc(HrOrganization::getOrgSort);
|
||||||
|
|
||||||
|
@ -599,12 +592,6 @@ public class HrOrganizationServiceImpl extends ServiceImpl<HrOrganizationMapper,
|
||||||
queryWrapper.eq(HrOrganization::getOrgType, OrgTypeEnum.COMPANY.getCode());
|
queryWrapper.eq(HrOrganization::getOrgType, OrgTypeEnum.COMPANY.getCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新数据范围的筛选条件
|
|
||||||
Set<Long> dataScope = DataScopeContext.me().currentUserOrgScopeList();
|
|
||||||
if (ObjectUtil.isNotEmpty(dataScope)) {
|
|
||||||
queryWrapper.in(HrOrganization::getOrgId, dataScope);
|
|
||||||
}
|
|
||||||
|
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -250,6 +250,15 @@ public class SysUserOrgServiceImpl extends ServiceImpl<SysUserOrgMapper, SysUser
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<Long> getOrgUserIdList(Set<Long> orgIdList) {
|
||||||
|
LambdaQueryWrapper<SysUserOrg> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.in(SysUserOrg::getOrgId, orgIdList);
|
||||||
|
queryWrapper.select(SysUserOrg::getUserId);
|
||||||
|
List<SysUserOrg> list = this.list(queryWrapper);
|
||||||
|
return list.stream().map(SysUserOrg::getUserId).collect(Collectors.toSet());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取信息
|
* 获取信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,6 +18,7 @@ import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi;
|
import cn.stylefeng.roses.kernel.sys.api.callback.RemoveUserCallbackApi;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
|
import cn.stylefeng.roses.kernel.sys.api.constants.SysConstants;
|
||||||
|
import cn.stylefeng.roses.kernel.sys.api.context.DataScopeContext;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.enums.user.UserStatusEnum;
|
import cn.stylefeng.roses.kernel.sys.api.enums.user.UserStatusEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.exception.enums.UserExceptionEnum;
|
import cn.stylefeng.roses.kernel.sys.api.exception.enums.UserExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.sys.api.expander.SysConfigExpander;
|
import cn.stylefeng.roses.kernel.sys.api.expander.SysConfigExpander;
|
||||||
|
@ -541,6 +542,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 数据权限范围控制
|
||||||
|
Set<Long> dataScope = DataScopeContext.me().currentUserOrgScopeList();
|
||||||
|
if (ObjectUtil.isNotEmpty(dataScope)) {
|
||||||
|
Set<Long> userIdList = this.sysUserOrgService.getOrgUserIdList(dataScope);
|
||||||
|
queryWrapper.in(SysUser::getUserId, userIdList);
|
||||||
|
}
|
||||||
|
|
||||||
// 按用户排序字段排序
|
// 按用户排序字段排序
|
||||||
queryWrapper.orderByAsc(SysUser::getUserSort);
|
queryWrapper.orderByAsc(SysUser::getUserSort);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue