| | |
| | | LoginOperationUser loginUser = sysLoginService.verificationCodeLogin(userInfo.getPhone_number(), deviceType, request); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("token", tokenService.createOperationUserToken(loginUser)); |
| | | // List<SysRole> roles = userInfo.getXpOperationsUser().getRoles(); |
| | | // if (CollectionUtils.isEmpty(roles)) { |
| | | // return R.fail("请关联角色!"); |
| | | // } |
| | | // map.put("roleName", roles.get(0).getRoleName()); |
| | | map.put("info", loginUser); |
| | | return R.ok(map); |
| | | } |
| | |
| | | */ |
| | | @Validated |
| | | @RestController |
| | | @RequiredArgsConstructor |
| | | @RequiredArgsConstructor(onConstructor_ = @Lazy) |
| | | public class XpTestPlanController { |
| | | private final IXpTestPlanService xpTestPlanService; |
| | | private final XpVehicleClient xpVehicleClient; |
| | |
| | | double latitude, |
| | | double distanceInMeters,int num) { |
| | | try { |
| | | // // 1. 创建查询点 |
| | | // Point referencePoint = new Point(longitude, latitude); |
| | | // |
| | | // // 2. 构建 NearQuery - 完全使用 NearQuery 的 API |
| | | // NearQuery nearQuery = NearQuery.near(referencePoint, Metrics.KILOMETERS) |
| | | // .maxDistance(distanceInMeters / 1000) // 转成公里 |
| | | // .spherical(true); |
| | | // |
| | | // |
| | | // // 4. 执行查询 - 明确指定集合名 |
| | | // GeoResults<VehiclePosition> geoResults = mongoTemplate.geoNear( |
| | | // nearQuery, |
| | | // VehiclePosition.class, |
| | | // "vehicle_position" // 明确指定集合名,避免映射错误 |
| | | // ); |
| | | // |
| | | // // 5. 提取结果 |
| | | // return geoResults.getContent().stream() |
| | | // .map(geoResult -> geoResult.getContent()) |
| | | // .collect(Collectors.toList()); |
| | | |
| | | // 找到中心点 |
| | | GeoJsonPoint geoJsonPoint = new GeoJsonPoint(longitude, latitude); |
| | | // 构造半径 |