Merge remote-tracking branch 'origin/master'
commit
32bf291489
|
|
@ -5,16 +5,20 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.unisinsight.project.entity.dao.DeviceImageMapping;
|
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.req.DeviceImageMappingReq;
|
||||||
import com.unisinsight.project.entity.res.DeviceImageMappingRes;
|
import com.unisinsight.project.entity.res.DeviceImageMappingRes;
|
||||||
import com.unisinsight.project.entity.res.ListReq;
|
import com.unisinsight.project.entity.res.ListReq;
|
||||||
import com.unisinsight.project.exception.BaseErrorCode;
|
import com.unisinsight.project.exception.BaseErrorCode;
|
||||||
import com.unisinsight.project.exception.Result;
|
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 com.unisinsight.project.service.DeviceImageMappingService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
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.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
@ -39,7 +43,8 @@ public class DeviceImageMappingController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private DeviceImageMappingService deviceImageMappingService;
|
private DeviceImageMappingService deviceImageMappingService;
|
||||||
|
@Autowired
|
||||||
|
private SendNotificationService notificationService;
|
||||||
@ApiOperation(value = "终端镜像映射新增")
|
@ApiOperation(value = "终端镜像映射新增")
|
||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
public Result<?> insert(@RequestBody ListReq<DeviceImageMappingReq> deviceImageMappingReq) {
|
public Result<?> insert(@RequestBody ListReq<DeviceImageMappingReq> deviceImageMappingReq) {
|
||||||
|
|
@ -95,7 +100,10 @@ public class DeviceImageMappingController {
|
||||||
return Result.errorResult(BaseErrorCode.HTTP_ERROR_CODE_500);
|
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();
|
return Result.successResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ public class LoginReq {
|
||||||
private String token;
|
private String token;
|
||||||
|
|
||||||
@ApiModelProperty("mac地址")
|
@ApiModelProperty("mac地址")
|
||||||
|
@JsonProperty("mac_addr")
|
||||||
private String macAddr;
|
private String macAddr;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,10 +63,10 @@ public class ClientServiceImpl implements ClientService {
|
||||||
HashMap<String, Object> map = new HashMap<>();
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
map.put("id",e.getId());
|
map.put("id",e.getId());
|
||||||
if (StringUtils.isNotBlank(e.getDesktopName())) {
|
if (StringUtils.isNotBlank(e.getDesktopName())) {
|
||||||
map.put("name", e.getDesktopName());
|
map.put("name", e.getDesktopName()+"."+e.getDesktopType());
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(e.getFileSize())) {
|
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())) {
|
if (StringUtils.isNotBlank(e.getStoragePath())) {
|
||||||
map.put("storage_path", e.getStoragePath());
|
map.put("storage_path", e.getStoragePath());
|
||||||
|
|
|
||||||
|
|
@ -165,7 +165,7 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl<ImageVirtualMac
|
||||||
.name(imageVirtualMachinesReq.getImageName())
|
.name(imageVirtualMachinesReq.getImageName())
|
||||||
.osType(imageVirtualMachinesReq.getOsVersion())
|
.osType(imageVirtualMachinesReq.getOsVersion())
|
||||||
.osVariant(StringUtils.isNotEmpty(imageVirtualMachinesReq.getOsVariant()) ? imageVirtualMachinesReq.getOsVariant() : "generic")
|
.osVariant(StringUtils.isNotEmpty(imageVirtualMachinesReq.getOsVariant()) ? imageVirtualMachinesReq.getOsVariant() : "generic")
|
||||||
.vcpus(imageVirtualMachinesReq.getCpuTotal())
|
.vcpus(imageVirtualMachinesReq.getCpuCoreTotal())
|
||||||
.memory(imageVirtualMachinesReq.getMemoryTotal())
|
.memory(imageVirtualMachinesReq.getMemoryTotal())
|
||||||
.diskSize(imageVirtualMachinesReq.getSystemTotal())
|
.diskSize(imageVirtualMachinesReq.getSystemTotal())
|
||||||
|
|
||||||
|
|
@ -207,7 +207,7 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl<ImageVirtualMac
|
||||||
// 调用镜像修改服务
|
// 调用镜像修改服务
|
||||||
ImageUpdateReq updateReq = ImageUpdateReq.builder()
|
ImageUpdateReq updateReq = ImageUpdateReq.builder()
|
||||||
.vmName(imageVirtualMachinesReq.getImageName())
|
.vmName(imageVirtualMachinesReq.getImageName())
|
||||||
.vcpus(imageVirtualMachinesReq.getCpuTotal())
|
.vcpus(imageVirtualMachinesReq.getCpuCoreTotal())
|
||||||
.memory(imageVirtualMachinesReq.getMemoryTotal())
|
.memory(imageVirtualMachinesReq.getMemoryTotal())
|
||||||
.diskSize(imageVirtualMachinesReq.getSystemTotal())
|
.diskSize(imageVirtualMachinesReq.getSystemTotal())
|
||||||
.storagePoolName(imageVirtualMachinesReq.getStoragePoolName())
|
.storagePoolName(imageVirtualMachinesReq.getStoragePoolName())
|
||||||
|
|
@ -254,6 +254,12 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl<ImageVirtualMac
|
||||||
log.info("查询镜像虚拟机返回为空");
|
log.info("查询镜像虚拟机返回为空");
|
||||||
return Result.errorResult(BaseErrorCode.HTTP_ERROR_CODE_500, "虚拟机不存在");
|
return Result.errorResult(BaseErrorCode.HTTP_ERROR_CODE_500, "虚拟机不存在");
|
||||||
}
|
}
|
||||||
|
LambdaQueryWrapper<ImageDesktop> 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()
|
ImageDeleteReq deleteReq = ImageDeleteReq.builder()
|
||||||
|
|
@ -298,7 +304,7 @@ public class ImageVirtualMachinesServiceImpl extends ServiceImpl<ImageVirtualMac
|
||||||
|
|
||||||
String diskPath = vmInfo.getDiskPath();
|
String diskPath = vmInfo.getDiskPath();
|
||||||
|
|
||||||
String type = "linux".equalsIgnoreCase(imageVirtualMachines.getOsVersion()) ? "vhd" : "qcow2";
|
String type = "linux".equalsIgnoreCase(imageVirtualMachines.getOsVersion()) ? "qcow2" : "vhd";
|
||||||
|
|
||||||
// 根据虚拟机信息调用远程虚拟机信息
|
// 根据虚拟机信息调用远程虚拟机信息
|
||||||
String fileName = imageVirtualMachines.getOsVersion() + "_desktop_" + System.currentTimeMillis();
|
String fileName = imageVirtualMachines.getOsVersion() + "_desktop_" + System.currentTimeMillis();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue