From cd8755a6ac55137176666a6f4fbfd15210389d77 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 19 Mar 2021 17:33:26 +0800 Subject: [PATCH] 登陆验证码,组分配,菜单分配 --- screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 97 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 67 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..d71bda7 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,7 @@ userInfo.put("organizationName", organization.getName()); userInfo.put("locationLevel", organization.getLocationLevel()); userInfo.put("groups", groups); - userInfo.putAll(getMenus(userBo.getId())); + userInfo.putAll(getMenus(userBo.getId(), -1)); try { //������token������������redis String token = TokenUtils.getToken(userBo.getId().toString(), userInfo); @@ -130,8 +131,14 @@ } //������userId������������������������ - private Map<String, Object> getMenus(int userId) { - List<Menu> allMenus = menuMapper.selectUserMenu(userId); + public Map<String, Object> getMenus(int userId, int orgId) { + List<Menu> allMenus; + if (orgId == -1) { + allMenus = menuMapper.selectUserMenu(userId); + } else { + allMenus = menuMapper.selectOrganizationMenu(orgId); + } + Map<String, Object> resultMap = new LinkedHashMap<>(); //��������������� List<Menu> oneMenu = allMenus.stream() @@ -155,7 +162,7 @@ } //������������������������������������ - private List<Map<String, Object>> getMenusByRecursion(Menu menu, List<Menu> menus) { + public List<Map<String, Object>> getMenusByRecursion(Menu menu, List<Menu> menus) { List<List<Map<String, Object>>> resultList = new ArrayList(); Menu newMenu = new Menu(); newMenu.setParentId(menu.getId()); @@ -224,7 +231,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 +247,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 +261,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 +300,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 +314,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