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