package com.ks.app.service.inter.vip; import com.ks.app.dto.vip.OrderPaySuccessForm; import com.ks.app.dto.vip.PayWayInfoDTO; import com.ks.app.entity.vip.OrderRecord; import com.ks.app.entity.vip.OrderType; import com.ks.app.exception.goldcorn.GoldCornException; import com.ks.app.exception.vip.OrderException; import com.ks.app.exception.vip.PayException; import com.ks.app.exception.vip.VIPException; import java.util.List; public interface OrderService { /** * 创建订单 * * @param orderRecord * @return * @throws OrderException */ public OrderRecord createOrder(OrderRecord orderRecord) throws OrderException; /** * 获取订单记录 * * @param uid * @param state * @return */ public List listOrderRecord(Long uid, OrderType orderType, Integer state, int page, int pageSize); /** * @param uid * @param state * @return */ public long countOrderRecord(Long uid, OrderType orderType, Integer state); /** * 检测支付状态 * * @param id */ public OrderRecord checkOrderPayState(Long id); public OrderRecord checkApplePay(Long orderNo, String receipt) throws Exception; public OrderRecord getOrderRecord(Long id); /** * 支付订单 * * @param record */ public PayWayInfoDTO payOrder(OrderRecord record) throws OrderException, GoldCornException, PayException, VIPException; /** * 支付成功 * * @return * @throws VIPException * @throws OrderException */ public OrderRecord paySuccess(OrderPaySuccessForm successForm) throws VIPException, OrderException; /** * 支付成功 * * @return * @throws VIPException * @throws OrderException */ public OrderRecord paySuccess(OrderPaySuccessForm successForm,IPaySuccess paySuccess) throws VIPException, OrderException; /** * 取消订单 * * @param id */ public void cancelOrder(Long id, String reason) throws OrderException, GoldCornException; /** * 获取可以取消的订单记录 * * @param page * @param pageSize * @return */ public List getCanCancelOrderList(int page, int pageSize); }