/* * (non-Javadoc) * * @see * com.jcin.cms.service.system.IUserGroupRoleService#deleteBatch(List) */ @Override @Transactional public int deleteBatch(List<String> list) { UserGroupRoleCriteria userGroupRoleCriteria = new UserGroupRoleCriteria(); userGroupRoleCriteria.createCriteria().andIdIn(list); int result = userGroupRoleMapper.deleteByExample(userGroupRoleCriteria); super.deleteBatch(list); return result; }
@Override public UserGroupRole getByGroupId(String groupId) { UserGroupRoleCriteria userGroupRoleCriteria = new UserGroupRoleCriteria(); userGroupRoleCriteria.createCriteria().andUserGroupIdEqualTo(groupId); List<UserGroupRole> list = userGroupRoleMapper.selectByExample(userGroupRoleCriteria); if (list.size() > 0) { return list.get(0); } return null; }
/* * (non-Javadoc) * * @see * com.jcin.cms.service.system.IUserServiceShiro#findPermissions(java.lang * .String) */ @Override public Set<String> findPermissions(String username) { // ----------- 此处应该用sql去实现的,现在先用程序实现。 UserCriteria userCriteria = new UserCriteria(); UserCriteria.Criteria criteria = userCriteria.createCriteria(); criteria.andUsernameEqualTo(username); List<User> users = userMapper.selectByExample(userCriteria); List<UserGroup> userGroups = new ArrayList<UserGroup>(); // 查询用户组 for (User user : users) { UserGroupCriteria userGroupCriteria = new UserGroupCriteria(); UserGroupCriteria.Criteria cri = userGroupCriteria.createCriteria(); cri.andIdEqualTo(user.getUserGroupId()); userGroups.addAll(userGroupMapper.selectByExample(userGroupCriteria)); } List<UserGroupRole> userGroupRoles = new ArrayList<UserGroupRole>(); // 查询中间表 for (UserGroup userGroup : userGroups) { UserGroupRoleCriteria userGroupRoleCriteria = new UserGroupRoleCriteria(); UserGroupRoleCriteria.Criteria cri = userGroupRoleCriteria.createCriteria(); cri.andUserGroupIdEqualTo(userGroup.getId()); userGroupRoles.addAll(userGroupRoleMapper.selectByExample(userGroupRoleCriteria)); } List<Role> roles = new ArrayList<Role>(); // 查询角色表 for (UserGroupRole userGroupRole : userGroupRoles) { RoleCriteria roleCriteria = new RoleCriteria(); RoleCriteria.Criteria rolecri = roleCriteria.createCriteria(); rolecri.andIdEqualTo(userGroupRole.getRoleId()); roles.addAll(roleMapper.selectByExample(roleCriteria)); } List<RoleAuthorization> roleAuthorizations = new ArrayList<RoleAuthorization>(); for (Role role : roles) { RoleAuthorizationCriteria authorizationCriteria = new RoleAuthorizationCriteria(); RoleAuthorizationCriteria.Criteria roleAuthcri = authorizationCriteria.createCriteria(); roleAuthcri.andRoleIdEqualTo(role.getId()); roleAuthorizations.addAll(roleAuthorizationMapper.selectByExample(authorizationCriteria)); } List<Authorization> authorizations = new ArrayList<Authorization>(); for (RoleAuthorization roleAuthorization : roleAuthorizations) { AuthorizationCriteria authorizationCriteria = new AuthorizationCriteria(); AuthorizationCriteria.Criteria authcri = authorizationCriteria.createCriteria(); authcri.andIdEqualTo(roleAuthorization.getAuthorizationId()); authorizations.addAll(authorizationMapper.selectByExample(authorizationCriteria)); } Set<String> set = new HashSet<String>(); for (Authorization authorization : authorizations) { set.add(authorization.getName()); } return set; }
/* * (non-Javadoc) * * @see * com.jcin.cms.service.system.IUserGroupRoleService#select(com.jcin.cms.utils.Page) */ @Override public Page select(Page page) { super.select(page); // setOrderByClause("SER_NO asc , ORG_ID desc"); UserGroupRoleCriteria userGroupRoleCriteria = new UserGroupRoleCriteria(); userGroupRoleCriteria.setOrderByClause("id desc"); userGroupRoleCriteria.setPage(page); @SuppressWarnings("rawtypes") List list = userGroupRoleMapper.selectByExample(userGroupRoleCriteria); page.setRows(list); int total = userGroupRoleMapper.countByExample(userGroupRoleCriteria); page.setTotal(total); return page; }