package com.matrix.system.shopXcx.api.service; import com.matrix.component.wechat.externalInterface.protocol.paramProtocol.BrandWCPayRequestData; import com.matrix.core.pojo.AjaxResult; import com.matrix.system.shopXcx.api.pojo.OrderInfoQueryPOJO; import com.matrix.system.shopXcx.api.pojo.ShopOrderDto; import com.matrix.system.shopXcx.bean.ShopOrder; import java.math.BigDecimal; /** * @author jyy */ public interface WXShopOrderService { BigDecimal calculationPostage(BigDecimal payPrice,Long companyId); /** * 创建订单 * @param shopOrderDto * @return * @throws Exception */ ShopOrder createShopOrder(ShopOrderDto shopOrderDto) throws Exception; /** * 订单结算 * @param orderId * @return * @throws Exception */ AjaxResult orderSettlement(int orderId) throws Exception; /** * 根据订单ID查询支付结果 * @param orderId * @return */ AjaxResult findOrderPayStatus(Integer orderId); /** * 发起支付(创建预付订单) * @param shopOrder * @return * @throws Exception */ BrandWCPayRequestData startPayment(ShopOrder shopOrder) throws Exception; /** * 获取我的订单信息 * @param orderInfoQueryPOJO * @return */ AjaxResult getMyOrderInfo(OrderInfoQueryPOJO orderInfoQueryPOJO); /** * 根据订单ID获取订单信息 * @param orderId * @return */ AjaxResult getOrderInfoById(Integer orderId); /** * 根据订单ID取消待付款订单 * @param orderId * @return */ AjaxResult cancelOrderWhenWaitPay(Integer orderId); /** * 根据订单ID删除订单 * @param orderId * @return */ AjaxResult delOrderById(Integer orderId); /** * 确认收货 * @param orderId * @return */ AjaxResult confirmPackageById(Integer orderId); /** * 更新库存和销量 * @param orderId * @return */ AjaxResult updateStockAndVolumeById(Integer orderId); AjaxResult buildDiscountExplain(ShopOrderDto shopOrderDto); }