From fc8e79a6e207752edb3bd030f783dffd7d41b547 Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Thu, 4 Sep 2025 11:26:34 +0800 Subject: [PATCH 1/5] =?UTF-8?q?refactor(nex-be):=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=9C=BA=20CPU=20=E5=8F=82=E6=95=B0=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=A0=B8=E5=BF=83=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 ImageUpdateReq 中的 vcpus 参数从 cpuTotal 改为 cpuCoreTotal - 此修改更准确地反映了虚拟机的 CPU 配置,提高了代码的准确性和可维护性 --- .../project/service/impl/ImageVirtualMachinesServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 6abe3fc..6399d4e 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 @@ -207,7 +207,7 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl Date: Thu, 4 Sep 2025 11:30:25 +0800 Subject: [PATCH 2/5] =?UTF-8?q?refactor(nex-be):=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=9C=BA=20CPU=20=E5=8F=82=E6=95=B0=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=A0=B8=E5=BF=83=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 ImageUpdateReq 中的 vcpus 参数从 cpuTotal 改为 cpuCoreTotal - 此修改更准确地反映了虚拟机的 CPU 配置,提高了代码的准确性和可维护性 --- .../project/service/impl/ImageVirtualMachinesServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 6399d4e..788bcb7 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 @@ -165,7 +165,7 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl Date: Thu, 4 Sep 2025 16:28:27 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat(service):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=A1=8C=E9=9D=A2=E5=90=8D=E7=A7=B0=E5=90=8E=E7=BC=80=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=99=BB=E5=BD=95=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ClientServiceImpl 中增加桌面文件名的后缀类型- 在 LoginReq 中添加 macAddr 字段并使用@JsonProperty注解 --- .../main/java/com/unisinsight/project/entity/req/LoginReq.java | 1 + .../com/unisinsight/project/service/impl/ClientServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/nex-be/src/main/java/com/unisinsight/project/entity/req/LoginReq.java b/nex-be/src/main/java/com/unisinsight/project/entity/req/LoginReq.java index 5d81906..6342522 100644 --- a/nex-be/src/main/java/com/unisinsight/project/entity/req/LoginReq.java +++ b/nex-be/src/main/java/com/unisinsight/project/entity/req/LoginReq.java @@ -31,6 +31,7 @@ public class LoginReq { private String token; @ApiModelProperty("mac地址") + @JsonProperty("mac_addr") private String macAddr; diff --git a/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java b/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java index f745739..eee6676 100644 --- a/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java +++ b/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java @@ -63,7 +63,7 @@ public class ClientServiceImpl implements ClientService { HashMap map = new HashMap<>(); map.put("id",e.getId()); if (StringUtils.isNotBlank(e.getDesktopName())) { - map.put("name", e.getDesktopName()); + map.put("name", e.getDesktopName()+"."+e.getDesktopType()); } if (StringUtils.isNotBlank(e.getFileSize())) { map.put("file_size", e.getFileSize()); From 258e65fd1b6799d7e9b55f11f08efb33bb009166 Mon Sep 17 00:00:00 2001 From: chenhao <852066789@qq.com> Date: Fri, 5 Sep 2025 09:37:52 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat(nex-be):=20=E6=9B=B4=E6=96=B0=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E7=B1=BB=E5=9E=8B=E5=B9=B6=E6=B7=BB=E5=8A=A0=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 Linux 镜像类型为 qcow2,Windows 镜像类型为 vhd - 在设备镜像映射新增操作中添加发送通知的功能 --- .../controller/DeviceImageMappingController.java | 12 ++++++++++-- .../impl/ImageVirtualMachinesServiceImpl.java | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/nex-be/src/main/java/com/unisinsight/project/controller/DeviceImageMappingController.java b/nex-be/src/main/java/com/unisinsight/project/controller/DeviceImageMappingController.java index 4694bbb..da3145e 100644 --- a/nex-be/src/main/java/com/unisinsight/project/controller/DeviceImageMappingController.java +++ b/nex-be/src/main/java/com/unisinsight/project/controller/DeviceImageMappingController.java @@ -5,16 +5,20 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.unisinsight.project.entity.dao.DeviceImageMapping; +import com.unisinsight.project.entity.enums.GrpcTypeEnum; import com.unisinsight.project.entity.req.DeviceImageMappingReq; import com.unisinsight.project.entity.res.DeviceImageMappingRes; import com.unisinsight.project.entity.res.ListReq; import com.unisinsight.project.exception.BaseErrorCode; import com.unisinsight.project.exception.Result; +import com.unisinsight.project.grpc.generate.NotificationMessage; +import com.unisinsight.project.grpc.service.SendNotificationService; import com.unisinsight.project.service.DeviceImageMappingService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -39,7 +43,8 @@ public class DeviceImageMappingController { @Resource private DeviceImageMappingService deviceImageMappingService; - + @Autowired + private SendNotificationService notificationService; @ApiOperation(value = "终端镜像映射新增") @PostMapping("/add") public Result insert(@RequestBody ListReq deviceImageMappingReq) { @@ -95,7 +100,10 @@ public class DeviceImageMappingController { return Result.errorResult(BaseErrorCode.HTTP_ERROR_CODE_500); } } - + //发送消息 + notificationService.sendNotification(deviceImageMappingReq.getDeviceId(), NotificationMessage.newBuilder() + .setType(GrpcTypeEnum.IMAGE_UPDATE.getType()) + .setContent(GrpcTypeEnum.IMAGE_UPDATE.getDesc()).build()); return Result.successResult(); } 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 788bcb7..7e91e1c 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 @@ -298,7 +298,7 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl Date: Fri, 5 Sep 2025 10:11:23 +0800 Subject: [PATCH 5/5] =?UTF-8?q?refactor(nex-be):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=9C=8D=E5=8A=A1=E5=92=8C=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E8=99=9A=E6=8B=9F=E6=9C=BA=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ClientServiceImpl 中,将文件大小的字符串转换为长整型 - 在 imageVirtualMachinesServiceImpl 中,增加删除镜像前的克隆桌面数量检查 --- .../unisinsight/project/service/impl/ClientServiceImpl.java | 2 +- .../service/impl/ImageVirtualMachinesServiceImpl.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java b/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java index eee6676..bad1d18 100644 --- a/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java +++ b/nex-be/src/main/java/com/unisinsight/project/service/impl/ClientServiceImpl.java @@ -66,7 +66,7 @@ public class ClientServiceImpl implements ClientService { map.put("name", e.getDesktopName()+"."+e.getDesktopType()); } if (StringUtils.isNotBlank(e.getFileSize())) { - map.put("file_size", e.getFileSize()); + map.put("file_size", StringUtils.isNotEmpty(e.getFileSize()) ? Long.parseLong(e.getFileSize()) : 0L); } if (StringUtils.isNotBlank(e.getStoragePath())) { map.put("storage_path", e.getStoragePath()); 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 7e91e1c..a1033fc 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 @@ -254,6 +254,12 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl desktopLambdaQueryWrapper=new LambdaQueryWrapper<>(); + desktopLambdaQueryWrapper.eq(ImageDesktop::getImageVirtualId, imageVirtualMachines.getId()); + int count = imageDesktopService.count(desktopLambdaQueryWrapper); + if (count>0){ + return Result.errorResult(BaseErrorCode.HTTP_ERROR_CODE_500, "该镜像有对应的克隆桌面,不允许删除"); + } // 调用镜像删除服务 ImageDeleteReq deleteReq = ImageDeleteReq.builder()