ruoyi-plus系列代码生成功能详解

发布于:2025-07-06 ⋅ 阅读:(14) ⋅ 点赞:(0)

若依的代码生成功能一直是这个系统的重要核心功能,它能极大的简化开发流程,我们将会用它来新增一个模块

1,新增模块

首先复制一个模块如ruoyi-system
在这里插入图片描述
我们将新模块粘贴到同级目录下,并命名为ruoyi-ai
在这里插入图片描述

2,修改配置

首先是新模块的pom.xml,修改描述和模块id
在这里插入图片描述
application.yml修改端口和应用名:
在这里插入图片描述
启动类名称也修改一下

3,nacos注册

在nacos上新增ruoyi-ai的yml文件配置
在这里插入图片描述

4,新建数据表

我们新增的功能需要能够进行ai对话的管理,并且留下接口为后续的对话界面做准备
数据表设计规范:
必备字段
create_dept 创建部门 用于标记数据所属部门 为后续数据审计数据权限使用
create_by 创建人 用于标记数据创建人 为后续数据审计数据权限使用
create_time 创建时间 用于标记数据创建时间 为后续数据审计 数据排序 问题查找使用
update_by 修改人 用于标记数据修改人 为后续数据审计 问题查找使用
update_time 修改时间 用于标记数据修改时间 为后续数据审计 问题查找使用
可选字段
tenant_id 租户ID 标记数据所属租户 如不需要租户可在yml关闭租户功能或者放行单表
del_flag 删除标记 逻辑删除字段 用于标记数据的逻辑删除状态 如果不加为真实删除 注意必须在数据库设置默认值为0
version 乐观锁字段 用于标记数据版本 注意标注默认值从什么版本开始 建议标注0

CREATE TABLE ai_conversation (
    id bigint NOT NULL COMMENT '主键',
    tenant_id varchar(20) NULL DEFAULT '000000' COMMENT '租户编号',
    title varchar(255) NULL DEFAULT NULL COMMENT '对话标题',
    status varchar(32) NULL DEFAULT 'active' COMMENT '状态(active/archived)',
    start_time datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开始时间',
    end_time datetime NULL DEFAULT NULL COMMENT '结束时间',
    del_flag int(0) NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
    version int NULL DEFAULT 0 COMMENT '乐观锁版本',
    create_dept bigint NULL DEFAULT NULL COMMENT '创建部门',
    create_by bigint NULL DEFAULT NULL COMMENT '创建人',
    create_time datetime NULL DEFAULT NULL COMMENT '创建时间',
    update_by bigint NULL DEFAULT NULL COMMENT '更新人',
    update_time datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB COMMENT = 'AI对话会话表';
CREATE TABLE ai_message (
    id bigint NOT NULL COMMENT '主键',
    tenant_id varchar(20) NULL DEFAULT '000000' COMMENT '租户编号',
    conversation_id bigint NOT NULL COMMENT '所属会话ID',
    sender_type varchar(16) NOT NULL COMMENT '发送方类型(user/ai)',
    content text NOT NULL COMMENT '消息内容',
    token_count int NULL DEFAULT 0 COMMENT 'Token计数',
    order_no int NOT NULL COMMENT '消息顺序号',
    del_flag int(0) NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
    version int NULL DEFAULT 0 COMMENT '乐观锁版本',
    create_dept bigint NULL DEFAULT NULL COMMENT '创建部门',
    create_by bigint NULL DEFAULT NULL COMMENT '创建人',
    create_time datetime NULL DEFAULT NULL COMMENT '创建时间',
    update_by bigint NULL DEFAULT NULL COMMENT '更新人',
    update_time datetime NULL DEFAULT NULL COMMENT '更新时间',
    PRIMARY KEY (id) USING BTREE,
    INDEX idx_conversation (conversation_id) USING BTREE
) ENGINE = InnoDB COMMENT = 'AI对话消息表';

5,代码生成

启动项目并打开代码生成功能,导入数据表并写入如下配置:
在这里插入图片描述
接下来将代码导出得到如下文件:
在这里插入图片描述
把sql导入并将main下的文件放到后端相应位置,vue下文件放到前端相应位置

6,测试运行

我们启动后发现多出了相应的功能
在这里插入图片描述
后续开发在这个模式上进行扩展


网站公告

今日签到

点亮在社区的每一天
去签到