From 67c55c23ef7bbf8517e974714bbb63c28ab359ac Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Sat, 16 Jul 2022 10:05:48 +0800 Subject: [PATCH] =?UTF-8?q?perf(=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86):=20?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E8=A7=92=E8=89=B2=E7=AE=A1=E7=90=86api?= =?UTF-8?q?=E9=80=82=E9=85=8D=E6=96=B0=E7=89=88UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/controller/sys/SysUserController.java | 7 +++++-- .../controller/sys/request/UserGridRequest.java | 13 ++++--------- .../main/java/io/dataease/ext/ExtSysUserMapper.xml | 10 +++++++++- .../io/dataease/plugins/server/XDeptServer.java | 8 +++++--- .../io/dataease/plugins/server/XRoleServer.java | 9 ++++++--- .../io/dataease/service/sys/SysUserService.java | 12 +++++------- 6 files changed, 34 insertions(+), 25 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java index 05eeeb75ee..b161131bcb 100644 --- a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java +++ b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java @@ -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> userGrid(@PathVariable int goPage, @PathVariable int pageSize, - @RequestBody BaseGridRequest request) { + @RequestBody UserGridRequest request) { Page 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 userLists(@RequestBody BaseGridRequest request) { - return sysUserService.query(request); + UserGridRequest userGridRequest = BeanUtils.copyBean(new UserGridRequest(), request); + return sysUserService.query(userGridRequest); } @ApiOperation("创建用户") diff --git a/backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java b/backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java index 55da77bea9..029b889972 100644 --- a/backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java +++ b/backend/src/main/java/io/dataease/controller/sys/request/UserGridRequest.java @@ -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; } diff --git a/backend/src/main/java/io/dataease/ext/ExtSysUserMapper.xml b/backend/src/main/java/io/dataease/ext/ExtSysUserMapper.xml index 1f713a8c2b..7a8066ec89 100644 --- a/backend/src/main/java/io/dataease/ext/ExtSysUserMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtSysUserMapper.xml @@ -40,7 +40,15 @@ d.pid, d.NAME AS dept_name FROM - sys_user u + ( + select * from sys_user + + where + nick_name like concat('%', #{extendCondition} , '%') + or + email like concat('%', #{extendCondition} , '%') + + ) 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 diff --git a/backend/src/main/java/io/dataease/plugins/server/XDeptServer.java b/backend/src/main/java/io/dataease/plugins/server/XDeptServer.java index eed3a3d7b2..5fcb242b89 100644 --- a/backend/src/main/java/io/dataease/plugins/server/XDeptServer.java +++ b/backend/src/main/java/io/dataease/plugins/server/XDeptServer.java @@ -153,22 +153,24 @@ public class XDeptServer { public Pager> userGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody XpackDeptUserRequest request) { DeptXpackService deptService = SpringContextUtil.getBean(DeptXpackService.class); Page page = PageHelper.startPage(goPage, pageSize, true); - List userItems = deptService.queryBinded(request); + List userItems = deptService.queryBinded(request, true); Pager> 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"); diff --git a/backend/src/main/java/io/dataease/plugins/server/XRoleServer.java b/backend/src/main/java/io/dataease/plugins/server/XRoleServer.java index 57aa1fc02f..4cf3741a96 100644 --- a/backend/src/main/java/io/dataease/plugins/server/XRoleServer.java +++ b/backend/src/main/java/io/dataease/plugins/server/XRoleServer.java @@ -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 -> { diff --git a/backend/src/main/java/io/dataease/service/sys/SysUserService.java b/backend/src/main/java/io/dataease/service/sys/SysUserService.java index 6b0d6fe100..3b0eaf57b2 100644 --- a/backend/src/main/java/io/dataease/service/sys/SysUserService.java +++ b/backend/src/main/java/io/dataease/service/sys/SysUserService.java @@ -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 query(BaseGridRequest request) { - + public List query(UserGridRequest request) { + String keyWord = request.getKeyWord(); GridExample gridExample = request.convertExample(); + gridExample.setExtendCondition(keyWord); List lists = extSysUserMapper.query(gridExample); lists.forEach(item -> { - List roles = item.getRoles(); List roleIds = roles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); item.setRoleIds(roleIds);