diff --git a/.gitignore b/.gitignore
index a1c2a238a965f004ff76978ac1086aa6fe95caea..88a499a643c416228391a245b518a2d0545752bb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,8 +15,6 @@
*.war
*.nar
*.ear
-*.zip
-*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
diff --git a/InManageBoot-iboot/.gitignore b/InManageBoot-iboot/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..490e282cdc6a773c60ca5bb2bfb885f6e56316a8
--- /dev/null
+++ b/InManageBoot-iboot/.gitignore
@@ -0,0 +1,154 @@
+# Created by .ignore support plugin (hsz.mobi)
+### Eclipse template
+.metadata
+.project
+.classpath
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# CDT- autotools
+.autotools
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+.target/
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Annotation Processing
+.apt_generated/
+.apt_generated_test/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+# Uncomment this line if you wish to ignore the project description file.
+# Typically, this file would be tracked if it contains build/dependency configurations:
+#.project
+
+### Maven template
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+pom.xml.next
+release.properties
+dependency-reduced-pom.xml
+buildNumber.properties
+.mvn/timing.properties
+# https://github.com/takari/maven-wrapper#usage-without-binary-jar
+.mvn/wrapper/maven-wrapper.jar
+
+### JetBrains template
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+*.log
+*.iml
diff --git a/InManageBoot-iboot/.gitlab-ci.yml b/InManageBoot-iboot/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7cab95664e41537c39f5fe9809d1028c11d6f9cf
--- /dev/null
+++ b/InManageBoot-iboot/.gitlab-ci.yml
@@ -0,0 +1,129 @@
+image: 100.18.33.97:8083/nexus/repository/docker-private/docker:19.03.12
+
+
+stages:
+ - deploy
+ - code-analyze
+
+maven-build:
+ rules:
+ - if: $CI_COMMIT_MESSAGE =~ /\[deploy\]/
+ - if: $CI_COMMIT_BRANCH == 'dev'
+ tags:
+ - cosmos
+
+ image: 100.18.33.97:8083/nexus/repository/docker-private/maven:3.3.9-jdk-8
+ stage: deploy
+ script:
+ - mvn -version
+ - echo '
+
+
+ releases
+ admin
+ admin123
+
+
+ snapshots
+ admin
+ admin123
+
+
+
+
+ sifu-154
+ *
+ 私服
+ http://100.18.33.154:8081/nexus/content/groups/public
+
+
+
+
+ jdk-1.8
+
+ 1.8
+
+
+
+ repo-zhengzhou
+ Repository for Zheng Zhou
+ http://100.18.33.154:8081/nexus/content/groups/public
+
+ true
+ always
+
+
+ true
+ always
+
+
+
+
+
+ ' > $HOME/.m2/settings.xml
+ - "ls -la $HOME/.m2/"
+ - "mvn clean deploy -Dmaven.test.skip=true"
+
+code-analyze-job:
+ rules:
+ - if: $CI_COMMIT_MESSAGE =~ /\[deploy\]/
+ - if: $CI_COMMIT_BRANCH == 'dev'
+ tags:
+ - cosmos
+ image: 100.18.33.97:8083/nexus/repository/docker-private/maven:3.3.9-jdk-8
+ stage: code-analyze
+ script:
+ - mvn -version
+ - echo '
+
+
+ releases
+ admin
+ admin123
+
+
+ snapshots
+ admin
+ admin123
+
+
+
+
+ sifu-154
+ *
+ 私服
+ http://100.18.33.154:8081/nexus/content/groups/public
+
+
+
+
+ jdk-1.8
+
+ 1.8
+
+
+
+ repo-zhengzhou
+ Repository for Zheng Zhou
+ http://100.18.33.154:8081/nexus/content/groups/public
+
+ true
+ always
+
+
+ true
+ always
+
+
+
+
+
+ ' > $HOME/.m2/settings.xml
+ - "ls -la $HOME/.m2/"
+ - " mvn clean package org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar -Dsonar.host.url=http://100.18.33.136:9010 -Dmaven.test.skip=true"
diff --git a/InManageBoot-iboot/README.md b/InManageBoot-iboot/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/pom.xml b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..06a37e5eb886e42fcfd18b2659015cb0e49a4278
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/pom.xml
@@ -0,0 +1,47 @@
+
+
+
+ cosmos-biz-iboot-base
+ com.inspur.cosmos.biz.iboot.base
+ ${revision}
+
+ 4.0.0
+ cosmos-biz-iboot-base-api
+ Cosmos Biz Iboot Base Api
+
+
+ com.inspur.cdc.commons
+ cdc-commons-lang
+
+
+ javax.persistence
+ javax.persistence-api
+
+
+ org.freemarker
+ freemarker
+
+
+ com.itextpdf
+ itextpdf
+
+
+ com.itextpdf.tool
+ xmlworker
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+
+
+ com.google.code.gson
+ gson
+
+
+ com.inspur.cdc
+ cdc-boot
+
+
+
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/IBootTemplateQueryBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/IBootTemplateQueryBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..3af4d4721439df2460ce77c5404ce1fc384c0878
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/IBootTemplateQueryBean.java
@@ -0,0 +1,132 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+import com.inspur.cdc.commons.lang.web.PageRequest;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/8
+ */
+public class IBootTemplateQueryBean extends PageRequest {
+ private String name;
+ private Date createTimeStart;
+ private Date createTimeEnd;
+ private String createUserID;
+ private String updateUserID;
+ private String model;
+ private String vendor;
+ private String ip;
+ private String serial;
+ private List templateType;
+ private String architecture;
+
+ public String getArchitecture() {
+ return architecture;
+ }
+
+ public void setArchitecture(String architecture) {
+ this.architecture = architecture;
+ }
+
+ public String getIp() {
+ return ip;
+ }
+
+ public void setIp(String ip) {
+ this.ip = ip;
+ }
+
+ public String getSerial() {
+ return serial;
+ }
+
+ public void setSerial(String serial) {
+ this.serial = serial;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Date getCreateTimeStart() {
+ return createTimeStart;
+ }
+
+ public void setCreateTimeStart(Date createTimeStart) {
+ this.createTimeStart = createTimeStart;
+ }
+
+ public void setCreateTimeStart(String createTimeStart) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ this.createTimeStart = sdf.parse(createTimeStart);
+ } catch (ParseException e) {
+ }
+ }
+
+ public Date getCreateTimeEnd() {
+ return createTimeEnd;
+ }
+
+ public void setCreateTimeEnd(Date createTimeEnd) {
+ this.createTimeEnd = createTimeEnd;
+ }
+
+ public void setCreateTimeEnd(String createTimeEnd) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ try {
+ this.createTimeEnd = sdf.parse(createTimeEnd);
+ } catch (ParseException e) {
+ }
+ }
+
+ public String getCreateUserID() {
+ return createUserID;
+ }
+
+ public void setCreateUserID(String createUserID) {
+ this.createUserID = createUserID;
+ }
+
+ public String getUpdateUserID() {
+ return updateUserID;
+ }
+
+ public void setUpdateUserID(String updateUserID) {
+ this.updateUserID = updateUserID;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+
+ public String getVendor() {
+ return vendor;
+ }
+
+ public void setVendor(String vendor) {
+ this.vendor = vendor;
+ }
+
+ public List getTemplateType() {
+ return templateType;
+ }
+
+ public void setTemplateType(List templateType) {
+ this.templateType = templateType;
+ }
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/OSInstallModeEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/OSInstallModeEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..0bbb9ca7d3a20dbdae2f9b3e96e817a81cffa877
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/OSInstallModeEnum.java
@@ -0,0 +1,16 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+import lombok.Getter;
+
+@Getter
+public enum OSInstallModeEnum {
+ PRIMARY(1),
+ SENIOR(2);
+
+ int value;
+
+ OSInstallModeEnum(int value) {
+ this.value = value;
+ }
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/RaidLevelEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/RaidLevelEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..f873acc3350a00a59224ec3fdc12b43b8a43b3d1
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/RaidLevelEnum.java
@@ -0,0 +1,18 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/10
+ */
+public enum RaidLevelEnum {
+ RAID0,
+ RAID1,
+ JBOD,
+ RAID5,
+ RAID10,
+ RAID1E,
+ RAID6,
+ RAID50,
+ RAID60;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/ReplaceBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/ReplaceBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..f0f26881b24691a394e695994837005e4619d9c0
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/ReplaceBean.java
@@ -0,0 +1,27 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+import lombok.Data;
+
+/**
+ * @author zhangchen
+ * @date 2023/08/10
+ */
+@Data
+public class ReplaceBean {
+
+ /**
+ * 需要替换的旧字符串
+ */
+ private String oldStr;
+ /**
+ * 需要替换的新字符串
+ */
+ private String newStr;
+
+ public ReplaceBean(String oldStr, String newStr) {
+ this.oldStr = oldStr;
+ this.newStr = newStr;
+ }
+
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/ResultBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/ResultBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..e0371f676547b930470bfdc9d4398d9d7ec2550c
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/ResultBean.java
@@ -0,0 +1,25 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+@Data
+@AllArgsConstructor
+public class ResultBean {
+
+ /**
+ * 操作标志位
+ */
+ private boolean flag;
+
+ /**
+ * 返回信息
+ */
+ private String message;
+
+ /**
+ * 返回数据
+ */
+ private Object data;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskHostStatusEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskHostStatusEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..7154d4fd7cc1362d9f02230b57ef57db98958201
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskHostStatusEnum.java
@@ -0,0 +1,33 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+import static com.inspur.cdc.commons.i18n.Languages.getLocale;
+
+/**
+ * 单个设备的状态
+ */
+public enum TaskHostStatusEnum {
+ FAILED("失败", "FAILED"),
+ SUCCESS("成功", "SUCCESS"),
+ RUNNING("运行中", "RUNNING"),
+ WAITING("等待中", "WAITING"),
+ PART_SUCCESS("部分成功", "PART_SUCCESS"),
+ HISTORY("历史", "HISTORY");
+
+ String statusNameCn;
+ String statusNameEn;
+
+ TaskHostStatusEnum(String statusNameCn, String statusNameEn) {
+ this.statusNameCn = statusNameCn;
+ this.statusNameEn = statusNameEn;
+ }
+
+ public String getStatusName() {
+ final String lang = getLocale().toString();
+ final String LANGUAGE_ZH_CN = "zh_CN";
+ if (LANGUAGE_ZH_CN.equals(lang)) {
+ return this.statusNameCn;
+ } else {
+ return this.statusNameEn;
+ }
+ }
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskQueryBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskQueryBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..f2610be93e4faa57a88622cb6d3bbb8ba96884df
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskQueryBean.java
@@ -0,0 +1,8 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.DeviceQueryBean;
+
+public class TaskQueryBean extends DeviceQueryBean {
+ private static final long serialVersionUID = 7254430337535077230L;
+
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskStatusEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskStatusEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..320301c93374e6c1b7ec258755292a71fc1255d5
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TaskStatusEnum.java
@@ -0,0 +1,33 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+import static com.inspur.cdc.commons.i18n.Languages.getLocale;
+
+/**
+ * 大任务的状态
+ */
+public enum TaskStatusEnum {
+ Failed("失败", "Failed"),
+ Success("成功", "Success"),
+ Running("运行中", "Running"),
+ Waiting("等待中", "Waiting"),
+ Part_Success("部分成功", "Part Success");
+
+
+ String statusNameCn;
+ String statusNameEn;
+
+ TaskStatusEnum(String statusNameCn, String statusNameEn) {
+ this.statusNameCn = statusNameCn;
+ this.statusNameEn = statusNameEn;
+ }
+
+ public String getStatusName() {
+ final String lang = getLocale().toString();
+ final String LANGUAGE_ZH_CN = "zh_CN";
+ if (LANGUAGE_ZH_CN.equals(lang)) {
+ return this.statusNameCn;
+ } else {
+ return this.statusNameEn;
+ }
+ }
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TemplateTypeEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TemplateTypeEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..1d57b11117ae4ec8383a066caf9760fd7388b9b0
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/TemplateTypeEnum.java
@@ -0,0 +1,41 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean;
+
+import static com.inspur.cdc.commons.i18n.Languages.getLocale;
+
+/**
+ * @description 模板类型枚举
+ * @auther gengzhicheng
+ * @date 2023/8/7
+ */
+public enum TemplateTypeEnum {
+
+ USER_CONF("用户配置", "UserConfig"),
+ RAID_SET_CONF("Raid配置", "RaidConfig"),
+ NETWORK_CONF("网络配置", "NetworkConfig"),
+ STRESS_TEST("压力测试", "StressTest"),
+ CUSTOM_TEMPLATE("自定义模板", "CustomTemplate"),
+ DEVICE_REFRESH("设备刷新", "DeviceRefresh"),
+ OS_INSTALL("操作系统安装", "OSInstall"),
+ DISK_CLONE("磁盘克隆", "Disk Clone"),
+ DISK_RESTORE("磁盘还原", "Disk Restore"),
+ OS_EXPLORE("系统探测", "OSExplore");
+
+ String templateNameCn;
+ String templateNameEn;
+
+ TemplateTypeEnum(String templateNameCn, String templateNameEn) {
+ this.templateNameCn = templateNameCn;
+ this.templateNameEn = templateNameEn;
+ }
+
+ public String getTemplateName() {
+ final String lang = getLocale().toString();
+ final String LANGUAGE_ZH_CN = "zh_CN";
+ if (LANGUAGE_ZH_CN.equals(lang)) {
+ return this.templateNameCn;
+ } else {
+ return this.templateNameEn;
+ }
+ }
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ArchitectureEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ArchitectureEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..dd93024a5f5c65cd2431169d179cb6f43325356f
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ArchitectureEnum.java
@@ -0,0 +1,15 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+/**
+ * @author zhangchen06
+ * @version v1.0
+ * @date 2022/02/14 15:58:01
+ * @description 架构枚举
+ */
+public enum ArchitectureEnum {
+ x86_64,
+ mips,
+ arm,
+ // 作为编排模板的默认架构
+ def;
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/BootOptionEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/BootOptionEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..32172a5da8bdd73255baeb57f049d44b2f0e15ea
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/BootOptionEnum.java
@@ -0,0 +1,10 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/8
+ * @description
+ */
+public enum BootOptionEnum {
+ UEFI, LEGACY
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceControllerBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceControllerBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..e996961842fae857f9c0e525779f0e6d713ab8e2
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceControllerBean.java
@@ -0,0 +1,189 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DeviceControllerBean {
+
+ private static final long serialVersionUID = -4936995732278468539L;
+
+ /**
+ * productName: 产品名称
+ */
+ private String productName;
+
+ /**
+ * serialNumber: 序列号
+ */
+ private String serialNumber;
+
+ /**
+ * controllerId: 控制器ID
+ */
+ private String controllerId;
+
+ /**
+ * deviceId: 设备ID
+ */
+ private String deviceId;
+
+ /**
+ * 设备类型:LSI、PMC
+ */
+ private String type;
+
+ private String deviceName;
+
+ /**
+ * subdeviceId: 子设备ID
+ */
+ private String subdeviceId;
+
+ /**
+ * vendorId: 厂商ID
+ */
+ private String vendorId;
+
+ private String vendorName;
+
+ /**
+ * subvendorId: 子厂商ID
+ */
+ private String subvendorId;
+
+ /**
+ * deviceInterface: 设备端口
+ */
+ private String deviceInterface;
+
+ /**
+ * hostInterface: 接口类型(插在pcie)
+ */
+ private String hostInterface;
+
+ /**
+ * smartPolling: 硬盘检测周期
+ */
+ private String smartPolling;
+
+ /**
+ * coercionMode: 强制模式
+ */
+ private String coercionMode;
+
+ /**
+ * chipTemperature: 芯片温度
+ */
+ private String chipTemperature;
+
+ /**
+ * shieldStateSupported: 屏蔽状态
+ */
+ private String shieldStateSupported;
+
+ /**
+ * maintainPdFailHistory: 物理磁盘故障历史记录
+ */
+ private String maintainPdFailHistory;
+
+ private String jbodEnable;
+
+ /**
+ * alarmControl: 报警控制
+ */
+ private String alarmControl;
+
+ /**
+ * biosVersion: BIOS版本
+ */
+ private String biosVersion;
+
+ /**
+ * firmwareVersion: 固件版本 [NFV]
+ */
+ private String firmwareVersion;
+
+ /**
+ * firmwarePackageVersion: 固件包版本
+ */
+ private String firmwarePackageVersion;
+
+ /**
+ * firmwareTime: 固件当前时间
+ */
+ private String firmwareTime;
+
+ /**
+ * portCount: 端口数
+ */
+ private String portCount;
+
+ /**
+ * driveCount: 设备数
+ */
+ private String driveCount;
+
+ private String hdFailedCount;
+
+ private String hdPerfailCount;
+
+ /**
+ * minStripSize: DDF最小条带大小(单位:KB)
+ */
+ private String minStripSize;
+
+ /**
+ * nvramSize: NVRAM大小(单位:KB)
+ */
+ private String nvramSize;
+
+ /**
+ * memorySize: 内存大小(单位:MB)
+ */
+ private String memorySize;
+
+ /**
+ * autoRebuild: 自动重建
+ */
+ private String autoRebuild;
+
+ /**
+ * rebuildRate: 重建率
+ */
+ private String rebuildRate;
+
+ /**
+ * backGroundInitRate: 后台初始化率
+ */
+ private String backGroundInitRate;
+
+ /**
+ * cacheFlushInterval: 缓存刷新频率(单位:秒)
+ */
+ private String cacheFlushInterval;
+
+ /**
+ * clusterMode: 群集模式
+ */
+ private String clusterMode;
+
+ /**
+ * smartCopybackEnabled: 智能回写使能
+ */
+ private String smartCopybackEnabled;
+
+ /**
+ * sasAddress: SAS地址
+ */
+ private String sasAddress;
+
+ private String status;
+
+
+ private List volumes;
+
+ private List drives;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceControllerBeanFilter.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceControllerBeanFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..0e3be9739fe9ef3f82d28c3b027fae7f3955e2f7
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceControllerBeanFilter.java
@@ -0,0 +1,7 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import com.fasterxml.jackson.annotation.JsonFilter;
+
+@JsonFilter("deviceControllerBeanFilter")
+public class DeviceControllerBeanFilter {
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDetailBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDetailBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc9e7261d964868ed19ec11d3ddd772db95f5df9
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDetailBean.java
@@ -0,0 +1,14 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/9
+ * @description
+ */
+@Data
+public class DeviceDetailBean {
+ private DeviceSystemInfoBean system;
+ private DeviceStorageBean storage;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDiskCloneBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDiskCloneBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..4eaca9be6bb1a76674efe938ee732e8e98501488
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDiskCloneBean.java
@@ -0,0 +1,14 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DeviceDiskCloneBean {
+ private String deviceId;
+ private String sn;
+ private List disk;
+ private String imageName;
+ private DiskCloneMethodEnum method;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..185cdc9cb95a80c88e7ded13134366edbf0f27b9
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveBean.java
@@ -0,0 +1,193 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+
+import lombok.Data;
+
+@Data
+public class DeviceDriveBean {
+
+ private String serialNumber;
+
+ /**
+ * 设备ID
+ */
+ private String deviceId;
+
+ private String deviceName;
+
+ /**
+ * 厂商ID
+ */
+ private String vendorId;
+
+ private String vendorName;
+
+ /**
+ * 磁盘框ID
+ */
+ private String enclosureId;
+
+ /**
+ * 产品id
+ */
+ private String productId;
+
+ /**
+ * 控制器ID, 多控制器情况下,可能需要此字段
+ */
+ private String controllerId;
+
+ /**
+ * 媒体类型
+ */
+ private String mediaType;
+
+ /**
+ * 设备接口
+ */
+ private String deviceInterface;
+
+ /**
+ * 温度
+ */
+ private String temperature;
+
+ /**
+ * SAS地址
+ */
+ private String sasAddress;
+
+ /**
+ * 路径是否损坏
+ */
+ private String isPathBroken;
+
+ /**
+ * 全盘加密使能
+ */
+ private String fdeCapable;
+
+ /**
+ * 电源状态
+ */
+ private String powerState;
+
+ private String pdLife;
+
+ /**
+ * (单位:Gbps)
+ */
+ private String maxSpeed;
+
+ /**
+ * 连接速度(单位:Gbps)
+ */
+ private String negotiatedLinkSpeed;
+
+ /**
+ * 用户数据块大小(单位:B)
+ */
+ private String userDataBlockSize;
+
+ /**
+ * 原始大小(单位:GB)
+ */
+ private String rawSize;
+
+ /**
+ * COD强制预留大小(单位:GB)
+ */
+ private String coercedSize;
+
+ /**
+ * 固件版本
+ */
+ private String firmwareVersion;
+
+ /**
+ * 媒体错误数
+ */
+ private String mediaErrorCount;
+
+ /**
+ * 槽位号
+ */
+ private String slotNumber;
+
+ /**
+ * 连接端口
+ */
+ private String connectedPort;
+
+ /**
+ * 错误数量
+ */
+ private String predictiveFailCount;
+
+ /**
+ * 物理盘状态
+ */
+ private String status;
+
+ /**
+ * 物理盘状态说明
+ */
+ private String statusTip;
+
+ /**
+ * 固件状态
+ */
+ private String firmwareState;
+
+ private String security;
+
+ /**
+ * 安全擦除使能
+ */
+ private String secureErase;
+
+ /**
+ * 重建使能
+ */
+ private String rebuild;
+
+ /**
+ * 巡读使能
+ */
+ private String patrolRead;
+
+ /**
+ * 硬盘指示灯位置使能
+ */
+ private String locate;
+
+ /**
+ * 禁用移除
+ */
+ private String disabledRemoval;
+
+ /**
+ * 紧急备份设置
+ */
+ private String emergencySpare;
+
+ /**
+ * 回拷
+ */
+ private String copyBack;
+
+ /**
+ * 热备盘使能
+ */
+ private String commissionedHotspare;
+
+ /**
+ * 清盘使能
+ */
+ private String clearAllData;
+
+ private String badBlockTable;
+
+ private String driveGroup;
+}
+
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveBeanFilter.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveBeanFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..acaa91199479f94464639625e3cc3b71d562f028
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveBeanFilter.java
@@ -0,0 +1,7 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import com.fasterxml.jackson.annotation.JsonFilter;
+
+@JsonFilter("deviceDriveBeanFilter")
+public class DeviceDriveBeanFilter {
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveStatusEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveStatusEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..873fa7d283198fa0c3b1e0c08fbaa018e8441be9
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDriveStatusEnum.java
@@ -0,0 +1,39 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import com.inspur.cdc.commons.i18n.Languages;
+import lombok.Getter;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Arrays;
+
+public enum DeviceDriveStatusEnum {
+ ONLINE("Online", "已配置为虚拟磁盘的成员盘,可正常使用", "The drive is a member drive of a virtual drive. It is online and is working properly."),
+ OFFLINE("Offline", "已配置为虚拟磁盘的成员盘,不可正常使用", "The drive is a member drive of a virtual drive. It cannot work properly and is offline."),
+ UGOOD("Unconfigured Good", "硬盘状态正常,但不是虚拟磁盘的成员盘或热备盘", "The drive is in a normal state but is not a member drive of a virtual drive or hot spare drive."),
+ UBAD("Unconfigured Bad", "\"Unconfigured Good\"或未初始化的硬盘出现无法恢复错误", "If an unrecoverable error occurs on a drive in the Unconfigured Good or uninitialized state, the drive enters the Unconfigured Bad state."),
+ HOT_SPARE("Hot Spare", "热备盘", "The drive is configured as a hot spare drive."),
+ REBUILD("Rebuild", "硬盘正在进行数据重构,以保持数据冗余性和完整性", "Data is being reconstructed on the drive to ensure data redundancy and integrity of the virtual drive."),
+ FAILED("Failed", "\"Online\"或\"Hot Spare\"状态的硬盘出现不可恢复错误时,显示为此状态", "If an unrecoverable error occurs on a drive in the Online or Hot Spare state, the drive enters the Failed state."),
+ MISSING("Missing", "\"Online\"状态的硬盘被拔出后,显示为此状态", "When a drive in the Online state is removed, the drive enters the Missing state."),
+ JBOD("JBOD", "硬盘以直通方式使用", "Drive works in passthrough mode."),
+ UNKOWN("Unknown", "硬盘状态未知", "The drive state is unknown.");
+
+ @Getter
+ private String status;
+ private String descriptionZh;
+ private String descriptionEn;
+
+ DeviceDriveStatusEnum(String status, String descriptionZh, String descriptionEn) {
+ this.status = status;
+ this.descriptionZh = descriptionZh;
+ this.descriptionEn = descriptionEn;
+ }
+
+ public static DeviceDriveStatusEnum matchStatus(String status) {
+ return Arrays.stream(values()).filter(e -> StringUtils.equalsIgnoreCase(status, e.name())).findFirst().orElse(UNKOWN);
+ }
+
+ public String getDescription() {
+ return "zh_CN".equals(Languages.getLocale2String()) ? descriptionZh : descriptionEn;
+ }
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDropdownBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDropdownBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..a2556815edad8c36acfbd4cd0745c4ef36dd3c74
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceDropdownBean.java
@@ -0,0 +1,17 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/8
+ * @description
+ */
+@Data
+public class DeviceDropdownBean implements Serializable {
+ private List modelList;
+ private List vendorList;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceQueryBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceQueryBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..fb1a6aa04426b95feff6bd4cb48ccaba412f59f9
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceQueryBean.java
@@ -0,0 +1,23 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import com.inspur.cdc.commons.lang.web.PageQuery;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class DeviceQueryBean extends PageQuery implements Serializable {
+ private static final long serialVersionUID = 8244430337535077230L;
+ private String sn;
+ private String dhcpIp;
+ private String manageIp;
+ private DeviceStatusEnum status;
+ private IpmiStatusEnum ipmiStatus;
+ private ManageChannelEnum manageChannel;
+ private String networkDevice;
+ private String vendor;
+ private String model;
+ private ArchitectureEnum architecture;
+ private BootOptionEnum bootOption;
+ private String md5;
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStatusEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStatusEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..65ab90e774fdda5fb315bfd2fc14aece1e9d5198
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStatusEnum.java
@@ -0,0 +1,30 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import static com.inspur.cdc.commons.i18n.Languages.getLocale;
+
+/**
+ * 设备的状态
+ */
+public enum DeviceStatusEnum {
+ Offline("离线", "Offline"),
+ Online("在线", "Online"),
+ Busy("忙碌", "Busy");
+
+ String statusNameCn;
+ String statusNameEn;
+
+ DeviceStatusEnum(String statusNameCn, String statusNameEn) {
+ this.statusNameCn = statusNameCn;
+ this.statusNameEn = statusNameEn;
+ }
+
+ public String getStatusName() {
+ final String lang = getLocale().toString();
+ final String LANGUAGE_ZH_CN = "zh_CN";
+ if (LANGUAGE_ZH_CN.equals(lang)) {
+ return this.statusNameCn;
+ } else {
+ return this.statusNameEn;
+ }
+ }
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStorageBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStorageBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..ad6565811deed22d5b619e6435d484e6f8996aea
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStorageBean.java
@@ -0,0 +1,16 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/21
+ * @description
+ */
+@Data
+public class DeviceStorageBean {
+ private List controllers;
+ private List drives;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStorageEntryBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStorageEntryBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc32f640575a528ecd06c6563eac97e5b507d78f
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceStorageEntryBean.java
@@ -0,0 +1,9 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+@Data
+public class DeviceStorageEntryBean {
+ private String desc;
+ private Object value;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceSystemInfoBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceSystemInfoBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..546e46d32b7de571aca3dc5c85e914cb674c92d0
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceSystemInfoBean.java
@@ -0,0 +1,37 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DeviceSystemInfoBean {
+ private String serialNumber;
+ private String assetTag;
+ private String vendor;
+ private String model;
+ private String architecture;
+ private String processor;
+ private String mainboardSerialNumber;
+ /**
+ * 单位GB
+ */
+ private String memoryCapacity;
+ /**
+ * 单位GB,保留一位有效数字
+ */
+ private String diskCapacity;
+ private String bmcVersion;
+ private String biosVersion;
+ private String mac;
+ private String network;
+ private String dhcpIP;
+ private String manageIP;
+ private String manageMask;
+ private String manageGateway;
+ private List logicDisk;
+
+ private String bootOption;
+ private String manageChannel;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceSystemLogicDiskBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceSystemLogicDiskBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..1d68176725c19023c81f67a316104cbb58c0b909
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceSystemLogicDiskBean.java
@@ -0,0 +1,19 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/22
+ * @description fdisk和lsblk 命令输出信息
+ */
+@Data
+public class DeviceSystemLogicDiskBean {
+ private String name;
+ private String identifier;
+ /**
+ * 单位GB,保留一位有效数字
+ */
+ private String size;
+ private String partition;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceVolumeBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceVolumeBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..0bcaadab407aaf88b41f6c7162da7ec42d535493
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceVolumeBean.java
@@ -0,0 +1,36 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/21
+ * @description
+ */
+@Data
+public class DeviceVolumeBean {
+ private String vid;
+ private String name;
+ private String raidType;
+ /**
+ * 单位GB,保留一位有效数字
+ */
+ private String capacity;
+ private String slot;
+ private String hotSpareSlot;
+ private String driveGroup;
+ /**
+ * 单位KB
+ */
+ private String strip;
+ private String cachePolicy;
+ private String readPolicy;
+ private String writePolicy;
+ private String accessPolicy;
+ private String ioPolicy;
+ private String boot;
+ private String backPlane;
+ private List drives;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceVolumeBeanFilter.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceVolumeBeanFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..39c133a37fec9ad91f0d3dcded932bb8fc8133d2
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DeviceVolumeBeanFilter.java
@@ -0,0 +1,7 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import com.fasterxml.jackson.annotation.JsonFilter;
+
+@JsonFilter("deviceVolumeBeanFilter")
+public class DeviceVolumeBeanFilter {
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DiskCloneMethodEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DiskCloneMethodEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..e445e984d780ccd1d8931cf68a2244ff6aeb324d
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/DiskCloneMethodEnum.java
@@ -0,0 +1,5 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+public enum DiskCloneMethodEnum {
+ BACKUP, RESTORE
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/IpmiFailEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/IpmiFailEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..8f0c4cfcf45be79ea617d3be1b8922c3096d980c
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/IpmiFailEnum.java
@@ -0,0 +1,10 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/10
+ * @description
+ */
+public enum IpmiFailEnum {
+ NORMAL, NORMAL_IBOOT, CONFIGURATION, CONNECTION, CREDENTIALS
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/IpmiStatusEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/IpmiStatusEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d1ab03adf7a8f12c1dd9bb79477f9ba51abf900
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/IpmiStatusEnum.java
@@ -0,0 +1,10 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/8
+ * @description
+ */
+public enum IpmiStatusEnum {
+ AVAILABLE, UNAVAILABLE
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ManageAccountEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ManageAccountEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..a92f32117e9492800d1cb2108009a5c495ca1adf
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ManageAccountEnum.java
@@ -0,0 +1,10 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/16
+ * @description
+ */
+public enum ManageAccountEnum {
+ ON, OFF
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ManageChannelEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ManageChannelEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..62d0f160d24b7c1c32a1b60697a64dced47dce01
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ManageChannelEnum.java
@@ -0,0 +1,10 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+/**
+ * @author zhangshuai17
+ * @date 2023/8/8
+ * @description
+ */
+public enum ManageChannelEnum {
+ DEDICATED, SHARELINK
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ServerManageNetworkBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ServerManageNetworkBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..4e3d8570900e13147f025fc4ed9cb117e7d006c4
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/ServerManageNetworkBean.java
@@ -0,0 +1,14 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ServerManageNetworkBean {
+ private List ip;
+ private String dhcpIp;
+ private String dhcpRangeBegin;
+ private String dhcpRangeEnd;
+ private String nginxIp;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/TreeNode.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/TreeNode.java
new file mode 100644
index 0000000000000000000000000000000000000000..65504424eba8d85a7a1f65155886d1ab10790106
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/device/TreeNode.java
@@ -0,0 +1,27 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.device;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class TreeNode implements Serializable {
+ /**
+ * 序列化ID.
+ */
+ private static final long serialVersionUID = 6021052740914459714L;
+ private String id;
+ private String name;
+ private boolean checked;
+ /**
+ * url的权重.1代表user可以访问的最高权重,2代表operator可以访问的最高权重,3代表管理员.
+ */
+ private List childList;
+
+ private String content;
+
+ private String typeName;
+
+ private String nodeStatus;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/Chunk.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/Chunk.java
new file mode 100644
index 0000000000000000000000000000000000000000..72e845d2a80d98b87e853b93bf1161dc554ea95c
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/Chunk.java
@@ -0,0 +1,161 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.persistence.Transient;
+import java.io.Serializable;
+
+public class Chunk implements Serializable {
+ /**
+ * @Fields serialVersionUID: 序列化
+ */
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键id. 为后续断点续传做准备.
+ */
+ private Long id;
+ /**
+ * 当前文件块,从1开始
+ */
+ private Integer chunkNumber;
+ /**
+ * 分块大小
+ */
+ private Long chunkSize;
+ /**
+ * 当前分块大小
+ */
+ private Long currentChunkSize;
+ /**
+ * 总大小
+ */
+ private Long totalSize;
+ /**
+ * 文件标识
+ */
+ private String identifier;
+ /**
+ * 文件名
+ */
+ private String filename;
+ /**
+ * 相对路径
+ */
+ private String relativePath;
+ /**
+ * 总块数
+ */
+ private Integer totalChunks;
+ /**
+ * 文件类型
+ */
+ private String type;
+
+ /**
+ * 断点续传标记.
+ */
+ private boolean renewalFlag;
+
+ /**
+ * 文件对象.
+ */
+ @Transient
+ private MultipartFile file;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Integer getChunkNumber() {
+ return chunkNumber;
+ }
+
+ public void setChunkNumber(Integer chunkNumber) {
+ this.chunkNumber = chunkNumber;
+ }
+
+ public Long getChunkSize() {
+ return chunkSize;
+ }
+
+ public void setChunkSize(Long chunkSize) {
+ this.chunkSize = chunkSize;
+ }
+
+ public Long getCurrentChunkSize() {
+ return currentChunkSize;
+ }
+
+ public void setCurrentChunkSize(Long currentChunkSize) {
+ this.currentChunkSize = currentChunkSize;
+ }
+
+ public Long getTotalSize() {
+ return totalSize;
+ }
+
+ public void setTotalSize(Long totalSize) {
+ this.totalSize = totalSize;
+ }
+
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ public void setIdentifier(String identifier) {
+ this.identifier = identifier;
+ }
+
+ public String getFilename() {
+ return filename;
+ }
+
+ public void setFilename(String filename) {
+ this.filename = filename;
+ }
+
+ public String getRelativePath() {
+ return relativePath;
+ }
+
+ public void setRelativePath(String relativePath) {
+ this.relativePath = relativePath;
+ }
+
+ public Integer getTotalChunks() {
+ return totalChunks;
+ }
+
+ public void setTotalChunks(Integer totalChunks) {
+ this.totalChunks = totalChunks;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public MultipartFile getFile() {
+ return file;
+ }
+
+ public void setFile(MultipartFile file) {
+ this.file = file;
+ }
+
+ public boolean isRenewalFlag() {
+ return renewalFlag;
+ }
+
+ public void setRenewalFlag(boolean renewalFlag) {
+ this.renewalFlag = renewalFlag;
+ }
+}
+
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ChunkFileModel.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ChunkFileModel.java
new file mode 100644
index 0000000000000000000000000000000000000000..ea1de771bc151adb23d92ad5fbc68dc5f91180c7
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ChunkFileModel.java
@@ -0,0 +1,82 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.ArchitectureEnum;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName: ChunkFileModel
+ * @Description: TODO
+ *
+ * @author: zhangchen
+ * @date: 2022年02月17日 下午6:31:16
+ */
+@Data
+public class ChunkFileModel implements Serializable {
+ /**
+ * @Fields serialVersionUID: 序列化.
+ */
+ private static final long serialVersionUID = 4321148751282216742L;
+ /**
+ * 文件标识.
+ */
+ private String identifier;
+ /**
+ * 文件名.
+ */
+ private String fileName;
+
+ /**
+ * 总块数
+ */
+ private Integer totalChunks;
+
+
+ /**
+ * 是否自定义.
+ */
+ private Boolean customImage = false;
+
+
+ /**
+ * 文件源地址.
+ */
+ private String sourcePath;
+
+ /**
+ * 镜像类型(型号)
+ */
+ private ImageTypeEnum imageType;
+ /**
+ * 架构
+ */
+ private ArchitectureEnum architecture;
+
+ /**
+ * 版本.
+ */
+ private String version;
+ /**
+ * md5值.
+ */
+ private String md5;
+
+ /**
+ * 镜像包含ks
+ * @return
+ */
+ private boolean hasKS;
+ /**
+ * 是否加入镜像源
+ * @return
+ */
+ private boolean insource = false;
+ /**
+ * yum 名称
+ * @return
+ */
+ private String yumName;
+
+}
+
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/IBootOtherSupportedImageBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/IBootOtherSupportedImageBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..67cb2f49ae60ef98506f469dcbbbfe37f1e25b44
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/IBootOtherSupportedImageBean.java
@@ -0,0 +1,89 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+import java.io.Serializable;
+
+/**
+ * @author ryalii
+ * @description 辅助表,存储目前支持的安装镜像实体类
+ * @date 2022/02/16 15:45:43
+ */
+public class IBootOtherSupportedImageBean implements Serializable {
+ private long pk;
+ private String id;
+ /**
+ * 发行版
+ */
+ private String imageType;
+ /**
+ * 版本
+ */
+ private String version;
+ /**
+ * 表示该版本仅支持自带KS的情况,前端页面根据此字段设置是否有KS
+ */
+ private Boolean needKs;
+ /**
+ *
+ */
+ private String createTime;
+ /**
+ *
+ */
+ private String updateTime;
+
+ public String getImageType() {
+ return imageType;
+ }
+
+ public void setImageType(String imageType) {
+ this.imageType = imageType;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public long getPk() {
+ return pk;
+ }
+
+ public void setPk(long pk) {
+ this.pk = pk;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Boolean getNeedKs() {
+ return needKs;
+ }
+
+ public void setNeedKs(Boolean needKs) {
+ this.needKs = needKs;
+ }
+
+ public String getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(String createTime) {
+ this.createTime = createTime;
+ }
+
+ public String getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(String updateTime) {
+ this.updateTime = updateTime;
+ }
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/IBootSupportedImageBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/IBootSupportedImageBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..4947d6a44a8008ced241f9701d5c7b0a56b67fd3
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/IBootSupportedImageBean.java
@@ -0,0 +1,13 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class IBootSupportedImageBean {
+ private String label;
+ private String value;
+ private List children;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageEnvironmentBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageEnvironmentBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..c904014ec993adfb559f796dd7c952b4ec68d12d
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageEnvironmentBean.java
@@ -0,0 +1,22 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+import lombok.Data;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/17
+ */
+@Data
+public class ImageEnvironmentBean {
+ private String enName;
+ private String cnName;
+ private String id;
+ private String enDes;
+ private String cnDes;
+ private Set optionGroupSet;
+ private List groupIdList;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageGroupBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageGroupBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..fd808d0f45199b5ceed77af267548973f110529f
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageGroupBean.java
@@ -0,0 +1,18 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/17
+ */
+@Data
+public class ImageGroupBean {
+ private String groupId;
+ private String groupName;
+ private String cnDes;
+ private String enDes;
+ private String cnName;
+ private String enName;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageQueryBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageQueryBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..ca0e62c160914c197e606e229e26d388fc5179a8
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageQueryBean.java
@@ -0,0 +1,18 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+
+import com.inspur.cdc.commons.lang.web.PageQuery;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ImageQueryBean extends PageQuery implements Serializable {
+
+ private String originalName;
+ private String name;
+ private ImageTypeEnum imageType;
+ private String customImage;
+ private String architecture;
+ private String osType;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageTypeEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageTypeEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..6d7b9e74b979f76740714d78a0560d98f853ea47
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageTypeEnum.java
@@ -0,0 +1,20 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+/**
+ * @author ryalii
+ * @version v1.0
+ * @date 2022/02/14 15:58:01
+ * @description 来源枚举
+ */
+public enum ImageTypeEnum {
+ CentOS,
+ RHEL,
+ ESXI,
+ Ubuntu,
+ NeoKylin,
+ Kylin,
+ Windows,
+ SUSE,
+ UOS,
+ KOS
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageXmlBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageXmlBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ceabff3a024351d408c7b651989e764189acc05
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageXmlBean.java
@@ -0,0 +1,17 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+import com.google.common.collect.Maps;
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/17
+ */
+@Data
+public class ImageXmlBean {
+ Map groupMap = Maps.newHashMap();
+ Map envMap = Maps.newHashMap();
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageXmlBeans.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageXmlBeans.java
new file mode 100644
index 0000000000000000000000000000000000000000..31d580977889af84da8da44a05ad3e67f1bf9289
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/ImageXmlBeans.java
@@ -0,0 +1,23 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/17
+ */
+@Data
+public class ImageXmlBeans {
+ private List listZ = new ArrayList<>();
+ private List listE = new ArrayList<>();
+ private List ListI = new ArrayList<>();
+ private Map mapZ = new HashMap<>();
+ private Map mapE = new HashMap<>();
+ private Map mapI = new HashMap<>();
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/KeyValueBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/KeyValueBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..f57776a95e360e7295ea0b1b7188a571bfd12ef8
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/KeyValueBean.java
@@ -0,0 +1,10 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+
+import lombok.Data;
+
+@Data
+public class KeyValueBean {
+ private String label;
+ private String value;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/SpaceCheckEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/SpaceCheckEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..3d29071667100e9f295711ebb1a5cf22abb352ec
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/SpaceCheckEnum.java
@@ -0,0 +1,12 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/5/25
+ */
+public enum SpaceCheckEnum {
+ INSUFFICIENT,
+ WARNING,
+ AVALIVABLE
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/SpaceCheckResult.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/SpaceCheckResult.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc54e9a30dc2da4665956235c3f524b5ba295fa6
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/image/SpaceCheckResult.java
@@ -0,0 +1,17 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.image;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/5/26
+ */
+@Data
+public class SpaceCheckResult {
+
+ private SpaceCheckEnum result;
+ private String message;
+ private String overSpace;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/DeviceShowBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/DeviceShowBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..114dd99b88a266549ca99f80d90d715079b84d55
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/DeviceShowBean.java
@@ -0,0 +1,30 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.index;
+
+import lombok.Data;
+
+/**
+ * @author zhangchen
+ * @date 2023/11/07
+ */
+@Data
+public class DeviceShowBean {
+
+ /**
+ * 设备总数
+ */
+ private int total;
+ /**
+ * 离线设备总数
+ */
+ private int offlineNum;
+ /**
+ * 忙碌设备树
+ */
+ private int busyNum;
+ /**
+ * 空闲设备数
+ */
+ private int freeNum;
+
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/TemplateShowBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/TemplateShowBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..8e28fee01f4ced5b695f4c9ebb5e1b57e0f36e49
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/TemplateShowBean.java
@@ -0,0 +1,26 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.index;
+
+import lombok.Data;
+
+/**
+ * @author zhangchen
+ * @date 2023/11/07
+ */
+@Data
+public class TemplateShowBean {
+
+ /**
+ * 模板名称
+ */
+ private String name;
+
+ /**
+ * 模板类型
+ */
+ private String type;
+ /**
+ * 执行次数
+ */
+ private int number;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/TotalBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/TotalBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..6c6a05390d89d656266a09a6954a09d12dcf4f8a
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/index/TotalBean.java
@@ -0,0 +1,30 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.index;
+
+import lombok.Data;
+
+/**
+ * @author zhangchen
+ * @date 2023/11/07
+ */
+@Data
+public class TotalBean {
+
+ /**
+ * 设备总数
+ */
+ private int deviceNum;
+ /**
+ * 任务总数
+ */
+ private int taskNum;
+ /**
+ * 模板总数
+ */
+ private int templateNum;
+ /**
+ * 镜像总数
+ */
+ private int imageNum;
+
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/IBootRaidConfigBigTemplateBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/IBootRaidConfigBigTemplateBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..32a0a0a59461f1eb34db92ed5deb717d776d543b
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/IBootRaidConfigBigTemplateBean.java
@@ -0,0 +1,28 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/***
+ * @description
+ * @author zhangchen06
+ * @date 2023/10/13 15:30
+ */
+@Data
+public class IBootRaidConfigBigTemplateBean implements Serializable {
+
+ /**
+ * raid对应创建的逻辑盘
+ */
+ public IBootRaidConfigTemplateBean templateBean;
+ /**
+ * 需要提前进行的敏感操作
+ */
+ public List deleteVolume;
+ /**
+ * 前端提交的原始树,用来详情展示
+ */
+ public String origalTree;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/IBootRaidConfigTemplateBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/IBootRaidConfigTemplateBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..1cf1a1d7da6330e5a10f184d7369122fbe2d7ca1
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/IBootRaidConfigTemplateBean.java
@@ -0,0 +1,75 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.template.LogicalDisk;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.template.PhysicalDisk;
+import lombok.Data;
+import lombok.Getter;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/***
+ * @description
+ * @author zhangchen06
+ * @date 2023/10/8 15:30
+ */
+@Data
+public class IBootRaidConfigTemplateBean implements Serializable {
+
+ /**
+ * raid对应创建的逻辑盘
+ */
+ public Map> raidLogicalDisk;
+ /**
+ * 空闲盘
+ */
+ public Map> raidFreeDisk;
+ /**
+ * 是否jobd
+ */
+ public Map jbodFlag;
+ /**
+ * 脚本使用的对象
+ */
+ @Getter
+ public Map jbodFlagnew;
+ /**
+ * 是否清空配置,map格式,哪一个卡需要清空配置
+ */
+ public Map clearFlag;
+ /**
+ * 需要删除的逻辑盘
+ */
+ public List deleteVolume;
+
+ public void setJbodFlagnew() {
+ Map jbodMap = new HashMap<>();
+ if (ObjectUtil.isNotEmpty(this.jbodFlag)) {
+ this.jbodFlag.forEach((key, value) -> {
+ if (value) {
+ jbodMap.put(key, "1");
+ } else {
+ jbodMap.put(key, "0");
+ }
+ });
+ }
+ this.jbodFlagnew = jbodMap;
+ }
+
+ public Map getJbodFlagnew() {
+ Map jbodMap = new HashMap<>();
+ if (ObjectUtil.isNotEmpty(this.jbodFlag)) {
+ this.jbodFlag.forEach((key, value) -> {
+ if (value) {
+ jbodMap.put(key, "1");
+ } else {
+ jbodMap.put(key, "0");
+ }
+ });
+ }
+ return jbodMap;
+ }
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/LogicalDiskForDelete.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/LogicalDiskForDelete.java
new file mode 100644
index 0000000000000000000000000000000000000000..ff5bf3d98615eab34d6847a9e7155b2f2112fbe5
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/LogicalDiskForDelete.java
@@ -0,0 +1,45 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+import lombok.Data;
+
+
+/**
+ * @description
+ * @auther zhangchen06
+ * @date 2023/10/08
+ */
+@Data
+public class LogicalDiskForDelete {
+
+ /**
+ * 逻辑盘的Vid,删除逻辑盘用
+ * 逻辑盘的DG,做局部热备用,
+ * 硬盘的slot号,删除全局热备用
+ */
+ private String vid;
+ private String dg;
+ private String sid;
+
+ /***
+ * raid卡id
+ */
+ private String cid;
+ /***
+ * 背板id
+ */
+ private String eid;
+ /**
+ * 逻辑盘名称
+ */
+ private String name;
+ private String cardName;
+ /**
+ * 操作,
+ * 1,删除逻辑盘 delVolume
+ * 2,删除jbod delJobd
+ * 3,全局热备转UG ghotToUG
+ * 4,局部热备转UG dhotToUG
+ * 5,对现有逻辑盘做局部热备 dhotToOldLogic
+ */
+ private String operation;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/LogicalTypeEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/LogicalTypeEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..a0ee8d75828ba61c6314f91f947667c991f93004
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/LogicalTypeEnum.java
@@ -0,0 +1,20 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+public enum LogicalTypeEnum {
+ logical("logical"),
+ globalhotspare("globalhotspare"),
+ dedicatedhotspare("dedicatedhotspare"),
+ //在旧的逻辑盘上,做局部热备
+ dedicatedoldhotspare("dedicatedoldhotspare"),
+ deletehotspare("delhotspare"),
+ makejbod("makejbod");
+ private String value;
+
+ LogicalTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidAnalyResult.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidAnalyResult.java
new file mode 100644
index 0000000000000000000000000000000000000000..65b4f94e8fe004d18d402b5bd873069c9dad9a5f
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidAnalyResult.java
@@ -0,0 +1,24 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * @description
+ * @auther zhangchen06
+ * @date 2023/10/12
+ */
+@Data
+public class RaidAnalyResult {
+
+ /**
+ * 后台分析出的,做Raid前的敏感操作
+ */
+ private List operationList;
+ /**
+ * 后台分析出的,做Raid前的敏感操作,转化成前端直接展示的字符串
+ */
+ private List showList;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidConfigGrapgicConstant.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidConfigGrapgicConstant.java
new file mode 100644
index 0000000000000000000000000000000000000000..3af5503783f7902b9d95988c11c0f5af5f244425
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidConfigGrapgicConstant.java
@@ -0,0 +1,24 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+/**
+ * @author :zhangchen
+ * @date :Created in 2022/9/06 14:24
+ * 图形化raid配置参数
+ */
+public class RaidConfigGrapgicConstant {
+
+ /**
+ * 图形化raid配置参数
+ */
+ public static String create_raid = "python CreateRaid.py";
+ public static String create_flag = "create";
+ public static String delete_volume = "deleteVolume";
+ public static String clear_jbod = "clearjbod";
+ public static String cfg_flag = "pdCfg";
+ public static String cfg_init = "raidInit";
+ public static String cfg_clear = "clear";
+ public static String op_raid = "op_raid";
+ public static String title = "#!/bin/bash";
+ public static String pyPath = "cd ./iboot_tool/";
+ public static String fw_config = "python FwConfig.py";
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidConfigXmlBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidConfigXmlBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..7419c5332400c54b011ec279e8e5bffe16135922
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidConfigXmlBean.java
@@ -0,0 +1,179 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.json.JSONUtil;
+import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/4/14
+ */
+@Data
+public class RaidConfigXmlBean {
+
+ private RangeBean logical;
+ private RangeBean global;
+ private RangeBean dedicated;
+ private RangeBean jbod;
+
+ private Boolean bootDisk;
+
+ private ValueBean raidLevel;
+ private ValueBean strip;
+ private ValueBean readPolicy;
+ private ValueBean writePolicy;
+ private ValueBean ioPolicy;
+ private ValueBean cachePolicy;
+ private ValueBean accessPolicy;
+
+ private NumberBean RAID0;
+ private NumberBean RAID1;
+ private NumberBean RAID5;
+ private NumberBean RAID6;
+ private NumberBean RAID10;
+ private NumberBean RAID1E;
+ private NumberBean RAID50;
+ private NumberBean RAID60;
+
+ public static void main(String[] args) {
+// String content="[{\"controllerId\":\"0\",\"drives\":[{\"controllerId\":\"0\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"5\",\"status\":\"JBOD\"},{\"controllerId\":\"0\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"6\",\"status\":\"JBOD\"},{\"controllerId\":\"0\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"2\",\"status\":\"HOT_SPARE\"}],\"productName\":\"AVAGO MegaRAID SAS 9460-8i\",\"type\":\"LSI\",\"volumes\":[{\"accessPolicy\":\"\",\"backPlane\":\"\",\"boot\":\"\",\"cachePolicy\":\"Disk's Default\",\"capacity\":\"1.090TB\",\"driveGroup\":\"0\",\"drives\":[{\"controllerId\":\"0\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"0\",\"status\":\"ONLINE\"},{\"controllerId\":\"0\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"1\",\"status\":\"ONLINE\"},{\"controllerId\":\"0\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"4\",\"status\":\"HOT_SPARE\"}],\"ioPolicy\":\"\",\"name\":\"\",\"raidType\":\"RAID1\",\"readPolicy\":\"\",\"slot\":\"133:0,133:1\",\"strip\":\"256 KB\",\"vid\":\"0\",\"writePolicy\":\"\"}]}]";
+ String content = "[{\"controllerId\":\"0\",\"drives\":[{\"controllerId\":\"0\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"5\",\"status\":\"JBOD\"},{\"controllerId\":\"0\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"6\",\"status\":\"JBOD\"},{\"controllerId\":\"0\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"2\",\"status\":\"HOT_SPARE\"}],\"productName\":\"AVAGO MegaRAID SAS 9460-8i\",\"type\":\"LSI\",\"volumes\":[{\"accessPolicy\":\"\",\"backPlane\":\"\",\"boot\":\"\",\"cachePolicy\":\"Disk's Default\",\"capacity\":\"1.090TB\",\"driveGroup\":\"0\",\"drives\":[{\"controllerId\":\"0\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"0\",\"status\":\"ONLINE\"},{\"controllerId\":\"0\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"1\",\"status\":\"ONLINE\"},{\"controllerId\":\"0\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"4\",\"status\":\"HOT_SPARE\"}],\"ioPolicy\":\"\",\"name\":\"\",\"raidType\":\"RAID1\",\"readPolicy\":\"\",\"slot\":\"133:0,133:1\",\"strip\":\"256 KB\",\"vid\":\"0\",\"writePolicy\":\"\"}]},{\"controllerId\":\"1\",\"drives\":[{\"controllerId\":\"1\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"5\",\"status\":\"JBOD\"},{\"controllerId\":\"1\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"6\",\"status\":\"JBOD\"},{\"controllerId\":\"1\",\"driveGroup\":\"-\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"2\",\"status\":\"HOT_SPARE\"}],\"productName\":\"AVAGO MegaRAID SAS 9461-8i\",\"type\":\"LSI\",\"volumes\":[{\"accessPolicy\":\"\",\"backPlane\":\"\",\"boot\":\"\",\"cachePolicy\":\"Disk's Default\",\"capacity\":\"1.090TB\",\"driveGroup\":\"0\",\"drives\":[{\"controllerId\":\"1\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"0\",\"status\":\"ONLINE\"},{\"controllerId\":\"1\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"1\",\"status\":\"ONLINE\"},{\"controllerId\":\"1\",\"driveGroup\":\"0\",\"enclosureId\":\"133\",\"mediaType\":\"HDD\",\"rawSize\":\"1.090TB\",\"slotNumber\":\"4\",\"status\":\"HOT_SPARE\"}],\"ioPolicy\":\"\",\"name\":\"\",\"raidType\":\"RAID1\",\"readPolicy\":\"\",\"slot\":\"133:0,133:1\",\"strip\":\"256 KB\",\"vid\":\"0\",\"writePolicy\":\"\"}]}]";
+// List raidSingeBeans= JSONUtil.toList(JSONUtil.parseArray(content),RaidSingeBean.class);
+ List raidTreeList = new ArrayList();
+ if (StringUtils.isNotEmpty(content)) {
+ List raidSingeBeans = JSONUtil.toList(JSONUtil.parseArray(content), RaidSingeBean.class);
+ for (RaidSingeBean raidSingeBean : raidSingeBeans) {//第一层处理raid
+ RaidTreeBean raidTreeBean = new RaidTreeBean();
+ String firstParantKey = "c" + raidSingeBean.getControllerId();
+ raidTreeBean.setKey(firstParantKey);
+ raidTreeBean.setTitle("/c" + raidSingeBean.getControllerId() + ":" + raidSingeBean.getType().toUpperCase() + ":" + raidSingeBean.getProductName());
+ raidTreeBean.setType("card");
+ raidTreeBean.setParent("");
+ raidTreeBean.setStatus("");
+ raidTreeBean.setContent("");
+ //处理第二层的逻辑盘
+ List raidChildren = new ArrayList();
+ List volumes = raidSingeBean.getVolumes();
+ if (CollectionUtil.isNotEmpty(volumes)) {
+ for (RaidVolumeBean raidVolumeBean : volumes) {
+ RaidTreeBean volumeTree = new RaidTreeBean();
+ String twoParantKey = firstParantKey + "v" + raidVolumeBean.getVid();
+ volumeTree.setKey(twoParantKey);
+ volumeTree.setParent(firstParantKey);
+ volumeTree.setType("logical");
+ volumeTree.setStatus("");
+ volumeTree.setTitle(raidVolumeBean.getRaidType() + "-" + raidVolumeBean.getCapacity() + "-VID" + raidVolumeBean.getVid() + "-DG" + raidVolumeBean.getDriveGroup());
+ volumeTree.setContent(JSONUtil.toJsonStr(raidVolumeBean));
+ List volumeDiskTreeList = new ArrayList();
+ if (CollectionUtil.isNotEmpty(raidVolumeBean.getDrives())) {
+ for (RaidDriveBean raidDriveBean : raidVolumeBean.getDrives()) {
+ RaidTreeBean diskTree = new RaidTreeBean();
+ diskTree.setType("disk");
+ diskTree.setParent(twoParantKey);
+ String threeParantKey = twoParantKey + "d" + raidDriveBean.getSlotNumber();
+ diskTree.setKey(threeParantKey);
+ diskTree.setStatus(raidDriveBean.getStatus());
+ diskTree.setTitle(raidDriveBean.getEnclosureId() + "-" + raidDriveBean.getSlotNumber() + "-" + raidDriveBean.getRawSize());
+ diskTree.setContent(JSONUtil.toJsonStr(raidDriveBean));
+ volumeDiskTreeList.add(diskTree);
+ }
+ }
+ volumeTree.setChildren(volumeDiskTreeList);
+ raidChildren.add(volumeTree);
+ }
+ }
+ //处理第二次的JBOD
+ List drives = raidSingeBean.getDrives();
+ List jobdList = new ArrayList<>();
+ if (CollectionUtil.isNotEmpty(drives)) {
+ for (RaidDriveBean raidDriveBean : drives) {
+ if (raidDriveBean.getStatus().equals("JBOD")) {
+ jobdList.add(raidDriveBean);
+ }
+ }
+ }
+ if (CollectionUtil.isNotEmpty(jobdList)) {
+ RaidTreeBean jobdTree = new RaidTreeBean();
+ jobdTree.setType("jbod");
+ jobdTree.setTitle("JBOD");
+ String twoParantKey = firstParantKey + "j0";
+ jobdTree.setKey(twoParantKey);
+ jobdTree.setParent(firstParantKey);
+ List jbodChidredTreeList = new ArrayList();
+ for (RaidDriveBean raidDriveBean : jobdList) {
+ RaidTreeBean diskTree = new RaidTreeBean();
+ diskTree.setType("disk");
+ diskTree.setParent(twoParantKey);
+ String threeParantKey = twoParantKey + "d" + raidDriveBean.getSlotNumber();
+ diskTree.setKey(threeParantKey);
+ diskTree.setStatus(raidDriveBean.getStatus());
+ diskTree.setTitle(raidDriveBean.getEnclosureId() + "-" + raidDriveBean.getSlotNumber() + "-" + raidDriveBean.getRawSize());
+ diskTree.setContent(JSONUtil.toJsonStr(raidDriveBean));
+ jbodChidredTreeList.add(diskTree);
+ }
+ jobdTree.setChildren(jbodChidredTreeList);
+ raidChildren.add(jobdTree);
+ }
+ //处理单个盘
+ if (CollectionUtil.isNotEmpty(drives)) {
+ for (RaidDriveBean raidDriveBean : drives) {
+ if (!raidDriveBean.getStatus().equals("JBOD")) {
+ String twoParantKey = firstParantKey + "d" + raidDriveBean.getSlotNumber();
+ RaidTreeBean diskTree = new RaidTreeBean();
+ diskTree.setType("disk");
+ diskTree.setParent(firstParantKey);
+ diskTree.setKey(twoParantKey);
+ if (raidDriveBean.getStatus().equals("HOT_SPARE")) {
+ diskTree.setStatus("SPARE");
+ } else {
+ diskTree.setStatus(raidDriveBean.getStatus());
+ }
+ diskTree.setTitle(raidDriveBean.getEnclosureId() + "-" + raidDriveBean.getSlotNumber() + "-" + raidDriveBean.getRawSize());
+ diskTree.setContent(JSONUtil.toJsonStr(raidDriveBean));
+ raidChildren.add(diskTree);
+ }
+ }
+ }
+ raidTreeBean.setChildren(raidChildren);
+ raidTreeList.add(raidTreeBean);
+ }
+ }
+ String result = JSONUtil.toJsonStr(raidTreeList);
+ }
+
+ /**
+ * 创建的raid或者热备的个数限制
+ */
+ @Data
+ public static class RangeBean {
+ private Object range;
+ }
+
+ /**
+ * raid等级、条带、策略的取值
+ */
+ @Data
+ public static class ValueBean {
+ private List value;
+ }
+
+ /**
+ * 各raid等级的硬盘取值区间
+ */
+ @Data
+ public static class NumberBean {
+ private int lower;
+ private int upper;
+ private int pdperarraylow;
+ private int pdperarrayup;
+ private Boolean odd;
+ private Boolean even;
+ private Object multiple;
+ }
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidDriveBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidDriveBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..9ae1ce04614eabc5161406055deb476fa45896a4
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidDriveBean.java
@@ -0,0 +1,148 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+
+import lombok.Getter;
+
+public class RaidDriveBean {
+
+ /**
+ * 磁盘框ID
+ */
+ @Getter
+ private String enclosureId;
+ private String eid;
+
+ /**
+ * 控制器ID, 多控制器情况下,可能需要此字段
+ */
+ @Getter
+ private String controllerId;
+ private String cid;
+
+ /**
+ * 媒体类型
+ */
+ @Getter
+ private String mediaType;
+ /**
+ * 原始大小(单位:GB)
+ */
+ @Getter
+ private String rawSize;
+ /**
+ * 槽位号
+ */
+ @Getter
+ private String slotNumber;
+ private String slot;
+
+ /**
+ * 物理盘状态
+ */
+ @Getter
+ private String status;
+
+
+ @Getter
+ private String driveGroup;
+ /**
+ * 单位,前端使用
+ */
+ private String sizeUnit;
+ /**
+ * 容量,前端使用
+ */
+ private String size;
+ private String globalHot;
+
+ public String getSizeUnit() {
+ if (this.rawSize != null && !this.rawSize.equals("")) {
+ if (this.rawSize.contains("T")) {
+ return "TB";
+ } else if (rawSize.contains("G")) {
+ return "GB";
+ } else {
+ return "MB";
+ }
+ } else {
+ return "GB";
+ }
+ }
+
+ public void setSizeUnit(String sizeUnit) {
+ this.sizeUnit = sizeUnit;
+ }
+
+ public String getSize() {
+ if (this.rawSize != null && !this.rawSize.equals("")) {
+ return this.rawSize.replaceAll("T", "").replaceAll("G", "").replaceAll("M", "").replaceAll("B", "");
+ } else {
+ return "";
+ }
+ }
+
+ public void setSize(String size) {
+ this.size = size;
+ }
+
+ public void setEnclosureId(String enclosureId) {
+ this.enclosureId = enclosureId;
+ }
+
+ public void setControllerId(String controllerId) {
+ this.controllerId = controllerId;
+ }
+
+ public void setMediaType(String mediaType) {
+ this.mediaType = mediaType;
+ }
+
+ public void setRawSize(String rawSize) {
+ this.rawSize = rawSize;
+ }
+
+ public void setSlotNumber(String slotNumber) {
+ this.slotNumber = slotNumber;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public void setDriveGroup(String driveGroup) {
+ this.driveGroup = driveGroup;
+ }
+
+ public String getEid() {
+ return this.enclosureId;
+ }
+
+ public void setEid(String eid) {
+ this.eid = this.enclosureId;
+ }
+
+ public String getCid() {
+ return this.controllerId;
+ }
+
+ public void setCid(String cid) {
+ this.cid = cid;
+ }
+
+ public String getSlot() {
+ return this.slotNumber;
+ }
+
+ public void setSlot(String slot) {
+ this.slot = slot;
+ }
+
+ public String getGlobalHot() {
+ return globalHot;
+ }
+
+ public void setGlobalHot(String globalHot) {
+ this.globalHot = globalHot;
+ }
+}
+
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidSingeBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidSingeBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..9ae9f0b5a5cefc0ff0fff539fd067532fa7c73c1
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidSingeBean.java
@@ -0,0 +1,29 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class RaidSingeBean {
+
+ private static final long serialVersionUID = -4936995732278468539L;
+
+ /**
+ * productName: 产品名称
+ */
+ private String productName;
+ /**
+ * controllerId: 控制器ID
+ */
+ private String controllerId;
+ /**
+ * 设备类型:LSI、PMC
+ */
+ private String type;
+
+ private List volumes;
+
+ private List drives;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidTreeBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidTreeBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..f5274e76559f81f47069e0578d14f2c78986e924
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidTreeBean.java
@@ -0,0 +1,45 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * @description
+ * @auther zhangchen06
+ * @date 2023/10/10
+ */
+@Data
+public class RaidTreeBean {
+
+ /**
+ * 子节点
+ */
+ private List children;
+
+ /***
+ * 唯一标识 raid卡是cid格式为c0,逻辑盘是vid,格式为v0,Jbod为J0,硬盘为D0,全局热备H0
+ */
+ private String key;
+ /**
+ * 父节点
+ */
+ private String parent;
+ /**
+ * 描述
+ */
+ private String title;
+ /**
+ * 类型
+ */
+ private String type;
+ /**
+ * 状态,只有硬盘这一级有值
+ */
+ private String status;
+ /**
+ * 内容,只有硬盘和逻辑盘有值,逻辑盘配置内容,和硬盘信息怎么传递
+ */
+ private String content;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidTypeEnum.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidTypeEnum.java
new file mode 100644
index 0000000000000000000000000000000000000000..7060fa7a8cda3cdb2733463b5575eadda4396e67
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidTypeEnum.java
@@ -0,0 +1,20 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+/**
+ * @author zhangchen
+ * @date 2022/09/06 11:26:26
+ * @description raid卡类型枚举
+ */
+public enum RaidTypeEnum {
+ LSI("LSI"),
+ PMC("PMC");
+ private String value;
+
+ RaidTypeEnum(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidVolumeBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidVolumeBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..e4cff9436d4c5417739df11263d456a77f7ecde0
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidVolumeBean.java
@@ -0,0 +1,43 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author zhangchen06
+ * @date 2023/10/11
+ * @description
+ */
+@Data
+public class RaidVolumeBean {
+ private String vid;
+ private String raidType;
+ private String raidLevel;
+ /**
+ * 单位GB,保留一位有效数字
+ */
+ private String capacity;
+ private String slot;
+ private String driveGroup;
+ /**
+ * 单位KB
+ */
+ private String strip;
+ private String cachePolicy;
+ private String readPolicy;
+ private String writePolicy;
+ private String accessPolicy;
+ private String ioPolicy;
+ private String boot;
+ private String backPlane;
+ private List drives;
+
+ public String getRaidLevel() {
+ return this.raidType;
+ }
+
+ public void setRaidLevel(String raidLevel) {
+ this.raidLevel = this.raidType;
+ }
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidXmlBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidXmlBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..706e090bcf50e43733138f961deecb1cd0231453
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/raid/RaidXmlBean.java
@@ -0,0 +1,26 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.raid;
+
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author :zhangchen
+ * @date :Created in 2022/10/11 17:06
+ */
+@Data
+public class RaidXmlBean {
+ /**
+ * raid配置样板
+ */
+ private Map raidXml;
+ /**
+ * raid卡详情
+ */
+ private Map raidDetail;
+ /**
+ * 阵列卡列表
+ */
+ private List raidCardList;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/task/IBootTaskJobBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/task/IBootTaskJobBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..919e078740129ca86d5e2a11734a7d29903db6a3
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/task/IBootTaskJobBean.java
@@ -0,0 +1,25 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.task;
+
+import lombok.Data;
+
+/**
+ * @author :zhangchen
+ * @date :Created in 2023/08/16 16:29
+ */
+@Data
+public class IBootTaskJobBean {
+ private int successNum;
+ private int failNum;
+ private int waitNum;
+ private int runningNum;
+ private long finishNum;
+ private long total;
+
+ public long getFinishNum() {
+ return successNum + failNum;
+ }
+
+ public long getTotal() {
+ return successNum + failNum + runningNum + waitNum;
+ }
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/task/IBootTaskQueryBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/task/IBootTaskQueryBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..aa84a4baed0fc59cae124958a688356583492aae
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/task/IBootTaskQueryBean.java
@@ -0,0 +1,20 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.task;
+
+import com.inspur.cdc.commons.lang.web.PageQuery;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.TaskHostStatusEnum;
+import lombok.Data;
+
+@Data
+public class IBootTaskQueryBean extends PageQuery {
+ private static final long serialVersionUID = 7254430337535077230L;
+ private String name;
+ private TaskHostStatusEnum taskStatus;
+ private TaskHostStatusEnum jobHostStatus;
+ private String templateName;
+ private String templateType;
+ private String taskId;
+ private String jobHostId;
+ private String sn;
+ private String ip;
+ private String status;
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/CustomTemplateFileBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/CustomTemplateFileBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..d41cebdb3fc72e75b1feb0f90a8ec602712a36f1
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/CustomTemplateFileBean.java
@@ -0,0 +1,16 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/9
+ */
+@Data
+public class CustomTemplateFileBean {
+
+ private String id;
+ private String name;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBMCNetPreviewBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBMCNetPreviewBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..6ef56c619ba49ffed3ab6593062d6f9923062487
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBMCNetPreviewBean.java
@@ -0,0 +1,26 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import com.inspur.cdc.commons.lang.web.Page;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.DeviceStatusEnum;
+import lombok.Data;
+
+@Data
+public class IBootBMCNetPreviewBean {
+
+ private Page iBootNetPreviewBeanPage;
+
+ @Data
+ public static class IBootBMCNetBean {
+ private String dhcpIp;
+ private String sn;
+ private DeviceStatusEnum status;
+ /**
+ * IP配置
+ */
+ private String ip;
+ private String gateway;
+ private String netmask;
+ private String channel;
+ }
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBondSetBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBondSetBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..0f95f79b7166352ad3210f0e957839ec54319c6e
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBondSetBean.java
@@ -0,0 +1,43 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/25
+ */
+@Data
+public class IBootBondSetBean {
+
+ /**
+ * DHCP ip.
+ */
+ private String dhcpIp;
+
+ /**
+ * 序列号.
+ */
+ private String sn;
+
+ /**
+ * Bond名
+ */
+ private String bondName;
+
+ /**
+ * IP
+ */
+ private String bondIp;
+
+ /**
+ * 网关
+ */
+ private String gateway;
+
+ /**
+ * 主机名
+ */
+ private String hostname;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBondShellBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBondShellBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..5776831f68c175ab01bbe7bd048a7656885d83e4
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootBondShellBean.java
@@ -0,0 +1,24 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/22
+ */
+@Data
+public class IBootBondShellBean {
+
+ /**
+ * Bond类型
+ */
+ private String bond;
+ /**
+ * Bond网口
+ */
+ private List eths;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootCustomTemplateBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootCustomTemplateBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..41dc95547b0b09e88f68926abdc4cae4eabfcc95
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootCustomTemplateBean.java
@@ -0,0 +1,20 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/9
+ */
+@Data
+public class IBootCustomTemplateBean {
+
+ List exploreFiles;
+ String executeDir;
+ String executeShell;
+ String checkShell;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootIPSetBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootIPSetBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..719e827a480a6d1218ab8a558e641ae42c058722
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootIPSetBean.java
@@ -0,0 +1,32 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+import java.util.Set;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/25
+ */
+@Data
+public class IBootIPSetBean {
+
+ /**
+ * DHCP ip.
+ */
+ private String dhcpIp;
+ /**
+ * 序列号.
+ */
+ private String sn;
+ /***
+ * os 网络配置
+ */
+ private Set osIpList;
+ /**
+ * 主机名.
+ */
+ private String hostname;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootInstallParamBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootInstallParamBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..3c244a9341a0af5494843bc34cd90996c844b749
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootInstallParamBean.java
@@ -0,0 +1,44 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.DeviceQueryBean;
+import lombok.Data;
+
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/25
+ */
+@Data
+public class IBootInstallParamBean {
+
+ /**
+ * 系统安装模板ID
+ */
+ private String templateId;
+ /**
+ * 网络配置文件ID
+ */
+ private String fileId;
+ /**
+ * 设备查询
+ */
+ private DeviceQueryBean deviceQueryBean;
+ /**
+ * 判断是否是Bond
+ */
+ private Boolean isBond;
+ /**
+ * 配置Bond的脚本内容
+ */
+ private String bondScript;
+ /**
+ * 系统安装参数
+ */
+ private IBootOsInstallBean iBootOsInstallBean;
+ /**
+ * 网络配置参数
+ */
+ private String networkBean;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootNetPreviewBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootNetPreviewBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..649954afb4297153ebdf0f677d433ab13e15c0e5
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootNetPreviewBean.java
@@ -0,0 +1,32 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.DeviceStatusEnum;
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/28
+ */
+@Data
+public class IBootNetPreviewBean {
+
+ private String dhcpIp;
+ private String sn;
+ private DeviceStatusEnum status;
+ private String hostname;
+ /**
+ * IP配置
+ */
+ private String ipconfig1;
+ private String ipconfig2;
+ private String ipconfig3;
+ private String ipconfig4;
+ /**
+ * Bond配置
+ */
+ private String bondName;
+ private String ip;
+ private String gateway;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootNetworkCfgBeans.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootNetworkCfgBeans.java
new file mode 100644
index 0000000000000000000000000000000000000000..41e1e6c9b313ae77444c663f6da32eb06e72bf31
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootNetworkCfgBeans.java
@@ -0,0 +1,27 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/8
+ */
+@Data
+public class IBootNetworkCfgBeans {
+
+ private Map networkCfgBeans;
+
+ @Data
+ public static class NetworkCfgBean {
+
+ private String ip;
+ private String netmask;
+ private String gateway;
+ private String channel;
+
+ }
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootOsInstallBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootOsInstallBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..a5a92f81c8a32faa70cc29260c0fd05fd92b93b0
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootOsInstallBean.java
@@ -0,0 +1,109 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.ArchitectureEnum;
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/10
+ */
+@Data
+public class IBootOsInstallBean {
+
+ /**
+ * 镜像类型
+ */
+ private String imageType;
+
+ /**
+ * 镜像版本号
+ */
+ private String version;
+
+ /**
+ * 镜像文件ID
+ */
+ private String imageFileId;
+
+ /**
+ * 是否包含ks 1不包含2包含
+ */
+ private String compressFlag;
+
+ /**
+ * root密码
+ */
+ private String rootPw;
+
+ /**
+ * 语言
+ */
+ private String language;
+
+ /**
+ * 时区
+ */
+ private String timeZone;
+
+ /**
+ * 磁盘分区
+ */
+ private String diskPartition;
+
+ /**
+ * 磁盘分区
+ */
+ private String preDiskPartition;
+
+ /**
+ * 安装环境
+ */
+ private String baseE;
+
+ /***
+ * ks 样式
+ * 1 普通配置
+ * 2 高级设置
+ */
+ private int ksType;
+
+ /***
+ * ks高级配置下 文件内容
+ */
+ private String ksContent;
+
+ /***
+ *ks 前置脚本
+ */
+ private String preScript;
+
+ /***
+ * ks 后置脚本
+ */
+ private String postScript;
+
+ /***
+ * 分区设置类别
+ * 1 图形化设置
+ * 2 命令行设置
+ */
+ private int diskPartitionType;
+
+ /**
+ * 高级设置下上传ks文件
+ */
+ private boolean upload;
+
+ /**
+ * 自定义分区
+ */
+ private boolean customPart;
+
+ private ArchitectureEnum architecture;
+
+ private String softwareSelected;
+ private String userName;
+ private String userPsw;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootOsIp.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootOsIp.java
new file mode 100644
index 0000000000000000000000000000000000000000..abd692e7b2f5bcb2839df21e4c28110a000010b7
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootOsIp.java
@@ -0,0 +1,30 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/25
+ */
+@Data
+public class IBootOsIp {
+
+ /**
+ * 系统ip.
+ */
+ private String ip;
+ /**
+ * 子网掩码.monitor
+ */
+ private String netmask;
+ /**
+ * 网关.
+ */
+ private String gateway;
+ /**
+ * 网口名
+ */
+ private String netInterface;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootPartBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootPartBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..dbff47cb7ef66459f079aefa831bbd071052943a
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootPartBean.java
@@ -0,0 +1,39 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/29
+ */
+@Data
+public class IBootPartBean {
+
+ private String mountPoint;
+
+ private Integer capacity;
+
+ private String deviceType;
+
+ private Boolean encryption;
+
+ private String fsType;
+
+ private String disk;
+ private String installType;
+
+ private VolumeGroup volumeGroup;
+
+ private String volume;
+
+ private boolean grow;
+
+ @Data
+ public class VolumeGroup {
+ private String name;
+ private Integer capacity;
+ private String disk;
+ }
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootPreviewBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootPreviewBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..323c6b6d8b3340c36dd239955cc52df72e4fb630
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootPreviewBean.java
@@ -0,0 +1,18 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import com.inspur.cdc.commons.lang.web.Page;
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/28
+ */
+@Data
+public class IBootPreviewBean {
+
+ private IBootOsInstallBean iBootOsInstallBean;
+
+ private Page iBootNetPreviewBeanPage;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootRaidCfgBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootRaidCfgBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..ddb17ba6263d12b669efb801f6a48cc1378a5f3c
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootRaidCfgBean.java
@@ -0,0 +1,31 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/10
+ */
+@Data
+public class IBootRaidCfgBean {
+
+ /**
+ * raid对应创建的逻辑盘
+ */
+ Map> raidLogicalDisk;
+
+ /**
+ * 是否有全局热备
+ */
+ private boolean wholeHot;
+
+ /**
+ * 阵列卡列表
+ */
+ private List raidCardList;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStartTaskBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStartTaskBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..95dd09fd1148b2c879ee18d954dc66a451cd034d
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStartTaskBean.java
@@ -0,0 +1,43 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.DeviceQueryBean;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/14
+ */
+@Data
+public class IBootStartTaskBean {
+
+ /**
+ * 任务ID
+ */
+ private String taskId;
+ /**
+ * 开始时间
+ */
+ private Date startTime;
+
+ /**
+ * 任务名称
+ */
+ private String taskName;
+
+ /**
+ * 高级查询适配全选
+ */
+ private DeviceQueryBean deviceQueryBean;
+
+ private List resourceIdList;
+
+ /**
+ * 执行人
+ */
+ private String excuteUser;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressExportBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressExportBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..bfb230d4bdd3dfb87213413a606baeeeb897d24e
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressExportBean.java
@@ -0,0 +1,18 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+@Data
+public class IBootStressExportBean {
+
+ /**
+ * 文件内容
+ */
+ private byte[] by;
+
+ /**
+ * 文件名称
+ */
+ private String fileName;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressHistoryBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressHistoryBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..40f7b2467d7a21a552d3a276ee7bf69d6a57c6bc
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressHistoryBean.java
@@ -0,0 +1,29 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.TaskHostStatusEnum;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class IBootStressHistoryBean {
+
+ private String taskId;
+
+ private String taskName;
+
+ private boolean cpuTest = false;
+
+ private boolean memTest = false;
+
+ private TaskHostStatusEnum status;
+
+ private Date startTime;
+
+ private Date endTime;
+
+ private long costTime;
+
+ private int num;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressTestBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressTestBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..4a057cede63eed9398fa578c93ede7d06ba2dab8
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressTestBean.java
@@ -0,0 +1,20 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/9
+ */
+@Data
+public class IBootStressTestBean {
+
+ private boolean cpuTest;
+ private int cpuMinutes;
+ private int cpuPercent;
+ private boolean memoryTest;
+ private int memoryMinutes;
+ private int interval;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressTestReportBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressTestReportBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..4785315a2168df81a74bf81cdd7b27c552b32fe2
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootStressTestReportBean.java
@@ -0,0 +1,20 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+@Data
+public class IBootStressTestReportBean {
+
+ //设备数量:查询所有设备
+ int allServerNum;
+
+ //正常设备:查询ecc_reason alarm_reason为空的数据
+ int normalSeverNum;
+
+ //ECC异常:查询ecc_reason非空数据部件告警:查询alarm_reason非空数据
+ int exceptionNum;
+
+ //无数据:查询所有设备去除以上设备(collectDateEntity有值的)
+ int noDataNum;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootUserCfgBeans.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootUserCfgBeans.java
new file mode 100644
index 0000000000000000000000000000000000000000..c36fbe6de0f8956585657d9b8f8f8e916a96dba7
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/IBootUserCfgBeans.java
@@ -0,0 +1,17 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/8
+ */
+@Data
+public class IBootUserCfgBeans {
+
+ private List userCfgBeans;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/LogicalDisk.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/LogicalDisk.java
new file mode 100644
index 0000000000000000000000000000000000000000..0e923bb7690c4b91f092747d42c515269f393644
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/LogicalDisk.java
@@ -0,0 +1,104 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.RaidLevelEnum;
+import lombok.Data;
+
+import java.util.List;
+
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/10
+ */
+@Data
+public class LogicalDisk {
+
+ /**
+ * 序列号
+ */
+ private String vid;
+
+ /***
+ * 磁盘容量
+ */
+ private String size;
+
+ /***
+ * 磁盘单位
+ */
+ private String sizeUnit;
+
+ /**
+ * 条带大小
+ */
+ private String strip;
+
+ /**
+ * 读策略
+ */
+ private String readPolicy;
+
+ /**
+ * 写策略
+ */
+ private String writePolicy;
+
+ /**
+ * IO策略
+ */
+ private String ioPolicy;
+
+ /**
+ * 访问策略
+ */
+ private String accessPolicy;
+
+ /**
+ * PD缓存
+ */
+ private String cachePolicy;
+
+ /**
+ * 逻辑盘名称
+ */
+ private String name;
+
+ /***
+ * eid 硬盘背板id
+ */
+ private String eid;
+
+ /***
+ * 是否是启动盘
+ */
+ private boolean boot;
+
+ /***
+ * 逻辑磁盘类型 与 全局热备
+ */
+ private String type;
+
+ /**
+ * Raid等级
+ */
+ private RaidLevelEnum raidLevel;
+
+ /**
+ * 子组硬盘数
+ */
+ private String pdperarray;
+
+ /**
+ * 关联硬盘
+ */
+ private List physicalDiskList;
+
+ /**
+ * 局部热备 关联硬盘
+ */
+ private List partHotDisk;
+
+ private String raidCardStr;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/PhysicalDisk.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/PhysicalDisk.java
new file mode 100644
index 0000000000000000000000000000000000000000..c38ad72ca81d6dbc8ae80f2b22cca65f4cbb7564
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/PhysicalDisk.java
@@ -0,0 +1,54 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/10
+ */
+@Data
+public class PhysicalDisk {
+
+ /**
+ * physicalDisk 唯一标识
+ */
+ private String id;
+
+ /**
+ * controllerId
+ */
+ private String cid;
+
+ /**
+ * 硬盘背板id
+ */
+ private String eid;
+
+ /***
+ * 硬盘型号 SSD HDD
+ */
+ private String type;
+
+ /***
+ * 硬盘槽位
+ */
+ private String slot;
+
+ /**
+ * 当前状态
+ */
+ private String status;
+
+ /**
+ * 硬盘大小
+ */
+ private String size;
+
+ /**
+ * 硬盘容量单位
+ */
+ private String sizeUnit;
+ private String content;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/UserCfgBean.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/UserCfgBean.java
new file mode 100644
index 0000000000000000000000000000000000000000..05fae1a03d4881ef51101935b6ba72f95fc31159
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/bean/template/UserCfgBean.java
@@ -0,0 +1,24 @@
+package com.inspur.ispim.cosmos.iboot.base.api.bean.template;
+
+import lombok.Data;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/8
+ */
+@Data
+public class UserCfgBean {
+
+ private String sn;
+ private String id;
+ private String username;
+ private String userPw;
+ private String privilege;
+
+ /**
+ * 是否为删除
+ */
+ private boolean delete;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/DeviceEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/DeviceEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..3d7438bb0a07b80639cc3d65ba9fbd6e3f9e139c
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/DeviceEntity.java
@@ -0,0 +1,115 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.*;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * ryalii
+ * 资产
+ */
+@Data
+@Table(name = "cosmos_iboot_device")
+public class DeviceEntity implements Serializable {
+ private static final long serialVersionUID = 6289515425494120993L;
+
+ /**
+ * 主键id
+ */
+ @Id
+ private Integer pk;
+
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "sn")
+ private String sn;
+
+ @Column(name = "dhcp_ip")
+ private String dhcpIp;
+
+ @Column(name = "manage_ip")
+ private String manageIp;
+
+ @Column(name = "status")
+ private DeviceStatusEnum status;
+
+ @Column(name = "ipmi_status")
+ private IpmiStatusEnum ipmiStatus;
+
+ @Column(name = "ipmi_fail")
+ private IpmiFailEnum ipmiFail;
+
+ @Column(name = "manage_channel")
+ private ManageChannelEnum manageChannel;
+
+ @Column(name = "manage_user")
+ private String manageUser;
+
+ @Column(name = "manage_password")
+ private String managePassword;
+
+ @Column(name = "manage_id")
+ private String manageId;
+
+ @Column(name = "manage_account")
+ private ManageAccountEnum manageAccount;
+
+ @Column(name = "network_device")
+ private String networkDevice;
+
+ @Column(name = "boot_option")
+ private BootOptionEnum bootOption;
+
+ @Column(name = "architecture")
+ private ArchitectureEnum architecture;
+
+ @Column(name = "vendor")
+ private String vendor;
+
+ @Column(name = "model")
+ private String model;
+
+ @Column(name = "system_info")
+ private String systemInfo;
+
+ @Column(name = "storage_info")
+ private String storageInfo;
+
+ @Column(name = "single_storage_info")
+ private String singleStorageInfo;
+
+ @Column(name = "single_storage_md")
+ private String singleStorageMd;
+
+ @Column(name = "create_user")
+ private String createUser;
+
+ @Column(name = "update_user")
+ private String updateUser;
+
+ @Column(name = "create_time")
+ private Date createTime;
+
+ @Column(name = "update_time")
+ private Date updateTime;
+
+ @Column(name = "heartbeat_time")
+ private Date heartbeatTime;
+ /**
+ * zhangchen 增加冗余字段,模型关联设备数量,其他功能无用
+ */
+ @Transient
+ private int deviceNum;
+ /**
+ * zhangchen 增加冗余字段,模型描述,其他功能无用
+ */
+ @Transient
+ private String raidmodel;
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootImageXmlEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootImageXmlEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..21603f546ce2f91b9fdb3afcf87cb77634197294
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootImageXmlEntity.java
@@ -0,0 +1,35 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/17
+ */
+@Data
+@Table(name = "starlet_control_image_xml")
+public class IBootImageXmlEntity {
+ /**
+ * 主键
+ */
+ @Id
+ @Column(name = "pk")
+ private long pk;
+
+ /**
+ * id
+ */
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "image_id")
+ private String imageId;
+
+ @Column(name = "enviroment")
+ private String enviroment;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootInbandFileEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootInbandFileEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..f52aba40ac85e426f1aa0c595a4126b0b7387d01
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootInbandFileEntity.java
@@ -0,0 +1,54 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.ArchitectureEnum;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.util.Date;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/9
+ */
+@Data
+@Table(name = "cosmos_iboot_inband_file")
+public class IBootInbandFileEntity {
+
+ /**
+ * 逻辑主键
+ */
+ @Column(name = "pk")
+ @Id
+ private Long pk;
+
+ /**
+ * 业务主键
+ */
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "name")
+ private String name;
+
+ @Column(name = "original_name")
+ private String originalName;
+
+ @Column(name = "full_path")
+ private String fullPath;
+
+ @Column(name = "md5")
+ private String md5;
+
+ @Column(name = "architecture")
+ private ArchitectureEnum architecture;
+
+ @Column(name = "create_time")
+ private Date createTime;
+
+ @Column(name = "update_time")
+ private Date updateTime;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootRaidConfigXmlEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootRaidConfigXmlEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..a23d8bd14c315ed3c1c41203224d489612532e77
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootRaidConfigXmlEntity.java
@@ -0,0 +1,40 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/4/14
+ */
+@Table(name = "starlet_control_raid_config_xml")
+@Data
+public class IBootRaidConfigXmlEntity {
+
+ @Id
+ @Column(name = "pk")
+ private long pk;
+
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "model")
+ private String model;
+
+ @Column(name = "type")
+ private String type;
+
+ @Column(name = "content")
+ private String content;
+
+ @Column(name = "remark_cn")
+ private String remarkCn;
+
+ @Column(name = "remark_en")
+ private String remarkEn;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootRepositoryImageEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootRepositoryImageEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..234f750ba8b6c4be4e1086e699642137113c10f0
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootRepositoryImageEntity.java
@@ -0,0 +1,237 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.ArchitectureEnum;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author zhangchen
+ * @description 仓库镜像表,专门存储ISO镜像实体类
+ * @date 2023/08/01 10:22:57
+ */
+@Table(name = "starlet_control_repository_image")
+public class IBootRepositoryImageEntity implements Serializable {
+ /**
+ * 主键
+ */
+ @Column(name = "pk")
+ @Id
+ private long pk;
+ /**
+ * 主键
+ */
+ @Column(name = "id")
+ private String id;
+ /**
+ * 名称,改名之后的
+ */
+ @Column(name = "name")
+ private String name;
+ /**
+ * 原始文件名,包括后缀名
+ */
+ @Column(name = "original_name")
+ private String originalName;
+ /**
+ * 绝对路径
+ */
+ @JsonIgnore
+ @Column(name = "full_path")
+ private String fullPath;
+ /**
+ * 是否包含自动引导文件
+ */
+ @Column(name = "is_has_ks")
+ private boolean hasKs;
+ /**
+ * 是否是自定义镜像
+ */
+ @Column(name = "is_custom_image")
+ private boolean customImage;
+ /**
+ * 镜像类型(型号)
+ */
+ @Column(name = "image_type")
+ private String imageType;
+ @Column(name = "is_show")
+ private boolean show;
+ /**
+ * 版本
+ */
+ @Column(name = "version")
+ private String version;
+ /**
+ * 架构
+ */
+ @Column(name = "architecture")
+ private ArchitectureEnum architecture;
+ /**
+ * 创建时间
+ */
+ @Column(name = "create_time")
+ private Date createTime;
+ /**
+ * 更新时间
+ */
+ @Column(name = "update_time")
+ private Date updateTime;
+ /**
+ * 存储创建用户的ID
+ */
+ @Column(name = "create_user")
+ private String createUser;
+ /**
+ * 修改用户的ID
+ */
+ @Column(name = "update_user")
+ private String updateUser;
+ /**
+ * 是否加入源
+ */
+ @Column(name = "insource")
+ private boolean insource;
+ @Transient
+ private boolean tempuse;
+
+ public long getPk() {
+ return pk;
+ }
+
+ public void setPk(long pk) {
+ this.pk = pk;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getOriginalName() {
+ return originalName;
+ }
+
+ public void setOriginalName(String originalName) {
+ this.originalName = originalName;
+ }
+
+ public String getFullPath() {
+ return fullPath;
+ }
+
+ public void setFullPath(String fullPath) {
+ this.fullPath = fullPath;
+ }
+
+ public boolean isHasKs() {
+ return hasKs;
+ }
+
+ public void setHasKs(boolean hasKs) {
+ this.hasKs = hasKs;
+ }
+
+ public boolean isCustomImage() {
+ return customImage;
+ }
+
+ public void setCustomImage(boolean customImage) {
+ this.customImage = customImage;
+ }
+
+ public String getImageType() {
+ return imageType;
+ }
+
+ public void setImageType(String imageType) {
+ this.imageType = imageType;
+ }
+
+ public boolean isShow() {
+ return show;
+ }
+
+ public void setShow(boolean show) {
+ this.show = show;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public ArchitectureEnum getArchitecture() {
+ return architecture;
+ }
+
+ public void setArchitecture(ArchitectureEnum architecture) {
+ this.architecture = architecture;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getCreateUser() {
+ return createUser;
+ }
+
+ public void setCreateUser(String createUser) {
+ this.createUser = createUser;
+ }
+
+ public String getUpdateUser() {
+ return updateUser;
+ }
+
+ public void setUpdateUser(String updateUser) {
+ this.updateUser = updateUser;
+ }
+
+ public boolean isInsource() {
+ return insource;
+ }
+
+ public void setInsource(boolean insource) {
+ this.insource = insource;
+ }
+
+ public boolean isTempuse() {
+ return tempuse;
+ }
+
+ public void setTempuse(boolean tempuse) {
+ this.tempuse = tempuse;
+ }
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootStressDataEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootStressDataEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..f41a3763c8ed86752344af902ea83154a71b45c8
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootStressDataEntity.java
@@ -0,0 +1,124 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.util.Date;
+
+@Data
+@Table(name = "cosmos_iboot_stress_data")
+public class IBootStressDataEntity {
+
+ /**
+ * 逻辑主键
+ */
+ @Column(name = "pk")
+ @Id
+ private Long pk;
+
+ /**
+ * 业务主键
+ */
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "job_host_id")
+ private String jobHostId;
+
+ /**
+ * 资产ip
+ */
+ @Column(name = "ip")
+ private String ip;
+
+ /**
+ * 资产SN
+ */
+ @Column(name = "sn")
+ private String sn;
+
+ /**
+ * 进风口温度
+ */
+ @Column(name = "inlet_temperature")
+ private String inletTemperature;
+
+ /**
+ * 出风口温度
+ */
+ @Column(name = "outlet_temperature")
+ private String outletTemperature;
+
+ /**
+ * 总功率
+ */
+ @Column(name = "total_power")
+ private String totalPower;
+
+ /**
+ * cpu温度
+ */
+ @Column(name = "cpu_temperature")
+ private String cpuTemperature;
+
+ /**
+ * cpu功率
+ */
+ @Column(name = "cpu_power")
+ private String cpuPower;
+
+ /**
+ * cpu用户利用率
+ */
+ @Column(name = "cpu_rate_user")
+ private String cpuRateUser;
+
+ /**
+ * cpu系统利用率
+ */
+ @Column(name = "cpu_rate_system")
+ private String cpuRateSystem;
+
+ /**
+ * cpu空闲利用率
+ */
+ @Column(name = "cpu_rate_idle")
+ private String cpuRateIdle;
+
+ /**
+ * 内存利用率
+ */
+ @Column(name = "memory_rate")
+ private String memoryRate;
+
+ /**
+ * 内存功率
+ */
+ @Column(name = "memory_power")
+ private String memoryPower;
+
+ /**
+ * ecc cpu0
+ */
+ @Column(name = "ecc_cpu0")
+ private String eccCPU0;
+
+ /**
+ * ecc cpu1
+ */
+ @Column(name = "ecc_cpu1")
+ private String eccCPU1;
+
+ /**
+ * ecc超过6000,需要存原因
+ */
+ @Column(name = "ecc_reason")
+ private String eccReason;
+
+
+ @Column(name = "create_time")
+ private Date createTime;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootStressTestServerEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootStressTestServerEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..e1cafe997d583e6a56c6e48790c4acbb4072599e
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootStressTestServerEntity.java
@@ -0,0 +1,61 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.util.Date;
+
+@Data
+@Table(name = "cosmos_iboot_stress_server")
+public class IBootStressTestServerEntity {
+
+ /**
+ * 逻辑主键
+ */
+ @Column(name = "pk")
+ @Id
+ private Long pk;
+
+ /**
+ * 业务主键
+ */
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "task_id")
+ private String taskId;
+
+ @Column(name = "job_host_id")
+ private String jobHostId;
+
+ /**
+ * 资产ip
+ */
+ @Column(name = "ip")
+ private String ip;
+
+ /**
+ * 资产SN
+ */
+ @Column(name = "sn")
+ private String sn;
+
+ @Column(name = "num")
+ private int num;
+
+ @Column(name = "status")
+ private String status;
+
+ @Column(name = "update_time")
+ private Date updateTime;
+
+ @Transient
+ private String result;
+
+ @Transient
+ private String templateContent;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..d159548978c36322257986177dffcffcf16e5213
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskEntity.java
@@ -0,0 +1,74 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.TaskHostStatusEnum;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.task.IBootTaskJobBean;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * zhangchen
+ * 任务主表
+ */
+@Data
+@Table(name = "cosmos_iboot_task")
+public class IBootTaskEntity implements Serializable {
+ private static final long serialVersionUID = 5989515425494120993L;
+ @Transient
+ IBootTaskJobBean iBootTaskJobBean;
+ /**
+ * 主键id
+ */
+ @Id
+ private Integer pk;
+ @Column(name = "id")
+ private String id;
+ @Column(name = "name")
+ private String name;
+ @Column(name = "task_status")
+ private TaskHostStatusEnum taskStatus;
+ @Column(name = "cron")
+ private String cron;
+ @Column(name = "create_user")
+ private String createUser;
+ @Column(name = "execute_time")
+ private Date executeTime;
+ @Column(name = "execute_type")
+ private String executeType;
+ @Column(name = "start_time")
+ private Date startTime;
+ @Column(name = "end_time")
+ private Date endTime;
+ @Column(name = "create_time")
+ private Date createTime;
+ @Column(name = "update_time")
+ private Date updateTime;
+ @Column(name = "template_id")
+ private String templateId;
+ @Column(name = "template_name")
+ private String templateName;
+ @Column(name = "template_type")
+ private String templateType;
+ @Transient
+ private long costTime;
+
+ public long getCostTime() {
+ if (BeanUtil.isNotEmpty(startTime)) {
+ return DateUtil.between(startTime, new Date(), DateUnit.MS);
+ } else {
+ return costTime;
+ }
+ }
+
+ public void setCostTime(long costTime) {
+ this.costTime = costTime;
+ }
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHistoryEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHistoryEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..6918cde8498a63895d73e13d22a8e9a6efa154c8
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHistoryEntity.java
@@ -0,0 +1,74 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.TaskHostStatusEnum;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.task.IBootTaskJobBean;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * zhangchen
+ * 历史任务主表
+ */
+@Data
+@Table(name = "cosmos_iboot_task_history")
+public class IBootTaskHistoryEntity implements Serializable {
+ private static final long serialVersionUID = 5989515425494120993L;
+ IBootTaskJobBean iBootTaskJobBean;
+ /**
+ * 主键id
+ */
+ @Id
+ private Integer pk;
+ @Column(name = "id")
+ private String id;
+ @Column(name = "name")
+ private String name;
+ @Column(name = "task_id")
+ private String taskId;
+ @Column(name = "task_status")
+ private TaskHostStatusEnum taskStatus;
+ @Column(name = "cron")
+ private String cron;
+ @Column(name = "excute_user")
+ private String excuteUser;
+ @Column(name = "execute_time")
+ private Date executeTime;
+ @Column(name = "execute_type")
+ private String executeType;
+ @Column(name = "start_time")
+ private Date startTime;
+ @Column(name = "end_time")
+ private Date endTime;
+ @Column(name = "create_time")
+ private Date createTime;
+ @Column(name = "update_time")
+ private Date updateTime;
+ @Column(name = "template_id")
+ private String templateId;
+ @Column(name = "template_name")
+ private String templateName;
+ @Column(name = "template_type")
+ private String templateType;
+ private long costTime;
+
+ public long getCostTime() {
+ if (BeanUtil.isNotEmpty(startTime) && BeanUtil.isNotEmpty(endTime)) {
+ return DateUtil.between(startTime, endTime, DateUnit.MS);
+ } else {
+ return costTime;
+ }
+ }
+
+ public void setCostTime(long costTime) {
+ this.costTime = costTime;
+ }
+
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf81d43d780ec7328b8e0b49fc02ed8194a6525d
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostEntity.java
@@ -0,0 +1,81 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.TaskHostStatusEnum;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * zhangchen
+ * 任务设备表
+ */
+@Data
+@Table(name = "cosmos_iboot_task_host")
+public class IBootTaskHostEntity implements Serializable {
+ private static final long serialVersionUID = 5989515425494120993L;
+ /**
+ * 主键id
+ */
+ @Id
+ private Integer pk;
+
+ @Column(name = "id")
+ private String id;
+ @Column(name = "task_id")
+ private String taskId;
+
+ @Column(name = "resource_id")
+ private String resourceId;
+
+ @Column(name = "job_host_status")
+ private TaskHostStatusEnum jobHostStatus;
+
+ @Column(name = "start_time")
+ private Date startTime;
+ @Column(name = "end_time")
+ private Date endTime;
+
+ @Column(name = "create_time")
+ private Date createTime;
+ @Column(name = "update_time")
+ private Date updateTime;
+
+ @Column(name = "process")
+ private int process;
+ @Column(name = "msg")
+ private String msg;
+ @Column(name = "param")
+ private String param;
+ @Column(name = "template_type")
+ private String templateType;
+ @Column(name = "template_id")
+ private String templateId;
+ @Column(name = "sn")
+ private String sn;
+ @Column(name = "resource_ip")
+ private String resourceIp;
+ @Column(name = "mac")
+ private String mac;
+ @Transient
+ private long costTime;
+
+ public long getCostTime() {
+ if (BeanUtil.isNotEmpty(startTime)) {
+ return DateUtil.between(startTime, new Date(), DateUnit.MS);
+ } else {
+ return costTime;
+ }
+ }
+
+ public void setCostTime(long costTime) {
+ this.costTime = costTime;
+ }
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostHistoryEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostHistoryEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..6132df00693ad8092889e9867dc6ed360586201f
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostHistoryEntity.java
@@ -0,0 +1,86 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.TaskHostStatusEnum;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * zhangchen
+ * 历史任务设备表
+ */
+@Data
+@Table(name = "cosmos_iboot_task_host_history")
+public class IBootTaskHostHistoryEntity implements Serializable {
+ private static final long serialVersionUID = 5989515425494120993L;
+ /**
+ * 主键id
+ */
+ @Id
+ private Integer pk;
+
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "task_id")
+ private String taskId;
+ @Column(name = "job_host_id")
+ private String jobHostId;
+
+ @Column(name = "resource_id")
+ private String resourceId;
+ @Column(name = "resource_ip")
+ private String resourceIp;
+ @Column(name = "mac")
+ private String mac;
+ @Column(name = "sn")
+ private String sn;
+ @Column(name = "model")
+ private String model;
+
+ @Column(name = "job_host_status")
+ private TaskHostStatusEnum jobHostStatus;
+
+ @Column(name = "start_time")
+ private Date startTime;
+ @Column(name = "end_time")
+ private Date endTime;
+
+ @Column(name = "create_time")
+ private Date createTime;
+ @Column(name = "update_time")
+ private Date updateTime;
+
+ @Column(name = "process")
+ private int process;
+ @Column(name = "msg")
+ private String msg;
+ @Column(name = "param")
+ private String param;
+
+ @Transient
+ private List stressDataEntityList;
+
+ private long costTime;
+
+ public long getCostTime() {
+ if (BeanUtil.isNotEmpty(startTime) && BeanUtil.isNotEmpty(endTime)) {
+ return DateUtil.between(startTime, endTime, DateUnit.MS);
+ } else {
+ return costTime;
+ }
+ }
+
+ public void setCostTime(long costTime) {
+ this.costTime = costTime;
+ }
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostLogEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostLogEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..462a0e76732f66ebce1941f881ff68fa8bf4185f
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTaskHostLogEntity.java
@@ -0,0 +1,42 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * zhangchen
+ * 任务设备表
+ */
+@Data
+@Table(name = "cosmos_iboot_task_host_log")
+public class IBootTaskHostLogEntity implements Serializable {
+ private static final long serialVersionUID = 5989515425494120993L;
+ /**
+ * 主键id
+ */
+ @Id
+ private Integer pk;
+
+ @Column(name = "id")
+ private String id;
+ @Column(name = "task_id")
+ private String taskId;
+ @Column(name = "resource_id")
+ private String resourceId;
+ @Column(name = "job_host_id")
+ private String jobHostId;
+
+ @Column(name = "content")
+ private String content;
+
+ @Column(name = "create_time")
+ private Date createTime;
+ @Column(name = "update_time")
+ private Date updateTime;
+
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTemplateEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTemplateEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..d009dac4cbdd087b6d7c9a19802ddd9ff366ee3f
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTemplateEntity.java
@@ -0,0 +1,105 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.TemplateTypeEnum;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.ArchitectureEnum;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @description IBoot模板表,与控制模块通用模板表分开
+ * @auther gengzhicheng
+ * @date 2023/8/7
+ */
+@Data
+@Table(name = "cosmos_iboot_template")
+public class IBootTemplateEntity implements Serializable {
+ /**
+ * 逻辑主键
+ */
+ @Column(name = "pk")
+ @Id
+ private Long pk;
+
+ /**
+ * 业务主键
+ */
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "name")
+ private String name;
+
+ @Column(name = "description")
+ private String description;
+
+ /**
+ * 模板详情,为格式化数据,以json样式存储,不同的类型的模板结构不一样
+ */
+ @Column(name = "content")
+ private String content;
+
+ @Column(name = "model")
+ private String model;
+
+ @Column(name = "real_model")
+ private String realModel;
+
+ /**
+ * 模板类型,一个模板是一个最小的业务单元
+ */
+ @Column(name = "template_type")
+ private TemplateTypeEnum templateType;
+
+ @Column(name = "vendor")
+ private String vendor;
+
+ @Column(name = "create_user")
+ private String createUser;
+
+ @Column(name = "create_time")
+ private Date createTime;
+
+ @Column(name = "update_user")
+ private String updateUser;
+
+ @Column(name = "update_time")
+ private Date updateTime;
+
+ /**
+ * 考虑到假删除
+ */
+ @Column(name = "is_show")
+ private Boolean show;
+
+ /**
+ * 资产raid信息(模板查看使用),保存String 对应raidModelLst
+ */
+ @Column(name = "raid_models")
+ private String raidModels;
+
+ /**
+ * 是否清空配置
+ */
+ @Column(name = "is_clear")
+ private Boolean clear;
+
+ @Column(name = "architecture")
+ private ArchitectureEnum architecture;
+
+ /**
+ * 模板配置信息
+ */
+ @Transient
+ private Object templateBean;
+ /**
+ * 敏感信息,raid配置专用
+ */
+ @Transient
+ private String mgOper;
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTimezoneEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTimezoneEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..d8864145cd905d48b2d2851283187a7193740c9c
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/IBootTimezoneEntity.java
@@ -0,0 +1,53 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.util.Date;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/15
+ */
+@Data
+@Table(name = "starlet_control_timezone")
+public class IBootTimezoneEntity {
+
+ @Column(name = "pk")
+ @Id
+ private Long pk;
+ /**
+ * id
+ */
+ @Column(name = "id")
+ private String id;
+ /**
+ * 时区key内容
+ */
+ @Column(name = "timezone_key")
+ private String timezoneKey;
+ /**
+ * 时区的value值
+ */
+ @Column(name = "timezone_value")
+ private String timezoneValue;
+ /**
+ * 系统类型
+ */
+ @Column(name = "system_type")
+ private String systemType;
+ /**
+ * 创建时间
+ */
+ @Column(name = "create_time")
+ private Date createTime;
+ /**
+ * 更新时间
+ */
+ @Column(name = "update_time")
+ private Date updateTime;
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/TaskHostEntity.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/TaskHostEntity.java
new file mode 100644
index 0000000000000000000000000000000000000000..bd9dbb919c41e43f55e3a50883ef05590402a5e1
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/entity/TaskHostEntity.java
@@ -0,0 +1,116 @@
+package com.inspur.ispim.cosmos.iboot.base.api.entity;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.TaskHostStatusEnum;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * ryalii
+ * 资产
+ */
+@Table(name = "cosmos_iboot_task_host")
+public class TaskHostEntity implements Serializable {
+ private static final long serialVersionUID = 5989515425494120993L;
+
+ /**
+ * 主键id
+ */
+ @Id
+ private Integer pk;
+
+ @Column(name = "id")
+ private String id;
+
+ @Column(name = "sn")
+ private String sn;
+
+ @Column(name = "para")
+ private String para;
+
+ @Column(name = "status")
+ private TaskHostStatusEnum status;
+
+ @Column(name = "creator")
+ private String creator;
+
+ @Column(name = "updater")
+ private String updater;
+
+ @Column(name = "create_time")
+ private Date createTime;
+
+ @Column(name = "update_time")
+ private Date updateTime;
+
+ public Integer getPk() {
+ return pk;
+ }
+
+ public void setPk(Integer pk) {
+ this.pk = pk;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getSn() {
+ return sn;
+ }
+
+ public void setSn(String sn) {
+ this.sn = sn;
+ }
+
+ public String getCreator() {
+ return creator;
+ }
+
+ public void setCreator(String creator) {
+ this.creator = creator;
+ }
+
+ public String getUpdater() {
+ return updater;
+ }
+
+ public void setUpdater(String updater) {
+ this.updater = updater;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public Date getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Date updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getPara() {
+ return para;
+ }
+
+ public void setPara(String para) {
+ this.para = para;
+ }
+
+ public void setStatus(TaskHostStatusEnum status) {
+ this.status = status;
+ }
+}
\ No newline at end of file
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/DeviceAssetService.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/DeviceAssetService.java
new file mode 100644
index 0000000000000000000000000000000000000000..fa86047dbbf07e0debe935786d704c431850d99e
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/DeviceAssetService.java
@@ -0,0 +1,14 @@
+package com.inspur.ispim.cosmos.iboot.base.api.service;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.ResultBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.DeviceQueryBean;
+
+/**
+ * 处理和资产相关的接口功能
+ */
+public interface DeviceAssetService extends DeviceService {
+
+ int deviceAssetSyncProgress();
+
+ ResultBean deviceAssetSync(DeviceQueryBean queryBean);
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/DeviceService.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/DeviceService.java
new file mode 100644
index 0000000000000000000000000000000000000000..150fece8d3c913f0d701ca9c403af71d03d96b12
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/DeviceService.java
@@ -0,0 +1,66 @@
+package com.inspur.ispim.cosmos.iboot.base.api.service;
+
+import com.inspur.cdc.commons.lang.web.Page;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.ResultBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.*;
+import com.inspur.ispim.cosmos.iboot.base.api.entity.DeviceEntity;
+
+import java.util.List;
+
+public interface DeviceService {
+ List> getAll();
+
+ Page deviceList(DeviceQueryBean queryBean);
+
+ DeviceDropdownBean deviceDropdown();
+
+ List deviceModelList(String vendor);
+
+ ResultBean deviceDelete(DeviceQueryBean queryBean);
+
+ ResultBean devicePowerManage(DeviceQueryBean queryBean, String mode);
+
+ ResultBean deviceRefresh(DeviceQueryBean queryBean);
+
+ ResultBean deviceHeartbeat(String sn, String ip);
+
+ ResultBean deviceReport(DeviceDetailBean detailBean);
+
+ ResultBean addDevice(DeviceEntity deviceEntity);
+
+ ResultBean updateDevice(DeviceEntity deviceEntity);
+
+ ResultBean getDeviceDetail(String id);
+
+ ResultBean getDeviceSystemDetail(String id);
+
+ ResultBean getDeviceStorageDetail(String id);
+
+ ResultBean updateDeviceBySn(DeviceEntity deviceEntity);
+
+ byte[] deviceTemplateDownload();
+
+ ResultBean deviceTemplateUpload(byte[] content);
+
+ void deviceStatusRefreshTimer();
+
+ void deviceIpmiStatusRefreshTimer();
+
+ ResultBean getServiceState();
+
+ ResultBean changeServiceState(String name, String mode);
+
+ ResultBean getManageNetwork();
+
+ ResultBean getManageNetworkRange(String ip);
+
+ ResultBean setManageNetwork(ServerManageNetworkBean serverManageNetworkBean);
+
+ ResultBean deviceDetection(DeviceQueryBean queryBean, String mode);
+
+ ResultBean deviceDiskBackup(DeviceDiskCloneBean diskCloneBean);
+
+ ResultBean deviceDiskRestore(DeviceQueryBean queryBean, String imageId);
+
+ ResultBean deviceLogicDisk(String id);
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootOsInstallService.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootOsInstallService.java
new file mode 100644
index 0000000000000000000000000000000000000000..eb9812d7e88fefde6bfa24eef0d55ed58f223abc
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootOsInstallService.java
@@ -0,0 +1,63 @@
+package com.inspur.ispim.cosmos.iboot.base.api.service;
+
+import com.inspur.ispim.cosmos.iboot.base.api.bean.ResultBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.template.IBootInstallParamBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.template.IBootOsInstallBean;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/16
+ */
+public interface IBootOsInstallService {
+
+ /**
+ * 系统默认ks内容
+ */
+ ResultBean getDefaultKs();
+
+ /**
+ * 配置网络
+ */
+ String configNetwork(InputStream inputStream, IBootInstallParamBean iBootInstallParamBean, String taskId);
+
+ /**
+ * 系统分区设置
+ */
+ String diskPartition(IBootOsInstallBean iBootOsInstallBean);
+
+ String autoPartition();
+
+ /**
+ * 普通设置创建ks文件
+ */
+ String createKsFileByUI(IBootInstallParamBean iBootInstallParamBean, String sn, Boolean isBond, String taskHostId, String mac);
+
+ /**
+ * 高级设置创建ks文件
+ */
+ String createKsFile(IBootInstallParamBean iBootInstallParamBean, String sn, Boolean isBond, String taskHostId, String mac) throws IOException;
+
+ /**
+ * 配置网络
+ */
+ String[] osNetConfig(IBootInstallParamBean iBootInstallParamBean, String sn);
+
+ /**
+ * 复制文件
+ */
+ void copyFile(IBootOsInstallBean iBootOsInstallBean, String sn);
+
+ /**
+ * 写入MAC.INI文件
+ */
+ void insertMacIni(String imageFileId, String ksPath, String mac, String sn, String boodMode);
+
+ String queryKsFileName();
+
+ String startSh(String iBootIp, String taskHostId);
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootRepositoryImageService.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootRepositoryImageService.java
new file mode 100644
index 0000000000000000000000000000000000000000..a6348a2726b0a5a14bf6f4c2ca61f77cc33e9338
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootRepositoryImageService.java
@@ -0,0 +1,74 @@
+package com.inspur.ispim.cosmos.iboot.base.api.service;
+
+import com.inspur.cdc.combo.mybatis.page.bean.PageResult;
+import com.inspur.cdc.commons.lang.web.ApiResult;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.ResultBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.image.*;
+import com.inspur.ispim.cosmos.iboot.base.api.entity.IBootRepositoryImageEntity;
+
+import java.util.List;
+
+/**
+ * @author ryalii
+ * @description 仓库镜像表,专门存储ISO镜像数据访问层接口
+ * @date 2022/02/15 10:22:57
+ */
+public interface IBootRepositoryImageService {
+
+ PageResult getByConditionPage(ImageQueryBean queryBean);
+
+ List getByCondition(ImageQueryBean queryBean);
+
+ List getYumImageList();
+
+ IBootRepositoryImageEntity getByFileName(String fileName);
+
+ /**
+ * 判断文件是否存在.
+ *
+ * @param fileName 文件名称
+ * @return
+ */
+ boolean checkfileExist(String fileName);
+
+ /**
+ * @param chunk
+ * @return
+ * @Title: saveFragmentedFile
+ * @author: zhangchen
+ */
+ boolean uploadFragmentedFile(Chunk chunk, byte[] filebytes);
+
+ /**
+ * @param chunkFileModel
+ * @return
+ * @Title: mergeFragmentedFile
+ * @Description: 文件合并.
+ */
+ ResultBean mergeFragmentedFile(ChunkFileModel chunkFileModel, String userName);
+
+ /**
+ * @param pathId
+ * @Title: deleteFragmentedFile
+ * @Description:删除分片脏数据.
+ */
+ ResultBean deleteFragmentedFile(String pathId, String fileName);
+
+ ApiResult> deleteOsRepositoryFileById(List ids);
+
+ String getMerginFlag(String fileId);
+
+ double getUsableSpace();
+
+ List getAllSupportImages();
+
+ List getImageTypeList();
+
+ /**
+ * 校验NFS可用的空间
+ *
+ * @return
+ */
+ SpaceCheckResult checkNFSAvaliableSpace(String size, String type);
+
+}
diff --git a/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootTemplateService.java b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootTemplateService.java
new file mode 100644
index 0000000000000000000000000000000000000000..f8e04762d3c4c903de591b3192b82ae66058794f
--- /dev/null
+++ b/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-api/src/main/java/com/inspur/ispim/cosmos/iboot/base/api/service/IBootTemplateService.java
@@ -0,0 +1,111 @@
+package com.inspur.ispim.cosmos.iboot.base.api.service;
+
+import com.inspur.cdc.commons.lang.web.Page;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.IBootTemplateQueryBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.ResultBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.device.DeviceQueryBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.image.ImageXmlBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.raid.IBootRaidConfigTemplateBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.raid.RaidAnalyResult;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.raid.RaidTreeBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.raid.RaidXmlBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.task.IBootTaskQueryBean;
+import com.inspur.ispim.cosmos.iboot.base.api.bean.template.*;
+import com.inspur.ispim.cosmos.iboot.base.api.entity.DeviceEntity;
+import com.inspur.ispim.cosmos.iboot.base.api.entity.IBootStressDataEntity;
+import com.inspur.ispim.cosmos.iboot.base.api.entity.IBootStressTestServerEntity;
+import com.inspur.ispim.cosmos.iboot.base.api.entity.IBootTemplateEntity;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @description
+ * @auther gengzhicheng
+ * @date 2023/8/7
+ */
+public interface IBootTemplateService {
+
+ Page queryTemplateByCondition(IBootTemplateQueryBean queryBean);
+
+ IBootTemplateEntity addTemplateWithEntity(IBootTemplateEntity iBootTemplateEntity);
+
+ boolean deleteTemplateByIds(List templateIds);
+
+ boolean updateTemplate(IBootTemplateEntity iBootTemplateEntity);
+
+ List select(IBootTemplateEntity iBootTemplateEntity);
+
+ IBootTemplateEntity queryTemplateDetail(Long templatePk);
+
+ IBootTemplateEntity queryTemplateDetailById(String templateId);
+
+ ResultBean duplicateTemplate(IBootTemplateEntity iBootTemplateEntity);
+
+ /**
+ * 仅提供系统探测保存模板所需文件
+ *
+ * @param file
+ * @param fileName
+ * @return
+ */
+ ResultBean addInbandFile(byte[] file, String fileName);
+
+ ResultBean deleteInbandFile(String fileId);
+
+ ResultBean checkGraphicRaid(IBootTemplateEntity controlTemplateEntity);
+
+ boolean startIBootTemplate(Long templatePk, IBootStartTaskBean iBootStartTaskBean);
+
+ /**
+ * 直接传参起任务
+ *
+ * @param param
+ * @param templateType
+ * @param deviceEntities
+ * @param customTaskName 自定义任务名称,可缺省
+ * @return
+ */
+ boolean startIBootTask(String param, String templateType, List deviceEntities, String customTaskName);
+
+ boolean osInstalled(IBootInstallParamBean iBootInstallParamBean, String executeUser);
+
+ boolean networkConfig(DeviceQueryBean deviceQueryBean, String fileId, String executeUser);
+
+ List