package net.tooan.ynpay.order.agent.bus.eadd; import net.tooan.ynpay.commons.BusinessException; 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.bean.BusSite; import net.tooan.ynpay.order.agent.bus.bean.BusStation; import net.tooan.ynpay.order.agent.bus.bean.BusClass; import net.tooan.ynpay.order.eadd.*; import net.tooan.ynpay.order.eadd.helper.EaddFacade; import org.apache.commons.lang.StringUtils; import java.util.ArrayList; import java.util.List; /** * Created with IntelliJ IDEA. * User: Jing * Date: 13-11-2 * Time: 下午9:45 */ public class EaddHelper extends AbstractBusHelper { private static final String SUCCESS = "10000"; @Override public List<BusStation> getStations() { List<BusStation> stations = new ArrayList<BusStation>(); StationQueryList stationList = EaddFacade.facade.getStations(); if (SUCCESS.equals(stationList.getRetCode())) { for (SerialStation serialStation : stationList.getStations()) { stations.add(EaddWrapper.convert(serialStation)); } } else { throw new BusinessException(String.format("[%s] %s", stationList.getRetCode(), stationList.getRetMessage())); } return stations; } @Override public List<BusSite> getSites(BusStation station) { List<BusSite> sites = new ArrayList<BusSite>(); GetSiteListResult siteList = EaddFacade.facade.getSites(station.getCode()); if (SUCCESS.equals(siteList.getRetCode())) { for (SerialSite site : siteList.getSerialSite()) { sites.add(EaddWrapper.convert(site)); } } else { throw new BusinessException(String.format("[%s] %s", siteList.getRetCode(), siteList.getRetMessage())); } return sites; } @Override public List<BusClass> getClasses(BusStation station, String site, String date) { List<BusClass> classCaches = new ArrayList<BusClass>(); List<ClassList> classLists = EaddFacade.facade.getClasses(station.getCode(), site, date); for (ClassList classList : classLists) { if (SUCCESS.equals(classList.getStatuCode())) { for (SerialClass serialClass : classList.getSerialClassList()) { classCaches.add(EaddWrapper.convert(serialClass)); } } else { throw new BusinessException(String.format("[%s] %s", classList.getStatuCode(), classList.getMessage())); } } return classCaches; } @Override public List<BusOrder> order(BusClass cls, Customer customer, Integer ticket, Float price, String ticketType) { List<BusOrder> orders = new ArrayList<BusOrder>(); List<TicketOrderResult> ticketOrderResults = EaddFacade.facade.order( cls.getStation().getCode(), cls.getClassId(), String.valueOf(cls.getOrigin().getId()), String.valueOf(cls.getSite().getId()), String.valueOf(ticket), String.valueOf(price), customer.getName(), customer.getTelephone(), customer.getCardNo(), "200" ); for (TicketOrderResult ticketOrderResult : ticketOrderResults) { if ("10000".equals(ticketOrderResult.getStatuCode())) { for (OrderInfo orderInfo : ticketOrderResult.getOrderInfoList()) { orders.add(EaddWrapper.convert(orderInfo)); } } else { throw new BusinessException(String.format("[%s] %s", ticketOrderResult.getStatuCode(), ticketOrderResult.getMessage())); } } return orders; } @Override public List<BusOrder> getOrders(BusOrder order) { if(StringUtils.isNotBlank(order.getId().toString())) { EaddFacade.facade.findOrderById(order.getStation().getId().toString(),order.getId().toString()); } return null; } @Override public List<BusOrder> getOrders(Customer customer, String getPwd, Integer status, String orderDate, String payDate, BusSite origin, BusSite site, BusStation station) { return null; //To change body of implemented methods use File | Settings | File Templates. } @Override public List<BusOrder> pay(List<BusOrder> orders) { return null; //To change body of implemented methods use File | Settings | File Templates. } @Override public List<BusOrder> cancel(List<BusOrder> orders) { String string; for(BusOrder order:orders) { } return null; } @Override public BusOrder take(BusOrder order, String ticketNo) { return null; //To change body of implemented methods use File | Settings | File Templates. } }