From 8a66d1972d2e9245e2999d06d49d2c864492ab17 Mon Sep 17 00:00:00 2001 From: JinPengYong <812110275@qq.com> Date: Sun, 21 Mar 2021 16:12:29 +0800 Subject: [PATCH] 获取用户层级菜单update --- screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 99 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 69 insertions(+), 30 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java index fb42e30..100245f 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.Group; import com.moral.api.entity.Menu; import com.moral.api.entity.Organization; @@ -113,7 +114,9 @@ userInfo.put("organizationName", organization.getName()); userInfo.put("locationLevel", organization.getLocationLevel()); userInfo.put("groups", groups); - userInfo.putAll(getMenus(userBo.getId())); + Map<String, Object> map = new HashMap<>(); + map.put("userId",userBo.getId()); + userInfo.putAll(getMenus(map)); try { //������token������������redis String token = TokenUtils.getToken(userBo.getId().toString(), userInfo); @@ -129,9 +132,15 @@ return result; } - //������userId������������������������ - private Map<String, Object> getMenus(int userId) { - List<Menu> allMenus = menuMapper.selectUserMenu(userId); + @Override + public Map<String, Object> getMenus(Map<String, Object> parameters) { + List<Menu> allMenus; + if (parameters.containsKey("userId")) { + allMenus = menuMapper.selectUserMenu(Integer.parseInt(parameters.get("userId").toString())); + } else { + allMenus = menuMapper.selectOrganizationMenu(Integer.parseInt(parameters.get("orgId").toString())); + } + Map<String, Object> resultMap = new LinkedHashMap<>(); //��������������� List<Menu> oneMenu = allMenus.stream() @@ -224,7 +233,7 @@ } //������������ user.setPassword(MD5Utils.saltMD5(password)); - user.setOrganizationId(Integer.parseInt(currentUserInfo.get("organizationId").toString())); + user.setOrganizationId((int) currentUserInfo.get("organizationId")); user.setIsAdmin(false); //��������������������������� Date userExpireTime = user.getExpireTime(); @@ -240,12 +249,13 @@ @Override @Transactional public void deleteUser(User user) { - //������������������ + //������������user user.setIsDelete(Constants.DELETE); - //������������������������������ - UpdateWrapper<UserGroup> updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("is_delete", Constants.DELETE).eq("user_id", user.getId()); - userGroupMapper.update(null, updateWrapper); + userMapper.updateById(user); + //������������user_group + UpdateWrapper<UserGroup> deleteWrapper = new UpdateWrapper<>(); + deleteWrapper.set("is_delete", Constants.DELETE).eq("user_id", user.getId()); + userGroupMapper.update(null, deleteWrapper); } @Override @@ -253,16 +263,10 @@ public Map<String, Object> updateUser(User user, String token) { Map<String, Object> result = new HashMap<>(); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); - QueryWrapper<User> queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("id", user.getId()).eq("is_delete", Constants.NOT_DELETE); - if (userMapper.selectOne(queryWrapper) == null) { - result.put("code", ResponseCodeEnum.ACCOUNT_IS_DELETE.getCode()); - result.put("msg", ResponseCodeEnum.ACCOUNT_IS_DELETE.getMsg()); - return result; - } - queryWrapper.clear(); - queryWrapper.eq("account", user.getAccount()).eq("is_delete", Constants.NOT_DELETE); + queryWrapper.ne("id", user.getId()) + .eq("account", user.getAccount()) + .eq("is_delete", Constants.NOT_DELETE); //������������������������ if (userMapper.selectOne(queryWrapper) != null) { result.put("code", ResponseCodeEnum.ACCOUNT_EXIST.getCode()); @@ -298,7 +302,7 @@ } //������������ user.setPassword(MD5Utils.saltMD5(password)); - user.setOrganizationId(Integer.parseInt(currentUserInfo.get("organizationId").toString())); + user.setOrganizationId((int) currentUserInfo.get("organizationId")); user.setIsAdmin(false); //��������������������������� Date userExpireTime = user.getExpireTime(); @@ -312,19 +316,54 @@ } @Override - public Map<String, Object> getUsers(Map<String, Object> parameters) { - Map<String, Object> resultMap = new HashMap<>(); + public Page<User> selectUsers(Map<String, Object> parameters) { Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(parameters.get("token").toString()); - if (!(boolean) currentUserInfo.get("isAdmin")) { - resultMap.put("msg", "������������"); - return resultMap; + Object organizationId = currentUserInfo.get("organizationId"); + QueryWrapper<User> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("organization_id", organizationId) + .eq("is_delete", Constants.NOT_DELETE); + Object order = parameters.get("order"); + Object account = parameters.get("account"); + Object userName = parameters.get("userName"); + Object mobile = parameters.get("mobile"); + Object email = parameters.get("mobile"); + Object wechat = parameters.get("wechat"); + //������������������ + if (account != null) { + queryWrapper.like("account", account); } - if (!parameters.containsKey("userId")) { - parameters.put("orgId", currentUserInfo.get("organizationId")); + if (userName != null) { + queryWrapper.like("user_name", userName); } - List<Map<String, Object>> users = userMapper.selectUsers(parameters); - resultMap.put("users", users); - return resultMap; + if (mobile != null) { + queryWrapper.like("mobile", mobile); + } + if (email != null) { + queryWrapper.like("email", email); + } + if (wechat != null) { + queryWrapper.like("wechat", wechat); + } + //������������ + if (!parameters.containsKey("page")) { + parameters.put("page", 0); + } + if (!parameters.containsKey("size")) { + parameters.put("size", 10); + } + + int page = Integer.parseInt(parameters.get("page").toString()); + int size = Integer.parseInt(parameters.get("size").toString()); + Page<User> pageData = new Page<>(page, size); + //������������,������id������ + if (order == null) { + queryWrapper.orderByAsc("id"); + } else { + queryWrapper.orderByAsc(order.toString(), "id"); + } + Page<User> userPage = userMapper.selectPage(pageData, queryWrapper); + pageData.setRecords(userPage.getRecords()); + return userPage; } } -- Gitblit v1.8.0