Browse Source

修改用户角色增加日志记录,方便查阅

hejq 8 years ago
parent
commit
7e23e04cf8
1 changed files with 26 additions and 5 deletions
  1. 26 5
      src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

+ 26 - 5
src/main/java/com/uas/platform/b2b/service/impl/UserServiceImpl.java

@@ -69,8 +69,16 @@ public class UserServiceImpl implements UserService {
 	 */
 	private static final String ENGLISH_REGEXP = "^[A-Za-z]+$";
 
+    /**
+     * 不需要展示的日志记录
+     */
 	private final static CommBufferedLogger logger = BufferedLoggerManager.getLogger(CommBufferedLogger.class);
 
+    /**
+     * 展示给用户查看的日志
+     */
+    private final static UsageBufferedLogger usagelogger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
 	@Override
 	public boolean isEmailUseable(String email) {
 		return userDao.findUserByUserEmail(email).size() == 0;
@@ -199,22 +207,32 @@ public class UserServiceImpl implements UserService {
 			} catch (Exception e) {
 				e.printStackTrace();
 			}
+			StringBuffer oldRoles = new StringBuffer();
+			StringBuffer newRoles = new StringBuffer();
 			// 修改用户角色,只对用户的当前企业的角色进行修改
 			if (!CollectionUtils.isEmpty(user.getRoles())) {
 				Set<Role> existRoles = newUser.getRoles();
-				if(!CollectionUtils.isEmpty(existRoles)) {// 保留用户在其他企业的角色
+				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();
+						if (role.getEnUU().equals(currentEnuu)) {
+							if (oldRoles.length() > 0) {
+								oldRoles.append(",");
+							}
+							oldRoles.append(role.getDesc());
+							iterator.remove();
 						}
 					}
 				} else {
 					existRoles = new HashSet<>();
 				}
-				for(Role role : user.getRoles()) {
+				for (Role role : user.getRoles()) {
+					if (newRoles.length() > 0) {
+						newRoles.append(",");
+					}
+					newRoles.append(role.getDesc());
 					existRoles.add(role);
 				}
 				newUser.setRoles(existRoles);
@@ -234,7 +252,10 @@ public class UserServiceImpl implements UserService {
 			}
 			try {
 				newUser = userDao.save(newUser);
-
+				if (oldRoles.length() > 0 || newRoles.length() > 0) {
+                    usagelogger.log("修改用户信息", "修改角色", "修改UU号为" + newUser.getUserUU() + "的角色,从“" + oldRoles.toString()
+                            + "”修改成“" + newRoles.toString() + "”");
+                }
 			} catch (Exception e) {
 				throw new RuntimeException(e.getMessage());
 			}