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(Integer addressId, BigDecimal payPrice); /** * 创建订单 * @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 cartList, Integer id, Integer addrId); }