package com.liquidnet.service.goblin.service.manage;

import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.GoblinBackOrderDetailsVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreBackOrderListPageVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreBackOrderListVo;
import com.liquidnet.service.goblin.param.GoblinStoreOrderRefundParam;

import java.math.BigDecimal;

public interface IGoblinStoreBackOrderService {
    ResponseDto<GoblinStoreBackOrderListPageVo> orderBackList(Integer page,
                                                                    String orderBackCode,
                                                                    Integer type,
                                                                    String cst,
                                                                    String cet,
                                                                    String orderCode,
                                                                    String spuName,
                                                                    Integer status);

    ResponseDto<GoblinBackOrderDetailsVo> orderDetails(String backOrderId);

    ResponseDto<Boolean> changeExpressRefund(String backOrderId, BigDecimal refundPrice);

    ResponseDto<Boolean> agreeRefund(String backOrderId);

    ResponseDto<Boolean> refusedRefund(String backOrderId);

    ResponseDto<Boolean> refundOrder(GoblinStoreOrderRefundParam param);

    ResponseDto<Boolean> changeSkuRefund(String backOrderId, BigDecimal refundPrice, String orderSkuId);
}
