137 lines
3.3 KiB
Java
137 lines
3.3 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.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);
|
|
}
|