全部
This commit is contained in:
@ -38,7 +38,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
@Data
|
||||
@Slf4j
|
||||
@Tag(name = "路径规划管理")
|
||||
@CheckAuth
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/graphhopper")
|
||||
public class GraphHopperController {
|
||||
@ -58,7 +58,7 @@ public class GraphHopperController {
|
||||
|
||||
@Operation(summary = "加载地图数据")
|
||||
@PostMapping("/loadMap")
|
||||
@CheckAuth
|
||||
|
||||
public ApiResponse loadMap(@Parameter(description = "文件路径") @RequestParam String path) {
|
||||
File osmFile = new File(path);
|
||||
if (!osmFile.exists()) {
|
||||
@ -108,7 +108,7 @@ public class GraphHopperController {
|
||||
|
||||
@Operation(summary = "清除地图服务")
|
||||
@PostMapping("/clearMap")
|
||||
@CheckAuth
|
||||
|
||||
public ApiResponse clearMap() {
|
||||
// 防止并发操作(与加载操作互斥)
|
||||
if (isLoading.get()) {
|
||||
@ -146,11 +146,14 @@ public class GraphHopperController {
|
||||
|
||||
@Operation(summary = "路径规划")
|
||||
@PostMapping("/route")
|
||||
@CheckAuth
|
||||
|
||||
public ApiResponse calculateRoute(@RequestBody RouteRequest request) {
|
||||
// 校验地图是否加载完成 + 实例是否可用
|
||||
// 区分未加载地图和加载中两种状态
|
||||
if (isLoading.get()) {
|
||||
return ApiResponse.failure("地图正在加载中,请稍后再试");
|
||||
}
|
||||
if (!isLoaded.get() || currentHopper == null) {
|
||||
return ApiResponse.failure("地图未加载完成");
|
||||
return ApiResponse.failure("地图未加载,请先加载地图");
|
||||
}
|
||||
try {
|
||||
// 构建路径点列表
|
||||
@ -203,8 +206,20 @@ public class GraphHopperController {
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "获取地图加载状态")
|
||||
@GetMapping("/status")
|
||||
public ApiResponse getMapStatus() {
|
||||
if (isLoading.get()) {
|
||||
return ApiResponse.success("地图正在加载中");
|
||||
} else if (isLoaded.get() && currentHopper != null) {
|
||||
return ApiResponse.success("地图已加载完成");
|
||||
} else {
|
||||
return ApiResponse.success("地图未加载");
|
||||
}
|
||||
}
|
||||
|
||||
@Operation(summary = "获取交通方式")
|
||||
@CheckAuth
|
||||
|
||||
@PostMapping("/profiles")
|
||||
public ApiResponse profiles() {
|
||||
return ApiResponse.success(graphHopperProperties.getProfiles());
|
||||
|
||||
Reference in New Issue
Block a user