wangliang 4 years ago
parent
commit
45c883661c

+ 12 - 0
themis-backend/src/main/java/com/qmth/themis/backend/api/TBUserController.java

@@ -614,6 +614,18 @@ public class TBUserController {
                 tbUser.setUpdateId(loginUser.getId());
                 tbUser.setUpdateId(loginUser.getId());
             }
             }
             tbUserService.saveOrUpdate(tbUser);
             tbUserService.saveOrUpdate(tbUser);
+            //清除用户缓存
+            if (Objects.nonNull(roleSet) && roleSet.size() > 0) {
+                AuthDto authDto = (AuthDto) redisUtil.get(SystemConstant.userOauth + "::" + tbUser.getId());
+                if (Objects.nonNull(authDto)) {
+                    for (Source s : Source.values()) {
+                        String sessionId = SessionUtil.digest(tbUser.getId(), Math.abs(authDto.getRoleCodes().toString().hashCode()), s.name());
+                        redisUtil.deleteUserSession(sessionId);
+                    }
+                }
+                redisUtil.deleteUser(tbUser.getId());
+                cacheService.removeAccountCache(tbUser.getId());
+            }
         } catch (Exception e) {
         } catch (Exception e) {
             e.printStackTrace();
             e.printStackTrace();
             if (e instanceof DuplicateKeyException) {
             if (e instanceof DuplicateKeyException) {