RiderLocationService.java 959 Bytes
package com.diligrp.rider.service;

import com.diligrp.rider.dto.LocationDTO;
import com.diligrp.rider.vo.AdminRiderDashboardVO;
import com.diligrp.rider.vo.AdminRiderLocationVO;
import com.diligrp.rider.vo.NearbyRiderVO;

import java.math.BigDecimal;
import java.util.List;

public interface RiderLocationService {
    /** 上报骑手位置 */
    void updateLocation(Long riderId, LocationDTO dto);

    /** 获取骑手位置 */
    LocationDTO getLocation(Long riderId);

    /** 查询商铺内最近活跃的骑手位置列表 */
    List<AdminRiderLocationVO> listActiveByCity(Long cityId);

    /** 查询商铺内骑手看板数据 */
    List<AdminRiderDashboardVO> listDashboardByCity(Long cityId);

    /**
     * 获取附近在线骑手列表
     *
     * @param cityId 商铺ID
     * @param lng    查询点经度
     * @param lat    查询点纬度
     */
    List<NearbyRiderVO> getNearby(Long cityId, BigDecimal lng, BigDecimal lat);
}