package com.yonge.cooleshow.portal.service;

import com.yonge.cooleshow.portal.domain.OmsOrderReturnApplyParam;
import com.yonge.cooleshow.portal.dto.OmsOrderReturnApplyResult;
import com.yonge.cooleshow.portal.dto.OmsOrderReturnApplyVo;
import com.yonge.cooleshow.portal.dto.OmsReturnApplyDto;
import com.yonge.cooleshow.portal.dto.OmsReturnApplyQueryParam;
import com.yonge.toolset.payment.base.model.callback.PaymentCallBack;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 前台订单退货管理Service
 * Created by macro on 2018/10/17.
 */
public interface OmsPortalOrderReturnApplyService {
    /**
     * 提交申请
     */
    @Transactional
    int create(OmsOrderReturnApplyParam returnApply);

    /**
     * 取消申请
     *
     */
    @Transactional
    int delete(Long id);

    OmsOrderReturnApplyResult getItem(Long id);

    List<OmsOrderReturnApplyVo> list(OmsReturnApplyQueryParam queryParam, Integer pageSize, Integer pageNum);

    /** 设置退货单号 */
    @Transactional
    void setDeliverySn(OmsReturnApplyDto applyDto);

    @Transactional
    void refundPaymentCallBack(PaymentCallBack data);
}
