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

📄 sysuserserviceimpl.java

📁 oa办公系统
💻 JAVA
字号:
/**
 * FileName:SysUserServiceImpl.java,v 1.0 created in 2008-11-7 下午02:47:38
 * Created by lv
 * Copyright (c) 2008 华东交通大学
 * All Rights Reserved.
 */
package cn.jx.ecjtu.oa.services.impl;

import java.util.List;

import cn.jx.ecjtu.oa.ps.dao.DaoFactory;
import cn.jx.ecjtu.oa.ps.dao.LoginUserDao;
import cn.jx.ecjtu.oa.ps.pojo.LoginUser;
import cn.jx.ecjtu.oa.ps.pojo.Permission;
import cn.jx.ecjtu.oa.ps.pojo.Role;
import cn.jx.ecjtu.oa.services.Result;
import cn.jx.ecjtu.oa.services.ResultType;
import cn.jx.ecjtu.oa.services.SysUserService;
import cn.jx.ecjtu.oa.ps.pojo.Dept;
import cn.jx.ecjtu.oa.ps.dao.DeptDao;

/**
 * @todo:Description
 * @author lv
 * @version $Revision: 1.33 $
 * @since 1.0
 */

public class SysUserServiceImpl implements SysUserService{
	
	private  LoginUserDao userDao = (LoginUserDao)DaoFactory.getDao(LoginUserDao.class);
	private  DeptDao deptDao=(DeptDao)DaoFactory.getDao(DeptDao.class);
	
/*
	 * 调用dao中的addUser方法,将新用户添加进数据库
	 * @see cn.jx.ecjtu.oa.services.SysUserService#addLoginUser(java.lang.String, java.lang.String, int, int)
	 * created by 陈君鸿
	 */
	public Result addLoginUser(String loginName, String realName, int deptId, int roleId) {
		Result rs= new Result();
		LoginUser loginuser=new LoginUser();
		
		loginuser.setLoginName(loginName);
		loginuser.setRealName(realName);
		loginuser.setPassWord(loginName);
		loginuser.setDeptID(deptId);
		loginuser.setRoleId(roleId);
		try{
			userDao.addUser(loginuser);
		}catch(Exception e){
			   rs=new Result();
			   rs.setRet(ResultType.RET_EXCEPTION);
			   rs.setMessage("添加用户出现错误");
			   return rs;
		}
		rs=new Result();
		rs.setMessage("添加用户成功");
		rs.setRet(ResultType.RET_SUCCESS);
		return rs;
	}
	/* (non-Javadoc)
	 * @see cn.jx.ecjtu.oa.services.SysUserService#updateLoginUser(java.lang.String, java.lang.String, int, int)
	 */
	public Result updateLoginUser(int id , String loginName, String realName, int deptId, int roleId) {
		LoginUser loginUser = userDao.findById(id);
		loginUser.setLoginName(loginName);
		loginUser.setRealName(realName);
		loginUser.setDeptID(deptId);
		loginUser.setRoleId(roleId);
		Result result = new Result();
		int row = 0;
		try{
			row = userDao.updateUser(loginUser);
			if(row==0){
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("更新用户失败");
			}
			else{
				result.setRet(ResultType.RET_SUCCESS);
				result.setMessage("更新用户成功");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("更新用户出现异常");
			result.setAttribute("exception", e);
		}
		return result;
	}

	/**
	 * TODO:查找所有权限
	 * @return 权限列表
	 *List<Permission>
	 */
	public List<Permission> getAllPermission(){
		return  userDao.findAllPermissions();
	}
	/* (non-Javadoc) 
	 * @see cn.jx.ecjtu.oa.services.SysUserService#checkUser(java.lang.String, java.lang.String)
	 */
	public LoginUser checkUser(String login_name, String password) {
		LoginUser user=userDao.findByLoginName(login_name);
		if(user==null) return null;
		if(user.getPassWord().equals(password)){
			return user;
		}
		return null;
	}

/* 将对应此id的用户的密码清空,并返回操作结果的提示信息Result
	 * @see cn.jx.ecjtu.oa.services.SysUserService#clearPassword(int)
	 * created by yfjie
	 */
	public Result clearPassword(int id) {
		Result result = new Result();
		int row =  0 ;
		if(id<=0){
			result.setRet(ResultType.RET_FAIL);
			result.setMessage("恶意从地址栏传入错误参数");
		}
		try{
			row = userDao.setPwdNull(id);
			if(row==0){
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("清除密码失败!!!");
			}else{
				result.setRet(ResultType.RET_SUCCESS);
				result.setMessage("清除密码成功^_^");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("清除密码的时候出现异常");
			result.setAttribute("exception", e);
		}
		return result;
	}

	/* TODO(non-Javadoc)
	 * @see cn.jx.ecjtu.oa.services.SysUserService#DeleteUser(int)
	 * created by fyong
	 */
	public Result DeleteUser(int id) {
		Result result = new Result();
		int row = 0;
		try{
			row = userDao.removeUser(id);
			if(row==0){
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("删除用户失败");
			}
			else{
				result.setRet(ResultType.RET_SUCCESS);
				result.setMessage("删除用户成功");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("删除用户出现异常");
			result.setAttribute("exception", e);
		}
		return result;
	}

	/* TODO 获得所有的用户角色列表
	 * create by yuankai
	 * @see cn.jx.ecjtu.oa.services.SysUserService#getAllRole()
	 */
	public List<Role> getAllRole() {
		
		return this.userDao.findAllRole();
	}

	/* TODO 根据ID查找用户
	 * create by yuankai
	 * @see cn.jx.ecjtu.oa.services.SysUserService#getLoginUserInfo(int)
	 */
	public LoginUser getLoginUserInfo(int id) {
		
		return this.userDao.findById(id);
	}

	/* TODO 根据loginName查找用户
	 * @see cn.jx.ecjtu.oa.services.SysUserService#getLoginUserInfo(java.lang.String)
	 */
	public LoginUser getLoginUserInfo(String loginName) {
		// TODO Auto-generated method stub
		return this.userDao.findByLoginName(loginName);
	}

	/* (non-Javadoc)
	 * @see cn.jx.ecjtu.oa.services.SysUserService#getPermissionsByRoleId(int)
	 * created by lv
	 */
	public List<Permission> getPermissionsByRoleId(int RoleId) {
		return userDao.findPermissionIdByRoleId(RoleId);
	}

	/* (non-Javadoc)
	 * @see cn.jx.ecjtu.oa.services.SysUserService#getTopUsers(int)
	 * created by zwp
	 */
	public Result getTopUsers(int n) {
		Result result=new Result();
		try{
			List<LoginUser>list = userDao.findTopUsers(n);
		/*	for (LoginUser user : list) {
				user.setOnlineTime(onlineTime)
			}*/
			if(list!=null){
				result.setAttribute("users", list);
				result.setRet(ResultType.RET_SUCCESS);
			}else{
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("查询在线时长排行前"+n+"的用户失败");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("查询在线时长排行前"+n+"的用户出现异常");
		}
			return result;
	}

	/* (non-Javadoc)
	 * @see cn.jx.ecjtu.oa.services.SysUserService#getUserInfoByDeptId(int, java.util.List)
	 */
	public Result getUserInfoByDeptId(int deptId) {
		Result result=new Result();
		
		List<LoginUser>list=userDao.findUserByDeptId(deptId);
		if(list.size()==0){
			result.setAttribute("users", list);
			result.setRet(ResultType.RET_FAIL);
			result.setMessage("该部门没有职员!");
		}
		else{
			result.setAttribute("users", list);
			result.setRet(ResultType.RET_SUCCESS);
			result.setMessage("查找用户成功");
		}
		return result;
	}

	/* (non-Javadoc)
	 * @see cn.jx.ecjtu.oa.services.SysUserService#getUsersByIds(java.util.List)
	 */
	public List<LoginUser> getUsersByIds(List<Integer> ids) {
		return userDao.findByIds(ids);
	}

	/* TODO 对数据库中用户的基本信息中在线时长进行更新
	 * @see cn.jx.ecjtu.oa.services.SysUserService#modifyOnlineTime(cn.jx.ecjtu.oa.ps.pojo.LoginUser)
	 */
	public Result modifyOnlineTime(LoginUser loginUser) {
		Result result = new Result();
		try{
			 userDao.updateOnlineTime(loginUser);
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("修改在线时长出现异常");
		}
		return result ;
		
		/*Result rs= new Result();
		if(userDao.updateOnlineTime(loginUser)>0)//修改成功
		{	
		    rs.setRet(ResultType.RET_SUCCESS);
		    return rs;
		}
	    rs.setRet(ResultType.RET_FAIL);//修改失败
	    return rs;*/
	}

	/* (non-Javadoc)
	 * @see cn.jx.ecjtu.oa.services.SysUserService#setRolePermission(int, int)
	 * created by lv
	 */
	public Result UpdateRolePermission(int roleId, List<Integer>permissionIds) {
		Result result = new Result();
		int row = 0;
		try{
			userDao.deletePermissionFromRole(roleId);
		}catch(Exception e){
			
		}
		if(permissionIds.size()==0){
			result.setRet(ResultType.RET_SUCCESS);
			result.setMessage("已经清空该角色的所有权限");
		}else{
			try{
				row = userDao.addPermissionToRole(roleId, permissionIds);
				if(row==0){
					result.setRet(ResultType.RET_FAIL);
					result.setMessage("给角色分配权限失败");
				}else{
					result.setRet(ResultType.RET_SUCCESS);
					result.setMessage("成功分配权限");
				}
			}catch(Exception e){
				result.setRet(ResultType.RET_EXCEPTION);
				result.setMessage("给角色分配权限出现异常");
				result.setAttribute("exception", e);
			}
		}
		return result;
	}
	
	/*
	 * 查找所有部门(调用B组Dao方法List<Dept> findAllDept(); )
	 * @see cn.jx.ecjtu.oa.services.SysUserService#addLoginUser(java.lang.String, java.lang.String, int, int)
	 * created by 陈君鸿
	 */
	public List<Dept> findAllDept() {
		List<Dept> list=deptDao.findAllDept();
		return list;
	}
	/**
	 * 添加权限
	 */
	public Result addPermission(String name,String resource) {
		Result result = new Result();
		Permission permission = new Permission();
		permission.setName(name);
		permission.setResource(resource);
		int row = 0;
		try{
			row = userDao.addPermission(permission);
			if(row==0){
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("添加权限失败");
			}else{
				result.setRet(ResultType.RET_SUCCESS);
				result.setMessage("成功添加权限");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("添加权限出现异常");
			result.setAttribute("exceptione", e);
		}
		return result;
	}
	/**
	 * 添加新角色 
	 */
	public Result addRole(String name) {
		Result result = new Result();
		int row = 0;
		try{
			row = userDao.addRole(name);
			if(row==0){
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("添加角色失败");
			}else{
				result.setRet(ResultType.RET_SUCCESS);
				result.setMessage("成功添加角色");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("添加角色出现异常");
			result.setAttribute("exceptione", e);
		}
		return result;
	}
	/**
	 * 用户更新自己的密码
	 */
	public Result updatePassword(int id, String password) {
		Result result = new Result();
		int row = 0;
		try{
			row = userDao.updatePassword(id, password);
			if(row==0){
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("更新密码失败");
			}
			else{
				result.setRet(ResultType.RET_SUCCESS);
				result.setMessage("更新密码成功");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("更新密码出现异常");
			result.setAttribute("exception", e);
		}
		return result;
	}
	/**
	 * 通过角色id查找对应角色
	 */
	public Role findRoleById(int roleid){
		Role role= userDao.findRole(roleid);
		if(role != null){
			role.setPermissions(userDao.findPermissionIdByRoleId(roleid));
			
		}
		return role;
	}
	
	/* (non-Javadoc)
	 * @see cn.jx.ecjtu.oa.services.SysUserService#findAllUser()
	 */
	public List<LoginUser> findAllUser() {
		return userDao.findAllUser();
	}
	public Result removePermission(int permissionId) {
		Result result = new Result();
		int row = 0;
		try{
			userDao.delete_permission_map(permissionId);
			row = userDao.deletePermission(permissionId);
			if(row==0){
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("删除权限失败");
			}else{
				result.setRet(ResultType.RET_SUCCESS);
				result.setMessage("成功删除权限");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("删除权限出现异常");
			result.setAttribute("exceptione", e);
		}
		return result;
	}
	public Result removeRole(int roleId) {
		Result result = new Result();
		int row = 0;
		try{
			//当数据库的表间建立了外键关系时,以下三行代码的执行顺序必须这样
			userDao.updateRole(roleId);
			userDao.deletePermissionFromRole(roleId);
			row = userDao.deleteRole(roleId);
			
			if(row==0){
				result.setRet(ResultType.RET_FAIL);
				result.setMessage("删除角色失败");
			}else{
				result.setRet(ResultType.RET_SUCCESS);
				result.setMessage("删除添加角色");
			}
		}catch(Exception e){
			result.setRet(ResultType.RET_EXCEPTION);
			result.setMessage("删除角色出现异常");
			result.setAttribute("exceptione", e);
			return result;
		}
		return result;
	}
	
	/**
	 * 测试用方法
	 *//*
	public Object getNum(String sql){
		return userDao.getNum(sql);
	}*/
	
	
}

⌨️ 快捷键说明

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