package net.handson.bank.bo;
import java.util.*;
import net.handson.bank.dao.*;
import net.handson.bank.entity.User;
public class UserBO {
private IUserDAO userDao = AbstractDAOFactory.getInstance().getUserDAO();
private User loginedUser;
private static UserBO instance = null;
private UserBO(){
}
public static UserBO getInstance(){
if(instance == null){
instance = new UserBO();
}
return instance;
}
/**
* 校验用户登录
* @param account 用户帐户
* @param password 用户密码
* @return 返回0:用户不存在;1:密码错误;2:登录成功
*/
public int login(String account,String password){
User user = userDao.findUserByAccount(account);
if(user == null){
return 0;
}
if(user.getPassword().equals(password)){
loginedUser = user;
return 2;
}
return 1;
}
/***
* 转帐时校验用户输入的密码;、
* @param password 用户密码
* @return 密码是否正确
*/
public boolean login(String password){
if(loginedUser.getPassword().equals(password)){
return true;
}
return false;
}
/**
* 管理员登录
* @param account 管理员帐户
* @param password 管理员帐户
* @return 返回0:用户不存在;1:密码错误;2:登录成功
*/
public int adminLogin(String account,String password){
if(!"admin".equals(account)){
return 0;
}
if(!"pass".equals(password)){
return 1;
}
return 2;
}
/***
* 普通用户存钱
* @param money 用户存入的金额
* @return 是否存入成功
*/
public boolean deposite(double money){
double balance = loginedUser.getBalance();
loginedUser.setBalance(balance+money);
return userDao.updateUser(loginedUser);
}
/***
* 用户转帐时,存入被转用户
* @param user 被转帐用户
* @param money 转入金额
* @return 是否转帐成功
*/
public boolean deposite(User user,double money){
double balance = user.getBalance();
user.setBalance(balance+money);
return userDao.updateUser(user);
}
/**
* 用户取款
* @param money 取款金额
* @return 返回是否取款成功
* @throws Exception 当余额不足时,抛出异常
*/
public boolean fetch(double money)throws Exception{
double balance = loginedUser.getBalance();
if(balance-money<0){
throw new Exception();
}else{
loginedUser.setBalance(balance-money);
return userDao.updateUser(loginedUser);
}
}
/***
* 查询当前用户信息
* @return 返回当前用户对象
*/
public User queryUserInfo(){
return loginedUser;
}
/**
* 管理员查询用户停息
* @param account 用户帐号
* @return 返回指定帐号的用户对象
*/
public User queryUserInfo(String account){
return userDao.findUserByAccount(account);
}
/**
*
* 修改密码
*
*/
public boolean userChangePassword(String password) {
loginedUser.setPassword(password);
return userDao.updateUser(loginedUser);
}
/***
* 用户转帐
* @param account 被转入帐号
* @param tranMoney
* @return
*/
public boolean transition(String account,double tranMoney){
User user=userDao.findUserByAccount(account);
boolean result=false;
if(user==null){
return false;
}else{
try {
if(!(result=fetch(tranMoney))){
return false;
}
deposite(user,tranMoney);
} catch (Exception e) {
if(result){
deposite(tranMoney);
}
return false;
}
}
return true;
}
/**
* 获取当前时间
* @return
*/
public Date getNowTime(){
long now = System.currentTimeMillis();
Date d = new Date(now);
return d;
}
/**
* 管理员开户
* @param account
* @param password
* @return
*/
public boolean openAccount(String account,String name,String password){
User user = new User();
user.setAccount(account);
user.setPassword(password);
user.setName(name);
user.setCreateTime(getNowTime());
return userDao.addUser(user);
}
public Object findUserByAccount(String account) {
return userDao.findUserByAccount(account);
}
public boolean deleAccount(String account) {
User user=(User)findUserByAccount(account);
if(user!=null){
return userDao.deleteUser(user);
}
return false;
}
public Map<String,User> getAllUser(){
return userDao.getMap();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
myeclipse+jdk java银行系统 (136个子文件)
DBUserDao.class 5KB
LoginUI.class 5KB
UserBO.class 4KB
TransitionUI.class 3KB
UserChangePassword.class 3KB
UserDAO.class 3KB
OpenAccountUI.class 3KB
QueryUserInfoUI.class 3KB
FetchUI.class 2KB
DepositeUI.class 2KB
DelUserUI.class 2KB
User.class 2KB
QueryBalanceUI.class 2KB
UI.class 2KB
DBConnection.class 2KB
AbstractDAOFactory.class 1KB
DAOFactory.class 1KB
Validator.class 931B
DBDAOFactory.class 571B
FileDAOFactory.class 569B
BankMain.class 535B
IUserDAO.class 422B
.classpath 573B
users.dat 771B
variablesAndContainers.dat 425B
properties.index 57B
version.ini 26B
Desk_top_.ini 9B
Desk_top_.ini 9B
UserBO.java 4KB
LoginUI.java 4KB
DBUserDao.java 4KB
TransitionUI.java 3KB
UserChangePassword.java 2KB
OpenAccountUI.java 2KB
UserDAO.java 2KB
FetchUI.java 2KB
DelUserUI.java 2KB
DepositeUI.java 2KB
QueryUserInfoUI.java 1KB
User.java 1KB
QueryBalanceUI.java 1KB
DBConnection.java 971B
Validator.java 872B
UI.java 808B
AbstractDAOFactory.java 800B
DAOFactory.java 649B
IUserDAO.java 389B
FileDAOFactory.java 362B
DBDAOFactory.java 333B
BankMain.java 199B
.lock 0B
.log 3KB
hibernate-tools.log 0B
org.eclipse.ui.workbench.prefs 2KB
com.genuitec.eclipse.wizards.prefs 1KB
org.eclipse.jdt.launching.prefs 507B
org.eclipse.jdt.ui.prefs 485B
org.eclipse.jdt.core.prefs 462B
org.eclipse.team.cvs.core.prefs 250B
org.eclipse.debug.ui.prefs 179B
org.eclipse.ui.ide.prefs 128B
com.genuitec.myeclipse.compatibility.prefs 116B
org.eclipse.team.ui.prefs 100B
com.genuitec.eclipse.easie.weblogic7.prefs 99B
com.genuitec.eclipse.easie.websphere6.prefs 99B
com.genuitec.eclipse.easie.orion2.prefs 99B
com.genuitec.eclipse.easie.weblogic10.prefs 99B
com.genuitec.eclipse.easie.jrun.prefs 99B
com.genuitec.eclipse.easie.weblogic.prefs 99B
com.genuitec.eclipse.easie.orion1.prefs 99B
com.genuitec.eclipse.easie.sunglassfish2.prefs 99B
com.genuitec.eclipse.easie.websphere61.prefs 99B
com.genuitec.eclipse.easie.oracle.prefs 99B
com.genuitec.eclipse.easie.sun81.prefs 99B
com.genuitec.eclipse.easie.jonas3.prefs 99B
com.genuitec.eclipse.easie.jonas.prefs 99B
com.genuitec.eclipse.easie.jboss2.prefs 99B
com.genuitec.eclipse.easie.tomcat6.prefs 99B
com.genuitec.eclipse.easie.jetty.prefs 99B
com.genuitec.eclipse.easie.jetty6.prefs 99B
com.genuitec.eclipse.easie.resin.prefs 99B
com.genuitec.eclipse.easie.resin2.prefs 99B
com.genuitec.eclipse.easie.tomcat5.prefs 99B
com.genuitec.eclipse.easie.oracle9.prefs 99B
com.genuitec.eclipse.easie.tomcat.myeclipse.prefs 99B
com.genuitec.eclipse.easie.sun8.prefs 99B
com.genuitec.eclipse.easie.tomcat.prefs 99B
com.genuitec.eclipse.easie.geronimo2.prefs 99B
com.genuitec.eclipse.easie.weblogic9.prefs 99B
com.genuitec.eclipse.easie.websphere5.prefs 99B
com.genuitec.eclipse.easie.oracle10.prefs 99B
com.genuitec.eclipse.easie.sunglassfish.prefs 99B
com.genuitec.eclipse.easie.weblogic6.prefs 99B
com.genuitec.eclipse.easie.jboss.prefs 99B
com.genuitec.eclipse.easie.jetty5.prefs 99B
com.genuitec.eclipse.easie.tomcat4.prefs 99B
com.genuitec.eclipse.easie.jetty4.prefs 99B
com.genuitec.eclipse.easie.core.prefs 99B
com.genuitec.eclipse.easie.resin3.prefs 99B
共 136 条
- 1
- 2
资源评论
wlz20
- 粉丝: 17
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功