package com.iamberry.wechat.face.mq;

import net.sf.json.JSONObject;

import com.iamberry.wechat.core.entity.mq.MQMessage;

/**
 * @author:何秀刚
 * @description: 对接Efast 订单系统
 * @createDate:2016年5月26日
 */
public interface EfastOrderService {

	/**
	 * 获取百胜的订单(已发货的订单)<pre>
	 * @param message:
	 * 	serviceOtherMessage:操作
	 *	serviceToMessage:订单号
	 * </pre>
	 * @return
	 */
	public boolean selectEfastSendOrderInfo(MQMessage message);
	
	/**
	 * 获取百胜的订单列表(已发货的订单)<pre>
	 * @param message:
	 * </pre>
	 * 
	 */
	public JSONObject selectEfastSendOrderList() throws Exception;
	
	/**
	 * 将订单信息推送到百胜<pre>
	 * @param message:
	 * 	 serviceToMessage:订单号
	 * 	 serviceOtherMessage:操作
	 * </pre>
	 * @return
	 */
	public boolean addOrderInfoToEfast(MQMessage message) throws Exception;
	
	/**
	 * 我们商城订单系统发货后，推送至百胜的订单池<pre>
	 * @param message:
	 * 	serviceOtherMessage:内容格式：快递代码-快递单号,请在使用时注意分割
	 * 	serviceToMessage:orderid,请求操作的订单号
	 * </pre>
	 * @return
	 * @throws Exception
	 */
	public boolean sendOrderInfoToEfast(MQMessage message) throws Exception;

	/**
	 * 获取百胜的退单信息
	 * @param message
	 * @return
	 * @throws Exception
	 */
	public boolean selectEfastReturnOrderInfo(MQMessage message)throws Exception;
	
	/**
	 * 将订单退货信息推送到百胜
	 * @param message:
	 * serviceToMessage:订单号
	 * @return
	 * @throws Exception
	 */
	public boolean returnOrderInfoToEfast(MQMessage message) throws Exception;
	
	/**
	 * 将订单换货信息推送到百胜
	 * @param message
	 * @return
	 * @throws Exception
	 */
	public boolean exchangeOrderInfoToEfast(MQMessage message) throws Exception;

	/**
	 * 获取百胜订单信息
	 * @param orderid
	 * @return
	 * @throws Exception
	 */
	JSONObject getOrderFormEfast(String orderid) throws Exception;
}
