package net.tooan.ynpay.core.ejb.order.bus; import com.mongodb.DBObject; import net.tooan.ynpay.commons.BusinessException; import net.tooan.ynpay.commons.YnpayJndiConstants; import net.tooan.ynpay.core.ejb.dao.cache.BusClassDao; import net.tooan.ynpay.core.ejb.helper.CoreFacadeBean; import net.tooan.ynpay.core.ejb.service.order.bus.BusOrderServer; import net.tooan.ynpay.order.agent.bean.Customer; import net.tooan.ynpay.order.agent.bus.AbstractBusHelper; import net.tooan.ynpay.order.agent.bus.bean.BusOrder; import net.tooan.ynpay.order.agent.bus.facade.BusOrderFacade; import net.tooan.ynpay.order.agent.bus.bean.BusClass; import javax.ejb.EJB; import javax.ejb.Stateless; import java.util.List; /** * Created with IntelliJ IDEA. * User: iris * Date: 13-10-18 * Time: 下午4:20 */ @Stateless(name = YnpayJndiConstants.Order_Bus_Order_Facade) public class BusOrderFacadeBean extends CoreFacadeBean<BusOrder, Long> implements BusOrderFacade { @EJB private BusOrderServer service; @Override public List<BusOrder> order(String id, Customer customer, Integer ticket, String ticketType) throws Exception { return order(BusClassDao.dao.findOne(id), customer, ticket, ticketType); } @Override public List<BusOrder> order(BusClass busClass, Customer customer, Integer ticket, String ticketType) throws Exception { // 班次信息为空,直接抛错 if (busClass == null) { throw new BusinessException("班次信息错误"); } // 班次 id 为空,则进行查询 if (busClass.getId() == null) { busClass = BusClassDao.dao.findOne((DBObject) busClass); } Float price = busClass.getPrice(); if (ticketType == null) { ticketType = "001"; } List<BusOrder> orders = AbstractBusHelper.getHelper(busClass.getStation().getFaceType()).order(busClass, customer, ticket, price, ticketType); // 保存订单信息 save(orders); return null; } public void save(List<BusOrder> orders) throws Exception { service.save(orders); } }