Przeglądaj źródła

企业简介更新

Hu Jie 7 lat temu
rodzic
commit
75c973d7c8

+ 19 - 0
src/main/java/com/uas/platform/b2c/common/account/controller/UserController.java

@@ -647,6 +647,24 @@ public class UserController {
 		logger.log("用户信息", "删除用户,UU:" + uu);
 		return new ResponseEntity<String>(HttpStatus.OK);
 	}
+	/**
+	 * 修改用户角色不经过账户中心
+	 *
+	 * @param
+	 * @return
+	 */
+	@RequestMapping(value = "/updaterole",method = RequestMethod.PUT)
+	public ResponseEntity<String> updateUserRole(@RequestBody String json , HttpServletRequest request) {
+		User user = FlexJsonUtils.fromJson(json, User.class);
+		userService.saveUserRole(user);
+		if (user != null) {
+			logger.log("用户信息", "修改用户信息,UU:" + user.getUserUU());
+			if (SystemSession.getUser().getUserUU().equals(user.getUserUU()))
+				request.getSession().setAttribute("user", user);
+		}
+		return new ResponseEntity<String>(HttpStatus.OK);
+	}
+
 	/**
 	 * 修改用户
 	 *
@@ -664,6 +682,7 @@ public class UserController {
 		}
 		return new ResponseEntity<String>(HttpStatus.OK);
 	}
+
 	/**
 	 *
 	 * 通过UU号、手机号或邮箱查找用户

+ 7 - 0
src/main/java/com/uas/platform/b2c/common/account/service/UserService.java

@@ -92,6 +92,13 @@ public interface UserService {
 	 */
 	User save(User user);
 
+	/**
+	 * 保存用户角色信息
+	 * @param user
+	 * @return
+	 */
+	User saveUserRole(User user);
+
 	/**
 	 * 修改用户密码
 	 *

+ 55 - 0
src/main/java/com/uas/platform/b2c/common/account/service/impl/UserServiceImpl.java

@@ -396,7 +396,62 @@ public class UserServiceImpl implements UserService {
 			}
 			try {
 				userOld = userDao.save(userOld);
+			} catch (Exception e) {
+				throw new RuntimeException(e.getMessage());
+			}
+			if (SystemSession.getUser().getUserUU().equals(userOld.getUserUU())) {
+				userOld.setCurrentEnterprise(SystemSession.getUser().getEnterprise().getUu());
+				userOld.setCurrentEnterpriseRoles();
+				SystemSession.setUser(userOld);
+			}
+			return userOld;
+		} else {
+			throw new IllegalOperatorException("修改的用户不存在");
+		}
+	}
 
+	@Override
+	public User saveUserRole(User user) {
+		User userOld = userDao.findOne(user.getUserUU());
+		if (userOld != null) {
+			userOld.setUserEmail(user.getUserEmail());
+			userOld.setUserTel(user.getUserTel());
+			userOld.setUserName(user.getUserName());
+			// 修改用户角色,只对用户的当前企业的角色进行修改
+			if (!CollectionUtils.isEmpty(user.getRoles())) {
+				Set<Role> existRoles = userOld.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();
+						}
+					}
+				} else {
+					existRoles = new HashSet<>();
+				}
+				for (Role role : user.getRoles()) {
+					existRoles.add(role);
+				}
+				userOld.setRoles(existRoles);
+			} else {
+				Set<Role> existRoles = userOld.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();
+						}
+					}
+				}
+				userOld.setRoles(existRoles);
+			}
+			try {
+				userOld = userDao.save(userOld);
 			} catch (Exception e) {
 				throw new RuntimeException(e.getMessage());
 			}