package com.erp.platformsync.service.pdd;

import com.erp.platformsync.dto.pdd.PddRefundDTO;

import java.util.List;

/**
 * 拼多多退款服务接口
 */
public interface PddRefundService {

    /**
     * 获取退款列表
     *
     * @param shopId    店铺ID
     * @param status    售后状态（可选）
     * @param startTime 开始时间（可选）
     * @param endTime   结束时间（可选）
     * @param page      页码
     * @param pageSize  每页数量
     * @return 退款列表
     */
    List<PddRefundDTO> getRefunds(Long shopId, Integer status, String startTime, String endTime, Integer page, Integer pageSize);

    /**
     * 获取退款详情
     *
     * @param refundId 退款编号
     * @return 退款详情
     */
    PddRefundDTO getRefundDetail(String refundId);

    /**
     * 同意退款
     *
     * @param refundId   退款编号
     * @param remark     备注（可选）
     * @param shopId     店铺ID
     * @return 是否成功
     */
    boolean agreeRefund(String refundId, String remark, Long shopId);

    /**
     * 拒绝退款
     *
     * @param refundId   退款编号
     * @param reason     拒绝原因
     * @param shopId     店铺ID
     * @return 是否成功
     */
    boolean refuseRefund(String refundId, String reason, Long shopId);

    /**
     * 批量同意退款
     *
     * @param refundIds  退款编号列表
     * @param shopId     店铺ID
     * @return 成功数量
     */
    int batchAgreeRefund(List<String> refundIds, Long shopId);
}
