package com.iamberry.rst.faces.cm; import com.iamberry.rst.core.cm.SalesOrder; import com.iamberry.rst.core.cm.SalesOrderItem; import com.iamberry.rst.core.order.DownsingleRuleInfo; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.tools.LogisticsInfo; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import java.util.List; /** * Created by liuzhiwei on 2017/10/31. */ public interface SalesOrderService { /** * 添加订单信息 * @param salesOrder * @return */ Integer addSalesOrder(SalesOrder salesOrder); /** * 添加订单信息 * @param salesOrder * @return */ Integer addSalesOrderManual(SalesOrder salesOrder); /** * 根据id查询订单信息 * @param salesId * @return */ SalesOrder getSalesOrderById(Integer salesId); SalesOrder addOrderAndIteminfo(SalesOrder salesOrder, List list) ; boolean addRstOrderAndIteminfo(SalesOrder salesOrder) ; /** * 修改订单信息 * @param salesOrder * @return */ Integer updateSalesOrder(SalesOrder salesOrder); /** * 修改订单信息 * @param salesOrder * @return */ Integer updateOrderInfo(SalesOrder salesOrder); /** * 批量添加订单信息 * @param list * @return */ Integer addSalesOrderList(List list); /** * 添加订单和订单项 * @param list * @return */ boolean addOrderAndItem(SalesOrder salesOrder, List list)throws Exception; /** * 获取订单集合 * @param salesOrder * @return */ List listSalesOrder (SalesOrder salesOrder); /** * 分页获取订单集合 * @param pageNO * @param pageSize * @param salesOrder * @param isTotalNum * @return */ PagedResult listSalesOrderPage(int pageNO, int pageSize, SalesOrder salesOrder, boolean isTotalNum); /** * 获取订单项集合 * @param salesOrderItem * @return */ List listSalesOrderItem(SalesOrderItem salesOrderItem); /** * 添加订单信息 * @param obj */ void addSalesOrderList(JSONObject obj) throws Exception; void parseOrder(SalesOrder oginerOrder, List listOrder); /** * 同步efast订单 * @param obj * @return * @throws Exception */ boolean syncEfastOrder(JSONObject orderInfo) throws Exception; /** * 批量修改订单信息 * @param list * @return */ Integer updateOrderList(JSONArray orderList, List list); /** * 批量修改退货订单状态 * @param orderList * @param list * @return */ Integer updateReturnOrderList(JSONArray orderList, List list); /** * 查询订单数量 * @param salesOrder * @return */ Integer getOrderInfoCount(SalesOrder salesOrder); /** * 查询需要导出的订单信息 * @param salesOrder * @return */ List listOrderExcel(SalesOrder salesOrder); /** * 查询需要导出的数量 * @param salesOrder * @return */ Integer listOrderExcelNum(SalesOrder salesOrder); /** * 删除订单根据Efast订单号 */ Integer delOrder(String orderId); /** * 修改订单项数量 */ Integer updateOrderItem(SalesOrderItem salesOrderItem); /** * 根据外部订单号查询订单信息 * **/ SalesOrder getSalesOrderByLogistics(SalesOrder salesOrder); /** * 批量修改订单是否已下载状态 * @param list * @return */ Integer updateOrderListIsDownload(List list); /** * 根据交易号修改订单信息 * **/ Integer updateSalesOrderByDealCode(SalesOrder salesOrder); /** * 查询物流公司信息 * **/ List getLogisticsInfo(LogisticsInfo logisticsInfo); /** * 查询所有拆单规则 */ List listDownsingleRule(); /** * 根据颜色sku/查询产品是否是水机 */ Integer getIsMachine(String colorBar); boolean addRstOrderinfo(SalesOrder mainOrder,List listSalesOrder); /** *查询拥有该交易号的数量 * @param code * @return */ Integer getOrderBySalesDealCodeNum(String code); /** * 按照批次查询订单项,并下载,订单列表主要按照订单项来排列 * @param salesOrder * @return */ List listSalesOrderAndItem(SalesOrder salesOrder); /** * 查询订单数量 * @param salesOrder * @return */ Integer getSalesOrderNum(SalesOrder salesOrder); /** * 批量确认订单 根据批次 * @param salesBatchId * @return */ Integer listConfirmSalesOrderByBatch(String salesBatchId); /** * 批量确认订单 * @param salesId * @return */ Integer noticeDistribution(Integer salesId); /** * 确认订单,需要传入完整的order * @param salesId * @return */ Integer confirmSalesOrder(Integer salesId); }