diff --git a/contact-center/app/pom.xml b/contact-center/app/pom.xml index 21420f49..1360f364 100644 --- a/contact-center/app/pom.xml +++ b/contact-center/app/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.chatopera.cc contact-center - 5.0.0 + 5.1.0 war cskefu 春松客服:多渠道智能客服系统 diff --git a/contact-center/app/src/main/java/com/chatopera/cc/proxy/UserProxy.java b/contact-center/app/src/main/java/com/chatopera/cc/proxy/UserProxy.java index 5688e6b7..7abfa2c7 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/proxy/UserProxy.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/proxy/UserProxy.java @@ -478,18 +478,20 @@ public class UserProxy { public Predicate toPredicate( Root root, CriteriaQuery query, CriteriaBuilder cb) { - List list = new ArrayList(); + List criteria = new ArrayList(); if (user.getRoleList() != null && user.getRoleList().size() > 0) { for (Role role : user.getRoleList()) { - list.add(cb.equal(root.get("roleid").as(String.class), role.getId())); + criteria.add(cb.equal(root.get("roleid").as(String.class), role.getId())); } } - Predicate[] p = new Predicate[list.size()]; + Predicate[] p = new Predicate[criteria.size()]; cb.and(cb.equal(root.get("orgi").as(String.class), user.getOrgi())); - return cb.or(list.toArray(p)); + return cb.or(criteria.toArray(p)); } }); + // clear previous auth map values, ensure the changes are token effect in real time. + user.getRoleAuthMap().clear(); if (roleAuthList != null) { for (RoleAuth roleAuth : roleAuthList) { user.getRoleAuthMap().put(roleAuth.getDicvalue(), true);