From e7fc70af5fa86c1127b72e2b83cf1be5e993d18f Mon Sep 17 00:00:00 2001 From: fanshuai <1141904845@qq.com> Date: Mon, 8 Apr 2024 14:43:54 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3BUG-=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=B8=8D=E5=88=B0version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/platform/service/impl/DatasetServiceImpl.java | 6 ++---- .../com/ruoyi/platform/service/impl/ModelsServiceImpl.java | 7 ++----- .../src/main/java/com/ruoyi/platform/utils/MinioUtil.java | 1 + .../mapper/managementPlatform/ModelsVersionDaoMapper.xml | 4 ++-- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java index b3f43347..3033407f 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java @@ -59,11 +59,9 @@ public class DatasetServiceImpl implements DatasetService { // 固定存储桶名 private final String bucketName = "platform-data"; - private final MinioUtil minioUtil; + @Resource + private MinioUtil minioUtil; - public DatasetServiceImpl(MinioUtil minioUtil) { - this.minioUtil = minioUtil; - } /** diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java index 6b711468..b84c43d4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java @@ -58,12 +58,9 @@ public class ModelsServiceImpl implements ModelsService { // 固定存储桶名 private final String bucketName = "platform-data"; + @Resource + private MinioUtil minioUtil; - private final MinioUtil minioUtil; - - public ModelsServiceImpl(MinioUtil minioUtil) { - this.minioUtil = minioUtil; - } /** * 通过ID查询单条数据 diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java index 1f4c1217..363f1508 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java @@ -31,6 +31,7 @@ public class MinioUtil { @Value("${minio.secretKey}") private String minioSecretKey; private MinioClient minioClient; + @PostConstruct public void init() { this.minioClient = MinioClient.builder() diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelsVersionDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelsVersionDaoMapper.xml index 9ed76e2e..6461a525 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelsVersionDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelsVersionDaoMapper.xml @@ -39,10 +39,10 @@ from models_version state = 1 - + and models_id = #{modelsVersion.modelsId} - + and version = #{modelsVersion.version} From 8ac9f84adb15c88dcdde59e1067f582ec96ce80e Mon Sep 17 00:00:00 2001 From: fanshuai <1141904845@qq.com> Date: Mon, 8 Apr 2024 15:35:41 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3BUG-=E6=9F=A5=E8=AF=A2sta?= =?UTF-8?q?tus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...{TensorBoardStatus.java => PodStatus.java} | 8 ++-- .../service/impl/TensorBoardServiceImpl.java | 19 ++++---- .../ruoyi/platform/utils/K8sClientUtil.java | 46 +++++++++---------- 3 files changed, 37 insertions(+), 36 deletions(-) rename ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/{TensorBoardStatus.java => PodStatus.java} (71%) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/TensorBoardStatus.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/PodStatus.java similarity index 71% rename from ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/TensorBoardStatus.java rename to ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/PodStatus.java index e1f74ef0..c7528acf 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/TensorBoardStatus.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/PodStatus.java @@ -1,15 +1,15 @@ package com.ruoyi.platform.domain; -public enum TensorBoardStatus { - Pending("Pending",1), Running("Running",2),Terminated("未运行",3); +public enum PodStatus { + Pending("Pending",1), Running("Running",2),Terminated("Terminated",3), Failed("Failed",4), Unknown("Unknown",5); private String name; private int index; - private TensorBoardStatus(String name, int index) { + private PodStatus(String name, int index) { this.name = name; this.index = index; } public static String getName(int index) { - for (TensorBoardStatus c : TensorBoardStatus.values()) { + for (PodStatus c : PodStatus.values()) { if (c.getIndex() == index) { return c.name; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java index a3966b5c..a387103f 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/TensorBoardServiceImpl.java @@ -2,19 +2,15 @@ package com.ruoyi.platform.service.impl; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.platform.domain.TensorBoardStatus; +import com.ruoyi.platform.domain.PodStatus; import com.ruoyi.platform.service.TensorBoardService; import com.ruoyi.platform.utils.K8sClientUtil; import com.ruoyi.platform.vo.FrameLogPathVo; import com.ruoyi.system.api.model.LoginUser; -import io.kubernetes.client.openapi.models.V1Pod; -import net.sf.jsqlparser.schema.Database; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.text.SimpleDateFormat; -import java.util.Date; @Service public class TensorBoardServiceImpl implements TensorBoardService { @@ -30,8 +26,8 @@ public class TensorBoardServiceImpl implements TensorBoardService { private K8sClientUtil k8sClientUtil; @Override public String getTensorBoardStatus(FrameLogPathVo frameLogPathVo){ - String status = TensorBoardStatus.Terminated.getName(); - if (StringUtils.isEmpty(frameLogPathVo.getPath())||StringUtils.isEmpty(frameLogPathVo.getPvcName())){ + String status = PodStatus.Terminated.getName(); + if (StringUtils.isEmpty(frameLogPathVo.getPath())){ return status; } LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -39,9 +35,14 @@ public class TensorBoardServiceImpl implements TensorBoardService { try { String podStatus = k8sClientUtil.getPodStatus(podName, StringUtils.isEmpty(frameLogPathVo.getNamespace()) ? "default" : frameLogPathVo.getNamespace()); - System.out.println(podStatus); + for (PodStatus s : PodStatus.values()) { + if (s.getName().equals(podStatus)) { + status = s.getName(); + break; + } + } } catch (Exception e) { - return TensorBoardStatus.Terminated.getName(); + return PodStatus.Terminated.getName(); } return status; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java index a83badd0..955c631e 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java @@ -50,19 +50,19 @@ public class K8sClientUtil { * 3. service-account namespace * 4. master endpoints(ip, port) from pre-set environment variables */ - @Autowired - public K8sClientUtil(@Value("${k8s.http}") String http, @Value("${k8s.token}") String token) { - this.http = http; - this.token = token; - try { - this.apiClient = new ClientBuilder(). - setBasePath(http).setVerifyingSsl(false). - setAuthentication(new AccessTokenAuthentication(token)).build(); - } catch (Exception e) { - log.error("构建K8s-Client异常", e); - throw new RuntimeException("构建K8s-Client异常"); - } - } +// @Autowired +// public K8sClientUtil(@Value("${k8s.http}") String http, @Value("${k8s.token}") String token) { +// this.http = http; +// this.token = token; +// try { +// this.apiClient = new ClientBuilder(). +// setBasePath(http).setVerifyingSsl(false). +// setAuthentication(new AccessTokenAuthentication(token)).build(); +// } catch (Exception e) { +// log.error("构建K8s-Client异常", e); +// throw new RuntimeException("构建K8s-Client异常"); +// } +// } // @Autowired // public K8sClientUtil() { // try { @@ -87,16 +87,16 @@ public class K8sClientUtil { * * @param kubeConfigPath kube连接配置文件 */ -// public K8sClientUtil() { -// try { -// this.apiClient = new ClientBuilder(). -// setBasePath("https://172.20.32.181:6443").setVerifyingSsl(false). -// setAuthentication(new AccessTokenAuthentication("eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXNteGxuIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyZWY1ZjdkMC0zMTdkLTQxN2UtOWY4Ni1mYjA1OTFhYWVhZDQiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.GMpReYK7YJ0nNy-F6VrUJQzjWQiSauAOeq0-DT8ik2Lx8f2eznYEm_3cHX4kIn_nYgfxo857urcHt4Ft6IgVtWzxLzVTCQVaNP_H2J8bnJn8W2tUKXzF_3d_GwO75H7kN8P3aoShULrOLpiIf3o3Az28_gwHkwCnd42npcKrCXfAKj8A2U7-KUFQXXA-etrWSw81C5t8ziL-2xaiDgwD3ewH-TNYsOpyWjGopNTxJn1F7GyJ7xDlmMJOaZhSnOrDggB7lqDEsE68YmZtqB7lcSaZHnKzvNhEdbKri4R7_urpjttz_k6qcfIi-l6GwPtJLatsPDg3OL3FFnzjvArJ-A")).build(); -// } catch (Exception e) { -// log.error("构建K8s-Client异常", e); -// throw new RuntimeException("构建K8s-Client异常"); -// } -// } + public K8sClientUtil() { + try { + this.apiClient = new ClientBuilder(). + setBasePath("https://172.20.32.181:6443").setVerifyingSsl(false). + setAuthentication(new AccessTokenAuthentication("eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImFkbWluLXNlcnZpY2UtYWNjb3VudC10b2tlbi14ZDk5eiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhZG1pbi1zZXJ2aWNlLWFjY291bnQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJmMGEzNmYyMS01MjQyLTQ4MTAtYWVmZS0xOTEwOTZlZjc5YmUiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDphZG1pbi1zZXJ2aWNlLWFjY291bnQifQ.fo-Wf0-5-IRC5fhRh65yfqCJqKfE9MrNFIXL2fd1CqVAHD7JBpWO2IsFiSmz9Bm7VfLmFAp2NB7DjW4ZLjC7ODiGhpSseBP8x4ceFuHL6pRGUsEBvHQBBBuQcGhNOcsxIDHnDqUdUzoLprj223lMZNTQowITuqYFU4GVbethyEuS6G5Wh9KHI3KYHFtG4_AeWBgI5Ppz8pDrhHzSFWTFbzxQ3RPGEwF0V-9wEtdrSYnfETi3rdRWif9W4a0RW8HwD9Gf7UCYcyFOs7e5_3-IvmctS85g87PYIfHXMhu_kOw-_Il4bkwPEK5uiBFDw0M1-s9YP-F9r5sXXvOJlsAr1g")).build(); + } catch (Exception e) { + log.error("构建K8s-Client异常", e); + throw new RuntimeException("构建K8s-Client异常"); + } + } /** * 获取所有的Pod From d208bfb596cfe40c6fd4ef617cb1f798f508ca79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E5=A4=A7=E9=94=90?= <1070211640@qq.com> Date: Mon, 8 Apr 2024 15:37:04 +0800 Subject: [PATCH 3/6] change --- .../java/com/ruoyi/platform/annotations/CheckDuplicate.java | 2 +- .../com/ruoyi/platform/service/impl/DatasetServiceImpl.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/annotations/CheckDuplicate.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/annotations/CheckDuplicate.java index 0134e5cf..a7786567 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/annotations/CheckDuplicate.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/annotations/CheckDuplicate.java @@ -8,5 +8,5 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) public @interface CheckDuplicate { String value() default ""; - String message() default "不能重复"; + String message() default "不能重复!"; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java index 3033407f..ac86a3f4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java @@ -304,6 +304,8 @@ public class DatasetServiceImpl implements DatasetService { .filter(version -> version != null && !version.isEmpty()) //忽略null或空字符串的version .distinct() // 去重 .collect(Collectors.toList()); // 收集到List中 + + } From 42d3177a97280eececeaee944d620661f9ffa72b Mon Sep 17 00:00:00 2001 From: fanshuai <1141904845@qq.com> Date: Mon, 8 Apr 2024 15:41:40 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3BUG-=E6=9F=A5=E8=AF=A2sta?= =?UTF-8?q?tus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/platform/utils/K8sClientUtil.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java index 955c631e..e412cdde 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java @@ -51,18 +51,18 @@ public class K8sClientUtil { * 4. master endpoints(ip, port) from pre-set environment variables */ // @Autowired -// public K8sClientUtil(@Value("${k8s.http}") String http, @Value("${k8s.token}") String token) { -// this.http = http; -// this.token = token; -// try { -// this.apiClient = new ClientBuilder(). -// setBasePath(http).setVerifyingSsl(false). -// setAuthentication(new AccessTokenAuthentication(token)).build(); -// } catch (Exception e) { -// log.error("构建K8s-Client异常", e); -// throw new RuntimeException("构建K8s-Client异常"); -// } -// } + public K8sClientUtil(@Value("${k8s.http}") String http, @Value("${k8s.token}") String token) { + this.http = http; + this.token = token; + try { + this.apiClient = new ClientBuilder(). + setBasePath(http).setVerifyingSsl(false). + setAuthentication(new AccessTokenAuthentication(token)).build(); + } catch (Exception e) { + log.error("构建K8s-Client异常", e); + throw new RuntimeException("构建K8s-Client异常"); + } + } // @Autowired // public K8sClientUtil() { // try { @@ -87,16 +87,16 @@ public class K8sClientUtil { * * @param kubeConfigPath kube连接配置文件 */ - public K8sClientUtil() { - try { - this.apiClient = new ClientBuilder(). - setBasePath("https://172.20.32.181:6443").setVerifyingSsl(false). - setAuthentication(new AccessTokenAuthentication("eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImFkbWluLXNlcnZpY2UtYWNjb3VudC10b2tlbi14ZDk5eiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhZG1pbi1zZXJ2aWNlLWFjY291bnQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJmMGEzNmYyMS01MjQyLTQ4MTAtYWVmZS0xOTEwOTZlZjc5YmUiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDphZG1pbi1zZXJ2aWNlLWFjY291bnQifQ.fo-Wf0-5-IRC5fhRh65yfqCJqKfE9MrNFIXL2fd1CqVAHD7JBpWO2IsFiSmz9Bm7VfLmFAp2NB7DjW4ZLjC7ODiGhpSseBP8x4ceFuHL6pRGUsEBvHQBBBuQcGhNOcsxIDHnDqUdUzoLprj223lMZNTQowITuqYFU4GVbethyEuS6G5Wh9KHI3KYHFtG4_AeWBgI5Ppz8pDrhHzSFWTFbzxQ3RPGEwF0V-9wEtdrSYnfETi3rdRWif9W4a0RW8HwD9Gf7UCYcyFOs7e5_3-IvmctS85g87PYIfHXMhu_kOw-_Il4bkwPEK5uiBFDw0M1-s9YP-F9r5sXXvOJlsAr1g")).build(); - } catch (Exception e) { - log.error("构建K8s-Client异常", e); - throw new RuntimeException("构建K8s-Client异常"); - } - } +// public K8sClientUtil() { +// try { +// this.apiClient = new ClientBuilder(). +// setBasePath("https://172.20.32.181:6443").setVerifyingSsl(false). +// setAuthentication(new AccessTokenAuthentication("eyJhbGciOiJSUzI1NiIsImtpZCI6IjRWcFBPWl9YSFFxQ2tVanRuNHdRT1dnUlJNTnB2bG5TQlVSRjNKdExWNDQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImFkbWluLXNlcnZpY2UtYWNjb3VudC10b2tlbi14ZDk5eiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhZG1pbi1zZXJ2aWNlLWFjY291bnQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJmMGEzNmYyMS01MjQyLTQ4MTAtYWVmZS0xOTEwOTZlZjc5YmUiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDphZG1pbi1zZXJ2aWNlLWFjY291bnQifQ.fo-Wf0-5-IRC5fhRh65yfqCJqKfE9MrNFIXL2fd1CqVAHD7JBpWO2IsFiSmz9Bm7VfLmFAp2NB7DjW4ZLjC7ODiGhpSseBP8x4ceFuHL6pRGUsEBvHQBBBuQcGhNOcsxIDHnDqUdUzoLprj223lMZNTQowITuqYFU4GVbethyEuS6G5Wh9KHI3KYHFtG4_AeWBgI5Ppz8pDrhHzSFWTFbzxQ3RPGEwF0V-9wEtdrSYnfETi3rdRWif9W4a0RW8HwD9Gf7UCYcyFOs7e5_3-IvmctS85g87PYIfHXMhu_kOw-_Il4bkwPEK5uiBFDw0M1-s9YP-F9r5sXXvOJlsAr1g")).build(); +// } catch (Exception e) { +// log.error("构建K8s-Client异常", e); +// throw new RuntimeException("构建K8s-Client异常"); +// } +// } /** * 获取所有的Pod From 84c150295c1a4c6176be22b26fbb102e2ce7dfa7 Mon Sep 17 00:00:00 2001 From: fanshuai <1141904845@qq.com> Date: Mon, 8 Apr 2024 16:39:46 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E8=A7=A3=E5=86=B3BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/platform/utils/K8sClientUtil.java | 2 +- .../com/ruoyi/platform/utils/MinioUtil.java | 18 ++++++------------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java index e412cdde..e6386b0e 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/K8sClientUtil.java @@ -50,7 +50,7 @@ public class K8sClientUtil { * 3. service-account namespace * 4. master endpoints(ip, port) from pre-set environment variables */ -// @Autowired + @Autowired public K8sClientUtil(@Value("${k8s.http}") String http, @Value("${k8s.token}") String token) { this.http = http; this.token = token; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java index 363f1508..ccfc1712 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/utils/MinioUtil.java @@ -4,10 +4,11 @@ package com.ruoyi.platform.utils; import io.minio.*; import io.minio.errors.MinioException; import io.minio.messages.Item; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; import java.io.*; import java.nio.charset.StandardCharsets; import java.nio.file.Path; @@ -18,27 +19,20 @@ import java.util.List; import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; - +@Slf4j @Component public class MinioUtil { - @Value("${minio.endpoint}") - private String minioEndpoint; - - @Value("${minio.accessKey}") - private String minioAccessKey; - - @Value("${minio.secretKey}") - private String minioSecretKey; private MinioClient minioClient; - @PostConstruct - public void init() { + @Autowired + public MinioUtil(@Value("${minio.endpoint}")String minioEndpoint,@Value("${minio.accessKey}")String minioAccessKey,@Value("${minio.secretKey}") String minioSecretKey) { this.minioClient = MinioClient.builder() .endpoint(minioEndpoint) .credentials(minioAccessKey, minioSecretKey) .build(); } + public void createBucket(String bucketName) throws Exception { if (!minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build())) { minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build()); From d210287cc3db85c12896af2c21d1ce7e1418ae1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E5=A4=A7=E9=94=90?= <1070211640@qq.com> Date: Tue, 9 Apr 2024 10:24:00 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=9F=A5=E8=AF=A2=E8=BF=94=E5=9B=9Epath,?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8A=E4=BC=A0=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/DatasetVersionController.java | 2 +- .../model/ModelsVersionController.java | 2 +- .../service/DatasetVersionService.java | 2 +- .../service/ModelsVersionService.java | 2 +- .../service/impl/DatasetServiceImpl.java | 5 +++-- .../impl/DatasetVersionServiceImpl.java | 19 ++++++++++++++++-- .../service/impl/ModelsServiceImpl.java | 5 +++-- .../impl/ModelsVersionServiceImpl.java | 20 +++++++++++++++++-- 8 files changed, 45 insertions(+), 12 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetVersionController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetVersionController.java index 302859cc..b0c42144 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetVersionController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/dataset/DatasetVersionController.java @@ -66,7 +66,7 @@ public class DatasetVersionController extends BaseController { */ @GetMapping("/versions") @ApiOperation("通过数据集id和version查询版本文件列表") - public GenericsAjaxResult> queryByDatasetIdAndVersion(@RequestParam("dataset_id") Integer datasetId, + public GenericsAjaxResult> queryByDatasetIdAndVersion(@RequestParam("dataset_id") Integer datasetId, @RequestParam("version") String version) { return genericsSuccess(this.datasetVersionService.queryByDatasetIdAndVersion(datasetId, version)); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsVersionController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsVersionController.java index 0ce21801..c966e92c 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsVersionController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/ModelsVersionController.java @@ -64,7 +64,7 @@ public class ModelsVersionController extends BaseController { * @return 匹配的模型版本记录列表 */ @GetMapping("/versions") - public GenericsAjaxResult> queryByModelsIdAndVersion(@RequestParam("models_id") Integer modelsId, + public GenericsAjaxResult> queryByModelsIdAndVersion(@RequestParam("models_id") Integer modelsId, @RequestParam("version") String version) { return genericsSuccess(this.modelsVersionService.queryByModelsIdAndVersion(modelsId, version)); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetVersionService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetVersionService.java index e4747d90..5a184925 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetVersionService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetVersionService.java @@ -66,7 +66,7 @@ public interface DatasetVersionService { DatasetVersion queryByDatasetVersion(DatasetVersion datasetVersion); - List queryByDatasetIdAndVersion(Integer datasetId, String version); + Map queryByDatasetIdAndVersion(Integer datasetId, String version); Map deleteDatasetVersion(Integer datasetId, String version); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsVersionService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsVersionService.java index 3051e460..6938da95 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsVersionService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsVersionService.java @@ -66,7 +66,7 @@ public interface ModelsVersionService { ModelsVersion queryByModelsVersion(ModelsVersion modelsVersion); - List queryByModelsIdAndVersion(Integer modelsId, String version); + Map queryByModelsIdAndVersion(Integer modelsId, String version); Map deleteModelsVersion(Integer modelsId, String version); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java index ac86a3f4..9512d0e9 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetServiceImpl.java @@ -210,6 +210,9 @@ public class DatasetServiceImpl implements DatasetService { @Override public List> uploadDataset(MultipartFile[] files) throws Exception { List> results = new ArrayList<>(); + //时间戳统一定在外面,一次上传就定好 + Date createTime = new Date(); + String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(createTime); for (MultipartFile file:files){ if (file.isEmpty()) { @@ -222,8 +225,6 @@ public class DatasetServiceImpl implements DatasetService { // 其余操作基于 modelsVersionToUse String username = SecurityUtils.getLoginUser().getUsername(); String fileName = file.getOriginalFilename(); - Date createTime = new Date(); - String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(createTime); String objectName = "datasets/" + username + "/" + timestamp + "/" + fileName; // 上传文件到MinIO并将记录新增到数据库中 diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java index da1e65ba..621262ad 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/DatasetVersionServiceImpl.java @@ -33,6 +33,9 @@ public class DatasetVersionServiceImpl implements DatasetVersionService { @Resource private DatasetVersionDao datasetVersionDao; + // 固定存储桶名 + private final String bucketName = "platform-data"; + /** * 通过ID查询单条数据 * @@ -131,9 +134,21 @@ public class DatasetVersionServiceImpl implements DatasetVersionService { } @Override + public Map queryByDatasetIdAndVersion(Integer datasetId, String version) { + Map response = new HashMap<>(); + + List datasetVersionList = this.datasetVersionDao.queryAllByDatasetVersion(datasetId, version); + datasetVersionList.stream(). + findFirst(). + ifPresent(datasetVersion -> { + String url = datasetVersion.getUrl(); + String path = bucketName + '/' + url.substring(0, url.lastIndexOf('/')); + response.put("path", path); + + }); - public List queryByDatasetIdAndVersion(Integer datasetId, String version) { - return this.datasetVersionDao.queryAllByDatasetVersion(datasetId, version); + response.put("content", datasetVersionList); + return response; } @Override diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java index b84c43d4..58d3e1ee 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java @@ -205,6 +205,9 @@ public class ModelsServiceImpl implements ModelsService { public List> uploadModels(MultipartFile[] files) throws Exception { List> results = new ArrayList<>(); + //时间戳统一定在外面,一次上传就定好 + Date createTime = new Date(); + String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(createTime); for (MultipartFile file:files){ if (file.isEmpty()) { @@ -217,8 +220,6 @@ public class ModelsServiceImpl implements ModelsService { // 其余操作基于 modelsVersionToUse String username = SecurityUtils.getLoginUser().getUsername(); String fileName = file.getOriginalFilename(); - Date createTime = new Date(); - String timestamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(createTime); String objectName = "models/" + username + "/" + timestamp + "/" + fileName; // 上传文件到MinIO并将记录新增到数据库中 diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java index f1848a86..b060f467 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsVersionServiceImpl.java @@ -34,6 +34,9 @@ public class ModelsVersionServiceImpl implements ModelsVersionService { @Resource private ModelsDao modelsDao; + // 固定存储桶名 + private final String bucketName = "platform-data"; + /** * 通过ID查询单条数据 * @@ -159,8 +162,21 @@ public class ModelsVersionServiceImpl implements ModelsVersionService { * @return 新的模型版本记录列表 */ @Override - public List queryByModelsIdAndVersion(Integer modelsId, String version) { - return this.modelsVersionDao.queryAllByModelsVersion(modelsId, version) ; + public Map queryByModelsIdAndVersion(Integer modelsId, String version) { + Map response = new HashMap<>(); + + List modelsVersionList = this.modelsVersionDao.queryAllByModelsVersion(modelsId, version); + modelsVersionList.stream(). + findFirst(). + ifPresent(modelsVersion -> { + String url = modelsVersion.getUrl(); + String path = bucketName + '/' + url.substring(0, url.lastIndexOf('/')); + response.put("path", path); + + }); + + response.put("content", modelsVersionList); + return response; }