diff --git a/react-ui/config/config.ts b/react-ui/config/config.ts
index 961f0025..405f85cb 100644
--- a/react-ui/config/config.ts
+++ b/react-ui/config/config.ts
@@ -76,7 +76,7 @@ export default defineConfig({
* @name layout 插件
* @doc https://umijs.org/docs/max/layout-menu
*/
- title: '复杂智能软件',
+ title: '智能软件开发平台',
layout: {
locale: true,
...defaultSettings,
diff --git a/react-ui/config/defaultSettings.ts b/react-ui/config/defaultSettings.ts
index 4acad99b..18889073 100644
--- a/react-ui/config/defaultSettings.ts
+++ b/react-ui/config/defaultSettings.ts
@@ -16,7 +16,7 @@ const Settings: ProLayoutProps & {
fixSiderbar: false,
splitMenus: false,
colorWeak: false,
- title: '复杂智能软件',
+ title: '智能软件开发平台',
pwa: true,
logo: '/assets/images/left-top-logo.png',
iconfontUrl: '//at.alicdn.com/t/c/font_4511326_ndnvm4elll.js',
diff --git a/react-ui/src/app.tsx b/react-ui/src/app.tsx
index 1d11a6e6..10ab35bb 100644
--- a/react-ui/src/app.tsx
+++ b/react-ui/src/app.tsx
@@ -193,6 +193,7 @@ export const antd: RuntimeAntdConfig = (memo) => {
colorSuccess: themes['successColor'],
colorError: themes['errorColor'],
colorWarning: themes['warningColor'],
+ colorLink: themes['primaryColor'],
};
memo.theme.components ??= {};
memo.theme.components.Tabs = {};
diff --git a/react-ui/src/components/KFRadio/index.less b/react-ui/src/components/KFRadio/index.less
index 0155142d..aff74e90 100644
--- a/react-ui/src/components/KFRadio/index.less
+++ b/react-ui/src/components/KFRadio/index.less
@@ -1,5 +1,3 @@
-// @import '@/styles/theme.less';
-
.kf-radio {
display: flex;
align-items: center;
diff --git a/react-ui/src/components/ModalTitle/index.less b/react-ui/src/components/ModalTitle/index.less
index 24e10386..ac4d8360 100644
--- a/react-ui/src/components/ModalTitle/index.less
+++ b/react-ui/src/components/ModalTitle/index.less
@@ -1,4 +1,3 @@
-@import '@/styles/theme.less';
.modal_title {
display: flex;
align-items: center;
diff --git a/react-ui/src/components/SubAreaTitle/index.less b/react-ui/src/components/SubAreaTitle/index.less
index 5683824c..5e3b7452 100644
--- a/react-ui/src/components/SubAreaTitle/index.less
+++ b/react-ui/src/components/SubAreaTitle/index.less
@@ -1,5 +1,3 @@
-@import '@/styles/theme.less';
-
.kf-subarea-title {
display: flex;
align-items: center;
diff --git a/react-ui/src/global.less b/react-ui/src/global.less
index 63715440..126b9e52 100644
--- a/react-ui/src/global.less
+++ b/react-ui/src/global.less
@@ -58,7 +58,8 @@ body {
.ant-pro-layout .ant-pro-sider-menu {
padding-top: 40px;
}
-.ant-table-wrapper .ant-table-container table>thead>tr:first-child >*:first-child,.ant-table-wrapper .ant-table-container table>tbody>tr:first-child{
+.ant-table-wrapper .ant-table-container table > thead > tr:first-child > *:first-child,
+.ant-table-wrapper .ant-table-container table > tbody > tr:first-child {
padding: 0 30px;
}
@@ -97,7 +98,7 @@ body {
}
.ant-table-wrapper .ant-table-pagination.ant-pagination {
margin: 0;
- padding: 21px 16px;
+ padding: 20px 16px;
background-color: #fff;
}
// .ant-table-wrapper .ant-table {
@@ -112,6 +113,7 @@ body {
}
.ant-pro-layout .ant-pro-layout-container {
height: 100vh;
+ overflow-y: hidden;
}
.ant-modal-confirm .ant-modal-confirm-paragraph {
margin: 54px 0 auto;
@@ -188,32 +190,21 @@ body {
.ant-modal .ant-modal-footer > .ant-btn + .ant-btn {
margin-left: 20px;
}
-.ant-pagination .ant-pagination-item-active a {
- color: #fff;
- background: rgba(22, 100, 255, 0.8);
- // color: #fff;
- border-radius: 6px;
+.ant-pagination .ant-pagination-item.ant-pagination-item-active {
+ background: @primary-color;
+ border-width: 0;
+
+ a {
+ color: #fff;
+ }
}
.ant-pagination .ant-pagination-item-active:hover {
- // color: #fff;
- // background: rgba(22, 100, 255, 0.8);
- // border-color: rgba(22, 100, 255, 0.8);
- border-radius: 6px;
+ color: #fff;
+ background: rgba(22, 100, 255, 0.8);
+ border-color: rgba(22, 100, 255, 0.8);
}
.ant-pagination .ant-pagination-item {
border: 1px solid #e6e6e6;
- border-radius: 6px;
-}
-
-.ant-tabs {
- .ant-tabs-nav::before,
- div > .ant-tabs-nav::before {
- border: none;
- }
-
- .ant-tabs-nav {
- margin-bottom: 0;
- }
}
// ::-webkit-scrollbar-button {
diff --git a/react-ui/src/pages/DevelopmentEnvironment/index.tsx b/react-ui/src/pages/DevelopmentEnvironment/index.tsx
index 329c0695..c2e09d35 100644
--- a/react-ui/src/pages/DevelopmentEnvironment/index.tsx
+++ b/react-ui/src/pages/DevelopmentEnvironment/index.tsx
@@ -17,6 +17,6 @@ const DevelopmentEnvironment = () => {
}
};
- return ;
+ return ;
};
export default DevelopmentEnvironment;
diff --git a/react-ui/src/pages/Experiment/experimentText/paramsModal.tsx b/react-ui/src/pages/Experiment/experimentText/paramsModal.tsx
index 9a75c2e8..1bdb0cec 100644
--- a/react-ui/src/pages/Experiment/experimentText/paramsModal.tsx
+++ b/react-ui/src/pages/Experiment/experimentText/paramsModal.tsx
@@ -12,7 +12,7 @@ import styles from './paramsModal.less';
type ParamsModalProps = {
open: boolean;
onCancel: () => void;
- globalParam?: PipelineGlobalParam[];
+ globalParam?: PipelineGlobalParam[] | null;
};
function ParamsModal({ open, onCancel, globalParam = [] }: ParamsModalProps) {
@@ -26,7 +26,7 @@ function ParamsModal({ open, onCancel, globalParam = [] }: ParamsModalProps) {
cancelButtonProps={{ style: { display: 'none' } }}
>
- {globalParam.map((item) => (
+ {globalParam?.map((item) => (
{getParamType(item)}
{item.param_value}
diff --git a/react-ui/src/pages/Mirror/components/MirrorStatusCell/index.less b/react-ui/src/pages/Mirror/components/MirrorStatusCell/index.less
index 23c518c7..043bf411 100644
--- a/react-ui/src/pages/Mirror/components/MirrorStatusCell/index.less
+++ b/react-ui/src/pages/Mirror/components/MirrorStatusCell/index.less
@@ -1,5 +1,3 @@
-//@import '@/styles/theme.less';
-
.mirror-status-cell {
color: @text-color;
diff --git a/react-ui/src/pages/Mirror/create.less b/react-ui/src/pages/Mirror/create.less
index 0c3943eb..902e2875 100644
--- a/react-ui/src/pages/Mirror/create.less
+++ b/react-ui/src/pages/Mirror/create.less
@@ -1,5 +1,3 @@
-@import '@/styles/theme.less';
-
.mirror-create {
height: 100%;
diff --git a/react-ui/src/pages/Mirror/create.tsx b/react-ui/src/pages/Mirror/create.tsx
index 9f23c838..d50e8877 100644
--- a/react-ui/src/pages/Mirror/create.tsx
+++ b/react-ui/src/pages/Mirror/create.tsx
@@ -90,6 +90,10 @@ function MirrorCreate() {
message.error('文件上传失败,请重新上传文件');
return;
}
+ if (!file.response || !file.response.data) {
+ message.error('文件上传失败,请重新上传文件');
+ return;
+ }
params = {
...omit(formData, ['fileList', 'upload_type']),
@@ -119,7 +123,7 @@ function MirrorCreate() {
const beforeUpload: UploadProps['beforeUpload'] = () => {
const fileList = form.getFieldValue('fileList');
- if (fileList.length >= 1) {
+ if (Array.isArray(fileList) && fileList.length >= 1) {
message.error('只允许上传一个文件');
return Upload.LIST_IGNORE;
}
diff --git a/react-ui/src/pages/Mirror/info.less b/react-ui/src/pages/Mirror/info.less
index eb6ecbaa..650310b6 100644
--- a/react-ui/src/pages/Mirror/info.less
+++ b/react-ui/src/pages/Mirror/info.less
@@ -1,5 +1,3 @@
-@import '@/styles/theme.less';
-
.mirror-info {
height: 100%;
diff --git a/react-ui/src/pages/Model/personalData.jsx b/react-ui/src/pages/Model/personalData.jsx
index cda03a9f..096c4850 100644
--- a/react-ui/src/pages/Model/personalData.jsx
+++ b/react-ui/src/pages/Model/personalData.jsx
@@ -6,7 +6,11 @@ import KFIcon from '@/components/KFIcon';
import { addModel, deleteModel, getAssetIcon, getModelList } from '@/services/dataset/index.js';
import { modalConfirm } from '@/utils/ui';
import { UploadOutlined } from '@ant-design/icons';
+<<<<<<< HEAD
import { Button, Form, Input, Modal, Pagination, Radio, Select, Upload, message } from 'antd';
+=======
+import { Button, Form, Input, Modal, Pagination, Select, Upload } from 'antd';
+>>>>>>> 4065c42374905b323a937377ae9ab5f05d6ee297
import moment from 'moment';
import { useEffect, useState } from 'react';
import { useNavigate } from 'react-router-dom';
@@ -108,6 +112,10 @@ const PublicData = () => {
setIsModalOpen(false);
};
const onFinish = (values) => {
+ const params = {
+ ...values,
+ available_range: 0,
+ };
addModel(values).then((ret) => {
console.log(ret);
getModelLists(queryFlow);
@@ -452,12 +460,12 @@ const PublicData = () => {
>
-
+ {/*
仅自己可见
工作空间可见
-
+ */}
void;
- globalParam: PipelineGlobalParam[];
+ globalParam: PipelineGlobalParam[] | null;
};
const GlobalParamsDrawer = forwardRef(
diff --git a/react-ui/src/pages/Pipeline/editPipeline/index.jsx b/react-ui/src/pages/Pipeline/editPipeline/index.jsx
index 948cd364..af9e604c 100644
--- a/react-ui/src/pages/Pipeline/editPipeline/index.jsx
+++ b/react-ui/src/pages/Pipeline/editPipeline/index.jsx
@@ -281,7 +281,7 @@ const EditPipeline = () => {
const getFirstWorkflow = (val) => {
getWorkflowById(val).then((ret) => {
if (ret && ret.data) {
- setGlobalParam(ret.data.global_param);
+ setGlobalParam(ret.data.global_param || []);
}
if (graph && ret.data && ret.data.dag) {
getGraphData(JSON.parse(ret.data.dag));
@@ -393,6 +393,8 @@ const EditPipeline = () => {
// 上下各3,左右各1
[0.5, 0],
[0.5, 1],
+ [0, 0.5],
+ [1, 0.5],
]
);
},
@@ -456,6 +458,7 @@ const EditPipeline = () => {
anchorPointIdx: i, // flag the idx of the anchor-point circle
links: 0, // cache the number of edges connected to this shape
visible: false, // invisible by default, shows up when links > 1 or the node is in showAnchors state
+ draggable: true,
});
});
return image;
@@ -503,7 +506,7 @@ const EditPipeline = () => {
// config the shouldBegin and shouldEnd to make sure the create-edge is began and ended at anchor-point circles
{
type: 'create-edge',
- // trigger: 'drag',
+ trigger: 'drag',
shouldBegin: (e) => {
// avoid beginning at other shapes on the node
if (e.target && e.target.get('name') !== 'anchor-point') return false;
@@ -619,16 +622,24 @@ const EditPipeline = () => {
fitView: true,
fitViewPadding: [320, 320, 220, 320],
});
- graph.on('dblclick', (e) => {
- console.log(e.item);
- if (e.item) {
- graph.setItemState(e.item, 'nodeClicked', true);
- handlerClick(e);
+ // graph.on('dblclick', (e) => {
+ // console.log(e.item);
+ // if (e.item) {
+ // graph.setItemState(e.item, 'nodeClicked', true);
+ // handlerClick(e);
+ // }
+ // });
+ graph.on('node:click', (e) => {
+ console.log(e.target.get('name'));
+ if (e.target.get('name') === 'anchor-point') {
+ // create edge
+ } else {
+ if (e.item) {
+ graph.setItemState(e.item, 'nodeClicked', true);
+ handlerClick(e);
+ }
}
});
- graph.on('click', (e) => {
- console.log(e.item);
- });
graph.on('aftercreateedge', (e) => {
// update the sourceAnchor and targetAnchor for the newly added edge
graph.updateItem(e.edge, {
@@ -666,6 +677,39 @@ const EditPipeline = () => {
},
});
});
+ graph.on('node:dragenter', (e) => {
+ console.log(e.target.get('name'));
+ console.log('node:dragenter');
+ graph.setItemState(e.item, 'nodeSelected', true);
+ graph.updateItem(e.item, {
+ // 节点的样式
+ style: {
+ stroke: '#1664ff',
+ },
+ });
+ });
+ graph.on('node:dragleave', (e) => {
+ console.log(e.target.get('name'));
+ console.log('node:dragleave');
+ graph.setItemState(e.item, 'nodeSelected', false);
+ graph.updateItem(e.item, {
+ // 节点的样式
+ style: {
+ stroke: 'transparent',
+ },
+ });
+ });
+ graph.on('node:dragstart', (e) => {
+ console.log('node:dragstart');
+ graph.setItemState(e.item, 'nodeSelected', true);
+ graph.updateItem(e.item, {
+ // 节点的样式
+ style: {
+ stroke: '#1664ff',
+ },
+ });
+ });
+
graph.on('afterremoveitem', (e) => {
if (e.item && e.item.source && e.item.target) {
const sourceNode = graph.findById(e.item.source);
diff --git a/react-ui/src/pages/Pipeline/editPipeline/modelMenus.jsx b/react-ui/src/pages/Pipeline/editPipeline/modelMenus.jsx
index 699e6929..deb3846a 100644
--- a/react-ui/src/pages/Pipeline/editPipeline/modelMenus.jsx
+++ b/react-ui/src/pages/Pipeline/editPipeline/modelMenus.jsx
@@ -19,7 +19,7 @@ const items = [
children: [1, 2, 3, 4, 5],
},
];
-const modelMenus = ({ onParDragEnd }) => {
+const ModelMenus = ({ onParDragEnd }) => {
const [modelMenusList, setModelMenusList] = useState([]);
useEffect(() => {
getComponentAll().then((ret) => {
@@ -55,6 +55,7 @@ const modelMenus = ({ onParDragEnd }) => {
{item.value && item.value.length > 0
? item.value.map((ele) => (
{
dragEnd(e, ele);
@@ -78,4 +79,4 @@ const modelMenus = ({ onParDragEnd }) => {
);
};
-export default modelMenus;
+export default ModelMenus;
diff --git a/react-ui/src/pages/User/Login/index.tsx b/react-ui/src/pages/User/Login/index.tsx
index 6aefa7ae..6e043763 100644
--- a/react-ui/src/pages/User/Login/index.tsx
+++ b/react-ui/src/pages/User/Login/index.tsx
@@ -246,10 +246,10 @@ const Login: React.FC = () => {
style={{ height: '42px', marginRight: '10px' }}
alt=""
/>
- 复杂智能软件
+ 智能软件开发平台
-
复杂智能软件
+
智能软件开发平台

{
hello~
欢迎登陆
- 复杂智能软件
+ 智能软件开发平台
deleteById(@PathVariable("id") Integer id) {
+ public GenericsAjaxResult
deleteById(@PathVariable("id") Integer id) throws Exception {
return genericsSuccess(this.modelsService.removeById(id));
}
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java
index 5cad60c3..9e45034a 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AssetIcon.java
@@ -19,8 +19,8 @@ public class AssetIcon implements Serializable {
/**
* 主键
*/
-@ApiModelProperty(value = "资产ID")
-private Integer id;
+ @ApiModelProperty(value = "资产ID")
+ private Integer id;
@ApiModelProperty(value = "资产图标名称")
private String name;
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java
index f55cab11..1c49a7ee 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Dataset.java
@@ -76,6 +76,13 @@ public class Dataset implements Serializable {
@ApiModelProperty(value = "状态:0失效,1生效")
private Integer state;
+ @ApiModelProperty(value = "数据集类型名字")
+ private String datasetTypeName;
+
+ @ApiModelProperty(value = "数据集tag名字")
+ private String datasetTagName;
+
+
public Integer getId() {
return id;
@@ -165,5 +172,21 @@ public class Dataset implements Serializable {
this.state = state;
}
+ public String getDatasetTypeName() {
+ return datasetTypeName;
+ }
+
+ public String getDatasetTagName() {
+ return datasetTagName;
+ }
+
+ public void setDatasetTagName(String datasetTagName) {
+ this.datasetTagName = datasetTagName;
+ }
+
+ public void setDatasetTypeName(String datasetTypeName) {
+ this.datasetTypeName = datasetTypeName;
+ }
+
}
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Image.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Image.java
index 08c5463c..981289a1 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Image.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Image.java
@@ -118,7 +118,7 @@ public class Image implements Serializable {
this.updateTime = updateTime;
}
- // Getter 和 Setter
+
public Integer getVersionCount() {
return versionCount;
}
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Models.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Models.java
index b79caea6..87eadc37 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Models.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Models.java
@@ -52,6 +52,16 @@ public class Models implements Serializable {
private Integer state;
+ @ApiModelProperty(value = "模型类型名")
+ private String modelTypeName;
+
+
+
+ @ApiModelProperty(value = "模型tag名")
+ private String modelTagName;
+
+
+
public Integer getId() {
return id;
}
@@ -158,5 +168,21 @@ public class Models implements Serializable {
this.state = state;
}
+ public String getModelTagName() {
+ return modelTagName;
+ }
+
+ public void setModelTagName(String modelTagName) {
+ this.modelTagName = modelTagName;
+ }
+
+ public String getModelTypeName() {
+ return modelTypeName;
+ }
+
+ public void setModelTypeName(String modelTypeName) {
+ this.modelTypeName = modelTypeName;
+ }
+
}
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/AssetIconDao.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/AssetIconDao.java
index 6e8fea20..d6379aee 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/AssetIconDao.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/AssetIconDao.java
@@ -84,5 +84,6 @@ public interface AssetIconDao {
List queryByCategoryId(Integer categoryId);
+ AssetIcon queryByPath(String path);
}
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/AssetIconService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/AssetIconService.java
index 3dd35a39..7aa8a4ac 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/AssetIconService.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/AssetIconService.java
@@ -22,6 +22,15 @@ public interface AssetIconService {
*/
AssetIcon queryById(Integer id);
+
+ /**
+ * 通过path查询单条数据
+ *
+ * @param path 路径
+ * @return 实例对象
+ */
+ AssetIcon queryByPath(String path);
+
/**
* 分页查询
*
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java
index 1ab61c27..0f8cc707 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/DatasetService.java
@@ -68,7 +68,7 @@ DatasetService {
*/
boolean deleteById(Integer id);
- String removeById(Integer id);
+ String removeById(Integer id) throws Exception;
ResponseEntity downloadDataset(Integer id) throws Exception;
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
index 71f94cb1..c2522728 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
@@ -64,7 +64,7 @@ public interface ModelsService {
*/
boolean deleteById(Integer id);
- String removeById(Integer id);
+ String removeById(Integer id) throws Exception;
ResponseEntity downloadModels(Integer id) throws Exception;
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AssetIconServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AssetIconServiceImpl.java
index 2ba4d300..09610ce8 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AssetIconServiceImpl.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AssetIconServiceImpl.java
@@ -2,7 +2,6 @@ package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.domain.AssetIcon;
-import com.ruoyi.platform.domain.Models;
import com.ruoyi.platform.mapper.AssetIconDao;
import com.ruoyi.platform.service.AssetIconService;
import com.ruoyi.system.api.model.LoginUser;
@@ -38,6 +37,12 @@ public class AssetIconServiceImpl implements AssetIconService {
return this.assetIconDao.queryById(id);
}
+
+ @Override
+ public AssetIcon queryByPath(String path) {
+ return this.assetIconDao.queryByPath(path);
+ }
+
/**
* 分页查询
*
@@ -125,4 +130,6 @@ public class AssetIconServiceImpl implements AssetIconService {
public List queryByCategoryId(Integer categoryId) {
return this.assetIconDao.queryByCategoryId(categoryId);
}
+
+
}
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 58487bd8..0120caea 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
@@ -3,10 +3,12 @@ package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.platform.annotations.CheckDuplicate;
+import com.ruoyi.platform.domain.AssetIcon;
import com.ruoyi.platform.domain.Dataset;
import com.ruoyi.platform.domain.DatasetVersion;
import com.ruoyi.platform.mapper.DatasetDao;
import com.ruoyi.platform.mapper.DatasetVersionDao;
+import com.ruoyi.platform.service.AssetIconService;
import com.ruoyi.platform.service.DatasetService;
import com.ruoyi.platform.service.DatasetVersionService;
import com.ruoyi.platform.service.MinioService;
@@ -58,6 +60,9 @@ public class DatasetServiceImpl implements DatasetService {
@Resource
private DatasetVersionService datasetVersionService;
+ @Resource
+ private AssetIconService assetIconService;
+
@Resource
private MinioService minioService;
@@ -77,7 +82,27 @@ public class DatasetServiceImpl implements DatasetService {
*/
@Override
public Dataset queryById(Integer id) {
- return this.datasetDao.queryById(id);
+ Dataset dataset = this.datasetDao.queryById(id);
+ if (dataset != null) {
+ String dataType = dataset.getDataType();
+ String dataTag = dataset.getDataTag();
+
+ // 判空逻辑,只有当dataType和dataTag不为空时,才进行查询
+ if (dataType != null && !dataType.isEmpty()) {
+ AssetIcon dataTypeAssetIcon = assetIconService.queryById(Integer.valueOf(dataType));
+ if (dataTypeAssetIcon != null) {
+ dataset.setDatasetTypeName(dataTypeAssetIcon.getName());
+
+ }
+ }
+ if (dataTag != null && !dataTag.isEmpty()) {
+ AssetIcon dataTagAssetIcon = assetIconService.queryById(Integer.valueOf(dataTag));
+ if (dataTagAssetIcon != null) {
+ dataset.setDatasetTagName(dataTagAssetIcon.getName());
+ }
+ }
+ }
+ return dataset;
}
/**
@@ -146,10 +171,10 @@ public class DatasetServiceImpl implements DatasetService {
}
@Override
- public String removeById(Integer id) {
+ public String removeById(Integer id) throws Exception {
Dataset dataset = this.datasetDao.queryById(id);
if (dataset == null){
- return "数据集不存在";
+ throw new Exception("数据集不存在");
}
//判断权限,只有admin和创建者本身可以删除该数据集
@@ -157,10 +182,10 @@ public class DatasetServiceImpl implements DatasetService {
String username = loginUser.getUsername();
String createdBy = dataset.getCreateBy();
if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){
- return "无权限删除该数据集版本";
+ throw new Exception("无权限删除该数据集");
}
if (datasetVersionService.queryByDatasetId(id).size()>0){
- return "请先删除该数据集的版本文件";
+ throw new Exception("请先删除该数据集下的版本文件");
}
dataset.setState(0);
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java
index 7748c954..76d510f5 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ImageServiceImpl.java
@@ -316,10 +316,10 @@ public class ImageServiceImpl implements ImageService {
String filePath = "/data/argo-workflow/" + bucketName + "/" +path;
String logs2 = k8sClientUtil.executeCommand(pod,"docker load -i "+filePath);
// 在容器里执行 docker tag name:tag nexus3.kube-system.svc:8083/imageName:imageTag
+
if (StringUtils.isNoneBlank(logs2)){
- String substring = logs2.substring(logs2.lastIndexOf(harborUrl));
- String cleanedString = substring.replaceAll("(\\r|\\n)", "");
- String tagCmd = "docker tag " + cleanedString + " " + harborUrl + "/" + repository + "/" + username + "/" + imageName + ":" + imageTag;
+ String substring = logs2.substring(logs2.indexOf(":")+1).trim();
+ String tagCmd = "docker tag " + substring + " " + harborUrl + "/" + repository + "/" + username + "/" + imageName + ":" + imageTag;
String imageUrl = harborUrl + "/" + repository + "/" + username + "/" + imageName + ":" + imageTag;
String pushCmd = "docker push " + imageUrl;
String sizeCmd = "docker inspect --format='{{.Size}}' " + imageUrl;
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 653e9b76..14b1e470 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
@@ -1,10 +1,12 @@
package com.ruoyi.platform.service.impl;
import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.platform.domain.AssetIcon;
import com.ruoyi.platform.domain.Models;
import com.ruoyi.platform.domain.ModelsVersion;
import com.ruoyi.platform.mapper.ModelsDao;
import com.ruoyi.platform.mapper.ModelsVersionDao;
+import com.ruoyi.platform.service.AssetIconService;
import com.ruoyi.platform.service.MinioService;
import com.ruoyi.platform.service.ModelsService;
import com.ruoyi.platform.service.ModelsVersionService;
@@ -57,6 +59,9 @@ public class ModelsServiceImpl implements ModelsService {
@Resource
private MinioService minioService;
+ @Resource
+ private AssetIconService assetIconService;
+
// 固定存储桶名
private final String bucketName = "platform-data";
@@ -72,7 +77,23 @@ public class ModelsServiceImpl implements ModelsService {
*/
@Override
public Models queryById(Integer id) {
- return this.modelsDao.queryById(id);
+ Models models = this.modelsDao.queryById(id);
+ String modelType = models.getModelType();
+ String modelTag = models.getModelTag();
+ //去资产管理表中查询对应的图标名,注意判空逻辑,只有当dataType和dataTag不为空时,才进行查询
+ if(modelType != null && !modelType.isEmpty()){
+ AssetIcon modelTypeAssetIcon = assetIconService.queryById(Integer.valueOf(modelType));
+ if (modelTypeAssetIcon != null){
+ models.setModelTypeName(modelTypeAssetIcon.getName());
+ }
+ }
+ if(modelTag != null && !modelTag.isEmpty()){
+ AssetIcon modelTagAssetIcon = assetIconService.queryById(Integer.valueOf(modelTag));
+ if (modelTagAssetIcon != null){
+ models.setModelTagName(modelTagAssetIcon.getName());
+ }
+ }
+ return models;
}
/**
@@ -137,23 +158,23 @@ public class ModelsServiceImpl implements ModelsService {
}
@Override
- public String removeById(Integer id) {
+ public String removeById(Integer id) throws Exception {
Models models = this.modelsDao.queryById(id);
if (models == null){
- return "模型不存在";
+ throw new Exception("模型不存在");
}
- //判断权限,只有admin和创建者本身可以删除该数据集
+ //判断权限,只有admin和创建者本身可以删除该模型
LoginUser loginUser = SecurityUtils.getLoginUser();
String username = loginUser.getUsername();
String createdBy = models.getCreateBy();
if (!(StringUtils.equals(username,"admin") || StringUtils.equals(username,createdBy))){
- return "无权限删除该模型";
+ throw new Exception("无权限删除该模型");
}
if (modelsVersionService.queryByModelsId(id).size()>0){
- return "请先删除该模型的版本文件";
+ throw new Exception("请先删除该镜像下的版本文件");
}
models.setState(0);
return this.modelsDao.update(models)>0?"删除成功":"删除失败";
@@ -207,7 +228,6 @@ public class ModelsServiceImpl implements ModelsService {
*/
@Override
public List