package com.xiaopeng.operation.service;
|
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.xiaopeng.api.dto.order.HistoryEndPointsDto;
|
import com.xiaopeng.api.dto.order.HistoryStartPointsDto;
|
import com.xiaopeng.api.model.operation.XpPoint;
|
import com.xiaopeng.api.query.operation.PointPageListListQuery;
|
import com.xiaopeng.api.vo.order.XpHistoryEndPointsVo;
|
import com.xiaopeng.api.vo.order.XpHistoryStartPointsVo;
|
import com.xiaopeng.api.vo.order.XpPointsSearchVo;
|
import com.xiaopeng.common.core.web.page.PageInfo;
|
import com.xiaopeng.operation.dto.NearestDto;
|
import com.xiaopeng.operation.query.PointByNameQuery;
|
import com.xiaopeng.api.query.operation.PointListQuery;
|
import com.xiaopeng.operation.vo.NearestVo;
|
|
import javax.validation.Valid;
|
|
import com.xiaopeng.api.dto.operation.PointMapQuery;
|
import com.xiaopeng.operation.vo.OrderDistanceVo;
|
|
import java.time.LocalTime;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 点位管理 服务类
|
* </p>
|
*
|
* @author liu
|
* @author WuGuanFengYue
|
* @since 2026-02-03
|
*/
|
public interface XpPointService extends IService<XpPoint> {
|
|
/**
|
* 获取附近上车站点
|
*/
|
NearestVo nearest(@Valid NearestDto dto,String uid);
|
|
|
/**
|
* 判断点位是否时间段内
|
* @param now
|
* @return
|
*/
|
boolean getInTime(LocalTime now, Integer effectivePeriod, String effectiveTimePeriod);
|
List<XpPoint> pointMap(PointMapQuery query);
|
|
List<XpPoint> listAll(PointListQuery query);
|
|
|
/**
|
* 获取历史上车站点
|
* @param historyStartPointsDto
|
* @return
|
*/
|
List<XpHistoryStartPointsVo> getHistoryStartPoints(HistoryStartPointsDto historyStartPointsDto);
|
|
|
/**
|
* 获取历史上车站点
|
* @param historyEndPointsDto
|
* @return
|
*/
|
List<XpHistoryEndPointsVo> getHistoryEndPoints(HistoryEndPointsDto historyEndPointsDto);
|
|
|
/**
|
* 根据名称获取点位列表
|
* @param query
|
* @return
|
*/
|
XpPointsSearchVo queryPointByName(@Valid PointByNameQuery query,String uid);
|
|
|
/**
|
* 获取可下单距离
|
* @return
|
*/
|
OrderDistanceVo getOrderDistance();
|
|
|
PageInfo<XpPoint> pageList(PointPageListListQuery query);
|
|
|
/**
|
* 判断点位是否在当前时间范围内有效
|
* @param pointId
|
* @return
|
*/
|
Boolean nowInTimePoint(Long pointId);
|
|
}
|