📄 rolebizimpl.java
字号:
package com.t53.crm4.popedom.biz.impl;
import java.util.List;
import com.t53.crm4.common.PaginationBean;
import com.t53.crm4.common.entity.SysRight;
import com.t53.crm4.common.entity.SysRole;
import com.t53.crm4.common.entity.SysUser;
import com.t53.crm4.popedom.biz.IRoleBiz;
import com.t53.crm4.popedom.dao.IRightDAO;
import com.t53.crm4.popedom.dao.IRoleDAO;
import com.t53.crm4.popedom.dao.IUserDAO;
/**
* 权限业务逻辑
*
* @author crm4
*
*/
public class RoleBizImpl implements IRoleBiz {
private IUserDAO userDAO;
private IRoleDAO roleDAO;
private IRightDAO rightDAO;
/**
* 根据角色id获得角色
*/
public SysRole getRoleById(Long id) {
return roleDAO.get(id);
}
/**
* 得到所有的权限
*/
public List<SysRight> getAllRight() {
return rightDAO.getRightList();
}
/**
* 为角色指定权限
*/
public void assignRights(SysRole sysRole, String[] rights) {
for (String right : rights) {
// 要先保存父节点
SysRight sysRight = rightDAO.get(right);
sysRole.getSysRights().add(sysRight);
}
// 调用保存方法
roleDAO.saveOrUpdate(sysRole);
}
/**
* 删除角色
*/
public boolean delRoleById(Long id) {
int row = roleDAO.bulkUpdate(
"update SysRole set roleFlag = 0 where roleId=?", id);
if (row > 0)
return true;
return false;
}
/**
* 得到角色包含权限
*/
public SysRole getRoleWithRights(Long roleId) {
return roleDAO.getRoleWithRights(roleId);
}
/**
* 添加或保存修改角色 注意:一定要在保存或更新之前先往对象里赋值,要不然他会删除没有值的属性
*/
public void addOrUpdate(SysRole sysRole) {
SysRole sysRole2 = roleDAO.getRoleWithRights(sysRole.getRoleId());
sysRole.setSysRights(sysRole2.getSysRights());
roleDAO.saveOrUpdate(sysRole);
}
/**
* 处理登陆,并赋予权限
*/
public SysUser doLogin(SysUser user) {
// 检查是否存在用户
SysUser sysUser = userDAO.checkUser(user);
if (sysUser != null && sysUser.getSysRole() != null) {
// 根据查询出来的角色id去获得权限
sysUser.setSysRole(roleDAO.getRoleWithRights(sysUser.getSysRole()
.getRoleId()));
}
return sysUser;
}
/**
* 得到所有的权限列表
*/
public List<SysRole> getAllRightByRole() {
return roleDAO.getAllRightByRole();
}
/**
* 得到所有的可用角色
*/
public List<SysRole> getAllRole() {
return roleDAO.find("from SysRole where roleFlag=1");
}
/**
* 查询角色还分页
*/
public List<SysRole> getRoleByPagination(SysRole sysRole,
PaginationBean bean) {
if(sysRole.getRoleName()!=null && "".equals(sysRole.getRoleName().trim())){
sysRole.setRoleName(null);
}
List<SysRole> roleList = null;
// 获得总记录数
int maxCount = roleDAO.countByPagination(sysRole);
// 计算一共多少页并为当前多少页赋值
bean.countPageCount(maxCount);
if (maxCount > 0) {
roleList = roleDAO.findByPagination(sysRole,
(bean.getPageCount() - 1) * bean.getPerCount(), bean
.getPerCount());
}
return roleList;
}
/**
* 指定角色
*/
public void assignRole(SysUser sysUser) {
SysRole sysRole = roleDAO.get(sysUser.getSysRole().getRoleId());
sysUser.setSysRole(sysRole);
userDAO.saveOrUpdate(sysUser);
}
/**
* 添加角色
*/
public boolean addRole(SysRole sysRole) {
if (roleDAO.save(sysRole) != 0) {
return true;
}
return false;
}
public void setUserDAO(IUserDAO userDAO) {
this.userDAO = userDAO;
}
public void setRoleDAO(IRoleDAO roleDAO) {
this.roleDAO = roleDAO;
}
public void setRightDAO(IRightDAO rightDAO) {
this.rightDAO = rightDAO;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -