package cn.com.tarena.weibing.bank.biz;
import java.util.Date;
import java.util.List;
import org.hibernate.Transaction;
import cn.com.tarena.weibing.bank.common.util.HibernateUtil;
import cn.com.tarena.weibing.bank.dao.IAccountDao;
import cn.com.tarena.weibing.bank.dao.ICustomerDao;
import cn.com.tarena.weibing.bank.dao.IRecordDao;
import cn.com.tarena.weibing.bank.dao.factory.DAOFactory;
import cn.com.tarena.weibing.bank.dao.impl.AccountDaoImpl;
import cn.com.tarena.weibing.bank.dao.impl.CustomerDaoImpl;
import cn.com.tarena.weibing.bank.dao.impl.RecordDaoImpl;
import cn.com.tarena.weibing.bank.exception.OnlineBankException;
import cn.com.tarena.weibing.bank.pojo.Account;
import cn.com.tarena.weibing.bank.pojo.Record;
public class AccountManager
{
ICustomerDao dao1 = (CustomerDaoImpl)DAOFactory.getDAO(ICustomerDao.class.getName());
IAccountDao dao2 = (AccountDaoImpl)DAOFactory.getDAO(IAccountDao.class.getName());
IRecordDao dao3 = (RecordDaoImpl)DAOFactory.getDAO(IRecordDao.class.getName());
/**
* 从数据库中查询所有的帐户,并返回一个List集合
* @return List<Account>
* @throws OnlineBankException
*/
public List<Account> getAllAccounts() throws OnlineBankException
{
List<Account> list = null;
Transaction tran = null;
try {
//开始一个事务
tran = HibernateUtil.getCurrentSession().beginTransaction();
//执行事务
list = dao2.findAllAccounts();
//提交事务
tran.commit();
} catch (OnlineBankException e) {
//如果出现异常,就撤消事务
if( tran != null) tran.rollback();
e.printStackTrace();
}finally{
//不管事务执行成功与否,最后都要关闭Session
//HibernateUtil.getCurrentSession().close();
}
return list;
}
/**
* 通过帐号num从数据库中加载一个Customer对象
* @param num
* @return Account
* @throws OnlineBankException
*/
public Account getAccountByNum(String num) throws OnlineBankException
{
Account act = null;
Transaction tran = null;
try {
//开始一个事务
tran = HibernateUtil.getCurrentSession().beginTransaction();
//执行事务
act = dao2.loadAccount(num);
//提交事务
tran.commit();
} catch (OnlineBankException e) {
//如果出现异常,就撤消事务
if( tran != null) tran.rollback();
e.printStackTrace();
}finally{
//不管事务执行成功与否,最后都要关闭Session
//HibernateUtil.getCurrentSession().close();
}
return act;
}
/**
* 在帐号为num的帐户上存款amount
* @param num
* @param amount
* @return String
* @throws OnlineBankException
*/
public String deposite(String num, double amount) throws OnlineBankException
{
Account act = null;
Transaction tran = null;
String str = null;
try {
//开始一个事务
tran = HibernateUtil.getCurrentSession().beginTransaction();
//执行事务
act=dao2.loadAccount(num); //返回一个帐户对象
if(act == null)
{
str = "对不起你,你输入的帐号不存在!";
return str;
}
act.deposite(amount); //调用该对象的取款方法
dao2.saveAccount(act); //更新保存帐户
str = "存款操作已成功!目前你的帐户余额为:"+act.getBalance();
/** 操作记录的保存 */
Date date=new Date();
Record record = new Record(act,act.getCustomer(),"存款",date.toString(),amount);
dao3.saveRecord(record);
//提交事务
tran.commit();
} catch (OnlineBankException e) {
//如果出现异常,就撤消事务
if( tran != null) tran.rollback();
e.printStackTrace();
}finally{
//不管事务执行成功与否,最后都要关闭Session
//HibernateUtil.getCurrentSession().close();
}
return str;
}
/**
* 在帐号为num的帐户上取款amount
* @param num
* @param amount
* @return String
* @throws OnlineBankException
*/
public String withdraw(String num, double amount) throws OnlineBankException
{
Account act = null;
Transaction tran = null;
String str = null;
try {
//开始一个事务
tran = HibernateUtil.getCurrentSession().beginTransaction();
//执行事务
act=dao2.loadAccount(num); //返回一个帐户对象
if(act == null)
{
str = "对不起你,你输入的帐号不存在!";
}else if(act.getBalance() >= amount)
{
act.withdraw(amount); //调用该对象的取款方法
dao2.saveAccount(act); //更新保存帐户
/** 操作记录的保存 */
Date date=new Date();
Record record = new Record(act,act.getCustomer(),"取款",date.toString(),amount);
dao3.saveRecord(record);
str = "取款操作已成功!目前你的帐户余额为:"+act.getBalance();
}else
{
str = "对不起,你的帐户余额不足!";
}
//提交事务
tran.commit();
} catch (OnlineBankException e) {
//如果出现异常,就撤消事务
if( tran != null) tran.rollback();
e.printStackTrace();
}finally{
//不管事务执行成功与否,最后都要关闭Session
//HibernateUtil.getCurrentSession().close();
}
return str;
}
/**
* 查询帐户余额
* @param num
* @return String
* @throws OnlineBankException
*/
public String getBalance(String num) throws OnlineBankException
{
Account act = null;
Transaction tran = null;
String str = null;
try {
//开始一个事务
tran = HibernateUtil.getCurrentSession().beginTransaction();
//执行事务
act=dao2.loadAccount(num); //返回一个帐户对象
if(act == null)
{
str = "对不起你,你输入的帐号不存在!";
return str;
}
str = "目前你的帐户余额为:"+act.getBalance();
//提交事务
tran.commit();
} catch (OnlineBankException e) {
//如果出现异常,就撤消事务
if( tran != null) tran.rollback();
e.printStackTrace();
}finally{
//不管事务执行成功与否,最后都要关闭Session
//HibernateUtil.getCurrentSession().close();
}
return str;
}
/**
* 转帐
* @param FromNum
* @param ToNum
* @param amount
* @return String
* @throws OnlineBankException
*/
public String transfer(String FromNum, String ToNum, double amount) throws OnlineBankException
{
Account act1 = null;
Account act2 = null;
Transaction tran = null;
String str = null;
try {
//开始一个事务
tran = HibernateUtil.getCurrentSession().beginTransaction();
//执行事务
act1=dao2.loadAccount(FromNum); //返回一个帐户对象
act2=dao2.loadAccount(ToNum); //返回一个帐户对象
if(act1 == null)
{
str = "对不起你,你输入的第一个帐号不存在!";
return str;
}
if(act2 == null)
{
str = "对不起你,你输入的第二个帐号不存在!";
return str;
}
if(act1.getBalance() < amount)
{
str = "对不起你,你的帐号余额不足,不允许进行转帐操作!";
return str;
}
act1.withdraw(amount);//调用该对象的取款方法
act2.deposite(amount);//调用该对象的存款方法
dao2.saveAccount(act1);//更新保存帐户
dao2.saveAccount(act2);//更新保存帐户
str = "恭喜你,转帐操作成功!";
/** 操作记录的保存 */
Date date=new Date();
Record record1 = new Record(act1,act1.getCustomer(),"取款",date.toString(),amount);
Record record2 = new Record(act2,act2.getCustomer(),"存款",date.toString(),amount);
dao3.saveRecord(record1);
没有合适的资源?快使用搜索试试~ 我知道了~
基于struts的个人网上银行系统
共151个文件
class:37个
java:37个
gif:32个
5星 · 超过95%的资源 需积分: 9 101 下载量 109 浏览量
2008-10-08
15:02:41
上传
评论
收藏 257KB RAR 举报
温馨提示
个人网上银行系统,基于struts的,采用jsp,hibernate,pointbase,struts,javascript技术实现的..................................................................................................................................................................................................................................
资源详情
资源评论
资源推荐
收起资源包目录
基于struts的个人网上银行系统 (151个子文件)
DV_getcode.asp 1KB
AccountManager.class 6KB
CustomerManager.class 5KB
RecordDaoImpl.class 4KB
RecordManager.class 4KB
AccountDaoImpl.class 4KB
BankerManager.class 3KB
Customer.class 3KB
RegisterAction.class 3KB
BankerLoginAction.class 3KB
CustomerDaoImpl.class 3KB
OperatorAction.class 3KB
LoginAction.class 3KB
Account.class 3KB
FindCustomerPassword.class 2KB
TransferAction.class 2KB
AddBankerAction.class 2KB
Record.class 2KB
BankerDaoImpl.class 2KB
RemoveBankerAction.class 2KB
ModifyPasswordAction.class 2KB
FindAllRecord.class 2KB
DAOFactory.class 2KB
FindPasswordAction.class 2KB
HibernateUtil.class 2KB
BalanceAction.class 2KB
CustomerInforAction.class 2KB
FindAllCustomersAction.class 2KB
FindAllBankersAction.class 2KB
FindAllRecordsAction.class 2KB
CharacterEncodingFilter.class 1KB
Banker.class 1010B
OnlineBankException.class 786B
IRecordDao.class 630B
IBankerDao.class 574B
ICustomerDao.class 533B
IAccountDao.class 525B
LoginForm.class 330B
.classpath 630B
tarena.css 4KB
Thumbs.db 87KB
top_r.gif 7KB
dvmenubg3.gif 5KB
logo.gif 5KB
bot_bg.gif 4KB
submit.gif 3KB
next.gif 3KB
courselist_on.gif 2KB
courselist.gif 2KB
reg_on.gif 2KB
reg.gif 2KB
cart_on.gif 2KB
carts_on.gif 2KB
cart.gif 2KB
exit_on.gif 2KB
order.gif 2KB
exit.gif 2KB
order_on.gif 2KB
index_on.gif 2KB
index.gif 2KB
dog.gif 2KB
Female.gif 2KB
Male.gif 1KB
car_new.gif 1KB
buycar.gif 720B
cancelone.gif 388B
Forum_nav.gif 280B
dh_bg.gif 261B
bg2.gif 153B
top_bg.gif 138B
tabs_m_tile.gif 99B
navspacer.gif 56B
bottombg.gif 53B
register.html 10KB
transfer.html 5KB
operator.html 5KB
xiugai.html 5KB
balance.html 5KB
chaxun.html 5KB
addBanker.html 4KB
removeBanker.html 4KB
findCustomerPassword.html 4KB
index.html 3KB
bankerMain.html 3KB
superadmin.html 3KB
login.html 3KB
bankerLogin.html 3KB
AccountManager.java 10KB
RecordManager.java 5KB
BankerManager.java 5KB
CustomerManager.java 4KB
RecordDaoImpl.java 4KB
AccountDaoImpl.java 3KB
CustomerDaoImpl.java 3KB
Customer.java 2KB
OperatorAction.java 2KB
BankerDaoImpl.java 2KB
Account.java 2KB
BankerLoginAction.java 2KB
DAOFactory.java 2KB
共 151 条
- 1
- 2
jqwns
- 粉丝: 2
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2