📄 rolefacade.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 + -