|
@@ -2,7 +2,15 @@ package com.ruoyi.interfaces.controller;
|
|
|
|
|
|
|
|
import com.ruoyi.common.core.controller.BaseController;
|
|
import com.ruoyi.common.core.controller.BaseController;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
|
+import com.ruoyi.common.utils.DateUtils;
|
|
|
|
|
+import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.interfaces.domain.MdModelContainer;
|
|
import com.ruoyi.interfaces.domain.MdModelContainer;
|
|
|
|
|
+import com.ruoyi.interfaces.domain.MdModelInfo;
|
|
|
|
|
+import com.ruoyi.interfaces.domain.MdModelRunLog;
|
|
|
|
|
+import com.ruoyi.interfaces.mapper.MdModelRunLogMapper;
|
|
|
|
|
+import com.ruoyi.interfaces.service.IMdModelInfoService;
|
|
|
|
|
+import com.ruoyi.interfaces.service.IMdModelRunLogService;
|
|
|
|
|
+import com.ruoyi.interfaces.service.MdModelContainerService;
|
|
|
import com.ruoyi.interfaces.service.container.ContainerService;
|
|
import com.ruoyi.interfaces.service.container.ContainerService;
|
|
|
import com.ruoyi.interfaces.service.impl.container.DockerImageService;
|
|
import com.ruoyi.interfaces.service.impl.container.DockerImageService;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
@@ -18,6 +26,16 @@ public class ContainerController extends BaseController {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private ContainerService containerService;
|
|
private ContainerService containerService;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IMdModelRunLogService modelRunLogService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IMdModelInfoService modelInfoService;
|
|
|
|
|
+
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private MdModelContainerService mdModelContainerService;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
@ApiOperation("获取容器列表")
|
|
@ApiOperation("获取容器列表")
|
|
|
@GetMapping(value = "/list")
|
|
@GetMapping(value = "/list")
|
|
|
public AjaxResult listContainers() {
|
|
public AjaxResult listContainers() {
|
|
@@ -28,31 +46,66 @@ public class ContainerController extends BaseController {
|
|
|
@ApiOperation("根据主键获取数据")
|
|
@ApiOperation("根据主键获取数据")
|
|
|
@PostMapping(value = "/createContainer")
|
|
@PostMapping(value = "/createContainer")
|
|
|
public AjaxResult createContainer(@RequestBody MdModelContainer container) {
|
|
public AjaxResult createContainer(@RequestBody MdModelContainer container) {
|
|
|
|
|
+
|
|
|
MdModelContainer newContainer = containerService.createContainer(container);
|
|
MdModelContainer newContainer = containerService.createContainer(container);
|
|
|
|
|
+ insertMdModelRunLog(newContainer.getId(), "CREATE");
|
|
|
return AjaxResult.success(newContainer);
|
|
return AjaxResult.success(newContainer);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@ApiOperation("根据主键获取数据")
|
|
@ApiOperation("根据主键获取数据")
|
|
|
@PostMapping(value = "/{containerId}/start")
|
|
@PostMapping(value = "/{containerId}/start")
|
|
|
public AjaxResult startContainer(@PathVariable String containerId) {
|
|
public AjaxResult startContainer(@PathVariable String containerId) {
|
|
|
|
|
+ insertMdModelRunLog(containerId, "START");
|
|
|
containerService.startContainer(containerId);
|
|
containerService.startContainer(containerId);
|
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 添加模型运行时间监控日志
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param containerId 镜像id
|
|
|
|
|
+ * @param event 时间类型
|
|
|
|
|
+ */
|
|
|
|
|
+ public void insertMdModelRunLog(String containerId, String event) {
|
|
|
|
|
+ MdModelContainer mdModelContainer = mdModelContainerService.selectById(containerId);
|
|
|
|
|
+ if (StringUtils.isNotNull(mdModelContainer)) {
|
|
|
|
|
+ MdModelInfo mdModelInfo = modelInfoService.selectMdModelInfoByMdid(mdModelContainer.getMdid());
|
|
|
|
|
+ if (StringUtils.isNotNull(mdModelInfo)) {
|
|
|
|
|
+ MdModelRunLog mdModelRunLog = new MdModelRunLog();
|
|
|
|
|
+ mdModelRunLog.setEvent(event);
|
|
|
|
|
+ mdModelRunLog.setMdid(mdModelContainer.getMdid());
|
|
|
|
|
+ mdModelRunLog.setMdName(mdModelContainer.getName());
|
|
|
|
|
+ mdModelRunLog.setCreateBy(getUsername());
|
|
|
|
|
+ mdModelRunLog.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
+ modelRunLogService.insertMdModelRunLog(mdModelRunLog);
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@PostMapping("/{containerId}/stop")
|
|
@PostMapping("/{containerId}/stop")
|
|
|
public AjaxResult stopContainer(@PathVariable String containerId) {
|
|
public AjaxResult stopContainer(@PathVariable String containerId) {
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 添加模型运行时间监控日志
|
|
|
|
|
+ */
|
|
|
|
|
+ insertMdModelRunLog(containerId, "STOP");
|
|
|
|
|
+
|
|
|
containerService.stopContainer(containerId);
|
|
containerService.stopContainer(containerId);
|
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@PostMapping("/{containerId}/restart")
|
|
@PostMapping("/{containerId}/restart")
|
|
|
public AjaxResult restartContainer(@PathVariable String containerId) {
|
|
public AjaxResult restartContainer(@PathVariable String containerId) {
|
|
|
|
|
+ insertMdModelRunLog(containerId, "RESTART");
|
|
|
containerService.restartContainer(containerId);
|
|
containerService.restartContainer(containerId);
|
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@PostMapping("/{containerId}/delete")
|
|
@PostMapping("/{containerId}/delete")
|
|
|
public AjaxResult deleteContainer(@PathVariable String containerId) {
|
|
public AjaxResult deleteContainer(@PathVariable String containerId) {
|
|
|
|
|
+ insertMdModelRunLog(containerId, "DELETE");
|
|
|
containerService.deleteContainer(containerId);
|
|
containerService.deleteContainer(containerId);
|
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
|
}
|
|
}
|