package com.xiaopeng.map.service;
|
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.xiaopeng.api.dto.operation.PointAddDto;
|
import com.xiaopeng.api.dto.operation.PointMapQuery;
|
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.PointListQuery;
|
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.map.dto.NearestDto;
|
import com.xiaopeng.map.dto.StationDetailQueryDto;
|
import com.xiaopeng.map.query.PointByNameQuery;
|
import com.xiaopeng.map.vo.NearestVo;
|
import com.xiaopeng.map.vo.OrderDistanceVo;
|
import com.xiaopeng.map.vo.StationDetailVo;
|
|
import javax.validation.Valid;
|
import java.time.LocalTime;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 点位管理 服务类
|
* </p>
|
*
|
* @author liu
|
* @author WuGuanFengYue
|
* @since 2026-02-03
|
*/
|
public interface XpPointService extends IService<XpPoint> {
|
|
/**
|
* 新增点位并根据规则生成点位编号
|
*/
|
XpPoint addPointWithGeneratedNumber(@Valid PointAddDto pointAddDto);
|
|
/**
|
* 获取附近上车站点
|
*/
|
NearestVo nearest(@Valid NearestDto dto);
|
|
/**
|
* 根据场站查询场站详情及所属点位。
|
* 仅返回当前时段、当前运营状态下可展示的场站与子点位数据。
|
*/
|
StationDetailVo queryStationDetail(@Valid StationDetailQueryDto 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);
|
|
|
/**
|
* 获取可下单距离
|
* @return
|
*/
|
OrderDistanceVo getOrderDistance();
|
|
|
PageInfo<XpPoint> pageList(PointPageListListQuery query);
|
|
}
|