【Java开源代码栏目提醒】:本文主要为网学会员提供BankAccountSession.java,希望对需要BankAccountSession.java网友有所帮助,学习一下!
package atbs.session;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import java.util.*;
import atbs.entity.*;
@Stateless
public class BankAccountSession implements BankAccountSessionRemote {
@PersistenceContext
private EntityManager manager;
public boolean payManyTicket(String userName,Long accountId,String password, int value) {
System.out.println("Request pay many ticket[user:"+userName+",account:"+accountId+",value:"+value+"]");
Account account = manager.find(Account.class, accountId);
if(account!=null&&account.getValue()>=value&&account.getCustomer().getUserName().equals(userName)&&password.equals(account.getPassword())){
account.setValue(account.getValue()-value);
return true;
}
return false;
}
public Account createAccount(String userName) {
SysUser user = manager.find(SysUser.class, userName);
if(user!=null){
Account account = new Account();
account.setCustomer(user);
account.setPassword("123456");
account.setValue(500);
manager.persist(account);
return account;
}
return null;
}
public Account updateAccount(Account account) {
if(account==null){
return null;
}
if(manager.find(Account.class, account.getId())!=null){
manager.merge(account);
return account;
}else{
return null;
}
}
public Account getAccount(String userName) {
Query query = manager.createQuery("Select a from Account a where a.customer.userName=:userName");
query.setParameter("userName", userName);
List<Account> accountList = query.getResultList();
if(accountList!=null&&!accountList.isEmpty()){
return accountList.get(0);
}else{
return null;
}
}
}
上一篇:
BankAccountAction.java
下一篇:
pbl在软件工程课程教学中的研究与应用