ebike-plus/ebike-user/src/main/java/com/cdzy/user/service/EbikeRefundService.java
2026-01-07 15:27:07 +08:00

89 lines
2.5 KiB
Java

package com.cdzy.user.service;
import com.cdzy.user.model.dto.EbikeOrderRefundDto;
import com.cdzy.user.model.dto.EbikeTreadRecordDto;
import com.cdzy.user.model.entity.EbikeRefund;
import com.cdzy.user.model.vo.EbikeFaultFileVo;
import com.cdzy.user.model.vo.EbikeOrderRecordVo;
import com.cdzy.user.model.vo.EbikeRefundApplyOrderInfoVo;
import com.cdzy.user.model.vo.EbikeRefundApplyRefundRecordVo;
import com.cdzy.user.model.vo.EbikeRefundOrderDetailVo;
import com.cdzy.user.model.vo.EbikeTransactionRecordVo;
import com.ebike.feign.model.vo.FeignEbikeRefundOrderDetailVo;
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<EbikeRefund> {
/**
* 退款申请
*
* @param ebikeRefundDto 退款申请信息
* @return 退款信息id
*/
Long refundApply(EbikeOrderRefundDto ebikeRefundDto);
/**
* 退款订单详情
*
* @param refundId 退款id
* @return 退款详情
*/
FeignEbikeRefundOrderDetailVo queryRefundOrderById(Long refundId);
/**
* 退款申请订单详情
*
* @param orderId 订单id
* @return 退款申请详情
*/
EbikeRefundApplyOrderInfoVo queryRefundApplyOrderById(Long orderId);
/**
* 退款用户申请交易记录
*
* @param userQueryDto 交易记录查询参数
* @return 用户申请交易记录
*/
Page<EbikeTransactionRecordVo> queryRefundTradeRecordById(EbikeTreadRecordDto userQueryDto);
/**
* 退款用户申请用户退款记录
*
* @param userQueryDto 交易记录查询参数
* @return 用户申请用户退款记录
*/
Page<EbikeRefundApplyRefundRecordVo> queryRefundRefundRecordById(EbikeTreadRecordDto userQueryDto);
/**
* 退款用户订单记录
*
* @param userQueryDto 查询条件
* @return 用户订单列表
*/
Page<EbikeOrderRecordVo> getRefundOrderRecords(EbikeTreadRecordDto userQueryDto);
/**
* 用户退款文件上传
*
* @param multipartFile 文件
* @return 文件信息
*/
EbikeFaultFileVo uploadFile(MultipartFile multipartFile);
/**
* 根据文件名称删除minio中的文件
*
* @param fileName 删除文件请求参数
*/
void deletedFile(String fileName);
}