From d070165d46a59762fa1ac65f38e3bd0cd7391da1 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 10 六月 2025 23:39:26 +0800 Subject: [PATCH] 模型仓库MDK --- iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkSettingSelectDao.java | 16 + iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkSettingSelectEntity.java | 44 ++ iailab-module-mhub/iailab-module-mhub-biz/src/main/resources/mapper/mdk/MdkModelFileDao.xml | 134 ++++++++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkModelFileEntity.java | 106 +++++++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkModelFileDao.java | 29 + iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkModelSettingEntity.java | 69 ++++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkSettingSelectRespVO.java | 30 ++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelMethodRespVO.java | 30 ++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelFileRespVO.java | 58 +++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkSettingSelectService.java | 18 + iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkModelSettingService.java | 15 + iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/impl/MdkSettingSelectServiceImpl.java | 49 +++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkModelSettingDao.java | 16 + iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkModelFileService.java | 9 iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkSettingSelectSaveReqVO.java | 25 + iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/common/enums/MdkConstant.java | 65 ++++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelSettingRespVO.java | 51 +++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/impl/MdkModelSettingServiceImpl.java | 54 +++ iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelSettingSaveReqVO.java | 48 +++ 19 files changed, 866 insertions(+), 0 deletions(-) diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/common/enums/MdkConstant.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/common/enums/MdkConstant.java new file mode 100644 index 0000000..6437458 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/common/enums/MdkConstant.java @@ -0,0 +1,65 @@ +package com.iailab.module.mhub.common.enums; + +/** + * 常量 + * + * @author Mark sunlightcs@gmail.com + */ +public interface MdkConstant { + /** + * JNI + */ + String JNI = "JNI"; + /** + * impl + */ + String IMPL = "impl"; + /** + * C++ + */ + String C = "C++"; + /** + * IAILMDK + */ + String IAILMDK = "IAILMDK"; + /** + * Algs + */ + String ALGS = "Algs"; + /** + * libs + */ + String LIBS = "libs"; + /** + * dll + */ + String DLL = "dll"; + /** + * jar + */ + String JAR = "jar"; + /** + * 分隔符 dll、jar文件名 + */ + String SPLIT = "__"; + /** + * 项目未发布dll和jar目录 + */ + String PROJECT_UNPUBLISH = "projectUnpublish"; + /** + * 项目发布dll和jar目录 + */ + String PROJECT_PUBLISH = "projectPublish"; + /** + * setup.py + */ + String SETUP_PY = "setup.py"; + /** + * 编译pyd生成文件后缀 + */ + String PYD_SUFFIX = ".cp37-win_amd64.pyd"; + /** + * 默认模型路径key + */ + String PY_FILE_KEY = "pyFile"; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkModelFileDao.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkModelFileDao.java new file mode 100644 index 0000000..72b5868 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkModelFileDao.java @@ -0,0 +1,29 @@ +package com.iailab.module.mhub.mdk.dao; + +import com.baomidou.dynamic.datasource.annotation.Master; +import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.module.mhub.mdk.entity.MdkModelFileEntity; +import com.iailab.module.mhub.mdk.vo.MdkModelFileRespVO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * MDK模型文件 + * + * @author PanZhibao + * @Description + * @createTime 2024年08月14日 + */ +@Master +@Mapper +public interface MdkModelFileDao extends BaseMapperX<MdkModelFileEntity> { + + MdkModelFileRespVO get(String id); + + List<MdkModelFileRespVO> selectByIds(@Param("ids") List<String> ids); + + List<MdkModelFileRespVO> list(@Param("params") Map<String, Object> params); +} diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkModelSettingDao.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkModelSettingDao.java new file mode 100644 index 0000000..03c53ec --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkModelSettingDao.java @@ -0,0 +1,16 @@ +package com.iailab.module.mhub.mdk.dao; + +import com.baomidou.dynamic.datasource.annotation.Master; +import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.module.mhub.mdk.entity.MdkModelSettingEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +@Master +@Mapper +public interface MdkModelSettingDao extends BaseMapperX<MdkModelSettingEntity> { +} diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkSettingSelectDao.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkSettingSelectDao.java new file mode 100644 index 0000000..6d83632 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/dao/MdkSettingSelectDao.java @@ -0,0 +1,16 @@ +package com.iailab.module.mhub.mdk.dao; + +import com.baomidou.dynamic.datasource.annotation.Master; +import com.iailab.framework.mybatis.core.mapper.BaseMapperX; +import com.iailab.module.mhub.mdk.entity.MdkSettingSelectEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * @description: + * @author: dzd + * @date: 2024/9/14 15:11 + **/ +@Master +@Mapper +public interface MdkSettingSelectDao extends BaseMapperX<MdkSettingSelectEntity> { +} diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkModelFileEntity.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkModelFileEntity.java new file mode 100644 index 0000000..020d18e --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkModelFileEntity.java @@ -0,0 +1,106 @@ +package com.iailab.module.mhub.mdk.entity; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * MDK模型文件 + * + * @author PanZhibao + * @Description + * @createTime 2024年08月14日 + */ +@Data +@TableName("t_mdk_model_file") +public class MdkModelFileEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private String id; + + /** + * 模型名称 + */ + private String pyName; + + /** + * 模型中文名称 + */ + private String pyChineseName; + + /** + * 源文件保存路径 + */ + private String filePath; + + /** + * 模型类型 + */ + private String pyType; + + /** + * 包名 + */ + private String pkgName; + + /** + * 类名 + */ + private String className; + + /** + * 模型路径 + */ + private String pyModule; + + /** + * icon图片名 + */ + private String icon; + + /** + * 所属菜单 + */ + private String menuName; + + /** + * 所属组 + */ + private String groupName; + + /** + * 备注 + */ + private String remark; + + /** + * 更新者 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Long updater; + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + private Date updateDate; + + /** + * 创建者 + */ + @TableField(fill = FieldFill.INSERT) + private Long creator; + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private Date createDate; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkModelSettingEntity.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkModelSettingEntity.java new file mode 100644 index 0000000..d65d4e4 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkModelSettingEntity.java @@ -0,0 +1,69 @@ +package com.iailab.module.mhub.mdk.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +@Data +@TableName("t_mdk_model_setting") +public class MdkModelSettingEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private String id; + + /** + * 方法id + */ + private String methodId; + + /** + * key + */ + private String settingKey; + + /** + * 参数名称 + */ + private String name; + + /** + * 参数默认值 + */ + private String value; + + /** + * 输入类型 + */ + private String type; + + /** + * 参数类型 + */ + private String valueType; + + /** + * 最大值 + */ + private Integer max; + + /** + * 最小值 + */ + private Integer min; + + /** + * 排序 + */ + private Integer sort; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkSettingSelectEntity.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkSettingSelectEntity.java new file mode 100644 index 0000000..4c0d19a --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/entity/MdkSettingSelectEntity.java @@ -0,0 +1,44 @@ +package com.iailab.module.mhub.mdk.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; + +/** + * @description: 参数选项关联表 + * @author: dzd + * @date: 2024/9/13 15:49 + **/ +@Data +@TableName("t_mdk_setting_select") +public class MdkSettingSelectEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * id + */ + @TableId + private String id; + + /** + * '参数id' + */ + private String settingId; + + /** + * key + */ + private String selectKey; + + /** + * 名称 + */ + private String name; + + /** + * 排序 + */ + private Integer sort; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkModelFileService.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkModelFileService.java new file mode 100644 index 0000000..8e73e49 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkModelFileService.java @@ -0,0 +1,9 @@ +package com.iailab.module.mhub.mdk.service; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +public interface MdkModelFileService { +} diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkModelSettingService.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkModelSettingService.java new file mode 100644 index 0000000..26cc519 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkModelSettingService.java @@ -0,0 +1,15 @@ +package com.iailab.module.mhub.mdk.service; + +import com.iailab.module.mhub.mdk.vo.MdkModelSettingSaveReqVO; + +import java.util.List; + +/** + * @description: + * @author: dzd + * @date: 2024/9/14 15:10 + **/ +public interface MdkModelSettingService { + + void insertList(List<MdkModelSettingSaveReqVO> list, String MethodId); +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkSettingSelectService.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkSettingSelectService.java new file mode 100644 index 0000000..1309d8e --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/MdkSettingSelectService.java @@ -0,0 +1,18 @@ +package com.iailab.module.mhub.mdk.service; + +import com.iailab.module.mhub.mdk.vo.MdkSettingSelectRespVO; +import com.iailab.module.mhub.mdk.vo.MdkSettingSelectSaveReqVO; + +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +public interface MdkSettingSelectService { + + void deleteBySettingId(String settingId); + + void insertList(List<MdkSettingSelectSaveReqVO> list, String settingId); +} diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/impl/MdkModelSettingServiceImpl.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/impl/MdkModelSettingServiceImpl.java new file mode 100644 index 0000000..8e25c71 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/impl/MdkModelSettingServiceImpl.java @@ -0,0 +1,54 @@ +package com.iailab.module.mhub.mdk.service.impl; + +import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.module.mhub.common.enums.MdkConstant; +import com.iailab.module.mhub.mdk.dao.MdkModelSettingDao; +import com.iailab.module.mhub.mdk.entity.MdkModelSettingEntity; +import com.iailab.module.mhub.mdk.service.MdkModelSettingService; +import com.iailab.module.mhub.mdk.service.MdkSettingSelectService; +import com.iailab.module.mhub.mdk.vo.MdkModelSettingSaveReqVO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.util.List; +import java.util.UUID; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +@Slf4j +@Service +public class MdkModelSettingServiceImpl implements MdkModelSettingService { + + @Resource + private MdkModelSettingDao mdkModelSettingDao; + + @Resource + private MdkSettingSelectService mdkSettingSelectService; + + @Override + public void insertList(List<MdkModelSettingSaveReqVO> list, String MethodId) { + List<MdkModelSettingEntity> entityList = ConvertUtils.sourceToTarget(list, MdkModelSettingEntity.class); + // pyFile排第一 + entityList.sort((e1, e2) -> e1.getSettingKey().equals(MdkConstant.PY_FILE_KEY) ? -1 : e2.getSettingKey().equals(MdkConstant.PY_FILE_KEY) ? 1 : 0); + for (int i = 0; i < entityList.size(); i++) { + MdkModelSettingEntity entity = entityList.get(i); + if (StringUtils.isNotBlank(entity.getValue())) { + // 去掉空格 + entity.setValue(entity.getValue().trim().replaceAll("\\s+", "")); + } + entity.setId(UUID.randomUUID().toString()); + entity.setMethodId(MethodId); + entity.setSort(i); + mdkModelSettingDao.insert(entity); + if (!CollectionUtils.isEmpty(list.get(i).getSettingSelects())) { + mdkSettingSelectService.insertList(list.get(i).getSettingSelects(), entity.getId()); + } + } + } +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/impl/MdkSettingSelectServiceImpl.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/impl/MdkSettingSelectServiceImpl.java new file mode 100644 index 0000000..e54ca4a --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/service/impl/MdkSettingSelectServiceImpl.java @@ -0,0 +1,49 @@ +package com.iailab.module.mhub.mdk.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.iailab.framework.common.util.object.ConvertUtils; +import com.iailab.module.mhub.mdk.dao.MdkSettingSelectDao; +import com.iailab.module.mhub.mdk.entity.MdkSettingSelectEntity; +import com.iailab.module.mhub.mdk.service.MdkSettingSelectService; +import com.iailab.module.mhub.mdk.vo.MdkSettingSelectRespVO; +import com.iailab.module.mhub.mdk.vo.MdkSettingSelectSaveReqVO; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.UUID; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +@Slf4j +@Service +public class MdkSettingSelectServiceImpl implements MdkSettingSelectService { + + @Autowired + private MdkSettingSelectDao mdkSettingSelectDao; + + @Override + public void deleteBySettingId(String settingId) { + QueryWrapper<MdkSettingSelectEntity> wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(settingId), "setting_id", settingId); + mdkSettingSelectDao.delete(wrapper); + } + + @Override + public void insertList(List<MdkSettingSelectSaveReqVO> list, String settingId) { + List<MdkSettingSelectEntity> entityList = ConvertUtils.sourceToTarget(list, MdkSettingSelectEntity.class); + for(int i = 0; i < entityList.size(); i++){ + MdkSettingSelectEntity entity = entityList.get(i); + entity.setId(UUID.randomUUID().toString()); + entity.setSettingId(settingId); + entity.setSort(i); + mdkSettingSelectDao.insert(entity); + } + + } +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelFileRespVO.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelFileRespVO.java new file mode 100644 index 0000000..a687b3e --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelFileRespVO.java @@ -0,0 +1,58 @@ +package com.iailab.module.mhub.mdk.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +@Schema(description = "模型托管平台 - MDK模型文件 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MdkModelFileRespVO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String id; + + private String pyName; + + private String pyChineseName; + + private String filePath; + + private String pyType; + + private String pkgName; + + private String className; + + private String pyModule; + + private String icon; + + private String menuName; + + private String groupName; + + private String remark; + + private Long updater; + + private Date updateDate; + + private Long creator; + + private Date createDate; + + private List<String> menuAndGroup; + + private List<MdkModelMethodRespVO> modelMethods; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelMethodRespVO.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelMethodRespVO.java new file mode 100644 index 0000000..d376a9d --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelMethodRespVO.java @@ -0,0 +1,30 @@ +package com.iailab.module.mhub.mdk.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @description: MPK模型方法 + * @author: dzd + * @date: 2024/9/9 10:52 + **/ +@Data +public class MdkModelMethodRespVO implements Serializable { + private static final long serialVersionUID = 1L; + + private String id; + + private String mpkFileId; + + private String methodName; + + private Integer dataLength; + + private Integer model; + + private String resultKey; + + private List<MdkModelSettingRespVO> methodSettings; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelSettingRespVO.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelSettingRespVO.java new file mode 100644 index 0000000..67318e2 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelSettingRespVO.java @@ -0,0 +1,51 @@ +package com.iailab.module.mhub.mdk.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @description: 方法参数关联表 + * @author: dzd + * @date: 2024/9/13 15:49 + **/ +@Data +public class MdkModelSettingRespVO implements Serializable { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("ID") + private String id; + + @Schema(description = "方法id", example = "") + private String methodId; + + @Schema(description = "key", example = "") + private String settingKey; + + @Schema(description = "参数名称", example = "") + private String name; + + @Schema(description = "参数默认值", example = "") + private String value; + + @Schema(description = "输入类型", example = "") + private String type; + + @Schema(description = "参数类型", example = "") + private String valueType; + + @Schema(description = "最大值", example = "") + private Integer max; + + @Schema(description = "最小值", example = "") + private Integer min; + + @Schema(description = "参数值", example = "") + private String settingValue; + + @Schema(description = "关联参数", example = "") + private List<MdkSettingSelectRespVO> settingSelects; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelSettingSaveReqVO.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelSettingSaveReqVO.java new file mode 100644 index 0000000..8049229 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkModelSettingSaveReqVO.java @@ -0,0 +1,48 @@ +package com.iailab.module.mhub.mdk.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +@Schema(description = "模型托管 - 模型方法参数创建/修改 Request VO") +@Data +public class MdkModelSettingSaveReqVO { + + @Schema(description = "id") + private String id; + + @Schema(description = "方法id") + private String methodId; + + @Schema(description = "key") + private String settingKey; + + @Schema(description = "参数名称") + private String name; + + @Schema(description = "参数默认值") + private String value; + + @Schema(description = "输入类型") + private String type; + + @Schema(description = "参数类型") + private String valueType; + + @Schema(description = "最大值") + private Integer max; + + @Schema(description = "最小值") + private Integer min; + + @Schema(description = "参数值") + private String settingValue; + + private List<MdkSettingSelectSaveReqVO> settingSelects; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkSettingSelectRespVO.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkSettingSelectRespVO.java new file mode 100644 index 0000000..3d3105e --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkSettingSelectRespVO.java @@ -0,0 +1,30 @@ +package com.iailab.module.mhub.mdk.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +@Schema(description = "模型托管平台 - MDK参数选项关联 Response VO") +@Data +@ExcelIgnoreUnannotated +public class MdkSettingSelectRespVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + @ExcelProperty("ID") + private String id; + + @Schema(description = "参数id", example = "") + private String settingId; + + @Schema(description = "key", example = "") + private String selectKey; + + @Schema(description = "名称", example = "") + private String name; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkSettingSelectSaveReqVO.java b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkSettingSelectSaveReqVO.java new file mode 100644 index 0000000..cda00ee --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/vo/MdkSettingSelectSaveReqVO.java @@ -0,0 +1,25 @@ +package com.iailab.module.mhub.mdk.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author PanZhibao + * @Description + * @createTime 2025年06月09日 + */ +@Data +public class MdkSettingSelectSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private String id; + + @Schema(description = "参数id", example = "") + private String settingId; + + @Schema(description = "key", example = "") + private String selectKey; + + @Schema(description = "名称", example = "") + private String name; +} \ No newline at end of file diff --git a/iailab-module-mhub/iailab-module-mhub-biz/src/main/resources/mapper/mdk/MdkModelFileDao.xml b/iailab-module-mhub/iailab-module-mhub-biz/src/main/resources/mapper/mdk/MdkModelFileDao.xml new file mode 100644 index 0000000..6385869 --- /dev/null +++ b/iailab-module-mhub/iailab-module-mhub-biz/src/main/resources/mapper/mdk/MdkModelFileDao.xml @@ -0,0 +1,134 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.iailab.module.mhub.mdk.dao.MdkModelFileDao"> + <resultMap id="mpkFile" type="com.iailab.module.mhub.mdk.vo.MdkModelFileRespVO"> + <id property="id" column="id"/> + <result property="pyName" column="py_name"/> + <result property="pyChineseName" column="py_chinese_name"/> + <result property="filePath" column="file_path"/> + <result property="pyType" column="py_type"/> + <result property="pkgName" column="pkg_name"/> + <result property="className" column="class_name"/> + <result property="pyModule" column="py_module"/> + <result property="icon" column="icon"/> + <result property="menuName" column="menu_name"/> + <result property="groupName" column="group_name"/> + <result property="remark" column="remark"/> + <result property="creator" column="creator"/> + <result property="createDate" column="create_date"/> + <result property="updater" column="updater"/> + <result property="updateDate" column="update_date"/> + <collection property="modelMethods" ofType="com.iailab.module.mhub.mdk.vo.MdkModelMethodRespVO"> + <id property="id" column="method_id"/> + <result property="methodName" column="method_name"/> + <result property="dataLength" column="data_length"/> + <result property="model" column="model"/> + <result property="resultKey" column="result_key"/> + <collection property="methodSettings" ofType="com.iailab.module.mhub.mdk.vo.MdkModelSettingRespVO"> + <id property="id" column="setting_id"/> + <result property="settingKey" column="setting_key"/> + <result property="name" column="setting_name"/> + <result property="value" column="value"/> + <result property="type" column="type"/> + <result property="valueType" column="value_type"/> + <result property="max" column="max"/> + <result property="min" column="min"/> + <collection property="settingSelects" ofType="com.iailab.module.mhub.mdk.vo.MdkSettingSelectRespVO"> + <id property="id" column="select_id"/> + <result property="selectKey" column="select_key"/> + <result property="name" column="select_name"/> + </collection> + </collection> + </collection> + </resultMap> + + <select id="get" resultMap="mpkFile"> + SELECT + a.*, + b.id method_id, + b.method_name, + b.data_length, + b.model, + b.result_key, + c.id setting_id, + c.setting_key, + c.name setting_name, + c.value, + c.type, + c.value_type, + c.max, + c.min, + d.id select_id, + d.select_key, + d.name select_name + FROM t_mdk_model_file a + LEFT JOIN t_mdk_model_method b ON a.id = b.mpk_file_id + LEFT JOIN t_mdk_model_setting c ON b.id = c.method_id + LEFT JOIN t_mdk_setting_select d ON c.id = d.setting_id + WHERE a.id = #{id} + ORDER BY b.sort,c.sort,d.sort + </select> + <select id="selectByIds" resultMap="mpkFile"> + SELECT + a.*, + b.id method_id, + b.method_name, + b.data_length, + b.model, + b.result_key, + c.id setting_id, + c.setting_key, + c.name setting_name, + c.value, + c.type, + c.value_type, + c.max, + c.min, + d.id select_id, + d.select_key, + d.name select_name + FROM t_mdk_model_file a + LEFT JOIN t_mdk_model_method b ON a.id = b.mpk_file_id + LEFT JOIN t_mdk_model_setting c ON b.id = c.method_id + LEFT JOIN t_mdk_setting_select d ON c.id = d.setting_id + LEFT JOIN t_mdk_file_menu e ON e.name = a.menu_name + LEFT JOIN t_mdk_file_group f ON f.menu_id = e.id and f.name = a.group_name + WHERE a.id in + <foreach collection="ids" item="item" open="(" close=")" separator=","> + #{item} + </foreach> + ORDER BY b.sort,c.sort,d.sort,e.sort,f.sort,a.create_date + </select> + <select id="list" resultMap="mpkFile" parameterType="map"> + SELECT + a.*, + b.id method_id, + b.method_name, + b.data_length, + b.model, + b.result_key, + c.id setting_id, + c.setting_key, + c.name setting_name, + c.value, + c.type, + c.value_type, + c.max, + c.min, + d.id select_id, + d.select_key, + d.name select_name + FROM t_mpk_file a + LEFT JOIN t_mdk_model_method b ON a.id = b.mpk_file_id + LEFT JOIN t_mdk_model_setting c ON b.id = c.method_id + LEFT JOIN t_mdk_setting_select d ON c.id = d.setting_id + LEFT JOIN t_mdk_file_menu e ON e.name = a.menu_name + LEFT JOIN t_mdk_file_group f ON f.menu_id = e.id and f.name = a.group_name + <where> + <if test="params.pyType != null and params.pyType != ''"> + AND a.py_type = #{params.pyType} + </if> + </where> + ORDER BY b.sort,c.sort,d.sort,e.sort,f.sort,a.create_date + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.3