xuhy
2026-04-24 3c88eb9bd41ea647663995fc0f3e62778f8434a0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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<XpOperationsUserPositionDTO, String> {
 
    /**
     * 通过经纬度查询范围500米内、一周内、指定时段、状态>1的数据
     * @param point 中心点坐标
     * @param distance 距离范围
     * @return 符合条件的实体列表
     */
    @Query("{ 'location' : { '$nearSphere' : ?0, '$maxDistance' : ?1, '$distanceField': 'distance' }, 'id' : { $in : ?2 } }")
    List<XpOperationsUserPositionDTO> findWithDistance(
            Point point,
            Integer distance,
            List<Long> ids
    );
 
}