mirror of https://gitee.com/stylefeng/roses
【7.3.3】用户下拉列表选择-根据当前用户权限获取管理的用户信息
parent
9d4c5511b6
commit
2eca3b47ed
|
@ -272,6 +272,21 @@ public class SysUserController {
|
||||||
return new SuccessResponseData<>(sysUserService.selector(sysUserRequest));
|
return new SuccessResponseData<>(sysUserService.selector(sysUserRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户下拉列表,用户权限下用户
|
||||||
|
* <p>
|
||||||
|
* 本接口不查询超级管理员
|
||||||
|
*
|
||||||
|
* @param sysUserRequest 请求参数:name 姓名(可选)
|
||||||
|
* @return 返回除超级管理员外的用户列表
|
||||||
|
* @author yx
|
||||||
|
* @date 2023/02/21 09:49
|
||||||
|
*/
|
||||||
|
@GetResource(name = "系统用户_选择器(权限)", path = "/sysUser/selectorByAuthority", requiredPermission = false)
|
||||||
|
public ResponseData<List<SimpleDict>> selectorByAuthority(SysUserRequest sysUserRequest) {
|
||||||
|
return new SuccessResponseData<>(sysUserService.selectorByAuthority(sysUserRequest));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户下拉列表,可以根据姓名搜索
|
* 用户下拉列表,可以根据姓名搜索
|
||||||
* <p>
|
* <p>
|
||||||
|
|
|
@ -230,6 +230,13 @@ public interface SysUserService extends IService<SysUser>, UserServiceApi {
|
||||||
*/
|
*/
|
||||||
List<SimpleDict> selector(SysUserRequest sysUserRequest);
|
List<SimpleDict> selector(SysUserRequest sysUserRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户下拉列表选择-根据当前用户权限获取管理的用户信息
|
||||||
|
* 可以获取指定用户的管理用户
|
||||||
|
* 支持通过用户姓名模糊查询
|
||||||
|
*/
|
||||||
|
List<SimpleDict> selectorByAuthority(SysUserRequest request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询所有用户下拉列表(含管理员)
|
* 查询所有用户下拉列表(含管理员)
|
||||||
*
|
*
|
||||||
|
|
|
@ -91,6 +91,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
@ -601,6 +602,34 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
return this.selectUserList(sysUserRequest, false);
|
return this.selectUserList(sysUserRequest, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SimpleDict> selectorByAuthority(SysUserRequest request) {
|
||||||
|
//获取用户数据权限
|
||||||
|
Long userId = ObjectUtil.isNull(request.getUserId()) ? LoginContext.me().getLoginUser().getUserId() : request.getUserId();
|
||||||
|
DataScopeDTO dataScope = dataScopeApi.getDataScope(userId);
|
||||||
|
// 塞入用户数据范围
|
||||||
|
request.setUserScopeIds(dataScope.getUserIds());
|
||||||
|
LambdaQueryWrapper<SysUser> wrapper = this.createWrapper(request);
|
||||||
|
|
||||||
|
// 排除超级管理员
|
||||||
|
wrapper.ne(SysUser::getSuperAdminFlag, YesOrNotEnum.Y.getCode());
|
||||||
|
|
||||||
|
// 查询id name account
|
||||||
|
wrapper.select(SysUser::getRealName, SysUser::getUserId, SysUser::getAccount);
|
||||||
|
List<SysUser> list = this.list(wrapper);
|
||||||
|
|
||||||
|
ArrayList<SimpleDict> results = new ArrayList<>();
|
||||||
|
for (SysUser sysUser : list) {
|
||||||
|
SimpleDict simpleDict = new SimpleDict();
|
||||||
|
simpleDict.setId(sysUser.getUserId());
|
||||||
|
simpleDict.setName(sysUser.getRealName());
|
||||||
|
simpleDict.setCode(sysUser.getAccount());
|
||||||
|
results.add(simpleDict);
|
||||||
|
}
|
||||||
|
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SimpleDict> selectorWithAdmin(SysUserRequest sysUserRequest) {
|
public List<SimpleDict> selectorWithAdmin(SysUserRequest sysUserRequest) {
|
||||||
return this.selectUserList(sysUserRequest, true);
|
return this.selectUserList(sysUserRequest, true);
|
||||||
|
@ -1046,11 +1075,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
queryWrapper.eq(ObjectUtil.isNotEmpty(sysUserRequest.getUserId()), SysUser::getUserId, sysUserRequest.getUserId());
|
queryWrapper.eq(ObjectUtil.isNotEmpty(sysUserRequest.getUserId()), SysUser::getUserId, sysUserRequest.getUserId());
|
||||||
queryWrapper.like(ObjectUtil.isNotEmpty(sysUserRequest.getAccount()), SysUser::getAccount, sysUserRequest.getAccount());
|
queryWrapper.like(ObjectUtil.isNotEmpty(sysUserRequest.getAccount()), SysUser::getAccount, sysUserRequest.getAccount());
|
||||||
queryWrapper.like(ObjectUtil.isNotEmpty(sysUserRequest.getRealName()), SysUser::getRealName, sysUserRequest.getRealName());
|
queryWrapper.like(ObjectUtil.isNotEmpty(sysUserRequest.getRealName()), SysUser::getRealName, sysUserRequest.getRealName());
|
||||||
|
queryWrapper.in(CollectionUtils.isNotEmpty(sysUserRequest.getUserScopeIds()), SysUser::getUserId, sysUserRequest.getUserScopeIds());
|
||||||
|
|
||||||
// 根据text查询
|
// 根据text查询
|
||||||
if (ObjectUtil.isNotEmpty(sysUserRequest.getSearchText())) {
|
if (ObjectUtil.isNotEmpty(sysUserRequest.getSearchText())) {
|
||||||
queryWrapper.like(SysUser::getAccount, sysUserRequest.getSearchText()).or().like(SysUser::getRealName, sysUserRequest.getSearchText()).or()
|
queryWrapper.and(wrapper -> wrapper.like(SysUser::getAccount, sysUserRequest.getSearchText())
|
||||||
.like(SysUser::getNickName, sysUserRequest.getSearchText());
|
// 姓名
|
||||||
|
.or().like(SysUser::getRealName, sysUserRequest.getSearchText())
|
||||||
|
// 昵称
|
||||||
|
.or().like(SysUser::getNickName, sysUserRequest.getSearchText())
|
||||||
|
// 手机号
|
||||||
|
.or().like(SysUser::getPhone, sysUserRequest.getSearchText()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
|
|
Loading…
Reference in New Issue