ebike-plus/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java
2026-02-09 16:08:54 +08:00

146 lines
3.5 KiB
Java

package com.cdzy.user.service;
import com.cdzy.common.model.request.PageParam;
import com.cdzy.user.model.dto.EbikeUserCyclingDto;
import com.cdzy.user.model.dto.EbikeUserCyclingEndDto;
import com.cdzy.user.model.entity.EbikeOrder;
import com.cdzy.user.model.vo.EbikeBikeInfoVo;
import com.cdzy.user.model.vo.EbikeOrderDetailVo;
import com.cdzy.user.model.vo.EbikeRefundApplyOrderBaseInfoVo;
import com.cdzy.user.model.vo.EbikeRevenueStatisticsVo;
import com.cdzy.user.model.vo.EbikeUserAllOrdersVo;
import com.ebike.feign.model.dto.FeignEbikeDto;
import com.ebike.feign.model.dto.FeignEbikeOrderStatisticsDto;
import com.ebike.feign.model.dto.FeignEbikePaymentAmountDto;
import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo;
import com.ebike.feign.model.vo.FeignEbikeOrderStatisticsVo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import java.util.List;
/**
* 用户订单 服务层
*
* @author yanglei
* @since 2025-10-15 17:06
*/
public interface EbikeOrderService extends IService<EbikeOrder> {
/**
* 生成骑行订单
*
* @param orderDto 用户骑行信息
* @return 骑行订单
*/
EbikeOrder saveRide(EbikeUserCyclingDto orderDto);
/**
* 检查历史订单
*
* @param userId 用户id
*/
EbikeOrderDetailVo checkHistoryOrder(Long userId);
/**
* 订单发起退款
*
* @param orderId 订单ID
*/
void refundApply(Long orderId);
/**
* 订单退款
*
* @param orderId 订单ID
*/
void refund(Long orderId);
/**
* 订单退款驳回
*
* @param orderId 订单ID
*/
void rejectRefund(Long orderId);
/**
* 获取半径内车辆信息
*
* @param feignEbikeBikeRadiusVo 半径内查询参数
* @return 所有车辆信息
*/
List<FeignEbikeDto> userRadiusList(FeignEbikeBikeRadiusVo feignEbikeBikeRadiusVo);
/**
* 获取车辆基本信息
*
* @param bikeCode 车辆编码
* @return 车辆基本信息
*/
EbikeBikeInfoVo queryBikeInfo(String bikeCode);
/**
* 结束骑行
*
* @param endDto 结束骑行参数
* @return 订单id
*/
Long doneRide(EbikeUserCyclingEndDto endDto);
/**
* 根据订单Id查询订单状态
*
* @param orderId 订单ID
* @return 订单状态
*/
Integer getOrderStatus(Long orderId);
/**
* 根据用户id获取用户所有订单
*
* @param userId 用户id
* @return 用户订单
*/
Page<EbikeUserAllOrdersVo> getUserAllOrder(Long userId, Integer orderStatus, PageParam page);
/**
* 获取营收统计
*
* @return 营收统计
*/
List<EbikeRevenueStatisticsVo> getRevenueStatistics();
/**
* 根据订单id查看订单详情
*
* @param orderId 订单id
* @return 订单详情
*/
EbikeOrderDetailVo getInfo(Long orderId);
/**
* 查询不同运营商的订单数据及订单金额
*
* @param dto 订单请求参数
* @return 订单数据及订单金额
*/
FeignEbikeOrderStatisticsVo getOrderStatistics(FeignEbikeOrderStatisticsDto dto);
/**
* 退款订单详情
*
* @param orderId 订单id
* @return 退款订单详情
*/
EbikeRefundApplyOrderBaseInfoVo getOrderDetail(Long orderId);
/**
* 根据车辆编号修改订单金额
*
* @param paymentAmountDto 车辆编号
*/
void updateOrderAmount(FeignEbikePaymentAmountDto paymentAmountDto);
}