sysuserservice.java

来自「管理公司合同」· Java 代码 · 共 194 行

JAVA
194
字号
/*
 * Created on 2006-10-16 12:54:21
 *
 * By Yehailong
 * Copyright juneng.com.cn, 2005-2006, All rights reserved.
 */
package cn.com.juneng.system.service;

import java.util.List;
import java.io.Serializable;

import cn.com.juneng.baseinfo.service.BaseinfoService;
import cn.com.juneng.baseinfo.vo.BaseinfoVOImpl;
import cn.com.juneng.system.common.COMMON;
import cn.com.juneng.system.common.SpringBeanFactory;
import cn.com.juneng.system.common.exception.SystemRuleException;
import cn.com.juneng.system.common.util.MD5;
import cn.com.juneng.system.vo.SysUserRoleVOImpl;
import cn.com.juneng.system.vo.SysUserVOImpl;
import cn.com.juneng.system.dao.SysUserDAO;

/**
 * service类,由Spring容器注入DAO实现,并管理事务性
 * 
 * @author yehailong
 */
public class SysUserService {
	private SysUserDAO sysUserDAO;
	private SysUserRoleService sysUserRoleService;

	/**
	 * spring注入dao实现
	 * 
	 * @param sysUserDAO
	 */
	public void setSysUserDAO(SysUserDAO sysUserDAO) {
		this.sysUserDAO = sysUserDAO;
	}

	public SysUserDAO getSysUserDAO() {
		return this.sysUserDAO;
	}
	
	public SysUserRoleService getSysUserRoleService() {
		return sysUserRoleService;
	}

	public void setSysUserRoleService(SysUserRoleService sysUserRoleService) {
		this.sysUserRoleService = sysUserRoleService;
	}

	public void remove(Serializable[] key) throws Exception {
		if (key != null) {
			for (int i = 0; i < key.length; i++) {
				sysUserDAO.remove(key[i]);
			}
		}
	}

	public SysUserVOImpl findByPrimaryKey(String key) throws Exception {
		return sysUserDAO.findByPrimaryKey(key);
	}

	public void create(Object obj) throws Exception {
		SysUserVOImpl vo = (SysUserVOImpl) obj;
		// 密码加密
		MD5 md5 = new MD5();
		vo.setPassword(md5.getMD5ofStr(vo.getPassword()));
		// 创建用户
	    BaseinfoService baseinfoService = (BaseinfoService)SpringBeanFactory.getBean("baseinfoService");
		List list=baseinfoService.getList(" xm='"+vo.getUsername()+"'","",0,Integer.MAX_VALUE);
		if(!COMMON.isEmpty(list)){
			BaseinfoVOImpl baseinfo=(BaseinfoVOImpl)list.get(0);
			vo.setZgid(baseinfo.getRid());
		} 
		sysUserDAO.create(obj);
		
		//将用户加入EveryOne组
		SysUserRoleVOImpl userRole = new SysUserRoleVOImpl();
		userRole.setUserId(vo.getUserId());
		userRole.setRoleId("1");//EveryOne角色ID默认为1
		this.getSysUserRoleService().create(userRole);
	}

	public void update(Object obj) throws Exception {
		SysUserVOImpl vo = (SysUserVOImpl) obj;
		BaseinfoService baseinfoService = (BaseinfoService)SpringBeanFactory.getBean("baseinfoService");
		List list=baseinfoService.getList(" xm='"+vo.getUsername()+"'","",0,Integer.MAX_VALUE);
		if(!COMMON.isEmpty(list)){
			BaseinfoVOImpl baseinfo=(BaseinfoVOImpl)list.get(0);
			vo.setZgid(baseinfo.getRid());
		} 
		sysUserDAO.update(obj);
	}

	public List getList(String queryHql, String orderHql, int start,
			int maxResults) throws Exception {
		String hql = "from SysUserVOImpl ";
		if (!COMMON.isEmpty(queryHql)) {
			hql += "where " + queryHql;
		}
		if (COMMON.isEmpty(orderHql)) {
			orderHql = " order by userId desc";
		}
		hql += " " + orderHql;

		return sysUserDAO.find(hql, start, maxResults);
	}

	public int getRowCount(String queryHql) {
		String hql = "from SysUserVOImpl ";
		if (!COMMON.isEmpty(queryHql)) {
			hql += "where " + queryHql;
		}
		return sysUserDAO.getRowCount(hql, null);
	}

	/**
	 * 根据用户帐号查找用户对象
	 * 
	 * @param account
	 * @return
	 * @throws Exception
	 */
	public SysUserVOImpl findByAccount(String account) throws Exception {
		String hql = "from SysUserVOImpl where account = '" + account + "'";
		List list = this.getSysUserDAO().getHibernateTemplate().find(hql);
		if (COMMON.isEmpty(list)) {
			return null;
		}
		return (SysUserVOImpl) list.get(0);
	}

	/**
	 * 用户登录服务
	 * 
	 * @param account
	 * @param password
	 * @return
	 * @throws Exception
	 */
	public SysUserVOImpl login(String account, String password)
			throws Exception {
		SysUserVOImpl user = this.findByAccount(account);
		if (user == null) {
			throw new SystemRuleException("用户不存在");
		}
		MD5 md5 = new MD5();
		if (!md5.getMD5ofStr(password).equals(user.getPassword())) {
			throw new SystemRuleException("用户密码错误");
		}
		return user;
	}

	/**
	 * 初始化用户密码
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public String initPassword(SysUserVOImpl user) throws Exception {
		String INIT_PASSWORD = "1234";
		String hql = "update SysUserVOImpl set password = ? where userId = ?";
		MD5 md5 = new MD5();
		this.getSysUserDAO()
				.update(
						hql,
						new Object[] { md5.getMD5ofStr(INIT_PASSWORD),
								user.getUserId() });
		return INIT_PASSWORD;
	}
	
	/**
	 * 修改用户密码
	 * 
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public void updatePassword(SysUserVOImpl user,String password) throws Exception {
		
		String hql = "update SysUserVOImpl set password = ? where userId = ?";
		MD5 md5 = new MD5();
		this.getSysUserDAO()
				.update(
						hql,
						new Object[] { md5.getMD5ofStr(password),
								user.getUserId() });
		//return INIT_PASSWORD;
	}

}

⌨️ 快捷键说明

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