Merge pull request #2639 from dataease/pr@dev@perf_system_manager

perf(系统管理): 组织角色管理api适配新版UI
This commit is contained in:
fit2cloud-chenyw 2022-07-16 10:06:54 +08:00 committed by GitHub
commit c731df25e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 34 additions and 25 deletions

View File

@ -6,6 +6,8 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.auth.annotation.DeLog;
import io.dataease.auth.api.dto.CurrentUserDto;
import io.dataease.commons.constants.SysLogConstants;
import io.dataease.commons.utils.BeanUtils;
import io.dataease.controller.sys.request.UserGridRequest;
import io.dataease.exception.DataEaseException;
import io.dataease.i18n.Translator;
import io.dataease.plugins.common.base.domain.SysRole;
@ -58,7 +60,7 @@ public class SysUserController {
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
})
public Pager<List<SysUserGridResponse>> userGrid(@PathVariable int goPage, @PathVariable int pageSize,
@RequestBody BaseGridRequest request) {
@RequestBody UserGridRequest request) {
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
return PageUtils.setPageInfo(page, sysUserService.query(request));
}
@ -66,7 +68,8 @@ public class SysUserController {
@ApiIgnore
@PostMapping("/userLists")
public List<SysUserGridResponse> userLists(@RequestBody BaseGridRequest request) {
return sysUserService.query(request);
UserGridRequest userGridRequest = BeanUtils.copyBean(new UserGridRequest(), request);
return sysUserService.query(userGridRequest);
}
@ApiOperation("创建用户")

View File

@ -1,18 +1,13 @@
package io.dataease.controller.sys.request;
import io.dataease.controller.sys.base.BaseGridRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@Data
public class UserGridRequest implements Serializable {
@ApiModelProperty("快速检索")
private String quick;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("组织")
private String deptId;
@ApiModelProperty("状态")
private String enabled;
public class UserGridRequest extends BaseGridRequest implements Serializable {
@ApiModelProperty("关键字")
private String keyWord;
}

View File

@ -40,7 +40,15 @@
d.pid,
d.NAME AS dept_name
FROM
sys_user u
(
select * from sys_user
<if test="extendCondition != null">
where
nick_name like concat('%', #{extendCondition} , '%')
or
email like concat('%', #{extendCondition} , '%')
</if>
) u
LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
LEFT JOIN sys_users_roles sur ON sur.user_id = u.user_id
LEFT JOIN sys_role r ON r.role_id = sur.role_id

View File

@ -153,22 +153,24 @@ public class XDeptServer {
public Pager<List<DeptUserItemDTO>> userGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody XpackDeptUserRequest request) {
DeptXpackService deptService = SpringContextUtil.getBean(DeptXpackService.class);
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
List<DeptUserItemDTO> userItems = deptService.queryBinded(request);
List<DeptUserItemDTO> userItems = deptService.queryBinded(request, true);
Pager<List<DeptUserItemDTO>> setPageInfo = PageUtils.setPageInfo(page, userItems);
return setPageInfo;
}
@RequiresPermissions({"dept:edit", "user:edit"})
@CacheEvict(value = AuthConstants.USER_CACHE_NAME, key = "'user' + #request.userId")
@PostMapping("/bindUser")
public void bindUser(@RequestBody XpackDeptBindRequest request) {
DeptXpackService deptService = SpringContextUtil.getBean(DeptXpackService.class);
request.getUserIds().forEach(userId -> {
CacheUtils.remove( AuthConstants.USER_CACHE_NAME, "user" + userId);
});
deptService.bindUser(request);
}
@RequiresPermissions({"dept:edit", "user:edit"})
@PostMapping("/unBindUser")
public void unBindUser(@RequestBody XpackDeptUnBindRequest request) {
public void unBindUser(@RequestBody XpackDeptBindRequest request) {
DeptXpackService deptService = SpringContextUtil.getBean(DeptXpackService.class);
if (CollectionUtil.isEmpty(request.getUserIds())) {
DEException.throwException("userIds can not be empty");

View File

@ -12,7 +12,6 @@ import io.dataease.commons.utils.Pager;
import io.dataease.listener.util.CacheUtils;
import io.dataease.plugins.common.entity.XpackGridRequest;
import io.dataease.plugins.config.SpringContextUtil;
import io.dataease.plugins.xpack.role.dto.request.RoleUserMappingDelRequest;
import io.dataease.plugins.xpack.role.dto.request.RoleUserMappingRequest;
import io.dataease.plugins.xpack.role.dto.request.RoleUserRequest;
import io.dataease.plugins.xpack.role.dto.response.RoleUserItem;
@ -120,17 +119,21 @@ public class XRoleServer {
@RequiresPermissions({"role:edit", "user:edit"})
@ApiOperation("绑定用户")
@CacheEvict(value = AuthConstants.USER_CACHE_NAME, key = "'user' + #request.userId")
@PostMapping("/bindUser")
public void bindUser(@RequestBody RoleUserMappingRequest request) {
RoleXpackService roleXpackService = SpringContextUtil.getBean(RoleXpackService.class);
if (CollectionUtils.isNotEmpty(request.getUserIds())) {
request.getUserIds().forEach(userId -> {
CacheUtils.remove( AuthConstants.USER_CACHE_NAME, "user" + userId);
});
}
roleXpackService.addUser(request);
}
@RequiresPermissions({"role:edit", "user:edit"})
@ApiOperation("解绑用户")
@PostMapping("/unBindUsers")
public void unBindUsers(@RequestBody RoleUserMappingDelRequest request) {
public void unBindUsers(@RequestBody RoleUserMappingRequest request) {
RoleXpackService roleXpackService = SpringContextUtil.getBean(RoleXpackService.class);
if (CollectionUtils.isNotEmpty(request.getUserIds())) {
request.getUserIds().forEach(userId -> {

View File

@ -2,6 +2,8 @@ package io.dataease.service.sys;
import io.dataease.auth.api.dto.CurrentUserDto;
import io.dataease.auth.service.ExtAuthService;
import io.dataease.controller.sys.base.ConditionEntity;
import io.dataease.controller.sys.request.*;
import io.dataease.ext.ExtSysUserAssistMapper;
import io.dataease.ext.ExtSysUserMapper;
import io.dataease.ext.query.GridExample;
@ -10,10 +12,6 @@ import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.BeanUtils;
import io.dataease.commons.utils.CodingUtil;
import io.dataease.controller.sys.base.BaseGridRequest;
import io.dataease.controller.sys.request.LdapAddRequest;
import io.dataease.controller.sys.request.SysUserCreateRequest;
import io.dataease.controller.sys.request.SysUserPwdRequest;
import io.dataease.controller.sys.request.SysUserStateRequest;
import io.dataease.controller.sys.response.SysUserGridResponse;
import io.dataease.controller.sys.response.SysUserRole;
import io.dataease.i18n.Translator;
@ -60,12 +58,12 @@ public class SysUserService {
private ExtSysUserAssistMapper extSysUserAssistMapper;
public List<SysUserGridResponse> query(BaseGridRequest request) {
public List<SysUserGridResponse> query(UserGridRequest request) {
String keyWord = request.getKeyWord();
GridExample gridExample = request.convertExample();
gridExample.setExtendCondition(keyWord);
List<SysUserGridResponse> lists = extSysUserMapper.query(gridExample);
lists.forEach(item -> {
List<SysUserRole> roles = item.getRoles();
List<Long> roleIds = roles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
item.setRoleIds(roleIds);