package com.cdzy.user.service; import com.cdzy.user.model.dto.EbikeOrderRefundDto; import com.ebike.feign.model.dto.FeignEbikeRefundProcessDto; import com.cdzy.user.model.dto.EbikeRefundQueryDto; import com.cdzy.user.model.dto.EbikeTreadRecordDto; import com.cdzy.user.model.entity.EbikeRefund; import com.cdzy.user.model.vo.*; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; import org.springframework.web.multipart.MultipartFile; /** * 用户退款 服务层 * * @author yanglei * @since 2025-11-13 20:09 */ public interface EbikeRefundService extends IService { /** * 退款申请 * * @param ebikeRefundDto 退款申请信息 * @return 退款信息id */ Long refundApply(EbikeOrderRefundDto ebikeRefundDto); /** * 审核退款申请 * * @param processDto 退款审核信息 * @return 退款信息id * @operator 操作人id */ boolean refundReview(FeignEbikeRefundProcessDto processDto); /** * 获取退款列表 * * @param refundDto 查询条件 * @return 退款列表 */ Page queryRefundList(EbikeRefundQueryDto refundDto); /** * 退款订单详情 * * @param refundId 退款id * @return 退款详情 */ EbikeRefundOrderDetailVo queryRefundOrderById(Long refundId); /** * 退款申请订单详情 * * @param orderId 订单id * @return 退款申请详情 */ EbikeRefundApplyOrderInfoVo queryRefundApplyOrderById(Long orderId); /** * 退款用户申请交易记录 * * @param userQueryDto 交易记录查询参数 * @return 用户申请交易记录 */ Page queryRefundTradeRecordById(EbikeTreadRecordDto userQueryDto); /** * 退款用户申请用户退款记录 * * @param userQueryDto 交易记录查询参数 * @return 用户申请用户退款记录 */ Page queryRefundRefundRecordById(EbikeTreadRecordDto userQueryDto); /** * 退款用户订单记录 * * @param userQueryDto 查询条件 * @return 用户订单列表 */ Page getRefundOrderRecords(EbikeTreadRecordDto userQueryDto); /** * 用户退款文件上传 * * @param multipartFile 文件 * @return 文件信息 */ EbikeAttachmentFileVo uploadFile(MultipartFile multipartFile); /** * 根据文件名称删除minio中的文件 * * @param fileName 删除文件请求参数 */ void deletedFile(String fileName); }