⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rolefacade.java

📁 struts2 spring2.5 jpa hibernate 权限管理系统源代码
💻 JAVA
字号:
package sunyang.role.service;

import java.util.List;

import sunyang.functions.dao.IFunctionDAO;
import sunyang.functions.domain.Function;
import sunyang.relationship.dao.*;
import sunyang.relationship.domain.*;
import sunyang.role.dao.IRoleDAO;
import sunyang.role.domain.Role;

public class RoleFacade implements IRoleFacade {
	private IRoleFunctionDAO rfd;
	private IFunctionDAO fd;
	private IRoleDAO rd;
	private IUserRoleDAO urd;

	// getter和setter方法省略
	public IUserRoleDAO getUrd() {
		return urd;
	}

	public void setUrd(IUserRoleDAO urd) {
		this.urd = urd;
	}

	public IRoleDAO getRd() {
		return rd;
	}

	public void setRd(IRoleDAO rd) {
		this.rd = rd;
	}

	public IRoleFunctionDAO getRfd() {
		return rfd;
	}

	public void setRfd(IRoleFunctionDAO rfd) {
		this.rfd = rfd;
	}

	public IFunctionDAO getFd() {
		return fd;
	}

	public void setFd(IFunctionDAO fd) {
		this.fd = fd;
	}

	// 查看当前角色可执行功能
	public List<Integer> hadRole(Role r) {
		return rfd.findFidByRid(r);
	}

	// 查找所有功能
	public List<Function> authorization(Role r) {
		return fd.findAll();
	}

	// 对角色授权
	public void changeRf(List<Integer> id, Role r) {
		// 判断是否设置角色可执行功能为空
		if (String.valueOf(id.get(0)).equals("ognl.NoConversionPossible")) {
			for (RoleFunction rf : rfd.findByProperty("role.id", r.getId())) {
				rfd.delete(rf);
			}
		} else {
			// 删除未被选定的角色可执行功能
			for (Integer j : rfd.findFidByRid(r)) {
				if (!id.contains(j)) {
					for (RoleFunction rf : rfd.findBy2Properties(
							"function.id", "role.id", j, r.getId())) {
						rfd.delete(rf);
					}
				}
			}
			// 增加选定的角色可执行功能
			for (Integer i : id) {
				if (rfd.findFidByRid(r).contains(i)) {
					continue;
				} else {
					RoleFunction rf = new RoleFunction();
					Function sf = new Function();
					rf.setRole(r);
					sf.setId(i);
					rf.setFunction(sf);
					rfd.save(rf);
				}
			}
		}
	}

	// 单查角色
	public Role findSingleRole(Role r) {
		return rd.findById(r.getId());
	}

	// 修改角色
	public void modifyRole(Role r) {
		rd.update(r);
	}

	// 新增角色
	public void newRole(Role r) {
		rd.save(r);
	}

	// 浏览全部角色
	public List<Role> operateRole() {
		return rd.findAll();
	}

	// 删除角色
	public void removeRole(Role r) {
		// 删除角色时将其在关联表中的所有数据删除
		for (RoleFunction roleFunction : rfd.findByProperty("role.id", r
				.getId())) {
			rfd.delete(roleFunction);
		}
		for (UserRole userRole : urd.findByProperty("role.id", r.getId())) {
			urd.delete(userRole);
		}
		rd.delete(r);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -