userinfooperimp.java

来自「jaguey,网上的一个朋友给我的」· Java 代码 · 共 247 行

JAVA
247
字号
package net.javapassion.jaguey.service.imp;

import java.util.List;
import net.javapassion.jaguey.core.*;
import net.javapassion.jaguey.bean.Mail;
import net.javapassion.jaguey.domain.UserInfo;
import net.javapassion.jaguey.dao.UserInfoDao;
import net.javapassion.jaguey.service.UserInfoOper;

//版本: JagueyBBS 1.1
//功能: 论坛用户业务逻辑实现
//作者: 赵程佳
//时间: 2006-02-13 16:34:51

public class UserInfoOperImp implements UserInfoOper {
	private UserInfoDao userInfoDao;
	
	//保存用户
	public String saveUserInfo(UserInfo userInfo) {
		MD5 md5 = new MD5();
		Mail mail = new Mail();
		try {
			UserInfo user = this.userInfoDao.getUserInfoById(userInfo.getUserId());
			if (user != null) {
				String pwd = RandomPwd.getRandomPwd();
				mail.setHost(Config.getInstance().getSmtp());
				mail.setUser(Config.getInstance().getMailuser());
				mail.setPassword(Config.getInstance().getMailpwd());
				mail.setFrom(Config.getInstance().getSmtpmail());
				mail.setTo(userInfo.getEMail());
				mail.setSubject("Java激情-欢迎注册");
				mail.setContent("尊敬的用户:<BR>" +
		                "您好!<BR>" +
		                "&nbsp;&nbsp;欢迎您注册并使用Java激情组织的Jaguey论坛!<BR>" +
		                "&nbsp;&nbsp;Java激情组织是一个非盈利性技术组织,主要进行Java服务器端高级开发技术的讨论与交流。<BR>" +
		                "&nbsp;&nbsp;希望您不仅仅可以通过Java激情组织获得技术上的提高,还希望您可以支持我们的工作,使<BR>" +
		                "&nbsp;&nbsp;Java激情组织得以发展、壮大!<BR><BR>" +
		                "&nbsp;&nbsp;您的初始登录密码:" + pwd + "<BR>" +
		                "&nbsp;&nbsp;请尽快进入论坛并修改您初始的密码!<BR><BR>" +
		                "&nbsp;&nbsp;<A href=http://www.javapassion.net/ target=_blank>进入论坛</A>");
				SendMail.sendMail(mail);
				user.setPassword(md5.getMD5ofStr(pwd));
				this.userInfoDao.saveUserInfo(user);
				return "success";
			} else {
				if (userInfo.getPassword() != null) {
					userInfo.setPassword(md5.getMD5ofStr(userInfo.getPassword()));
				}
				this.userInfoDao.saveUserInfo(userInfo);
				return "success";
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//删除用户
	public String deleteUserInfo(Long userId) {
		try {
			UserInfo userInfo = this.userInfoDao.getUserInfoById(userId);
			if (userInfo != null) {
				this.userInfoDao.deleteUserInfo(userInfo);
				return "success";
			} else {
				return "can't find data";
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//获取全部用户
	public List getUserInfos() {
		try {
			return this.userInfoDao.getUserInfos();
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//获取特定页用户
	public List getUserInfos(int pageNumber) {
		try {
			return this.userInfoDao.getUserInfos(Integer.parseInt(Config.getInstance().getUserrowspage().toString()), pageNumber);
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//获取用户的分页总页数
	public int getMaxPage() {
		int rowsPage = Integer.parseInt(Config.getInstance().getUserrowspage().toString());
		List maxRow = this.userInfoDao.getUserInfos();
		int maxRowCount = maxRow.size();
		if (maxRowCount % rowsPage == 0) {
			return maxRowCount / rowsPage;
		} else {
			return maxRowCount / rowsPage + 1;
		}
	}
	
	//通过编号获取用户
	public UserInfo getUserInfoById(Long userId) {
		try {
			UserInfo userInfo = this.userInfoDao.getUserInfoById(userId);
			if (userInfo != null) {
				return userInfo;
			} else {
				Log.warn("Use userId can't find UserInfo!");
				return null;
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//用户登录
	public String userLogin(UserInfo userInfo) {
		MD5 md5 = new MD5();
		try {
			UserInfo user = this.getUserInfoByName(userInfo.getUserName());
			if (user != null) {
				if (user.getPassword().equals(md5.getMD5ofStr(userInfo.getPassword()))) {
					return "success";
				} else {
					return "password wrong";
				}
			} else {
				return "account wrong";
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//密码取回
	public String getBackPwd(UserInfo userInfo) {
		MD5 md5 = new MD5();
		Mail mail = new Mail();
		try {
			UserInfo user = this.userInfoDao.getUserInfoByName(userInfo.getUserName());
			if (user != null) {
				if (user.getAnswer().equals(userInfo.getAnswer())) {
					String pwd = RandomPwd.getRandomPwd();
					mail.setHost(Config.getInstance().getSmtp());
					mail.setUser(Config.getInstance().getMailuser());
					mail.setPassword(Config.getInstance().getMailpwd());
					mail.setFrom(Config.getInstance().getSmtpmail());
					mail.setTo(user.getEMail());
					mail.setSubject("Java激情-取回密码");
					mail.setContent("尊敬的用户:<BR>" +
			                "您好!<BR>" +
			                "&nbsp;&nbsp;欢迎您注册并使用Java激情组织的Jaguey论坛!<BR>" +
			                "&nbsp;&nbsp;您的密码取回已经成功!请牢记您的新密码!<BR><BR>" +
			                "&nbsp;&nbsp;新密码:" + pwd + "<BR>" +
			                "&nbsp;&nbsp;请尽快进入论坛并修改您初始的密码!<BR><BR>" +
			                "&nbsp;&nbsp;希望您继续支持与关注Java激情组织!谢谢!<BR><BR>" +
			                "&nbsp;&nbsp;<A href=http://www.javapassion.net/ target=_blank>进入论坛</A>");
					SendMail.sendMail(mail);
					user.setPassword(md5.getMD5ofStr(pwd));
					this.saveUserInfo(user);
					return "success";
				} else {
					return "answer wrong";
				}
			} else {
				return "can't find data";
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return "failed";
		}
	}
	
	//获取特定角色用户
	public List getUserInfoByRole(Integer roleId) {
		try {
			return this.userInfoDao.getUserInfoByRole(roleId);
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//通过用户名字获取相似用户
	public List getUserInfosByName(String userName) {
		try {
			return this.userInfoDao.getUserInfoByLikeName(userName);
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//通过用户名字获取用户
	public UserInfo getUserInfoByName(String userName) {
		try {
			UserInfo userInfo = this.userInfoDao.getUserInfoByName(userName);
			if (userInfo != null) {
				return userInfo;
			} else {
				Log.warn("Use userName can't find UserInfo!");
				return null;
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	//获取论坛用户总数量
	public int getCountUser() {
		try {
			List list = this.userInfoDao.getUserInfos();
			return list.size();
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return 0;
		}
	}
	
	//创建用户编号
	public Long makeUserId() {
		try {
			UserInfo userInfo = this.userInfoDao.getUserInfoLast();
			if (userInfo != null) {
				return Long.valueOf(String.valueOf(Long.parseLong(userInfo.getUserId().toString()) + 1));
			} else {
				return Long.getLong("1");
			}
		} catch (Exception ex) {
			Log.error(ex.getMessage(), ex);
			return null;
		}
	}
	
	public void setUserInfoDao(UserInfoDao userInfoDao) {
		this.userInfoDao = userInfoDao;
	}
}

⌨️ 快捷键说明

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