📄 businessbean.java
字号:
package proejblayer;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import javax.naming.*;
import java.math.BigDecimal;
public class BusinessBean implements SessionBean {
SessionContext sessionContext;
public void ejbCreate() throws CreateException {
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
public int saveMoney(String accountNo, int money) {
int result = 0;
try {
Context ctx = new InitialContext();
AccountHome home = (AccountHome) ctx.lookup("Account");
Account account = home.findByPrimaryKey(accountNo);
BigDecimal bigmoney = new BigDecimal(money);
if (account != null) {
account.setBalance(account.getBalance().add(bigmoney));
result = 1;
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result;
}
/* @return int -1 表示余额不足, 0表示操作不成功, 1表示操作成功*/
public int takeMoney(String accountNo, int money) {
int result = 0;
try {
Context ctx = new InitialContext();
AccountHome home = (AccountHome) ctx.lookup("Account");
Account account = home.findByPrimaryKey(accountNo);
BigDecimal bigmoney = new BigDecimal(money);
if (account != null) {
if (account.getBalance().compareTo(bigmoney) >= 0) {
account.setBalance(account.getBalance().subtract(bigmoney));
result = 1;
} else {
result = -1;
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result;
}
public BigDecimal searchMoney(String accountNo) {
BigDecimal bigmoney = new BigDecimal(0);
try {
Context ctx = new InitialContext();
AccountHome home = (AccountHome) ctx.lookup("Account");
Account account = home.findByPrimaryKey(accountNo);
if (account != null) {
bigmoney=account.getBalance();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return bigmoney;
}
/*-3 表示目标帐户被冻结,-2表示目标帐户不存在 -1 表示转帐帐户余额不足,0表示转帐失败,1表示转帐成功*/
public int transferMoney(String fromaccount, String toaccount, int money) {
int result = 0;
try {
Context ctx = new InitialContext();
AccountHome home = (AccountHome) ctx.lookup("Account");
Account faccount = home.findByPrimaryKey(fromaccount);
Account taccount=home.findByPrimaryKey(toaccount);
BigDecimal bigmoney = new BigDecimal(money);
if(taccount==null){
result=-2;
}else{
if(taccount.getStatus().equals("0")){
result=-3;
}
if(faccount!=null){
if(faccount.getBalance().compareTo(bigmoney)<0){
result=-1;
}else{
faccount.setBalance(faccount.getBalance().subtract(bigmoney));
taccount.setBalance(taccount.getBalance().add(bigmoney));
result=1;
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -