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

📄 rolebizimpl.java

📁 通过这个系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;希望通过对销售机会、客户开发过程的追踪和记录
💻 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 + -