From 75e960c2caa66908818a5a07aa29a14d0ccf4c52 Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Thu, 11 Sep 2025 11:07:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(imageVirtualMachines):=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BF=AB=E7=85=A7=E5=88=97=E8=A1=A8=E5=88=86=E9=A1=B5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E5=BF=AB=E7=85=A7=E6=93=8D?= =?UTF-8?q?=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在快照列表接口中添加分页参数 page 和 page_size -优化创建快照、删除快照和还原快照的错误处理- 修改外部 API 客户端以支持新的分页参数 --- .../ImageVirtualMachinesController.java | 10 +++++----- .../project/feign/ExternalApiClient.java | 2 +- .../service/ImageVirtualMachinesService.java | 2 +- .../impl/ImageVirtualMachinesServiceImpl.java | 17 +++++++++++++---- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/ImageVirtualMachinesController.java b/nex-be/src/main/java/com/unisinsight/project/controller/ImageVirtualMachinesController.java index 2ed7099..dea867c 100644 --- a/nex-be/src/main/java/com/unisinsight/project/controller/ImageVirtualMachinesController.java +++ b/nex-be/src/main/java/com/unisinsight/project/controller/ImageVirtualMachinesController.java @@ -160,11 +160,11 @@ public class ImageVirtualMachinesController { return service.getVncData(vmName); } @ApiOperation(value = "获取快照列表") - @GetMapping("/snapshot/list/{vmName}") - public Result snapshotList(@PathVariable("vmName") String vmName) { + @GetMapping("/snapshot/list") + public Result snapshotList(@RequestParam("vmName") String vmName,@RequestParam("page") Integer page,@RequestParam("page_size") Integer pageSize) { - log.info("获取快照列表请求参数为:{}", vmName); - return service.snapshotList(vmName); + log.info("获取快照列表请求参数为:{},{},{}", vmName,page,pageSize); + return service.snapshotList(vmName,page,pageSize); } @ApiOperation(value = "创建快照") @PostMapping("/snapshot/create") @@ -181,7 +181,7 @@ public class ImageVirtualMachinesController { return service.deleteSnapshot(snapShotCreateReq); } @ApiOperation(value = "还原快照") - @GetMapping("/snapshot/revert") + @PostMapping("/snapshot/revert") public Result revertSnapshot(@RequestBody SnapShotReq snapShotCreateReq) { log.info("还原快照请求参数为:{}", snapShotCreateReq); diff --git a/nex-be/src/main/java/com/unisinsight/project/feign/ExternalApiClient.java b/nex-be/src/main/java/com/unisinsight/project/feign/ExternalApiClient.java index 5d61f10..a293888 100644 --- a/nex-be/src/main/java/com/unisinsight/project/feign/ExternalApiClient.java +++ b/nex-be/src/main/java/com/unisinsight/project/feign/ExternalApiClient.java @@ -94,7 +94,7 @@ public interface ExternalApiClient { @GetMapping("/api/v1/vm/{vmName}/vnc") ApiResponse getVncData(@PathVariable("vmName") String vmName); @GetMapping("/api/v1/snapshot/list/{vm_name}") - ApiResponse snapshotList(@PathVariable("vm_name") String vmName); + ApiResponse snapshotList(@PathVariable("vm_name") String vmName, @RequestParam("page") Integer page, @RequestParam("page_size") Integer pageSize); @PostMapping("/api/v1/snapshot/create/{vm_name}") ApiResponse createSnapshot(@PathVariable("vm_name") String vmName,@RequestBody SnapShotCreateReq snapshotCreateReq); @PostMapping("/api/v1/snapshot/revert/{vm_name}/{snapshot_name}") diff --git a/nex-be/src/main/java/com/unisinsight/project/service/ImageVirtualMachinesService.java b/nex-be/src/main/java/com/unisinsight/project/service/ImageVirtualMachinesService.java index 5f13373..04accf7 100644 --- a/nex-be/src/main/java/com/unisinsight/project/service/ImageVirtualMachinesService.java +++ b/nex-be/src/main/java/com/unisinsight/project/service/ImageVirtualMachinesService.java @@ -65,7 +65,7 @@ public interface ImageVirtualMachinesService extends IService getVncData(String vmName); - Result snapshotList(String vmName); + Result snapshotList(String vmName, Integer page, Integer pageSize); Result createSnapshot(SnapShotCreateReq snapShotCreateReq); diff --git a/nex-be/src/main/java/com/unisinsight/project/service/impl/ImageVirtualMachinesServiceImpl.java b/nex-be/src/main/java/com/unisinsight/project/service/impl/ImageVirtualMachinesServiceImpl.java index e1a6e84..b995cf7 100644 --- a/nex-be/src/main/java/com/unisinsight/project/service/impl/ImageVirtualMachinesServiceImpl.java +++ b/nex-be/src/main/java/com/unisinsight/project/service/impl/ImageVirtualMachinesServiceImpl.java @@ -591,8 +591,8 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl snapshotList(String vmName) { - ApiResponse response = externalApiClient.snapshotList(vmName); + public Result snapshotList(String vmName, Integer page, Integer pageSize) { + ApiResponse response = externalApiClient.snapshotList(vmName,page,pageSize); if ( !"200".equals(response.getCode()) ||response.getData() == null) { return Result.errorResult(BaseErrorCode.HTTP_ERROR_CODE_500, response.getMessage()); } @@ -608,8 +608,11 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl createSnapshot(SnapShotCreateReq snapShotCreateReq) { - externalApiClient.createSnapshot(snapShotCreateReq.getVmName(), snapShotCreateReq); - return Result.successResult(); + ApiResponse snapshot = externalApiClient.createSnapshot(snapShotCreateReq.getVmName(), snapShotCreateReq); + if (!"200".equals(snapshot.getCode())){ + return Result.errorResultMessage(BaseErrorCode.HTTP_ERROR_CODE_500, snapshot.getMessage()); + } + return Result.successResult(snapshot.getData()); } @Override @@ -618,6 +621,9 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl