【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:TicketSession.java绩等信息,祝愿广大网友取得需要的信息,参考学习。
package atbs.session;
import java.sql.Timestamp;
import java.util.List;
import java.util.ArrayList;
import javax.ejb.Stateless;
import javax.persistence.*;
import atbs.entity.*;
@Stateless
public class TicketSession implements TicketSessionRemote {
@PersistenceContext
private EntityManager manager;
public boolean createTicketByAirplane(Airplane airplane) {
System.out.println("Create Ticket By Airplane[id="+airplane.getId()+"]");
System.out.println("Create First Class Ticket");
//create First Class Ticket
for(int i=0;i<airplane.getFirstCount();i++){
Ticket ticket = new Ticket();
ticket.setAirplane(airplane);
ticket.setState(Ticket.Ticket_STATUS_INIT);
ticket.setPrice(airplane.getFirstPrice());
ticket.setClassType(Ticket.Ticket_TYPE_FIRST);
ticket.setValue((int)(airplane.getFirstPrice()*airplane.getFirstRate()));
manager.persist(ticket);
}
//create Business Class Ticket
System.out.println("Create Business Class Ticket");
for(int i=0;i<airplane.getBusinessCount();i++){
Ticket ticket = new Ticket();
ticket.setAirplane(airplane);
ticket.setState(Ticket.Ticket_STATUS_INIT);
ticket.setClassType(Ticket.Ticket_TYPE_BUSINESS);
ticket.setPrice(airplane.getBusinessPrice());
ticket.setValue((int)(airplane.getBusinessPrice()*airplane.getBusinessRate()));
manager.persist(ticket);
}
//create Economy Class Ticket
System.out.println("Create Economy Class Ticket");
for(int i=0;i<airplane.getEconomyCount();i++){
Ticket ticket = new Ticket();
ticket.setAirplane(airplane);
ticket.setState(Ticket.Ticket_STATUS_INIT);
ticket.setPrice(airplane.getEconomyPrice());
ticket.setClassType(Ticket.Tikcet_TYPE_ECONOMY);
ticket.setValue((int)(airplane.getEconomyPrice()*airplane.getEconomyRate()));
manager.persist(ticket);
}
return true;
}
public List<Ticket> findTicketListByAirplaneId(Long airplaneId, int state) {
System.out.println("find Ticket List by AirplaneId[id="+airplaneId+"] and state = "+state);
Query query = manager.createQuery("Select t from Ticket t where t.airplane.id =:airplaneId and t.state =:state");
query.setParameter("airplaneId",airplaneId );
query.setParameter("state", state);
List<Ticket> ticketList = query.getResultList();
return ticketList;
}
public List<Ticket> findTicketListByAirlineAndTime(Long airlineId,Timestamp startTime, Timestamp endTime,int state) {
System.out.println("find Ticket List by AirlineId[id="+airlineId+"] and Time");
Query query = manager.createQuery("Select t from Ticket t where t.airplane.airline.id =:airlineId and t.airplane.startTime between :startTime and :endTime and t.state =:state");
query.setParameter("airlineId", airlineId);
query.setParameter("startTime", startTime);
query.setParameter("endTime", endTime);
query.setParameter("state", state);
List<Ticket> ticketList = query.getResultList();
return ticketList;
}
public List<Ticket> bookTicketByCount(SysUser user, Long airplaneId,int classType,int count) {
System.out.println("Request Book Ticket[user:"+user.getUserName()+",airplane:"+airplaneId+",Count:"+count+"]");
Query query = manager.createQuery("Select t from Ticket t where t.airplane.id =:airplaneId and t.state =:state and t.classType =:classType");
query.setParameter("airplaneId",airplaneId );
query.setParameter("state", Ticket.Ticket_STATUS_INIT);
query.setParameter("classType", classType);
List<Ticket> ticketList = que