@RequestMapping("user-status-save") public String save( @ModelAttribute UserStatus userStatus, @RequestParam("confirmPassword") String confirmPassword, RedirectAttributes redirectAttributes) { try { userStatusChecker.check(userStatus); if (userStatus.getPassword() != null) { if (!userStatus.getPassword().equals(confirmPassword)) { messageHelper.addFlashMessage( redirectAttributes, "user.user.input.passwordnotequals", "两次输入密码不符"); return "auth/user-status-input"; } if (customPasswordEncoder != null) { userStatus.setPassword(customPasswordEncoder.encode(userStatus.getPassword())); } } UserStatus dest = null; Long id = userStatus.getId(); if (id != null) { dest = userStatusManager.get(id); beanMapper.copy(userStatus, dest); } else { dest = userStatus; } if (id == null) { dest.setUserRepoRef(ScopeHolder.getUserRepoRef()); dest.setScopeId(ScopeHolder.getScopeId()); } userStatusManager.save(dest); messageHelper.addFlashMessage(redirectAttributes, "core.success.save", "保存成功"); } catch (CheckUserStatusException ex) { logger.warn(ex.getMessage(), ex); messageHelper.addFlashMessage(redirectAttributes, ex.getMessage()); return "auth/user-status-input"; } return "redirect:/auth/user-status-list.do"; }
public String input() { if (userText != null) { for (String str : userText.split("\n")) { str = str.trim(); if (str.length() == 0) { continue; } String username = str; UserDTO userDto = userConnector.findByUsername(username, ScopeHolder.getUserRepoRef()); if (userDto == null) { addActionMessage(str + " is not exists."); } else { UserStatus userStatus = authService.createOrGetUserStatus( username, userDto.getId(), ScopeHolder.getUserRepoRef(), ScopeHolder.getScopeId()); try { userStatusChecker.check(userStatus); userStatuses.add(userStatus); } catch (CheckUserStatusException ex) { addActionMessage(ex.getMessage()); } } } } roles = roleManager.find("from Role where scopeId=?", ScopeHolder.getScopeId()); roleDtos.addAll(convertRoleDtos(roles, false)); List<ScopeInfo> sharedScopeInfos = scopeConnector.findSharedScopes(); logger.info("{}", sharedScopeInfos); for (ScopeInfo scopeInfo : sharedScopeInfos) { List<Role> sharedRoles = authService.findRoles(scopeInfo.getId()); roleDtos.addAll(convertRoleDtos(sharedRoles, true)); } return INPUT; }
@RequestMapping("user-status-batch-input") public String input( @RequestParam(value = "userText", required = false) String userText, Model model, RedirectAttributes redirectAttributes) { if (userText != null) { List<UserStatus> userStatuses = new ArrayList<UserStatus>(); for (String str : userText.split("\n")) { str = str.trim(); if (str.length() == 0) { continue; } UserStatus userStatus = userStatusManager.findUnique( "from UserStatus where username=? and userRepoRef=?", str, tenantHolder.getUserRepoRef()); if (userStatus == null) { messageHelper.addFlashMessage(redirectAttributes, str + " is not exists."); } else { try { userStatusChecker.check(userStatus); userStatuses.add(userStatus); } catch (CheckUserStatusException ex) { logger.warn(ex.getMessage(), ex); messageHelper.addFlashMessage(redirectAttributes, ex.getMessage()); } } } model.addAttribute("userStatuses", userStatuses); } List<Role> roles = roleManager.find("from Role where tenantId=?", tenantHolder.getTenantId()); model.addAttribute("roles", roles); return "auth/user-status-batch-input"; }
@RequestMapping("user-status-remove") public String remove( @RequestParam("selectedItem") List<Long> selectedItem, RedirectAttributes redirectAttributes) { try { List<UserStatus> userStatuses = userStatusManager.findByIds(selectedItem); for (UserStatus userStatus : userStatuses) { userStatusChecker.check(userStatus); } userStatusManager.removeAll(userStatuses); messageHelper.addFlashMessage(redirectAttributes, "core.success.delete", "删除成功"); } catch (CheckUserStatusException ex) { logger.warn(ex.getMessage(), ex); messageHelper.addFlashMessage(redirectAttributes, ex.getMessage()); } return "redirect:/auth/user-status-list.do"; }