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