iailab-module-mhub/iailab-module-mhub-api/pom.xml
对比新文件 @@ -0,0 +1,70 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <groupId>com.iailab</groupId> <artifactId>iailab-module-mhub</artifactId> <version>${revision}</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>iailab-module-mhub-api</artifactId> <packaging>jar</packaging> <name>${project.artifactId}</name> <dependencies> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common</artifactId> </dependency> <!-- Web 相关 --> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <scope>provided</scope> </dependency> <!-- 参数校验 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <optional>true</optional> </dependency> <!-- RPC 远程调用相关 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <optional>true</optional> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build> </project> iailab-module-mhub/iailab-module-mhub-biz/db/mysql.sql
对比新文件 @@ -0,0 +1,212 @@ CREATE database if NOT EXISTS `iailab_plat_mhub` default character set utf8mb4 collate utf8mb4_general_ci; USE `iailab_plat_mhub`; ----------MDK模型配置业务表---------------------------------------------------------- -- ---------------------------- -- Table structure for t_mdk_repository -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_repository`; CREATE TABLE `t_mdk_repository` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '仓库名称', `is_private` int NOT NULL DEFAULT 1 COMMENT '是否私有', `belong_to` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '所属人', `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uk_name`(`name` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'MDK模型仓库' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for t_mdk_model_file -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_model_file`; CREATE TABLE `t_mdk_model_file` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `repository_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '仓库id', `py_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型名称', `py_chinese_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型中文名称', `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '源文件保存路径', `py_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型类型', `pkg_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '包名', `class_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '类名', `py_module` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型路径', `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'icon图片名', `menu_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属菜单', `group_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属组', `version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '版本号', `author_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '作者姓名', `remark` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_repository_id`(`repository_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'MDK模型文件' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for t_mdk_model_method -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_model_method`; CREATE TABLE `t_mdk_model_method` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `file_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '模型文件id', `method_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型方法名', `data_length` int NULL DEFAULT 1 COMMENT '输入个数', `model` int NULL DEFAULT 0 COMMENT '是否有model(0:否,1:是)', `result_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '结果key', `sort` integer, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_file_id`(`file_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'MDK模型方法' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for t_model_file_setting -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_model_setting`; CREATE TABLE `t_mdk_model_setting` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `method_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '方法id', `setting_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'key', `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数名称', `value` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数默认值', `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '输入类型', `value_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数类型', `max` int NULL DEFAULT NULL COMMENT '最大值', `min` int NULL DEFAULT NULL COMMENT '最小值', `sort` integer, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_method_id`(`method_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '模型方法参数关' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for t_mdk_file_release -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_file_release`; CREATE TABLE `t_mdk_file_release` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `file_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '文件名ID', `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件名', `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件保存路径', `version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '版本号', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', `create_time` datetime NULL DEFAULT NULL COMMENT '生成时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_file_id`(`file_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'MDK模型发布历史' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for t_mpk_setting_select -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_setting_select`; CREATE TABLE `t_mdk_setting_select` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `setting_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '参数id', `select_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'key', `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '名称', `sort` integer, PRIMARY KEY (`id`) USING BTREE, INDEX `idx_setting_id`(`setting_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '参数选项关联表' ROW_FORMAT = Dynamic; DROP TABLE IF EXISTS `t_mdk_icon`; CREATE TABLE `t_mdk_icon` ( `id` varchar(36) NOT NULL COMMENT 'id', `icon_name` varchar(36) NOT NULL COMMENT '图标名称', `icon_desc` varchar(36) DEFAULT NULL COMMENT '图标描述', `sort` integer DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'MDK平台图标' ROW_FORMAT = Dynamic; DROP TABLE IF EXISTS `t_mdk_menu`; CREATE TABLE `t_mdk_menu` ( `id` varchar(36) NOT NULL COMMENT 'id', `name` varchar(36) NOT NULL COMMENT '名称', `sort` integer DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '模型文件菜单' ROW_FORMAT = Dynamic; DROP TABLE IF EXISTS `t_mdk_group`; CREATE TABLE `t_mdk_group` ( `id` varchar(36) NOT NULL COMMENT 'id', `menu_id` varchar(36) NOT NULL COMMENT '菜单', `name` varchar(36) NOT NULL COMMENT '名称', `sort` integer DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '模型文件分组' ROW_FORMAT = Dynamic; ----------MPK模型封装业务表---------------------------------------------------------- -- ---------------------------- -- Table structure for t_mdk_project -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_project`; CREATE TABLE `t_mdk_project` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `project_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名称', `project_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目编码', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for t_mdk_project_model -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_project_model`; CREATE TABLE `t_mdk_project_model` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `project_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目id', `model_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '模型id', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_project_id`(`project_id` ASC) USING BTREE, INDEX `idx_model_id`(`model_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目模型关联表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for t_mdk_project_package -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_project_package`; CREATE TABLE `t_mdk_project_package` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `project_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目id', `file_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件名', `file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件路径', `version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '版本号', `log` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新日志', `model_names` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '打包模型名称(“,”分割)', `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_project_id`(`project_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目打包历史记录表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for t_mdk_package_list -- ---------------------------- DROP TABLE IF EXISTS `t_mdk_package_list`; CREATE TABLE `t_mdk_package_list` ( `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id', `package_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目id', `model_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '文件名', `version` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '版本号', `sort` integer DEFAULT NULL COMMENT '排序', PRIMARY KEY (`id`) USING BTREE, INDEX `idx_package_id`(`package_id` ASC) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '项目打包模型列表' ROW_FORMAT = DYNAMIC; iailab-module-mhub/iailab-module-mhub-biz/doc/c++代码生成.md
iailab-module-mhub/iailab-module-mhub-biz/doc/img.pngiailab-module-mhub/iailab-module-mhub-biz/doc/img_1.pngiailab-module-mhub/iailab-module-mhub-biz/doc/img_2.pngiailab-module-mhub/iailab-module-mhub-biz/doc/img_3.pngiailab-module-mhub/iailab-module-mhub-biz/doc/img_4.pngiailab-module-mhub/iailab-module-mhub-biz/doc/img_5.pngiailab-module-mhub/iailab-module-mhub-biz/doc/img_6.pngiailab-module-mhub/iailab-module-mhub-biz/doc/img_7.pngiailab-module-mhub/iailab-module-mhub-biz/pom.xml
对比新文件 @@ -0,0 +1,180 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.iailab</groupId> <artifactId>iailab-module-mhub</artifactId> <version>${revision}</version> </parent> <artifactId>iailab-module-mhub-biz</artifactId> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <easypoi.version>4.1.0</easypoi.version> <commons.io.version>2.11.0</commons.io.version> <velocity.version>1.7</velocity.version> </properties> <dependencies> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-env</artifactId> </dependency> <!-- 业务组件 --> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-biz-data-permission</artifactId> </dependency> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-biz-tenant</artifactId> </dependency> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-biz-ip</artifactId> </dependency> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-module-mhub-api</artifactId> <version>${revision}</version> </dependency> <!-- Web 相关 --> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-security</artifactId> </dependency> <!-- DB 相关 --> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-mybatis</artifactId> </dependency> <!-- RPC 远程调用相关 --> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-rpc</artifactId> </dependency> <!-- 监控相关 --> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-monitor</artifactId> </dependency> <!-- Test 测试相关 --> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-test</artifactId> <scope>test</scope> </dependency> <!-- 工具类相关 --> <dependency> <groupId>com.iailab</groupId> <artifactId>iailab-common-excel</artifactId> </dependency> <!-- Registry 注册中心相关 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- Config 配置中心相关 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!-- 引用POI --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.1</version> </dependency> <!-- 引用MDK --> <dependency> <groupId>com.iail</groupId> <artifactId>IAILMDK</artifactId> <version>0.94.9</version> </dependency> <!-- MPK --> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>${easypoi.version}</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-web</artifactId> <version>${easypoi.version}</version> </dependency> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId> <version>${easypoi.version}</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>${commons.io.version}</version> </dependency> <dependency> <artifactId>velocity</artifactId> <groupId>org.apache.velocity</groupId> <version>${velocity.version}</version> </dependency> </dependencies> <build> <!-- 设置构建的 jar 包名 --> <finalName>${project.artifactId}</finalName> <plugins> <!-- 打包 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring.boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> <!-- 将引入的 jar 打入其中 --> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <version>1.1.0</version> <configuration> <updatePomFile>true</updatePomFile> <flattenMode>resolveCiFriendliesOnly</flattenMode> </configuration> <executions> <execution> <id>flatten</id> <phase>process-resources</phase> <goals> <goal>flatten</goal> </goals> </execution> <execution> <id>flatten.clean</id> <phase>clean</phase> <goals> <goal>clean</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/MhubServiceApplication.java
对比新文件 @@ -0,0 +1,32 @@ package com.iailab; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableAsync; /** * @author PanZhibao * @Description * @createTime 2025年06月06日 */ @EnableAsync @SpringBootApplication @Slf4j public class MhubServiceApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(MhubServiceApplication.class, args); } /** * 容器初始化后加载路由 * * @param strings */ @Override public void run(String... strings) { } } iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/common/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.mhub.common; iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/mdk/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.mhub.mdk; iailab-module-mhub/iailab-module-mhub-biz/src/main/java/com/iailab/module/mhub/package-info.java
对比新文件 @@ -0,0 +1 @@ package com.iailab.module.mhub; iailab-module-mhub/iailab-module-mhub-biz/src/main/resources/application.yml
对比新文件 @@ -0,0 +1,174 @@ --- #################### 注册中心 + 配置中心相关配置 #################### spring: application: name: model-server profiles: active: @profiles.active@ cloud: nacos: server-addr: @nacos.server@ # Nacos 服务器地址 username: @nacos.username@ password: @nacos.password@ discovery: # 【配置中心】配置项 namespace: @profiles.active@ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP metadata: version: @nacos.metadata.version@ # 服务实例的版本号,可用于灰度发布 config: # 【注册中心】配置项 namespace: @profiles.active@ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP main: allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。 allow-bean-definition-overriding: true # 允许 Bean 覆盖,例如说 Feign 等会存在重复定义的服务 config: import: - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置 - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置 # Servlet 配置 servlet: # 文件上传相关配置项 multipart: max-file-size: 16MB # 单个文件大小 max-request-size: 32MB # 设置总上传的文件大小 mvc: pathmatch: matching-strategy: ANT_PATH_MATCHER # 解决 SpringFox 与 SpringBoot 2.6.x 不兼容的问题,参见 SpringFoxHandlerProviderBeanPostProcessor 类 # Jackson 配置项 jackson: serialization: write-dates-as-timestamps: true # 设置 LocalDateTime 的格式,使用时间戳 write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401,而是直接 1611460870401 write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳 fail-on-empty-beans: false # 允许序列化无属性的 Bean # Cache 配置项 cache: type: REDIS redis: time-to-live: 1h # 设置过期时间为 1 小时 server: port: 8989 logging: file: name: @log.path@/log/${spring.application.name}.log # 日志文件名,全路径 level: org: springframework: boot: autoconfigure: logging: info --- #################### 接口文档配置 #################### springdoc: api-docs: enabled: true # 1. 是否开启 Swagger 接文档的元数据 path: /v3/api-docs swagger-ui: enabled: true # 2.1 是否开启 Swagger 文档的官方 UI 界面 path: /swagger-ui.html default-flat-param-object: true knife4j: enable: true basic: enable: false username: admin password: admin setting: enableFooter: false # MyBatis Plus 的配置项 mybatis-plus: configuration: map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。 global-config: db-config: id-type: AUTO # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。 # id-type: AUTO # 自增 ID,适合 MySQL 等直接自增的数据库 # id-type: INPUT # 用户输入 ID,适合 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库 # id-type: ASSIGN_ID # 分配 ID,默认使用雪花算法。注意,Oracle、PostgreSQL、Kingbase、DB2、H2 数据库时,需要去除实体类上的 @KeySequence 注解 logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) banner: false # 关闭控制台的 Banner 打印 type-aliases-package: ${iailab.info.base-package}.*.entity mapper-locations: classpath*:/mapper/**/*.xml encryptor: password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成 mybatis-plus-join: banner: false # 关闭控制台的 Banner 打印 # Spring Data Redis 配置 spring: data: redis: repositories: enabled: false # 项目未使用到 Spring Data Redis 的 Repository,所以直接禁用,保证启动速度 # VO 转换(数据翻译)相关 easy-trans: is-enable-global: true # 启用全局翻译(拦截所有 SpringMVC ResponseBody 进行自动翻译 )。如果对于性能要求很高可关闭此配置,或通过 @IgnoreTrans 忽略某个接口 is-enable-cloud: false # 禁用 TransType.RPC 微服务模式 --- #################### RPC 远程调用相关配置 #################### --- #################### 消息队列相关 #################### # rocketmq 配置项,对应 RocketMQProperties 配置类 rocketmq: # Producer 配置项 producer: group: ${spring.application.name}_PRODUCER # 生产者分组 spring: # Kafka 配置项,对应 KafkaProperties 配置类 kafka: # Kafka Producer 配置项 producer: acks: 1 # 0-不应答。1-leader 应答。all-所有 leader 和 follower 应答。 retries: 3 # 发送失败时,重试发送的次数 value-serializer: org.springframework.kafka.support.serializer.JsonSerializer # 消息的 value 的序列化 # Kafka Consumer 配置项 consumer: auto-offset-reset: earliest # 设置消费者分组最初的消费进度为 earliest 。可参考博客 https://blog.csdn.net/lishuangzhe7047/article/details/74530417 理解 value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer properties: spring.json.trusted.packages: '*' # Kafka Consumer Listener 监听器配置 listener: missing-topics-fatal: false # 消费监听接口监听的主题不存在时,默认会报错。所以通过设置为 false ,解决报错 --- #################### 平台相关配置 #################### iailab: info: version: 1.0.0 base-package: com.iailab.module.model web: admin-ui: url: # Admin 管理后台 UI 的地址 swagger: title: 模型管理 description: 模型管理 version: ${iailab.info.version} base-package: ${iailab.info.base-package} tenant: # 多租户相关配置项 enable: true ignore-tables: - qrtz_blob_triggers app: app-key: mhub app-secret: 85b0df7edc3df3611913df34ed695011 core-host: 127.0.0.1 debug: true iailab-module-mhub/pom.xml
对比新文件 @@ -0,0 +1,43 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.iailab</groupId> <artifactId>iailab-plat</artifactId> <version>${revision}</version> </parent> <artifactId>iailab-module-mhub</artifactId> <packaging>pom</packaging> <modules> <module>iailab-module-mhub-biz</module> <module>iailab-module-mhub-api</module> </modules> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <pluginManagement> <plugins> <!-- maven-surefire-plugin 插件,用于运行单元测试。 --> <!-- 注意,需要使用 3.0.X+,因为要支持 Junit 5 版本 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${maven-surefire-plugin.version}</version> <configuration> <skip>true</skip> </configuration> </plugin> <!-- maven-compiler-plugin 插件,解决 Lombok + MapStruct 组合 --> </plugins> </pluginManagement> </build> </project>