package service; import entity.Account; public interface IAccountService { // 增加账户 public void createAccount(Object object); // 删除账户 public void removeAccount(Object object); // 查询余额 public double getBal(String acctNo); // 存款 public void deposite(String acctNo, double amount); // 转帐 public void withdraw(String acctNo, double amount); // 转帐 public void transfer(String from, String to, double amount); }
package service; import persist.AccountDAOFactory; import persist.IAccountDAO; import entity.Account; public class AccountServiceImpl implements IAccountService { IAccountDAO dao = AccountDAOFactory.getDAO(); public void createAccount(Object object) { dao.insert(object); } public void deposite(String acctNo, double amount) { Account acct = (Account) dao.findAcctByNo(acctNo); if (acct==null) { System.out.println("请确认该帐户是否存在"); return; } acct.deposite(amount); dao.update(acct); } public double getBal(String acctNo) { Account acct =(Account) dao.findAcctByNo(acctNo); if (acct==null) { System.out.println("请确认该帐户是否存在"); return 0.0; } return acct.getBal(); } public void removeAccount(Object object) { dao.delete(object); } public void transfer(String from, String to, double amount) { Account acct1 = (Account) dao.findAcctByNo(from); Account acct2 = (Account) dao.findAcctByNo(to); if (acct1==null||acct2==null) { System.out.println("没有转账的帐户"); return; } if (acct1.getBal()<=0.0) { System.out.println("余额不够,无法转账"); return; } acct1.withdraw(amount); acct2.deposite(amount); dao.update(acct1); dao.update(acct2); } public void withdraw(String acctNo, double amount) { Account acct = (Account) dao.findAcctByNo(acctNo); if (acctNo==null) { System.out.println("请确认该帐户是否存在"); return; } acct.withdraw(amount); dao.update(acct); } }
package service; import persist.AccountDAOFactory; import persist.IAccountDAO; import entity.Account; public class AccountServiceImpl implements IAccountService { IAccountDAO dao = AccountDAOFactory.getDAO(); public void createAccount(Object object) { dao.insert(object); } public void deposite(String acctNo, double amount) { Account acct = (Account) dao.findAcctByNo(acctNo); if (acct==null) { System.out.println("请确认该帐户是否存在"); return; } acct.deposite(amount); dao.update(acct); } public double getBal(String acctNo) { Account acct =(Account) dao.findAcctByNo(acctNo); if (acct==null) { System.out.println("请确认该帐户是否存在"); return 0.0; } return acct.getBal(); } public void removeAccount(Object object) { dao.delete(object); } public void transfer(String from, String to, double amount) { Account acct1 = (Account) dao.findAcctByNo(from); Account acct2 = (Account) dao.findAcctByNo(to); if (acct1==null||acct2==null) { System.out.println("没有转账的帐户"); return; } if (acct1.getBal()<=0.0) { System.out.println("余额不够,无法转账"); return; } acct1.withdraw(amount); acct2.deposite(amount); dao.update(acct1); dao.update(acct2); } public void withdraw(String acctNo, double amount) { Account acct = (Account) dao.findAcctByNo(acctNo); if (acctNo==null) { System.out.println("请确认该帐户是否存在"); return; } acct.withdraw(amount); dao.update(acct); } }