/**
  * 更新
  *
  * @param role
  * @param redirectAttributes
  * @param ids
  * @return String
  */
 @RequiresPermissions("role:edit")
 @RequestMapping(value = "/update", method = RequestMethod.POST)
 public String update(WRole role, RedirectAttributes redirectAttributes, Long... ids) {
   if (!isValid(role)) {
     return ERROR_VIEW;
   }
   role.setResoures(resourceService.getList(ids));
   roleService.update(role, role.getId(), "accounts", "categorys");
   addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
   return "redirect:/admin/role";
 }
 /**
  * 删除
  *
  * @param ids
  */
 @RequiresPermissions("role:delete")
 @RequestMapping(value = "/delete", method = RequestMethod.POST)
 public @ResponseBody Message delete(Long[] ids) {
   if (ids != null) {
     for (Long id : ids) {
       WRole role = roleService.load(id);
       if (role.getAccounts() != null && !role.getAccounts().isEmpty()) {
         return Message.error("admin.role.deleteExistNotAllowed", role.getRoleName());
       }
     }
     roleService.delete(ids);
     return SUCCESS_MESSAGE;
   }
   return ERROR_MESSAGE;
 }
 /**
  * 保存
  *
  * @param role
  * @param ids
  * @return String
  */
 @RequiresPermissions("role:create")
 @RequestMapping(value = "/save", method = RequestMethod.POST)
 public String save(WRole role, RedirectAttributes redirectAttributes, Long... ids) {
   if (!isValid(role)) {
     return ERROR_VIEW;
   }
   role.setResoures(resourceService.getList(ids));
   roleService.save(role);
   addFlashMessage(redirectAttributes, SUCCESS_MESSAGE);
   return "redirect:/admin/role";
 }