| package com.matrix.system.shopXcx.api.service; | 
|   | 
| import com.matrix.core.pojo.AjaxResult; | 
| import com.matrix.component.wechat.externalInterface.protocol.paramProtocol.BrandWCPayRequestData; | 
| import com.matrix.system.shopXcx.bean.ShopOrder; | 
| import com.matrix.system.shopXcx.dto.DiscountExplain; | 
| import com.matrix.system.shopXcx.api.pojo.AddShopOrderPOJO; | 
| import com.matrix.system.shopXcx.api.pojo.OrderInfoQueryPOJO; | 
| import com.matrix.system.shopXcx.api.vo.ShopCartVo; | 
|   | 
| import java.math.BigDecimal; | 
| import java.util.List; | 
|   | 
| /** | 
|  * @author jyy | 
|  */ | 
| public interface WXShopOrderService { | 
|   | 
|   | 
|   | 
|     BigDecimal calculationPostage(BigDecimal payPrice,Long companyId); | 
|   | 
|     /** | 
|      * 创建订单 | 
|      * @param addShopOrderPOJO | 
|      * @return | 
|      * @throws Exception | 
|      */ | 
|     AjaxResult createShopOrder(AddShopOrderPOJO addShopOrderPOJO) 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); | 
|   | 
|     DiscountExplain buildDiscountExplain(List<ShopCartVo> cartList, Integer id, Long companyId); | 
| } |