From 2dbda8e77489f183ff2f2ad499232962d0f35ddb Mon Sep 17 00:00:00 2001 From: cp3hnu Date: Fri, 6 Dec 2024 09:27:20 +0800 Subject: [PATCH 1/7] =?UTF-8?q?fix:=20=E7=AC=AC=E4=BA=8C=E9=A1=B5=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E4=B8=8D=E5=88=B0=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/BasicTableInfo/index.tsx | 4 ++-- react-ui/src/pages/AutoML/List/index.tsx | 6 +++++- react-ui/src/pages/CodeConfig/List/index.tsx | 6 +++++- .../components/AddVersionModal/index.tsx | 2 +- .../Dataset/components/ResourceList/index.tsx | 6 +++++- react-ui/src/pages/Mirror/List/index.tsx | 6 +++++- .../src/pages/ModelDeployment/List/index.tsx | 6 +++++- .../pages/ModelDeployment/ServiceInfo/index.tsx | 6 +++++- .../components/CodeSelectorModal/index.tsx | 6 +++++- .../components/ResourceSelectorModal/config.tsx | 17 ++++++++++------- 10 files changed, 48 insertions(+), 17 deletions(-) diff --git a/react-ui/src/components/BasicTableInfo/index.tsx b/react-ui/src/components/BasicTableInfo/index.tsx index 104bc2bb..571c4b5b 100644 --- a/react-ui/src/components/BasicTableInfo/index.tsx +++ b/react-ui/src/components/BasicTableInfo/index.tsx @@ -32,9 +32,9 @@ export default function BasicTableInfo({ return (
- {showDatas.map((item) => ( + {showDatas.map((item, index) => ( = { page: pagination.current! - 1, size: pagination.pageSize, - ml_name: searchText, + ml_name: searchText || undefined, }; const [res] = await to(getAutoMLListReq(params)); if (res && res.data) { @@ -76,6 +76,10 @@ function AutoMLList() { // 搜索 const onSearch: SearchProps['onSearch'] = (value) => { setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); }; // 删除模型部署 diff --git a/react-ui/src/pages/CodeConfig/List/index.tsx b/react-ui/src/pages/CodeConfig/List/index.tsx index e8a2557f..2efef04c 100644 --- a/react-ui/src/pages/CodeConfig/List/index.tsx +++ b/react-ui/src/pages/CodeConfig/List/index.tsx @@ -59,7 +59,7 @@ function CodeConfigList() { const params = { page: pagination.current! - 1, size: pagination.pageSize, - code_repo_name: searchText !== '' ? searchText : undefined, + code_repo_name: searchText || undefined, }; const [res] = await to(getCodeConfigListReq(params)); if (res && res.data && res.data.content) { @@ -83,6 +83,10 @@ function CodeConfigList() { // 搜索 const handleSearch = (value: string) => { setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); }; // 删除 diff --git a/react-ui/src/pages/Dataset/components/AddVersionModal/index.tsx b/react-ui/src/pages/Dataset/components/AddVersionModal/index.tsx index 3218e306..5eed0199 100644 --- a/react-ui/src/pages/Dataset/components/AddVersionModal/index.tsx +++ b/react-ui/src/pages/Dataset/components/AddVersionModal/index.tsx @@ -179,7 +179,7 @@ function AddVersionModal({ 上传文件 {resourceType === ResourceType.Dataset && ( -
只允许上传 .zip 格式文件
+
只允许上传 .zip 和 .tgz 格式文件
)} diff --git a/react-ui/src/pages/Dataset/components/ResourceList/index.tsx b/react-ui/src/pages/Dataset/components/ResourceList/index.tsx index 9e872aca..6f2c7523 100644 --- a/react-ui/src/pages/Dataset/components/ResourceList/index.tsx +++ b/react-ui/src/pages/Dataset/components/ResourceList/index.tsx @@ -89,7 +89,7 @@ function ResourceList( is_public: isPublic, [config.typeParamKey]: dataType, [config.tagParamKey]: dataTag, - name: searchText !== '' ? searchText : undefined, + name: searchText || undefined, }; const request = config.getList; const [res] = await to(request(params)); @@ -115,6 +115,10 @@ function ResourceList( // 搜索 const handleSearch = (value: string) => { setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); }; // 删除 diff --git a/react-ui/src/pages/Mirror/List/index.tsx b/react-ui/src/pages/Mirror/List/index.tsx index 76f289b7..629563d4 100644 --- a/react-ui/src/pages/Mirror/List/index.tsx +++ b/react-ui/src/pages/Mirror/List/index.tsx @@ -87,7 +87,7 @@ function MirrorList() { const params: Record = { page: pagination.current! - 1, size: pagination.pageSize, - name: searchText, + name: searchText || undefined, image_type: activeTab === CommonTabKeys.Public ? 1 : 0, }; const [res] = await to(getMirrorListReq(params)); @@ -120,6 +120,10 @@ function MirrorList() { // 搜索 const onSearch: SearchProps['onSearch'] = (value) => { setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); }; // 查看详情 diff --git a/react-ui/src/pages/ModelDeployment/List/index.tsx b/react-ui/src/pages/ModelDeployment/List/index.tsx index 6e61c3ab..0632e547 100644 --- a/react-ui/src/pages/ModelDeployment/List/index.tsx +++ b/react-ui/src/pages/ModelDeployment/List/index.tsx @@ -69,7 +69,7 @@ function ModelDeployment() { const params: Record = { page: pagination.current! - 1, size: pagination.pageSize, - service_name: searchText, + service_name: searchText || undefined, service_type: serviceType, }; const [res] = await to(getServiceListReq(params)); @@ -102,6 +102,10 @@ function ModelDeployment() { // 搜索 const onSearch: SearchProps['onSearch'] = (value) => { setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); }; // 处理删除 diff --git a/react-ui/src/pages/ModelDeployment/ServiceInfo/index.tsx b/react-ui/src/pages/ModelDeployment/ServiceInfo/index.tsx index f57c86cb..037bbb72 100644 --- a/react-ui/src/pages/ModelDeployment/ServiceInfo/index.tsx +++ b/react-ui/src/pages/ModelDeployment/ServiceInfo/index.tsx @@ -110,7 +110,7 @@ function ServiceInfo() { const params: Record = { page: pagination.current! - 1, size: pagination.pageSize, - version: searchText, + version: searchText || undefined, run_state: serviceStatus, service_id: serviceId, }; @@ -159,6 +159,10 @@ function ServiceInfo() { // 搜索 const onSearch: SearchProps['onSearch'] = (value) => { setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); }; // 处理删除 diff --git a/react-ui/src/pages/Pipeline/components/CodeSelectorModal/index.tsx b/react-ui/src/pages/Pipeline/components/CodeSelectorModal/index.tsx index 24a54293..13198a78 100644 --- a/react-ui/src/pages/Pipeline/components/CodeSelectorModal/index.tsx +++ b/react-ui/src/pages/Pipeline/components/CodeSelectorModal/index.tsx @@ -40,7 +40,7 @@ function CodeSelectorModal({ onOk, ...rest }: CodeSelectorModalProps) { const params = { page: pagination.current! - 1, size: pagination.pageSize, - code_repo_name: searchText !== '' ? searchText : undefined, + code_repo_name: searchText || undefined, }; const [res] = await to(getCodeConfigListReq(params)); if (res && res.data && res.data.content) { @@ -52,6 +52,10 @@ function CodeSelectorModal({ onOk, ...rest }: CodeSelectorModalProps) { // 搜索 const handleSearch = (value: string) => { setSearchText(value); + setPagination((prev) => ({ + ...prev, + current: 1, + })); }; const handleClick = (item: CodeConfigData) => { diff --git a/react-ui/src/pages/Pipeline/components/ResourceSelectorModal/config.tsx b/react-ui/src/pages/Pipeline/components/ResourceSelectorModal/config.tsx index c4e8af4a..80e3ab3c 100644 --- a/react-ui/src/pages/Pipeline/components/ResourceSelectorModal/config.tsx +++ b/react-ui/src/pages/Pipeline/components/ResourceSelectorModal/config.tsx @@ -44,14 +44,14 @@ const convertMirrorToTreeData = (list: MirrorData[]): TreeDataNode[] => { })); }; -// 数据集版本列表转为树形结构 -const convertDatasetVersionToTreeData = ( +// 数据集、模型版本列表转为树形结构 +const convertResourceVersionToTreeData = ( parentId: string, info: ResourceData, list: ResourceVersionData[], ): TreeDataNode[] => { return list.map((item: ResourceVersionData) => ({ - ...pick(info, ['id', 'name', 'owner', 'identifier']), + ...pick(info, ['id', 'name', 'owner', 'identifier', 'is_public']), version: item.name, title: item.name, key: `${parentId}-${item.name}`, @@ -85,6 +85,7 @@ interface SelectorTypeInfo { readonly buttontTitle: string; // 按钮 title } +// 数据集选择 export class DatasetSelector implements SelectorTypeInfo { readonly name = '数据集'; readonly modalIcon = datasetImg; @@ -114,14 +115,14 @@ export class DatasetSelector implements SelectorTypeInfo { const res = await getDatasetVersionList(pick(parentNode, ['owner', 'identifier'])); if (res && res.data) { const list = res.data; - return convertDatasetVersionToTreeData(parentKey, parentNode, list); + return convertResourceVersionToTreeData(parentKey, parentNode, list); } else { return Promise.reject('获取数据集版本列表失败'); } } async getFiles(_parentKey: string, parentNode: ResourceData & ResourceVersionData) { - const params = pick(parentNode, ['owner', 'identifier', 'id', 'name', 'version']); + const params = pick(parentNode, ['owner', 'identifier', 'id', 'name', 'version', 'is_public']); const res = await getDatasetInfo(params); if (res && res.data) { const path = res.data.relative_paths || ''; @@ -136,6 +137,7 @@ export class DatasetSelector implements SelectorTypeInfo { } } +// 模型选择 export class ModelSelector implements SelectorTypeInfo { readonly name = '模型'; readonly modalIcon = modelImg; @@ -165,14 +167,14 @@ export class ModelSelector implements SelectorTypeInfo { const res = await getModelVersionList(pick(parentNode, ['owner', 'identifier'])); if (res && res.data) { const list = res.data; - return convertDatasetVersionToTreeData(key, parentNode, list); + return convertResourceVersionToTreeData(key, parentNode, list); } else { return Promise.reject('获取模型版本列表失败'); } } async getFiles(_parentKey: string, parentNode: ResourceData & ResourceVersionData) { - const params = pick(parentNode, ['owner', 'identifier', 'id', 'name', 'version']); + const params = pick(parentNode, ['owner', 'identifier', 'id', 'name', 'version', 'is_public']); const res = await getModelInfo(params); if (res && res.data) { const path = res.data.relative_paths || ''; @@ -187,6 +189,7 @@ export class ModelSelector implements SelectorTypeInfo { } } +// 镜像选择 export class MirrorSelector implements SelectorTypeInfo { readonly name = '镜像'; readonly modalIcon = mirrorImg; From a19db5a968d00418d0f2eaf68be5bd45d8c8d321 Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 6 Dec 2024 09:32:06 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E7=89=88=E6=9C=AC=E9=87=8D=E5=A4=8D?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/service/impl/NewDatasetServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java index 44cd03f1..e872d28d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java @@ -179,6 +179,14 @@ public class NewDatasetServiceImpl implements NewDatasetService { } public String newCreateVersion(NewDatasetVo datasetVo) throws Exception { + List> versionList = getVersionList(datasetVo.getIdentifier(), datasetVo.getOwner()); + for (Map versionMap : versionList) { + String version = (String) versionMap.get("name"); + if (version.equals(datasetVo.getVersion())) { + throw new Exception("版本已存在"); + } + } + String token = gitService.checkoutToken(); Jedis jedis = new Jedis(redisHost, redisPort); LoginUser loginUser = SecurityUtils.getLoginUser(); From fb067914ec84b3ff500dfbb8ba6e697cf3b61b52 Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 6 Dec 2024 09:52:11 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E7=94=A8=E6=88=B7bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/system/SysUserMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 5d1900b1..49a9f9b9 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -207,8 +207,8 @@ status, create_by, remark, - git_link_username, - git_link_password, + git_link_username, + git_link_password, create_time )values( #{userId}, From 532a832dabe8135e85195850258026b4ad79d604 Mon Sep 17 00:00:00 2001 From: cp3hnu Date: Fri, 6 Dec 2024 10:33:26 +0800 Subject: [PATCH 4/7] =?UTF-8?q?fix:=20=E9=99=90=E5=88=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=9B=86=E5=8F=AA=E8=83=BD=E4=B8=8A=E4=BC=A0zip,tgz=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E7=9A=84=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/AddDatasetModal/index.tsx | 6 ++- .../components/AddVersionModal/index.tsx | 11 ++-- .../components/CategoryItem/index.less | 11 +--- .../Dataset/components/CategoryItem/index.tsx | 9 +++- .../Dataset/components/ResourceInfo/index.tsx | 1 + react-ui/src/pages/Dataset/config.tsx | 5 +- react-ui/src/utils/ui.tsx | 50 ++++++++++++------- 7 files changed, 58 insertions(+), 35 deletions(-) diff --git a/react-ui/src/pages/Dataset/components/AddDatasetModal/index.tsx b/react-ui/src/pages/Dataset/components/AddDatasetModal/index.tsx index 87d215bd..e592f740 100644 --- a/react-ui/src/pages/Dataset/components/AddDatasetModal/index.tsx +++ b/react-ui/src/pages/Dataset/components/AddDatasetModal/index.tsx @@ -4,7 +4,7 @@ import KFModal from '@/components/KFModal'; import { CategoryData, DataSource, ResourceType, resourceConfig } from '@/pages/Dataset/config'; import { addDataset } from '@/services/dataset/index.js'; import { to } from '@/utils/promise'; -import { getFileListFromEvent, validateUploadFiles } from '@/utils/ui'; +import { getFileListFromEvent, limitUploadFileType, validateUploadFiles } from '@/utils/ui'; import { Button, Form, @@ -42,6 +42,8 @@ function AddDatasetModal({ typeList, tagList, onOk, ...rest }: AddDatasetModalPr Authorization: getAccessToken() || '', }, defaultFileList: [], + accept: '.zip,.tgz', + beforeUpload: limitUploadFileType('zip,tgz'), }; // 获取集群版本数据 @@ -200,7 +202,7 @@ function AddDatasetModal({ typeList, tagList, onOk, ...rest }: AddDatasetModalPr }, ]} > - +
); } diff --git a/react-ui/src/pages/Dataset/components/ResourceInfo/index.tsx b/react-ui/src/pages/Dataset/components/ResourceInfo/index.tsx index 106df228..1037e1b9 100644 --- a/react-ui/src/pages/Dataset/components/ResourceInfo/index.tsx +++ b/react-ui/src/pages/Dataset/components/ResourceInfo/index.tsx @@ -119,6 +119,7 @@ const ResourceInfo = ({ resourceType }: ResourceInfoProps) => { resourceType: resourceType, resourceId: resourceId, resoureName: info.name, + owner: info.owner, identifier: info.identifier, is_public: info.is_public, onOk: () => { diff --git a/react-ui/src/pages/Dataset/config.tsx b/react-ui/src/pages/Dataset/config.tsx index 2ae165bc..c5b53afb 100644 --- a/react-ui/src/pages/Dataset/config.tsx +++ b/react-ui/src/pages/Dataset/config.tsx @@ -14,7 +14,8 @@ import { getModelList, getModelVersionList, } from '@/services/dataset/index.js'; -import type { TabsProps } from 'antd'; +import { limitUploadFileType } from '@/utils/ui'; +import type { TabsProps, UploadFile } from 'antd'; export enum ResourceType { Model = 'Model', // 模型 @@ -49,6 +50,7 @@ type ResourceTypeInfo = { addBtnTitle: string; // 新增按钮的title uploadAction: string; // 上传接口 url uploadAccept?: string; // 上传文件类型 + beforeUpload?: (file: UploadFile) => boolean | string; downloadAllAction: string; // 批量下载接口 url downloadSingleAction: string; // 单个下载接口 url }; @@ -87,6 +89,7 @@ export const resourceConfig: Record = { addBtnTitle: '新建数据集', uploadAction: '/api/mmp/newdataset/upload', uploadAccept: '.zip,.tgz', + beforeUpload: limitUploadFileType('zip,tgz'), downloadAllAction: '/api/mmp/newdataset/downloadAllFiles', downloadSingleAction: '/api/mmp/newdataset/downloadSingleFile', }, diff --git a/react-ui/src/utils/ui.tsx b/react-ui/src/utils/ui.tsx index c3d2c44a..a3a214ec 100644 --- a/react-ui/src/utils/ui.tsx +++ b/react-ui/src/utils/ui.tsx @@ -8,7 +8,7 @@ import { removeAllPageCacheState } from '@/hooks/pageCacheState'; import themes from '@/styles/theme.less'; import { type ClientInfo } from '@/types'; import { history } from '@umijs/max'; -import { Modal, message, type ModalFuncProps, type UploadFile } from 'antd'; +import { Modal, Upload, message, type ModalFuncProps, type UploadFile } from 'antd'; import { closeAllModals } from './modal'; import SessionStorage from './sessionStorage'; @@ -52,23 +52,6 @@ export function modalConfirm({ }); } -// 从事件中获取上传文件列表,用于 Upload + Form 中 -export const getFileListFromEvent = (e: any) => { - const fileList: UploadFile[] = (Array.isArray(e) ? e : e?.fileList) || []; - return fileList.map((item) => { - if (item.status === 'done') { - const { response } = item; - if (response?.code !== 200) { - return { - ...item, - status: 'error', - }; - } - } - return item; - }); -}; - /** * 跳转到登录页 * @param toHome 是否跳转到首页 @@ -97,6 +80,23 @@ export const gotoOAuth2 = () => { } }; +// 从事件中获取上传文件列表,用于 Upload + Form 中 +export const getFileListFromEvent = (e: any) => { + const fileList: UploadFile[] = (Array.isArray(e) ? e : e?.fileList) || []; + return fileList.map((item) => { + if (item.status === 'done') { + const { response } = item; + if (response?.code !== 200) { + return { + ...item, + status: 'error', + }; + } + } + return item; + }); +}; + /** * 验证文件上传 * @@ -128,6 +128,20 @@ export const validateUploadFiles = (files: UploadFile[], required: boolean = tru return !hasError; }; +// 限制上传文件类型 +export const limitUploadFileType = (type: string) => { + return (file: UploadFile): boolean | string => { + const acceptTypes = type.split(',').map((item) => item.trim()); + const fileType = file.name.split('.').pop()?.trim(); + if (!(fileType && acceptTypes.includes(fileType))) { + message.error(`文件类型不正确,只支持 "${acceptTypes.join('、')}" 类型的文件`); + file.status = 'error'; + return Upload.LIST_IGNORE; + } + return true; + }; +}; + /** * 滚动到底部 * From 9ac03527d2e358fd0384966d71295fe77997e0eb Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 6 Dec 2024 10:34:04 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- k8s/build.sh | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/k8s/build.sh b/k8s/build.sh index 13298d60..921a2ec5 100755 --- a/k8s/build.sh +++ b/k8s/build.sh @@ -80,13 +80,45 @@ compile_java() { fi # 复制jar包 - cp -rf ${baseDir}/ruoyi-modules/management-platform/target/management-platform.jar ${baseDir}/k8s/dockerfiles/jar/management-platform.jar - if [ $? -ne 0 ]; then - echo "复制jar包失败,请检查代码!" - exit 1 + if [ "$param" == "manage-front" ] || [ "$param" == "manage" ]; then + cp -rf ${baseDir}/ruoyi-modules/management-platform/target/management-platform.jar ${baseDir}/k8s/dockerfiles/jar/management-platform.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi + fi + + if [ "$param" == "gateway" ]; then + cp -rf ${baseDir}/ruoyi-gateway/target/ruoyi-gateway.jar ${baseDir}/k8s/dockerfiles/jar/ruoyi-gateway.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi + fi + + if [ "$param" == "auth" ]; then + cp -rf ${baseDir}/ruoyi-auth/target/ruoyi-auth.jar ${baseDir}/k8s/dockerfiles/jar/ruoyi-auth.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi + fi + + if [ "$param" == "system" ]; then + cp -rf ${baseDir}/ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar ${baseDir}/k8s/dockerfiles/jar/ruoyi-modules-system.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi fi if [ "$param" == "all" ]; then + cp -rf ${baseDir}/ruoyi-modules/management-platform/target/management-platform.jar ${baseDir}/k8s/dockerfiles/jar/management-platform.jar + if [ $? -ne 0 ]; then + echo "复制jar包失败,请检查代码!" + exit 1 + fi + cp -rf ${baseDir}/ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar ${baseDir}/k8s/dockerfiles/jar/ruoyi-modules-system.jar if [ $? -ne 0 ]; then echo "复制jar包失败,请检查代码!" From 6a8e16149716ddb68fa63320a73a4b2f6cd9f935 Mon Sep 17 00:00:00 2001 From: cp3hnu Date: Fri, 6 Dec 2024 10:41:42 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fix:=20=E5=88=9B=E5=BB=BA=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=AF=86=E7=A0=81=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- react-ui/src/pages/System/User/edit.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/react-ui/src/pages/System/User/edit.tsx b/react-ui/src/pages/System/User/edit.tsx index 8d24b539..71252d51 100644 --- a/react-ui/src/pages/System/User/edit.tsx +++ b/react-ui/src/pages/System/User/edit.tsx @@ -221,7 +221,7 @@ const UserForm: React.FC = (props) => { allowClear rules={[ { - required: false, + required: true, message: , }, ]} From 7a129ae392f0b3cc28a7bb0986e394b9a9bfe51d Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 6 Dec 2024 10:50:07 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E7=89=88=E6=9C=AC=E9=87=8D=E5=A4=8D?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java index e872d28d..81361445 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java @@ -183,7 +183,7 @@ public class NewDatasetServiceImpl implements NewDatasetService { for (Map versionMap : versionList) { String version = (String) versionMap.get("name"); if (version.equals(datasetVo.getVersion())) { - throw new Exception("版本已存在"); + throw new Exception("数据集版本已存在,请勿重复创建"); } } @@ -334,7 +334,6 @@ public class NewDatasetServiceImpl implements NewDatasetService { String ci4sUsername = loginUser.getUsername(); String userReq = jedis.get(ci4sUsername + "_gitUserInfo"); Map userInfo = JsonUtils.jsonToMap(userReq); - Integer userId = (Integer) userInfo.get("user_id"); // 拼接查询url String url = gitendpoint + "/api/projects.json?sort_direction=praises_count&sort_by=desc&category_id=" + Constant.Git_Category_Id;