From fc1a066edd335345167df7573f9119ef8dd1689a Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Thu, 10 Jul 2025 17:36:47 +0800 Subject: [PATCH] 小程序:微信授权登录角色处理 --- oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java | 35 +++++++++++++++-------------------- 1 files changed, 15 insertions(+), 20 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java b/oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java index d6ce91d..46b0cad 100644 --- a/oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java +++ b/oying-system/src/main/java/com/oying/modules/system/service/impl/UserServiceImpl.java @@ -5,7 +5,6 @@ import com.oying.domain.BucketStorage; import com.oying.modules.security.service.OnlineUserService; import com.oying.modules.security.service.UserCacheManager; -import com.oying.modules.system.domain.Job; import com.oying.modules.system.domain.Role; import com.oying.modules.system.domain.User; import com.oying.modules.system.domain.dto.UserQueryCriteria; @@ -81,12 +80,10 @@ // if (userMapper.findByEmail(resources.getEmail()) != null) { // throw new EntityExistException(User.class, "email", resources.getEmail()); // } -// if (userMapper.findByPhone(resources.getPhone()) != null) { -// throw new EntityExistException(User.class, "phone", resources.getPhone()); -// } + if (userMapper.findByPhone(resources.getPhone()) != null) { + throw new EntityExistException(User.class, "phone", resources.getPhone()); + } save(resources); - // 保存用户岗位 - userJobMapper.insertData(resources.getId(), resources.getJobs()); // 保存用户角色 userRoleMapper.insertData(resources.getId(), resources.getRoles()); } @@ -96,17 +93,20 @@ public void update(User resources) throws Exception { User user = getById(resources.getId()); User user1 = userMapper.findByUsername(resources.getUsername()); -// User user2 = userMapper.findByEmail(resources.getEmail()); -// User user3 = userMapper.findByPhone(resources.getPhone()); + User user3 = userMapper.findByPhone(resources.getPhone()); if (user1 != null && !user.getId().equals(user1.getId())) { throw new EntityExistException(User.class, "username", resources.getUsername()); } -// if (user2 != null && !user.getId().equals(user2.getId())) { -// throw new EntityExistException(User.class, "email", resources.getEmail()); -// } -// if (user3 != null && !user.getId().equals(user3.getId())) { -// throw new EntityExistException(User.class, "phone", resources.getPhone()); -// } + if (user3 != null && !user.getId().equals(user3.getId())) { + throw new EntityExistException(User.class, "phone", resources.getPhone()); + } + if (resources.getEmail() != null) { + User user2 = userMapper.findByEmail(resources.getEmail()); + if (user2 != null && !user.getId().equals(user2.getId())) { + throw new EntityExistException(User.class, "email", resources.getEmail()); + } + user.setEmail(resources.getEmail()); + } // 如果用户的角色改变 if (!resources.getRoles().equals(user.getRoles())) { redisUtils.del(CacheKey.DATA_USER + resources.getId()); @@ -119,19 +119,14 @@ onlineUserService.kickOutForUsername(resources.getUsername()); } user.setUsername(resources.getUsername()); - user.setEmail(resources.getEmail()); user.setEnabled(resources.getEnabled()); user.setRoles(resources.getRoles()); - user.setJobs(resources.getJobs()); user.setPhone(resources.getPhone()); user.setNickName(resources.getNickName()); user.setGender(resources.getGender()); saveOrUpdate(user); // 清除缓存 delCaches(user.getId(), user.getUsername()); - // 更新用户岗位 - userJobMapper.deleteByUserId(resources.getId()); - userJobMapper.insertData(resources.getId(), resources.getJobs()); // 更新用户角色 userRoleMapper.deleteByUserId(resources.getId()); userRoleMapper.insertData(resources.getId(), resources.getRoles()); @@ -247,10 +242,10 @@ Map<String, Object> map = new LinkedHashMap<>(); map.put("用户名", user.getUsername()); map.put("角色", roles); - map.put("岗位", user.getJobs().stream().map(Job::getName).collect(Collectors.toList())); map.put("邮箱", user.getEmail()); map.put("状态", user.getEnabled() ? "启用" : "禁用"); map.put("手机号码", user.getPhone()); + map.put("openid", user.getOpenid()); map.put("修改密码的时间", user.getPwdResetTime()); map.put("创建日期", user.getCreateTime()); list.add(map); -- Gitblit v1.9.3