package com.cdzy.payment.service; import com.cdzy.payment.model.dto.*; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import com.cdzy.payment.model.entity.EbikeRefund; import com.wechat.pay.java.service.refund.model.Refund; import java.util.List; /** * 用户订单退款记录 服务层。 * * @author dingchao * @since 2025-04-25 */ public interface EbikeRefundService extends IService { /** * 保存退款记录 * * @param ebikeRefund 退款结果 * @return 保存成功返回主键id,否则返回null */ Boolean saveRefundResult(EbikeRefund ebikeRefund); /** * 查询未成功退款订单 * * @param duration 订单创建时间超过duration分钟,单位分钟 * @return 未成功退款订单列表 */ List getNoSuccessRefundOrderByDuration(int duration); /** * 根据订单id查询退款记录 * * @param orderId 订单id * @return */ EbikeRefund getByOrderId(String orderId); /** * 更新退款状态 * * @param refund 退款结果 * @return 更新成功返回true,否则返回false */ Boolean updateRefundStatus(Refund refund); /** * 获取申请中的退款列表 * * @param refundDto 查询条件 * @return 退款列表 */ Page getApplyingList(ReqRefundQueryDto refundDto); /** * 获取处理中的退款列表 * * @param refundDto 查询条件 * @return 退款列表 */ Page getProcessingList(ReqRefundQueryDto refundDto); /** * 获取已退款的退款列表 * * @param refundDto 查询条件 * @return 退款列表 */ Page getProcessedList(ReqRefundQueryDto refundDto); /** * 获取已驳回的退款列表 * * @param refundDto 查询条件 * @return 退款列表 */ Page getClosedList(ReqRefundQueryDto refundDto); /** * 退款订单详情 * * @param refundId 退款id * @return 退款详情 */ ResOrderInfoDto getRefundOrderDetail(String refundId); /** * 退款申请交易记录 * * @param reqTradeRecordDto 退款id * @return */ Page queryRefundTradeRecordById(ReqTradeRecordDto reqTradeRecordDto); }