package com.xiaopeng.maintenance.repo; import com.xiaopeng.api.dto.account.XpOperationsUserPositionDTO; import org.springframework.data.geo.Point; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.Query; import java.util.List; /** * MongoDB Repository 接口 * 用于支持地理空间查询和其他操作 */ public interface XpOperationsUserRepository extends MongoRepository { /** * 通过经纬度查询范围500米内、一周内、指定时段、状态>1的数据 * @param point 中心点坐标 * @param distance 距离范围 * @return 符合条件的实体列表 */ @Query("{ 'location' : { '$nearSphere' : ?0, '$maxDistance' : ?1, '$distanceField': 'distance' }, 'id' : { $in : ?2 } }") List findWithDistance( Point point, Integer distance, List ids ); }