@Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @Path("/delete") @POST public String delete(@FormParam("jsonString") String jsonString) { Authority authority = JsonMapper.buildNonDefaultMapper().fromJson(jsonString, Authority.class); String authorityName = authority.getName(); int numDeleted = authorityPowerService.deleteByAuthorityName(authorityName); int result = authorityService.delete(authority); List<UserAuthority> userAuthorityList = userAuthorityService.findByAuthorityName(authorityName); if (userAuthorityList.size() > 0) { for (UserAuthority ua : userAuthorityList) { String userName = ua.getUserName(); User user = userService.findByName(userName); String role = user.getRole(); String[] roles = role.split(";"); String[] newRoles = new String[roles.length - 1]; int temp = 0; for (int i = 0; i < roles.length; i++) { if (!roles[i].equals(authorityName)) { newRoles[temp] = roles[i] + ";"; temp++; } } String roles2 = ""; String nr; for (int i = 0; i < newRoles.length; i++) { roles2 += newRoles[i]; } if (roles2.equals("")) { nr = ""; } else { nr = roles2.substring(0, roles2.length() - 1); } user.setRole(nr); userService.update(user); userAuthorityService.delete(ua); } } if ((result > 0) && (numDeleted >= 0)) { return JsonResultUtils.getCodeAndMesByStringAsDefault(JsonResultUtils.Code.SUCCESS); } else { return JsonResultUtils.getCodeAndMesByStringAsDefault(JsonResultUtils.Code.ERROR); } }
@Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @Path("/update") @POST public String update(@FormParam("jsonString") String jsonString) { SubAuthority subAuthority = JsonMapper.buildNonDefaultMapper().fromJson(jsonString, SubAuthority.class); long authorityId = subAuthority.getId(); String authorityName = subAuthority.getName(); String authorityDescription = subAuthority.getDescription(); int authorityStatus = subAuthority.getStatus(); String resource = subAuthority.getResource(); Authority authority = new Authority(); authority.setId(authorityId); authority.setName(authorityName); authority.setDescription(authorityDescription); authority.setStatus(authorityStatus); int deleted = authorityPowerService.deleteByAuthorityName(authorityName); if (deleted >= 0) { int result = authorityService.update(authority); String[] resourceArray = resource.split(";"); for (int i = 0; i < resourceArray.length; i++) { Long powId = powerService.getIdByResource(resourceArray[i]); AuthorityPower authorityPower = new AuthorityPower(); authorityPower.setAuthorityId(authorityId); authorityPower.setPowerId(powId); authorityPower.setPowerResource(resourceArray[i]); authorityPower.setAuthorityName(authorityName); authorityPowerService.add(authorityPower); } if (result > 0) { return JsonResultUtils.getCodeAndMesByStringAsDefault(JsonResultUtils.Code.SUCCESS); } else { return JsonResultUtils.getCodeAndMesByStringAsDefault(JsonResultUtils.Code.ERROR); } } else { return JsonResultUtils.getCodeAndMesByStringAsDefault(JsonResultUtils.Code.ERROR); } }