package com.seer.teach.mall.app.order.service;

import com.seer.teach.common.PageListBean;
import com.seer.teach.mall.request.AfterSalePageReq;
import com.seer.teach.mall.request.AppAfterSaleCreateReq;
import com.seer.teach.mall.request.AppAfterSaleDeliveryReq;
import com.seer.teach.mall.response.AfterSaleResp;

public interface IAppAfterSaleService {

    /**
     * 获得售后分页
     *
     * @param pageReqVO
     * @return 售后分页
     */
    PageListBean<AfterSaleResp> queryPageList(AfterSalePageReq pageReqVO);

    /**
     * 获得售后单
     * @param id
     * @return 售后单
     */
    AfterSaleResp getAfterSale(Integer id);

    /**
     * 申请售后
     *
     * @param createReqVO
     * @return 申请售后结果, true表示申请成功, false表示申请失败
     */
    boolean createAfterSale(AppAfterSaleCreateReq createReqVO);

    /**
     * 退回货物
     *
     * @param deliveryReq
     * @return 退回货物结果, true表示退回成功, false表示退回失败
     */
    boolean deliveryAfterSale(AppAfterSaleDeliveryReq deliveryReq);

    /**
     * 取消售后
     *
     * @param id 售后编号
     * @return 取消售后结果, true表示取消成功, false表示取消失败
     */
    boolean cancelAfterSale(Integer id);

    /**
     * 删除售后
     *
     * @param id 售后编号
     * @return 删除结果, true表示删除成功, false表示删除失败
     */
    boolean deleteAfterSale(Integer id);
}
