/* * (non-Javadoc) * * @see * com.jcin.cms.service.system.IAuthorizationService#update(com.jcin.cms.service.system. * Authorization) */ @Override @Transactional public String update(Authorization record) { // super.update(record); record.setUpdateDate(new Date()); int result = authorizationMapper.updateByPrimaryKeySelective(record); return record.getId(); }
/* * (non-Javadoc) * * @see * com.jcin.cms.service.system.IAuthorizationService#insert(com.jcin.cms.service.system. * Authorization) */ @Override @Transactional public String insert(Authorization record) { super.insert(record); record.setCreateDate(new Date()); int result = authorizationMapper.insert(record); String id = record.getId(); return id; }
/* * (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; }