Helius
2021-03-10 087cd794187727bf9a34fcef3027cd56f6dec436
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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);
}