|
|
@@ -236,19 +236,6 @@ public class UserServiceImpl implements UserService {
|
|
|
existRoles.add(role);
|
|
|
}
|
|
|
newUser.setRoles(existRoles);
|
|
|
- } else {
|
|
|
- Set<Role> existRoles = newUser.getRoles();
|
|
|
- if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
|
|
|
- Iterator<Role> iterator = existRoles.iterator();
|
|
|
- Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
- while (iterator.hasNext()) {
|
|
|
- Role role = iterator.next();
|
|
|
- if (role.getEnUU().equals(currentEnuu)) {
|
|
|
- iterator.remove();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- newUser.setRoles(existRoles);
|
|
|
}
|
|
|
try {
|
|
|
newUser = userDao.save(newUser);
|
|
|
@@ -274,18 +261,24 @@ public class UserServiceImpl implements UserService {
|
|
|
@Override
|
|
|
public User updateUserRole(User user) {
|
|
|
User newUser = userDao.findOne(user.getUserUU());
|
|
|
+ Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
if (newUser == null) {
|
|
|
throw new IllegalOperatorException("该用户不存在,请刷新重试");
|
|
|
}
|
|
|
// 修改用户角色,只对用户的当前企业的角色进行修改
|
|
|
+ StringBuffer oldRoles = new StringBuffer();
|
|
|
+ StringBuffer newRoles = new StringBuffer();
|
|
|
if (!CollectionUtils.isEmpty(user.getRoles())) {
|
|
|
Set<Role> existRoles = newUser.getRoles();
|
|
|
if (existRoles != null) {// 保留用户在其他企业的角色
|
|
|
Iterator<Role> iterator = existRoles.iterator();
|
|
|
- Long currentEnuu = SystemSession.getUser().getEnterprise().getUu();
|
|
|
while (iterator.hasNext()) {
|
|
|
Role role = iterator.next();
|
|
|
- if(role.getEnUU().equals(currentEnuu)) {
|
|
|
+ if (role.getEnUU().equals(currentEnuu)) {
|
|
|
+ if (oldRoles.length() > 0) {
|
|
|
+ oldRoles.append(",");
|
|
|
+ }
|
|
|
+ oldRoles.append(role.getDesc());
|
|
|
iterator.remove();
|
|
|
}
|
|
|
}
|
|
|
@@ -294,11 +287,35 @@ public class UserServiceImpl implements UserService {
|
|
|
newUser.setRoles(existRoles);
|
|
|
}
|
|
|
for(Role role : user.getRoles()) {
|
|
|
+ if (newRoles.length() > 0) {
|
|
|
+ newRoles.append(",");
|
|
|
+ }
|
|
|
+ newRoles.append(role.getDesc());
|
|
|
existRoles.add(role);
|
|
|
}
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ Set<Role> existRoles = newUser.getRoles();
|
|
|
+ if (!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
|
|
|
+ Iterator<Role> iterator = existRoles.iterator();
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ Role role = iterator.next();
|
|
|
+ if (role.getEnUU().equals(currentEnuu)) {
|
|
|
+ if (oldRoles.length() > 0) {
|
|
|
+ oldRoles.append(",");
|
|
|
+ }
|
|
|
+ oldRoles.append(role.getDesc());
|
|
|
+ iterator.remove();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ newUser.setRoles(existRoles);
|
|
|
+ }
|
|
|
try {
|
|
|
newUser = userDao.save(newUser);
|
|
|
+ if (oldRoles.length() > 0 || newRoles.length() > 0) {
|
|
|
+ usagelogger.log("修改用户信息", "修改角色,用户:" + newUser.getUserUU(),
|
|
|
+ "修改UU号为" + newUser.getUserUU() + "的角色,从“" + oldRoles.toString() + "”修改成“" + newRoles.toString() + "”");
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
throw new RuntimeException(e.getMessage());
|
|
|
}
|