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>" +
" 欢迎您注册并使用Java激情组织的Jaguey论坛!<BR>" +
" Java激情组织是一个非盈利性技术组织,主要进行Java服务器端高级开发技术的讨论与交流。<BR>" +
" 希望您不仅仅可以通过Java激情组织获得技术上的提高,还希望您可以支持我们的工作,使<BR>" +
" Java激情组织得以发展、壮大!<BR><BR>" +
" 您的初始登录密码:" + pwd + "<BR>" +
" 请尽快进入论坛并修改您初始的密码!<BR><BR>" +
" <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>" +
" 欢迎您注册并使用Java激情组织的Jaguey论坛!<BR>" +
" 您的密码取回已经成功!请牢记您的新密码!<BR><BR>" +
" 新密码:" + pwd + "<BR>" +
" 请尽快进入论坛并修改您初始的密码!<BR><BR>" +
" 希望您继续支持与关注Java激情组织!谢谢!<BR><BR>" +
" <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 + -
显示快捷键?