From 6304a48e6ad5c7c4e6e4da4668b484b11ae921ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AC=A7=E9=98=B3=E6=97=A5=E5=B3=B0?= <1132706530@qq.com> Date: Tue, 15 Apr 2025 15:57:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=9F=A5=E8=AF=86=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +- ai.sql | 1347 +++++++++++++++++ .../src/main/resources/application-druid.yml | 2 +- .../src/main/resources/application.yml | 2 +- ruoyi-ai/pom.xml | 14 + .../KnowledgeBaseLineController.java | 121 ++ .../KnowledgeBaseListController.java | 125 ++ .../ruoyi/ai/domain/KnowledgeBaseLine.java | 81 + .../ruoyi/ai/domain/KnowledgeBaseList.java | 56 + .../ai/mapper/KnowledgeBaseLineMapper.java | 63 + .../ai/mapper/KnowledgeBaseListMapper.java | 61 + .../ai/service/IKnowledgeBaseLineService.java | 63 + .../ai/service/IKnowledgeBaseListService.java | 61 + .../impl/KnowledgeBaseLineServiceImpl.java | 101 ++ .../impl/KnowledgeBaseListServiceImpl.java | 96 ++ .../com/ruoyi/ai/utils/FileParseUtil.java | 62 + .../mapper/ai/KnowledgeBaseLineMapper.xml | 83 + .../mapper/ai/KnowledgeBaseListMapper.xml | 79 + ruoyi-ui/src/api/ai/knowledgeBaseLine.js | 57 + ruoyi-ui/src/api/ai/knowledgeBaseList.js | 53 + .../src/views/ai/knowledgeBaseLine/index.vue | 348 +++++ .../src/views/ai/knowledgeBaseList/index.vue | 659 ++++++++ 22 files changed, 3538 insertions(+), 4 deletions(-) create mode 100644 ai.sql create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/controller/KnowledgeBaseLineController.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/controller/KnowledgeBaseListController.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/domain/KnowledgeBaseLine.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/domain/KnowledgeBaseList.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/mapper/KnowledgeBaseLineMapper.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/mapper/KnowledgeBaseListMapper.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/service/IKnowledgeBaseLineService.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/service/IKnowledgeBaseListService.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/service/impl/KnowledgeBaseLineServiceImpl.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/service/impl/KnowledgeBaseListServiceImpl.java create mode 100644 ruoyi-ai/src/main/java/com/ruoyi/ai/utils/FileParseUtil.java create mode 100644 ruoyi-ai/src/main/resources/mapper/ai/KnowledgeBaseLineMapper.xml create mode 100644 ruoyi-ai/src/main/resources/mapper/ai/KnowledgeBaseListMapper.xml create mode 100644 ruoyi-ui/src/api/ai/knowledgeBaseLine.js create mode 100644 ruoyi-ui/src/api/ai/knowledgeBaseList.js create mode 100644 ruoyi-ui/src/views/ai/knowledgeBaseLine/index.vue create mode 100644 ruoyi-ui/src/views/ai/knowledgeBaseList/index.vue diff --git a/README.md b/README.md index 9e19a78..cecaa8e 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,11 @@ 0fc70ed99592eaaa238a51960bfee7a - 1738851250962 + image + + + image + image @@ -64,7 +68,7 @@ - +
b31ccebd5c8418efb3d7e425e5e42121e05f8f38bca7bb0731dd474aaafc84e761b889d355668bc6555c50bb378ca
diff --git a/ai.sql b/ai.sql new file mode 100644 index 0000000..8d6a258 --- /dev/null +++ b/ai.sql @@ -0,0 +1,1347 @@ +/* +SQLyog Ultimate v12.14 (64 bit) +MySQL - 8.0.13 : Database - ruoyi-ai +********************************************************************* +*/ + +/*!40101 SET NAMES utf8 */; + +/*!40101 SET SQL_MODE=''*/; + +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +CREATE DATABASE /*!32312 IF NOT EXISTS*/`ruoyi-ai` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */; + +USE `ruoyi-ai`; + +/*Table structure for table `chat_model_list` */ + +DROP TABLE IF EXISTS `chat_model_list`; + +CREATE TABLE `chat_model_list` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '聊天模型列表ID', + `base_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '配置URL', + `api_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'apiKey', + `model_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '模型版本', + `model_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '模型名称', + `num_gpu` int(5) DEFAULT NULL COMMENT 'GPU 数量', + `temperature` float(10,2) DEFAULT NULL COMMENT '随机性', + `top_k` int(50) DEFAULT NULL COMMENT '限制模型单词', + `top_p` float(10,2) DEFAULT NULL COMMENT '核采样', + `repeat_penalty` float(10,2) DEFAULT NULL COMMENT '防止重复', + `presence_penalty` float(10,2) DEFAULT NULL COMMENT '惩罚已出现的词', + `frequency_penalty` float(10,2) DEFAULT NULL COMMENT '惩罚频繁出现的词', + `num_predict` int(5) DEFAULT NULL COMMENT '最大token 数', + `num_thread` int(5) DEFAULT NULL COMMENT 'CPU线程数', + `low_vram` tinyint(1) DEFAULT NULL COMMENT '是否启用低显存模式', + `is_chose` tinyint(1) DEFAULT NULL COMMENT '是否选择', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +/*Data for the table `chat_model_list` */ + +insert into `chat_model_list`(`id`,`base_url`,`api_key`,`model_version`,`model_name`,`num_gpu`,`temperature`,`top_k`,`top_p`,`repeat_penalty`,`presence_penalty`,`frequency_penalty`,`num_predict`,`num_thread`,`low_vram`,`is_chose`) values +(1,'http://127.0.0.1:11434','sk-86e64018e9734f5f9f49dd5fed341e26','deepseek-r1:8b','deepseek',1,0.74,0,0.02,0.00,0.02,0.02,98,2,1,1); + +/*Table structure for table `chat_session` */ + +DROP TABLE IF EXISTS `chat_session`; + +CREATE TABLE `chat_session` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '聊天会话ID', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '聊天会话名', + `memory` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '聊天会话记忆', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `idx_user_id` (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='聊天会话表'; + +/*Data for the table `chat_session` */ + +insert into `chat_session`(`id`,`user_id`,`title`,`memory`,`create_time`) values +(1,1,'你好\n','[{\"contents\":[{\"text\":\"你好\\n\\n\\nAnswer using the following information:\\n范冰冰\\n\\n\\n例如:\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户发来了“你好”,看起来是想打招呼。根据之前的例子,我应该用中文回复,并且提到“范冰冰”。可能用户对她的喜好或相关信息感兴趣,所以可以介绍一下范冰冰的一些基本情况,比如她是演员,出生于1990年,代表作品有《花千骨》等。同时,保持回答友好和简洁。\\n\\u003c/think\\u003e\\n\\n你好!关于范冰冰,您可能想了解她的个人资料或相关信息吗?\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"你是什么\\n\\n\\nAnswer using the following information:\\n范冰冰\\n\\n\\n例如:\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n好的,现在用户发来了“你是”,看起来是在确认我是谁。根据之前的例子,我需要使用中文回复,并且提到“范冰冰”。用户可能想了解我的身份或功能,所以应该解释我是一个人工智能助手,由中国的深度求索(DeepSeek)公司开发,专注于提供信息和帮助。\\n\\n同时,要保持回答简洁友好,不涉及任何不相关的内容。避免使用英文,只用中文回应用户的问题。\\n\\u003c/think\\u003e\\n\\n你好!我是由中国的深度求索(DeepSeek)公司开发的智能助手,我会尽力为您提供帮助。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰是谁\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰喜欢吃什么?\\n\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n好,现在用户问“欧阳日峰是谁”,根据之前的信息库,需要回答他是一个演员,出生于1983年,代表作品有《大秦帝国之崛起》等。同时,还要提到他喜欢吃什么,比如火锅、烤鱼和奶茶。\\n\\n还要注意用中文回复,保持友好和简洁,不使用任何markdown格式。分段落说明每个信息点,让用户清楚且易懂。\\n\\u003c/think\\u003e\\n\\n欧阳日峰是中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。欧阳日峰以其在多部影视作品中的出色表现而闻名,代表作包括《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,他还喜欢吃火锅、烤鱼和奶茶。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰喜欢吃什么?\\n\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n\\u003c/think\\u003e\\n\\n欧阳日峰是一位中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。在影视作品中,他曾出色表现,如《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,欧阳日峰喜欢吃火锅、烤鱼和奶茶。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"李健辉\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n\\u003c/think\\u003e\\n\\n李健辉是一位中国台湾省的企业家,出生于1962年。他是奇美实业(Chimei Corporation)的董事长,是该公司的创始人之一。李健辉在商业领域有着丰富的经验,并且对文化和艺术事业也有所涉猎。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰是谁\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰喜欢吃什么?\\n\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n\\u003c/think\\u003e\\n\\n欧阳日峰是一位中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。在影视作品中,他曾出色表现,如《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,欧阳日峰喜欢吃火锅、烤鱼和奶茶。\\n\\n---\\n\\n如果您有其他问题,请随时告诉我!\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰喜欢吃什么?\\n\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n\\u003c/think\\u003e\\n\\n欧阳日峰是一位中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。在影视作品中,他曾出色表现,如《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,欧阳日峰喜欢吃火锅、烤鱼和奶茶。\\n\\n---\\n\\n如果您有其他问题,请随时告诉我!\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"请告诉我欧阳日峰是谁\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰喜欢吃什么?\\n\\n没有,他还叫欧阳日峰介绍\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n\\u003c/think\\u003e\\n\\n欧阳日峰是一位中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。在影视作品中,他曾出色表现,如《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,欧阳日峰喜欢吃火锅、烤鱼和奶茶。\\n\\n---\\n\\n如果您有其他问题,请随时告诉我!\",\"type\":\"AI\"}]','2025-03-13 10:20:59'), +(2,1,'谁是欧阳日峰\n','[{\"contents\":[{\"text\":\"谁是欧阳日峰\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰喜欢吃什么?\\n\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户问了“谁是欧阳日峰”,看起来他可能对这个名字不太熟悉。我要先确认一下欧阳日峰是不是一个真实的人物,还是个虚构的角色。首先,我会搜索一下欧阳日峰这个名字,看看是否有相关的公开资料。\\n\\n假设我发现欧阳日峰并不是一个公众人物,那么可能他是在小说、电影或者其他作品中的角色。如果用户指的是某个特定作品里的角色,可能需要更多的上下文信息,比如他在作品中扮演的角色,或者相关的故事背景。\\n\\n如果欧阳日峰是一个现实的人物,比如作家、学者或公众人物,我需要提供他的基本资料,比如职业、成就等。如果没有找到相关信息,可能是因为我无法访问特定的数据源,或者这个人比较新出现,不够知名。\\n\\n另外,也有可能用户混淆了名字,想问的是其他人的信息,比如欧阳峰。但根据用户的问题,他明确提到“日峰”,所以应该专注于这个名字。\\n\\n总结一下,我需要先确认欧阳日峰是否存在,如果不存在,就说明他是一个虚构的角色,并指导用户提供更多背景信息;如果存在,提供相关的人物资料。同时,要保持回答的专业性和准确性,避免给出错误的信息。\\n\\u003c/think\\u003e\\n\\n“欧阳日峰”不是一个广为人知的真实人物或公众人物。如果你指的是某个特定领域的个人或虚构角色,请提供更多背景信息,以便我能够更好地回答你的问题。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"总结一下这个文档\\n\\n\\nAnswer using the following information:\\n小明目前从事ERP开发,已经不做医疗系统开发\\n\\n李健辉目前从事ERP开发,已经不做医疗系统开发\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n好的,我现在要帮用户总结一个包含两段信息的文档。用户提供了两个条目:\\n\\n1. 小明目前从事ERP开发,已经不做医疗系统开发。\\n2. 李健辉目前从事ERP开发,已经不做医疗系统开发。\\n\\n首先,我需要理解每个人的情况和他们各自的职业方向。两个人都在从事ERP(企业资源计划)开发,但都不再专注于医疗系统的开发。这可能意味着他们转向了其他类型的ERP项目或相关领域。\\n\\n接下来,我要将这两个条目以简洁明了的方式总结出来,突出他们当前的工作内容以及职业方向的变化。这样用户就能快速了解两人目前的状态和专长。\\n\\n最后,我会确保语言自然流畅,避免使用任何技术术语或复杂结构,让信息易于理解和消化。\\n\\u003c/think\\u003e\\n\\n根据提供的信息:\\n\\n1. 小明目前从事ERP开发,不做医疗系统开发。\\n2. 李健辉目前也从事ERP开发,不做医疗系统开发。\\n\\n这两人的职业方向都集中在企业资源计划(ERP)领域,且都已转向其他类型的ERP开发项目。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰喜欢吃什么?\\n\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户再次询问“欧阳日峰”,看来他对这个名字比较好奇。我需要确认欧阳日峰是否是一个真实存在的人物或者虚构角色。首先,我会搜索一下相关资料,看看有没有关于欧阳日峰的公开信息。\\n\\n假设我找不到具体的信息,可能是因为这个人不太知名,或者只是一个小说中的角色。如果他是某个作品中的角色,那么了解他的背景故事和性格特点可能对用户有帮助。但如果无法获取到相关资料,我应该告诉用户目前没有可靠的信息来源。\\n\\n另外,也有可能欧阳日峰是一个假名或拼写错误,比如用户想问的是其他人的信息。如果是这样,提供更多的上下文会更有助于准确回答问题。例如,如果他是指“欧阳峰”,那我可以根据这个名字给出相关信息。\\n\\n总结来说,我需要先确认欧阳日峰是否存在,然后根据情况提供相应的信息或者建议用户提供更多细节,以便更好地回答他的问题。同时,保持回答的专业和准确性,是非常重要的。\\n\\u003c/think\\u003e\\n\\n“欧阳日峰”不是一个广为人知的真实人物或公众人物。如果你指的是某个特定领域的人物或虚构角色,请提供更多背景信息,以便我能够更好地回答你的问题。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"谁做ERP\\n\\n\\nAnswer using the following information:\\n例如:\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户问“谁做ERP”,看来他想知道目前在市场上主导ERP系统开发的公司或个体。我需要根据提供的示例来总结 ERP 的相关信息。\\n\\n首先,我应该列出一些知名的 ERP 开发公司,如 SAP、Oracle、Microsoft Dynamics 等。这些公司在全球范围内都有较强的市场份额,且持续发展和更新他们的系统。\\n\\n接下来,可以提到一些主要的行业应用,比如制造业、医疗行业等,以及各大公司在这些领域中的表现。此外,还可以简要说明 ERP 系统的作用,它们如何帮助企业管理资源和流程。\\n\\n最后,保持回答简洁明了,让用户能够快速获取所需信息。如果有更多细节需要补充,也可以建议用户进一步询问具体问题。\\n\\u003c/think\\u003e\\n\\n以下是一些知名公司在ERP(企业资源计划)领域的主要参与者:\\n\\n1. **SAP**:全球最大的 ERP 软件供应商之一,提供广泛的业务一体化解决方案,适用于制造业、金融服务和医疗等多个行业。\\n2. **Oracle**:另一个领先的 ERP 提供商,以其强大的数据库技术和企业应用程序而闻名,覆盖多个行业的业务需求。\\n3. **Microsoft Dynamics**:微软推出的 ERP 系统,主要专注于小型到中等规模的企业,提供用户友好的界面和强大的模块化功能。\\n4. **IBM**:作为一家全球科技巨头,IBM 也在 ERP 领域有着深厚的积累,特别是在大型企业的数据管理和业务流程优化方面。\\n\\n此外,许多行业内的公司也会自行或与合作伙伴开发定制化的 ERP 系统,以适应其特定的商业需求。例如,在制造业中,像 **Siemens** 和 **Rockwell Automation** 这样的公司可能会提供专门针对制造流程的 ERP 解决方案。\\n\\n如果你有更具体的问题或需要了解某个特定 ERP 系统的情况,请进一步说明!\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"李健辉是做什么的\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户问“李健辉是做什么的”,我需要确认李健辉是什么背景的人。根据提供的信息,只有一个问题:“李健辉是谁?”。因此,我可能需要更多的上下文来准确回答。\\n\\n假设李健辉是一个真实存在的人物,他可能在某个特定领域有成就,比如科学、商业、艺术等。如果没有相关信息,我应该告诉用户目前无法提供详细资料,或者建议他查找更多的背景信息。\\n\\n另外,也有可能李健辉是虚构的角色,比如小说中的名人或公众人物。这种情况下,如果我无法确认他的身份,最好告知用户这点,并建议通过其他渠道获取信息。\\n\\n总结来说,我需要先搜索李健辉的相关资料,确认他的身份和背景。如果找不到可靠的信息,就应该告诉用户目前无法提供更多细节,并建议他进一步查证。\\n\\u003c/think\\u003e\\n\\n根据提供的信息:\\n\\n1. 李健辉是某个特定领域的人物,但具体身份或职业背景未在文档中明确说明。\\n\\n如果你有关于李健辉的具体问题,请提供更多背景信息,以便我能够更好地帮助你!\",\"type\":\"AI\"}]','2025-03-13 10:36:45'), +(3,1,'李健辉是谁\n','[{\"contents\":[{\"text\":\"李健辉是谁\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户问的是“李健辉是谁”,我得先回忆一下相关的信息。李健辉应该是一个中国的名字,我记得有个名人可能和这个名字有关。首先,我可以联想到一些领域,比如政治、学术或者文化方面的人物。\\n\\n假设李健辉是某个知名人物,那么他可能在政府里担任过要职,比如国务院副总理或者其他高级官员。如果是这样的话,他的工作成就和贡献需要详细说明。另外,如果他不是政治人物,可能是在学术界或商界有所建树。\\n\\n然后,我应该查阅可靠的资料来确认他的身份,比如通过搜索引擎或者权威新闻网站,看看是否有相关的信息。如果没有找到,可能是因为我记错了名字,或者这个人比较低调,不太出众。\\n\\n假设李健辉确实是一位知名政治人物,那么他的一生历程、主要工作和成就都是值得记录的。此外,他在任职期间对国家发展有什么贡献,也是需要详细描述的。还可以提到他的个人生活,比如家庭背景、教育经历等。\\n\\n如果李健辉不是政治人物,可能他是一位企业家或学者,那么我需要了解他的职业领域和成就。他在该领域有没有取得重要的奖项或者专利,是否发表过有影响力的著作,这些都是值得说明的地方。\\n\\n另外,我还要考虑到用户为什么会问这个问题。也许他们是在学习相关的人物知识,或者是为了某个特定的用途,比如写作、研究或者聊天。这取决于上下文,如果没有更多信息,可能需要给出一个全面的概述。\\n\\n最后,我应该确保提供的答案准确无误,并且结构清晰,让用户能够快速了解李健辉的基本情况。如果有不确定的地方,最好建议用户通过多个来源进行确认,以获得更准确的信息。\\n\\u003c/think\\u003e\\n\\n李健辉是中国台湾省的一位著名企业家和慈善家。他是联华电子(UMC)的创始人之一,并在1987年将其转型为半导体制造公司。李健辉在半导体行业有着显著的成就,联华电子在他领导下迅速发展成为全球重要的芯片制造商。\\n\\n除了在企业领域的贡献,李健辉还积极参与慈善事业,捐资助学,致力于教育和文化事业的发展。他的成功不仅在于商业上的成就,更在于他对社会的贡献和对教育的支持。\\n\\n总之,李健辉是一位在企业和社会中都有显著影响力的杰出人物。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"李健辉是谁\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户再次询问“李健辉是谁”,看来他们对这个名字很感兴趣。我需要确保之前的回答已经覆盖了关键点,但可能还不够详细或者准确。\\n\\n首先,我得确认李健辉的身份。根据我之前的知识,李健辉是一位中国台湾省的企业家,联华电子的创始人。但为了确保信息的准确性,我应该再次核实他的背景,特别是是否有其他可能性,比如政治人物或者其他领域的人物。\\n\\n假设用户对联华电子或半导体行业感兴趣,那么详细说明李健辉在企业中的角色和成就会更有帮助。同时,如果用户是学生或研究者,他们可能需要更深入的信息,比如他的教育背景、职业生涯以及他对行业的影响。\\n\\n此外,考虑到李健辉的慈善活动,这也是值得提及的部分,因为这展示了他的个人品质和对社会的贡献。因此,在回答中不仅要描述他的职业成就,还应该提到他的社会贡献。\\n\\n还有可能用户是在进行背景调查,例如为某个项目做准备或者撰写报告,所以提供一个全面的概述将非常有帮助。我需要确保信息准确无误,并且结构清晰,便于用户理解和使用。\\n\\n最后,如果有任何不确定的地方,比如李健辉是否还有其他身份,应该建议用户通过多个可靠来源进行确认,以获得全面和准确的信息。\\n\\u003c/think\\u003e\\n\\n李健辉(Lee Ka-hui)是中国台湾省的一位著名企业家,被誉为“半导体教父”。他是联华电子(UMC)的创始人之一,并在1987年将公司转型为全球领先的半导体制造商。\\n\\n### 主要成就:\\n1. **联华电子的发展**:李健辉于1953年创立了联华电子,最初是一家塑胶包装企业。经过多年的努力,他将其发展成为全球最大的半导体制造公司之一,并在1990年代末期成功转型为芯片制造领域。\\n \\n2. **技术创新**:李健辉以其卓越的技术洞察力和商业头脑闻名于世。他带领联华电子从传统制造业务逐步转向半导体设计、研发和生产,尤其是在台积电(TSMC)芯片代工领域起到了关键作用。\\n\\n3. **国际影响力**:联华电子在李健辉的领导下,不仅在亚洲地区占据重要地位,还在全球半导体供应链中发挥了核心作用。许多国际知名品牌依赖联华电子提供芯片制造服务。\\n\\n4. **慈善事业**:李健辉以其慈善心肠著称,捐资助学,支持教育和文化事业。他还通过“李健辉图书馆”项目,将高质量的图书资源带给中国台湾省的各个地区。\\n\\n### 荣誉与影响:\\n- 李健辉多次获得国际荣誉,包括《财富》杂志的“全球最佳企业家”称号。\\n- 他在半导体行业的贡献使得中国台湾省成为全球科技创新的重要基地之一。\\n\\n李健辉的成功不仅在于他的商业成就,更在于他通过慈善和教育推动社会进步,为中国台湾省乃至全球带来了深远的影响。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n### 欧阳日峰是谁?\\n\\n欧阳日峰(Ouyang Jiefang)是一位中国台湾省的企业家和发明专家。他是联华电子(UMC)的前高管,曾在该公司担任多个重要职位,如副总裁。欧阳日峰以其在半导体制造领域的技术专长和管理能力而闻名。\\n\\n### 主要成就:\\n- **技术创新**:欧阳日峰在半导体制造工艺和设备方面有着深厚的积累,致力于提高生产效率和产品质量。\\n- **企业管理**:他在联华电子的多个部门中发挥了重要作用,推动了公司在全球市场中的发展。\\n\\n### 影响与贡献:\\n欧阳日峰的工作不仅提升了联华电子的竞争力,也为中国台湾省在半导体产业方面的发展做出了重要贡献。他的技术和管理才能是该地区科技行业的重要财富。\\n\\n总之,欧阳日峰是一位在企业管理和技术创新方面有着卓越成就的专业人士,他的工作对联华电子和中国台湾省的半导体产业发展起到了关键作用。\",\"type\":\"AI\"}]','2025-03-13 10:43:44'), +(4,1,'谁是欧阳日峰\n','[{\"contents\":[{\"text\":\"谁是欧阳日峰\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰喜欢吃什么?\\n\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n好吧,我现在要解决关于“谁是欧阳日峰”的问题。首先,用户提供的信息只有两个问题,一个是欧阳日峰喜欢吃什么,另一个是问他是谁。不过,看起来这两个问题可能有误,因为通常不会同时询问一个人的名字和饮食习惯,除非这是某种特定的情况。\\n\\n我开始想,这是否是用户输入错误,比如打错了或者漏掉了一些信息?也有可能欧阳日峰是一个虚构的人物,比如动漫、小说中的角色,而不是真实存在的。因此,我需要先假设他是一个虚构人物,并寻找相关的背景信息。\\n\\n接下来,考虑到问题中没有提供具体的上下文或来源,这使得查找欧阳日峰的信息变得有些困难。我可以尝试通过搜索引擎或者一些在线数据库来寻找是否有关于他的详细资料,但如果没有这样的记录,那么很可能他是一个虚构的角色。\\n\\n然后,我想到也许用户是想问某个特定的人物,名字被误写成了“欧阳日峰”。例如,如果他指的是一个网络红人、明星或者其他公众人物,可能需要重新确认名字是否正确。比如,有时候名字会因为翻译或音译而有所不同。\\n\\n另外,我还可以考虑是否在某些文化中,欧阳日峰是一个常见的名字,比如中国的一些地区可能有这样的名字。如果是这样的话,可以尝试查找该地区的人物资料,看看是否有相关的人物。\\n\\n如果以上方法都没有结果,那么很可能“欧阳日峰”是一个虚构的名字,或者用户在询问时缺少了关键信息。这种情况下,最好的回答方式就是告诉用户目前无法确定这是谁,并建议提供更多背景或检查是否有拼写错误。\\n\\n总结一下,我需要先确认用户的问题是否正确,然后尝试通过各种途径寻找欧阳日峰的信息,如果没有结果,就说明他可能是一个虚构的人物或者名字存在问题。\\n\\u003c/think\\u003e\\n\\n关于“谁是欧阳日峰”的问题,目前并没有足够的信息来确定这是一个真实的人或虚构角色。建议您提供更多背景信息,或检查是否有拼写错误。如果这是一个虚构人物,请提供相关作品的背景,我将尽力协助。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n“欧阳日峰”可能是一个虚构的名字,或者在某些特定的上下文中存在。如果你能提供更多关于他的背景或上下文信息,我可以更好地帮助你解答问题!\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"总结一下这个文章\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n以下是对问题“谁是欧阳日峰”的总结:\\n\\n1. **确认问题的准确性**:首先需要确定用户是否有提供足够的信息来识别“欧阳日峰”。在目前的信息中,仅提到了两个问题:“欧阳日峰喜欢吃什么?”和“欧阳日峰是谁?”,这两者似乎并不相关且缺乏足够的背景。\\n\\n2. **考虑是否存在输入错误**:可能用户在询问时出现了拼写或翻译上的错误。例如,“欧阳日峰”可能是指某个特定人物的名字,但由于信息不足,难以准确识别。\\n\\n3. **假设“欧阳日峰”是一个虚构角色**:如果没有找到对应的真实人物,可能是指动漫、小说或其他作品中的一个虚构角色。在这种情况下,您需要提供更多关于该角色背景的信息,以便更好地回答问题。\\n\\n4. **建议采取进一步行动**:如果“欧阳日峰”是一个真实存在的人,请您提供更多上下文信息,如职业、成就或相关领域等,这有助于准确识别这个人。\\n\\n综上所述,目前无法确定“欧阳日峰”指代的具体人物。如果需要进一步的帮助,请提供更多背景信息或检查是否有拼写错误。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n根据您的问题,“欧阳日峰”,目前没有足够的信息来确定这是一个真实的人物还是虚构角色。如果您能提供更多关于他的背景或上下文信息,我将尽力协助!\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰和李健辉的关系\\n\\n\\nAnswer using the following information:\\nQ: 李健辉和欧阳日峰是什么关系?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n\\n---\\n\\n根据您的问题,“李健辉和欧阳日峰是什么关系?”,目前没有足够的信息来确定这两个人之间的具体关联。如果“李健辉”是指某个真实的人物,而“欧阳日峰”是一个虚构角色或名字,或者其他情况,请您提供更多背景信息,以便更准确地回答。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"谁是欧阳\\n\\n\\nAnswer using the following information:\\n范冰冰\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n“谁是欧阳”可能存在输入错误。如果您指的是“欧阳”,请结合上下文进一步说明,以便我能更好地帮助您解答问题!\",\"type\":\"AI\"}]','2025-03-13 10:46:42'), +(5,1,'李健辉是谁\n','[{\"contents\":[{\"text\":\"李健辉是谁\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户问的是“李健辉是谁”,我需要先确定这个人是谁。首先,我会联想到李健辉这个名字,他可能是一个公众人物或者名人。我记得以前听说过一些台湾的政治人物,所以这可能和台湾有关。\\n\\n接下来,我应该确认他的职业。李健辉,好像他在台湾有活动,是个作家或者文化人,对吧?我记得他写过一些小说,比如《海角七号》。这个名字听起来挺耳熟的,所以李健辉可能是个作家。\\n\\n然后,我会考虑用户为什么问这个问题。也许他们对他的作品感兴趣,或者想了解他的背景。也有可能他们在阅读时遇到了他,想要更多信息。我需要提供一个全面但简明的回答,涵盖他的身份、成就和相关信息。\\n\\n另外,我要确保我的回答准确无误,所以我会回忆一下具体的作品,比如《海角七号》和《平凡的世界》,这些都是比较知名的作品。同时,他也可能有其他文学奖项,比如台湾文艺奖,这些可以作为他的成就来补充。\\n\\n最后,我需要用中文组织语言,确保回答清晰易懂,同时保持专业性。这样用户不仅能知道李健辉是谁,还能了解一些相关的背景信息。\\n\\u003c/think\\u003e\\n\\n李健辉(Lee Han-hui)是一位来自中国台湾省的作家、文化评论家和媒体人。他以其在文学和文化领域的贡献而闻名,尤其是在散文、小说创作以及对当代社会文化分析方面。\\n\\n### 主要成就:\\n1. **文学创作**:李健辉是台湾现代文学的重要代表之一。他的作品涵盖了散文、小说和评论等多个领域。其中,小说《海角七号》和《平凡的世界》尤为著名,这两部作品深刻探讨了人类在当代社会中的生存状态和文化意义。\\n\\n2. **文学奖项**:李健辉的作品屡获殊荣,他在台湾文艺奖等重要文学奖项中多次获得认可,进一步巩固了他在文学界的地位。\\n\\n3. **媒体与公众演讲**:作为一名有影响力的文化评论家,李健辉经常在媒体上发表观点,并为读者和听众提供深刻的分析和见解。\\n\\n### 其他信息:\\n- 李健辉不仅是一位作家,他还是一位社会活动家,关注多个社会议题。\\n- 他在文学界和公众舆论中享有很高的声誉,被视为推动台湾文化发展的重要人物之一。\\n\\n如果你对他的某部作品或相关主题感兴趣,可以告诉我,我会提供更多信息!\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"李健辉是做ERP的吗\\n\\n\\nAnswer using the following information:\\n李健辉目前从事ERP开发,已经不做医疗系统开发\\n\\n李健辉,棕色头发,有点小肥,医疗信息开发\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户之前问了李健辉是谁,我回答说他是作家。现在用户又问:“李健辉是做ERP的吗?”看来用户可能之前听说过李健辉,但不确定他的职业。\\n\\n首先,我需要确认李健辉是否真的从事ERP开发。根据提供的信息,李健辉目前从事ERP开发,不再做医疗系统开发。这与我之前了解的他作为作家的事实有些矛盾,所以可能用户的信息有误或者来自不同的领域。\\n\\n接下来,我应该分析用户的问题。他们想知道李健辉是否涉足ERP开发,可能是因为看到某个项目或产品相关信息。考虑到李健辉在文学方面已经有一定的成就,这次转向技术领域有点出乎意料,但根据提供的资料,他确实现在做ERP。\\n\\n我还需要注意用户提供的其他细节,比如李健辉棕色头发,稍微有点胖,这些可以帮助识别是否是同一个人。结合这些信息,可以判断李健辉可能在技术领域有所发展,同时保持文学创作。\\n\\n最后,我应该整理这些信息,用中文清晰地回答用户的问题,确保涵盖关键点:他的转型、技术领域的专长以及目前的职业状态。这样用户不仅能了解李健辉是谁,还能明白他现在的工作内容。\\n\\u003c/think\\u003e\\n\\n根据提供的信息,**李健辉**是一个从事**ERP(企业资源计划)开发**的人员。他目前专注于ERP开发,而不是医疗系统开发。此外,他有一头棕色头发,有点小肥。\\n\\n如果你对李健辉的具体工作或技术领域感兴趣,可以告诉我,我会提供更多细节!\",\"type\":\"AI\"}]','2025-03-13 13:53:07'), +(6,1,'李健辉是谁\n','[{\"contents\":[{\"text\":\"李健辉\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户问的是“李健辉是谁?”首先,我要确认李健辉是不是一个公开人物。我记得可能有个台湾的演员或者作家,但是我不太确定。再想想,是不是有其他领域的人呢?比如运动员、学者什么的。\\n\\n然后,我应该考虑用户为什么会问这个问题。如果用户是在学习相关知识,或者看到某个作品需要了解作者背景,那么详细一点解释可能更好。但如果只是随便想知道,也许只需要简单介绍一下就行。\\n\\n接着,我要思考李健辉是否有足够的信息可以提供。比如他的职业、成就、主要作品等。如果资料不多,可能只能给出基本信息,或者说明他在某个领域的活动。\\n\\n另外,考虑到用户的问题比较简短,可能需要一个简洁明了的回答,避免冗长的内容。同时,如果有必要,可以建议用户查阅更多资源来获取详细信息。\\n\\n最后,我要确保提供的信息准确无误,或者在不确定的情况下,也可以提示用户提供更多背景,以便给出更精准的答案。\\n\\u003c/think\\u003e\\n\\n李健辉是中国台湾省的一位演员和作家。他以其在电影和电视剧领域的表现而闻名,参与了多部影视作品的演出,并出版了一些文学作品。他的职业生涯涉及到表演和写作,因此他是一个多才多艺的艺术家。如果你对他的具体作品或事迹感兴趣,可以进一步探索相关资料来获取更多信息。\",\"type\":\"AI\"}]','2025-03-13 14:01:09'), +(7,1,'李健辉是谁\n','[{\"contents\":[{\"text\":\"李健辉是谁\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n好,我来看看这个问题:“李健辉是谁?”首先,用户可能在询问的是某个特定的人物,但名字是“李健辉”。我需要确认一下,这个人是否有公开的资料或知名度。\\n\\n首先,我会想到李健辉可能是一个普通人,不太可能像一些公众人物那样出现在新闻中。也许他是一位作家、学者或者其他职业的人物。但是,没有更多的信息,很难准确回答。\\n\\n另外,我需要考虑是否有拼写错误,比如“李健辉”是否是“李健辉”的正确姓名?如果是这样的话,可能会影响搜索结果。例如,如果名字是“李建辉”,那搜索结果可能会不同。\\n\\n我还应该检查一下是否有相关的互联网资料,比如百度、谷歌等。如果没有找到任何相关信息,那么这可能意味着“李健辉”并不是一个知名人物,或者是一个比较隐私的人物。\\n\\n如果确实找不到更多信息,我可以告诉用户目前无法确定李健辉是谁,并建议他们提供更多的背景或上下文,以便更准确地回答问题。\\n\\n最后,我要确保我的回答礼貌且有帮助,同时避免因为不确定而给出错误的信息。\\n\\u003c/think\\u003e\\n\\n根据现有的信息,李健辉的身份无法明确确定。可能是一个普通人或知名人士,但缺乏公开资料支持。如果您能提供更多背景信息,我可以更好地帮助您。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"李健辉是做ERP的吗\\n\\n\\nAnswer using the following information:\\n李健辉目前从事ERP开发,已经不做医疗系统开发\\n\\n李健辉,棕色头发,有点小肥,医疗信息开发\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户问到“李健辉是做ERP的吗?”。根据之前提供的信息,我知道李健辉目前从事ERP开发,不再参与医疗系统开发。所以我应该确认他确实在ERP领域工作。\\n\\n首先,我需要理解ERP是什么意思,即企业资源计划系统,主要用于企业管理和优化资源配置。然后,看看李健辉是否有相关经验,比如是否在某个公司担任该领域的职位。\\n\\n接下来,我要考虑用户为什么问这个问题。可能他们想了解他的专业背景,或者对他做过什么项目感兴趣。如果是这样,我可以提供更多细节,帮助用户更好地理解李健辉的工作内容和成就。\\n\\n另外,用户提到“棕色头发,有点小肥”,这些描述可能用于识别人物,但如果没有更多线索,这些信息在回答中用不太大。重点还是他的职业方向。\\n\\n总结一下,我应该明确告诉用户李健辉目前从事ERP开发,并且不再做医疗系统开发,说明他的专业领域。这样回答既准确,又能满足用户的需求。\\n\\u003c/think\\u003e\\n\\n是的,根据提供的信息,李健辉目前从事ERP(企业资源计划)开发,而不是继续进行医疗系统开发。因此,他的主要工作方向是在ERP领域开展相关工作。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n李健辉与欧阳日峰似乎没有直接关联。如果您有关于“李健辉”的具体问题,或者需要了解更多关于他的信息,可以进一步提供上下文,以便更好地回答。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰是五邑大学的吗\\n\\n\\nAnswer using the following information:\\n欧阳日峰是五邑大学通信工程学生,目前从事医疗信息开发\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,用户现在问的是“欧阳日峰是五邑大学的吗?”。根据之前提供的信息,欧阳日峰是五邑大学的一个通信工程专业的学生,并且目前在进行医疗信息开发。所以,我应该确认他确实是五邑大学的学生,同时也从事医疗信息开发。\\n\\n首先,确认“五邑大学”是否正确,因为有时候名字可能会有不同的表述方式,比如“五陵学院”或者其他类似的名称。如果有必要,可以进一步查证校名是否正确。\\n\\n接下来,看看欧阳日峰的专业是通信工程,这意味着他在该领域有相关的知识和经验。此外,他目前还从事医疗信息开发,这可能涉及到将通信技术与医疗行业相结合,用于信息系统的开发或优化。\\n\\n用户为什么问这个问题呢?他们可能想了解欧阳日峰的背景,或者对他的专业能力感兴趣。如果是这样,我可以进一步说明他的教育背景和工作内容,以便更好地回答相关问题。\\n\\n另外,用户提到“医疗信息开发”,这可能涉及到具体的项目或技术,比如电子健康记录(EHR)系统、医疗影像处理等。这些都是通信工程与医疗行业结合的典型领域。\\n\\n总结一下,我应该明确说明欧阳日峰是五邑大学的通信工程专业学生,并且目前从事医疗信息开发,以回答用户的问题。同时,如果有必要,可以提供更多关于他工作内容和技能的信息,以满足更深层次的需求。\",\"type\":\"AI\"}]','2025-03-13 14:02:42'), +(8,1,'欧阳日峰是谁\n','[{\"contents\":[{\"text\":\"欧阳日峰是谁\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\u003cthink\\u003e\\n嗯,我现在要回答“欧阳日峰是谁”的问题。首先,我记得这个名字听起来像是一个古代的诗人或者文学家。我可能需要查一下相关资料。\\n\\n我应该从哪里开始呢?或许可以查阅一些历史文献或者名人介绍网站。比如,百度搜索“欧阳日峰”,看看搜索结果会是什么样子的。如果没有找到明确的信息,可能这个名字比较少见或者有拼写错误。\\n\\n另外,我可以考虑他是否是现代作家,因为有些现代作家名字听起来相似。我记得有一些文学奖项,比如 Nobel Prize,有时候会提到一些欧阳这样的名字。不过,这需要更多的信息来确认。\\n\\n也有可能“欧阳日峰”是一个笔名或者化名,所以我要考虑这一点。如果是这样,可能需要更多地了解他的作品和写作风格,但这对我来说有些困难,因为没有具体的资料。\\n\\n如果实在找不到相关信息,或许可以考虑向更权威的资料询问,比如访问国家图书馆或专业的文学数据库,看看是否有记录。不过,这对于普通人来说可能不太容易实现。\\n\\n总结一下,我需要更多的背景信息或者更可靠的来源来确定“欧阳日峰”是谁。也许他是一个相对小知名度的人物,或者是一个现代作家。我应该继续尝试寻找更多线索,比如查看他的作品列表或相关的书评,但这可能需要花费更多时间和资源。\\n\\u003c/think\\u003e\\n\\n关于“欧阳日峰”这个名字,目前没有确凿的公开资料表明这是一个广为人知的人物。可能是笔名或较少人知的作家。如果你有更多背景信息或上下文,可能会更容易确定其身份。此外,可以参考一些文学数据库或专门的网站来寻找相关信息。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"李健辉是谁\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n\\u003c/think\\u003e\\n\\n李健辉是中国台湾省的一位著名企业家。他是台湾塑胶工业股份有限公司(台塑集团)的创办人之一,被誉为“台湾的经营之神”。他出生于1938年,是台湾商界的重要人物,并在经济领域有着显著的影响力。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"你是谁\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n我是一个AI助手,由中国的深度求索(DeepSeek)公司开发,我擅长通过思考来帮您解答复杂的数学,代码和逻辑思维类的问题。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"1+1\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n1 + 1 \\u003d 2\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n“欧阳日峰”可能是一个笔名或较少人知的作家。如果你有更多背景信息或上下文,可能会更容易确定其身份。此外,可以参考一些文学数据库或专门的网站来寻找相关信息。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"你好\\n\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n你好!我是由中国的深度求索(DeepSeek)公司开发的AI助手,我擅长通过思考来解决复杂的数学、代码和逻辑思维类的问题。如果你有任何问题或需要帮助,请随时告诉我!\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"欧阳日峰是谁\\n\\n\\nAnswer using the following information:\\nQ: 欧阳日峰是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n---\\n\\n**Step-by-Step Explanation and Answer:**\\n\\n1. **初步信息收集:**\\n - “欧阳日峰”是一个名字,听起来像是中国古代文学人士或现代作家的名字。\\n \\n2. **搜索相关资料:**\\n - 在网络上搜索“欧阳日峰”,结果显示缺乏确凿的公开资料。\\n \\n3. **考虑可能的解释:**\\n - 可能是一个较少人知的作家或文人的笔名。\\n - 也有可能是拼写错误或对一个不为人知的人物的误称。\\n\\n4. **进一步确认:**\\n - 检查是否有相关的文学作品、文章或书评提及欧阳日峰。\\n - 查阅一些文学数据库或专业网站,寻找更多线索。\\n\\n5. **结论:**\\n - 目前没有可靠信息表明“欧阳日峰”是一个广为人知的人物。\\n - 建议提供更多背景信息或上下文,以便更好地确定其身份。\\n\\n---\\n\\n**最终答案:**\\n\\n目前没有确凿的公开资料表明“欧阳日峰”是谁。如果你有更多背景信息或上下文,请提供以便进一步确认。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"李健辉是谁\\n\\n\\nAnswer using the following information:\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n---\\n\\n**Step-by-Step Explanation and Answer:**\\n\\n1. **初步信息收集:**\\n - “李健辉”是一个名字,可能指代中国台湾省的一位知名人物。\\n\\n2. **搜索相关资料:**\\n - 在网络上搜索“李健辉”,结果显示他是中国台湾省的企业家和慈善家。\\n\\n3. **详细信息确认:**\\n - 李健辉是台湾塑胶工业股份有限公司(台塑集团)的创办人之一,被誉为“台湾的经营之神”。\\n - 他出生于1938年,活跃于商业和慈善领域。\\n\\n4. **结论:**\\n - 李健辉是一位在中国台湾省享有盛誉的企业家和社会慈善家。\\n\\n---\\n\\n**最终答案:**\\n\\n李健辉是中国台湾省著名的企业家和慈善家,是台湾塑胶工业股份有限公司(台塑集团)的创办人,被誉为“台湾的经营之神”。\",\"type\":\"AI\"},{\"contents\":[{\"text\":\"李健辉和欧阳日峰的关系\\n\\n\\nAnswer using the following information:\\n李健辉,棕色头发,有点小肥,医疗信息开发,经常叫欧阳日峰宵夜,但是不知道是不是他请\\n\\nQ: 李健辉是谁?\",\"type\":\"TEXT\"}],\"type\":\"USER\"},{\"text\":\"\\n\\n---\\n\\n**Step-by-Step Explanation and Answer:**\\n\\n1. **初步信息收集:**\\n - “李健辉”是一个名字,可能指代中国台湾省的一位知名人物。\\n - 他被描述为棕色头发,有点小肥,涉及医疗信息开发和经常使用“欧阳日峰”作为宵夜。\\n\\n2. **确认身份:**\\n - 李健辉是中国台湾省的企业家和慈善家,是台塑集团的创办人。\\n \\n3. **分析描述的可能性:**\\n - “棕色头发,有点小肥”可能描述了他的外貌特征,但需要结合具体语境来理解。\\n - “医疗信息开发”可能指他在健康或医疗领域的活动。\\n - “经常叫欧阳日峰宵夜”可能是指某种习惯或行为模式,但缺乏明确的上下文。\\n\\n4. **结论:**\\n - 李健辉是一位知名企业家,目前没有公开信息表明他使用“欧阳日峰”作为宵夜。\\n - 建议提供更多背景信息以便更准确地分析描述内容。\\n\\n---\\n\\n**最终答案:**\\n\\n李健辉是中国台湾省著名的企业家和慈善家,是台湾塑胶工业股份有限公司(台塑集团)的创办人。目前没有公开信息表明他经常使用“欧阳日峰”作为宵夜。如有更具体的背景信息,建议提供以便进一步分析和解释。\",\"type\":\"AI\"}]','2025-04-10 14:23:35'); + +/*Table structure for table `chat_session_detail` */ + +DROP TABLE IF EXISTS `chat_session_detail`; + +CREATE TABLE `chat_session_detail` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '聊天会话详细ID', + `session_id` bigint(20) NOT NULL COMMENT '聊天会话ID', + `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '会话角色 user:用户 ai:AI', + `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '聊天内容', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `idx_session_id` (`session_id`) +) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='聊天会话详情表'; + +/*Data for the table `chat_session_detail` */ + +insert into `chat_session_detail`(`id`,`session_id`,`role`,`content`,`create_time`) values +(1,1,'user','你好\n','2025-03-13 10:20:59'), +(2,1,'assistant','\n嗯,用户发来了“你好”,看起来是想打招呼。根据之前的例子,我应该用中文回复,并且提到“范冰冰”。可能用户对她的喜好或相关信息感兴趣,所以可以介绍一下范冰冰的一些基本情况,比如她是演员,出生于1990年,代表作品有《花千骨》等。同时,保持回答友好和简洁。\n\n\n你好!关于范冰冰,您可能想了解她的个人资料或相关信息吗?','2025-03-13 10:21:09'), +(3,1,'user','你是什么\n','2025-03-13 10:22:25'), +(4,1,'assistant','\n好的,现在用户发来了“你是”,看起来是在确认我是谁。根据之前的例子,我需要使用中文回复,并且提到“范冰冰”。用户可能想了解我的身份或功能,所以应该解释我是一个人工智能助手,由中国的深度求索(DeepSeek)公司开发,专注于提供信息和帮助。\n\n同时,要保持回答简洁友好,不涉及任何不相关的内容。避免使用英文,只用中文回应用户的问题。\n\n\n你好!我是由中国的深度求索(DeepSeek)公司开发的智能助手,我会尽力为您提供帮助。','2025-03-13 10:22:29'), +(5,1,'user','欧阳日峰是谁\n','2025-03-13 10:35:08'), +(6,1,'assistant','\n好,现在用户问“欧阳日峰是谁”,根据之前的信息库,需要回答他是一个演员,出生于1983年,代表作品有《大秦帝国之崛起》等。同时,还要提到他喜欢吃什么,比如火锅、烤鱼和奶茶。\n\n还要注意用中文回复,保持友好和简洁,不使用任何markdown格式。分段落说明每个信息点,让用户清楚且易懂。\n\n\n欧阳日峰是中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。欧阳日峰以其在多部影视作品中的出色表现而闻名,代表作包括《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,他还喜欢吃火锅、烤鱼和奶茶。','2025-03-13 10:35:17'), +(7,1,'user','欧阳日峰\n','2025-03-13 10:35:25'), +(8,1,'assistant','\n\n\n\n欧阳日峰是一位中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。在影视作品中,他曾出色表现,如《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,欧阳日峰喜欢吃火锅、烤鱼和奶茶。','2025-03-13 10:35:28'), +(9,1,'user','李健辉\n','2025-03-13 10:35:36'), +(10,1,'assistant','\n\n\n\n李健辉是一位中国台湾省的企业家,出生于1962年。他是奇美实业(Chimei Corporation)的董事长,是该公司的创始人之一。李健辉在商业领域有着丰富的经验,并且对文化和艺术事业也有所涉猎。','2025-03-13 10:35:37'), +(11,1,'user','欧阳日峰是谁\n','2025-03-13 10:35:46'), +(12,1,'assistant','\n\n\n\n欧阳日峰是一位中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。在影视作品中,他曾出色表现,如《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,欧阳日峰喜欢吃火锅、烤鱼和奶茶。\n\n---\n\n如果您有其他问题,请随时告诉我!','2025-03-13 10:35:49'), +(13,1,'user','欧阳日峰\n','2025-03-13 10:36:03'), +(14,1,'assistant','\n\n\n\n欧阳日峰是一位中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。在影视作品中,他曾出色表现,如《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,欧阳日峰喜欢吃火锅、烤鱼和奶茶。\n\n---\n\n如果您有其他问题,请随时告诉我!','2025-03-13 10:36:06'), +(15,1,'user','请告诉我欧阳日峰是谁\n','2025-03-13 10:36:27'), +(16,1,'assistant','\n\n\n\n欧阳日峰是一位中国内地的男演员,出生于1983年10月16日。他毕业于上海戏剧学院2016级表演系本科班。在影视作品中,他曾出色表现,如《大秦帝国之崛起》、《风雨无阻》和《知否知否应是绿肥红瘦》等。此外,欧阳日峰喜欢吃火锅、烤鱼和奶茶。\n\n---\n\n如果您有其他问题,请随时告诉我!','2025-03-13 10:36:30'), +(17,2,'user','谁是欧阳日峰\n','2025-03-13 10:36:46'), +(18,2,'assistant','\n嗯,用户问了“谁是欧阳日峰”,看起来他可能对这个名字不太熟悉。我要先确认一下欧阳日峰是不是一个真实的人物,还是个虚构的角色。首先,我会搜索一下欧阳日峰这个名字,看看是否有相关的公开资料。\n\n假设我发现欧阳日峰并不是一个公众人物,那么可能他是在小说、电影或者其他作品中的角色。如果用户指的是某个特定作品里的角色,可能需要更多的上下文信息,比如他在作品中扮演的角色,或者相关的故事背景。\n\n如果欧阳日峰是一个现实的人物,比如作家、学者或公众人物,我需要提供他的基本资料,比如职业、成就等。如果没有找到相关信息,可能是因为我无法访问特定的数据源,或者这个人比较新出现,不够知名。\n\n另外,也有可能用户混淆了名字,想问的是其他人的信息,比如欧阳峰。但根据用户的问题,他明确提到“日峰”,所以应该专注于这个名字。\n\n总结一下,我需要先确认欧阳日峰是否存在,如果不存在,就说明他是一个虚构的角色,并指导用户提供更多背景信息;如果存在,提供相关的人物资料。同时,要保持回答的专业性和准确性,避免给出错误的信息。\n\n\n“欧阳日峰”不是一个广为人知的真实人物或公众人物。如果你指的是某个特定领域的个人或虚构角色,请提供更多背景信息,以便我能够更好地回答你的问题。','2025-03-13 10:36:53'), +(19,2,'user','总结一下这个文档\n','2025-03-13 10:40:25'), +(20,2,'assistant','\n好的,我现在要帮用户总结一个包含两段信息的文档。用户提供了两个条目:\n\n1. 小明目前从事ERP开发,已经不做医疗系统开发。\n2. 李健辉目前从事ERP开发,已经不做医疗系统开发。\n\n首先,我需要理解每个人的情况和他们各自的职业方向。两个人都在从事ERP(企业资源计划)开发,但都不再专注于医疗系统的开发。这可能意味着他们转向了其他类型的ERP项目或相关领域。\n\n接下来,我要将这两个条目以简洁明了的方式总结出来,突出他们当前的工作内容以及职业方向的变化。这样用户就能快速了解两人目前的状态和专长。\n\n最后,我会确保语言自然流畅,避免使用任何技术术语或复杂结构,让信息易于理解和消化。\n\n\n根据提供的信息:\n\n1. 小明目前从事ERP开发,不做医疗系统开发。\n2. 李健辉目前也从事ERP开发,不做医疗系统开发。\n\n这两人的职业方向都集中在企业资源计划(ERP)领域,且都已转向其他类型的ERP开发项目。','2025-03-13 10:40:33'), +(21,2,'user','欧阳日峰\n','2025-03-13 10:40:43'), +(22,2,'assistant','\n嗯,用户再次询问“欧阳日峰”,看来他对这个名字比较好奇。我需要确认欧阳日峰是否是一个真实存在的人物或者虚构角色。首先,我会搜索一下相关资料,看看有没有关于欧阳日峰的公开信息。\n\n假设我找不到具体的信息,可能是因为这个人不太知名,或者只是一个小说中的角色。如果他是某个作品中的角色,那么了解他的背景故事和性格特点可能对用户有帮助。但如果无法获取到相关资料,我应该告诉用户目前没有可靠的信息来源。\n\n另外,也有可能欧阳日峰是一个假名或拼写错误,比如用户想问的是其他人的信息。如果是这样,提供更多的上下文会更有助于准确回答问题。例如,如果他是指“欧阳峰”,那我可以根据这个名字给出相关信息。\n\n总结来说,我需要先确认欧阳日峰是否存在,然后根据情况提供相应的信息或者建议用户提供更多细节,以便更好地回答他的问题。同时,保持回答的专业和准确性,是非常重要的。\n\n\n“欧阳日峰”不是一个广为人知的真实人物或公众人物。如果你指的是某个特定领域的人物或虚构角色,请提供更多背景信息,以便我能够更好地回答你的问题。','2025-03-13 10:40:50'), +(23,2,'user','谁做ERP\n','2025-03-13 10:41:03'), +(24,2,'assistant','\n嗯,用户问“谁做ERP”,看来他想知道目前在市场上主导ERP系统开发的公司或个体。我需要根据提供的示例来总结 ERP 的相关信息。\n\n首先,我应该列出一些知名的 ERP 开发公司,如 SAP、Oracle、Microsoft Dynamics 等。这些公司在全球范围内都有较强的市场份额,且持续发展和更新他们的系统。\n\n接下来,可以提到一些主要的行业应用,比如制造业、医疗行业等,以及各大公司在这些领域中的表现。此外,还可以简要说明 ERP 系统的作用,它们如何帮助企业管理资源和流程。\n\n最后,保持回答简洁明了,让用户能够快速获取所需信息。如果有更多细节需要补充,也可以建议用户进一步询问具体问题。\n\n\n以下是一些知名公司在ERP(企业资源计划)领域的主要参与者:\n\n1. **SAP**:全球最大的 ERP 软件供应商之一,提供广泛的业务一体化解决方案,适用于制造业、金融服务和医疗等多个行业。\n2. **Oracle**:另一个领先的 ERP 提供商,以其强大的数据库技术和企业应用程序而闻名,覆盖多个行业的业务需求。\n3. **Microsoft Dynamics**:微软推出的 ERP 系统,主要专注于小型到中等规模的企业,提供用户友好的界面和强大的模块化功能。\n4. **IBM**:作为一家全球科技巨头,IBM 也在 ERP 领域有着深厚的积累,特别是在大型企业的数据管理和业务流程优化方面。\n\n此外,许多行业内的公司也会自行或与合作伙伴开发定制化的 ERP 系统,以适应其特定的商业需求。例如,在制造业中,像 **Siemens** 和 **Rockwell Automation** 这样的公司可能会提供专门针对制造流程的 ERP 解决方案。\n\n如果你有更具体的问题或需要了解某个特定 ERP 系统的情况,请进一步说明!','2025-03-13 10:41:13'), +(25,2,'user','李健辉是做什么的\n','2025-03-13 10:41:24'), +(26,2,'assistant','\n嗯,用户问“李健辉是做什么的”,我需要确认李健辉是什么背景的人。根据提供的信息,只有一个问题:“李健辉是谁?”。因此,我可能需要更多的上下文来准确回答。\n\n假设李健辉是一个真实存在的人物,他可能在某个特定领域有成就,比如科学、商业、艺术等。如果没有相关信息,我应该告诉用户目前无法提供详细资料,或者建议他查找更多的背景信息。\n\n另外,也有可能李健辉是虚构的角色,比如小说中的名人或公众人物。这种情况下,如果我无法确认他的身份,最好告知用户这点,并建议通过其他渠道获取信息。\n\n总结来说,我需要先搜索李健辉的相关资料,确认他的身份和背景。如果找不到可靠的信息,就应该告诉用户目前无法提供更多细节,并建议他进一步查证。\n\n\n根据提供的信息:\n\n1. 李健辉是某个特定领域的人物,但具体身份或职业背景未在文档中明确说明。\n\n如果你有关于李健辉的具体问题,请提供更多背景信息,以便我能够更好地帮助你!','2025-03-13 10:41:31'), +(27,3,'user','李健辉是谁\n','2025-03-13 10:43:44'), +(28,3,'assistant','\n嗯,用户问的是“李健辉是谁”,我得先回忆一下相关的信息。李健辉应该是一个中国的名字,我记得有个名人可能和这个名字有关。首先,我可以联想到一些领域,比如政治、学术或者文化方面的人物。\n\n假设李健辉是某个知名人物,那么他可能在政府里担任过要职,比如国务院副总理或者其他高级官员。如果是这样的话,他的工作成就和贡献需要详细说明。另外,如果他不是政治人物,可能是在学术界或商界有所建树。\n\n然后,我应该查阅可靠的资料来确认他的身份,比如通过搜索引擎或者权威新闻网站,看看是否有相关的信息。如果没有找到,可能是因为我记错了名字,或者这个人比较低调,不太出众。\n\n假设李健辉确实是一位知名政治人物,那么他的一生历程、主要工作和成就都是值得记录的。此外,他在任职期间对国家发展有什么贡献,也是需要详细描述的。还可以提到他的个人生活,比如家庭背景、教育经历等。\n\n如果李健辉不是政治人物,可能他是一位企业家或学者,那么我需要了解他的职业领域和成就。他在该领域有没有取得重要的奖项或者专利,是否发表过有影响力的著作,这些都是值得说明的地方。\n\n另外,我还要考虑到用户为什么会问这个问题。也许他们是在学习相关的人物知识,或者是为了某个特定的用途,比如写作、研究或者聊天。这取决于上下文,如果没有更多信息,可能需要给出一个全面的概述。\n\n最后,我应该确保提供的答案准确无误,并且结构清晰,让用户能够快速了解李健辉的基本情况。如果有不确定的地方,最好建议用户通过多个来源进行确认,以获得更准确的信息。\n\n\n李健辉是中国台湾省的一位著名企业家和慈善家。他是联华电子(UMC)的创始人之一,并在1987年将其转型为半导体制造公司。李健辉在半导体行业有着显著的成就,联华电子在他领导下迅速发展成为全球重要的芯片制造商。\n\n除了在企业领域的贡献,李健辉还积极参与慈善事业,捐资助学,致力于教育和文化事业的发展。他的成功不仅在于商业上的成就,更在于他对社会的贡献和对教育的支持。\n\n总之,李健辉是一位在企业和社会中都有显著影响力的杰出人物。','2025-03-13 10:43:57'), +(29,3,'user','李健辉是谁\n','2025-03-13 10:46:00'), +(30,3,'assistant','\n嗯,用户再次询问“李健辉是谁”,看来他们对这个名字很感兴趣。我需要确保之前的回答已经覆盖了关键点,但可能还不够详细或者准确。\n\n首先,我得确认李健辉的身份。根据我之前的知识,李健辉是一位中国台湾省的企业家,联华电子的创始人。但为了确保信息的准确性,我应该再次核实他的背景,特别是是否有其他可能性,比如政治人物或者其他领域的人物。\n\n假设用户对联华电子或半导体行业感兴趣,那么详细说明李健辉在企业中的角色和成就会更有帮助。同时,如果用户是学生或研究者,他们可能需要更深入的信息,比如他的教育背景、职业生涯以及他对行业的影响。\n\n此外,考虑到李健辉的慈善活动,这也是值得提及的部分,因为这展示了他的个人品质和对社会的贡献。因此,在回答中不仅要描述他的职业成就,还应该提到他的社会贡献。\n\n还有可能用户是在进行背景调查,例如为某个项目做准备或者撰写报告,所以提供一个全面的概述将非常有帮助。我需要确保信息准确无误,并且结构清晰,便于用户理解和使用。\n\n最后,如果有任何不确定的地方,比如李健辉是否还有其他身份,应该建议用户通过多个可靠来源进行确认,以获得全面和准确的信息。\n\n\n李健辉(Lee Ka-hui)是中国台湾省的一位著名企业家,被誉为“半导体教父”。他是联华电子(UMC)的创始人之一,并在1987年将公司转型为全球领先的半导体制造商。\n\n### 主要成就:\n1. **联华电子的发展**:李健辉于1953年创立了联华电子,最初是一家塑胶包装企业。经过多年的努力,他将其发展成为全球最大的半导体制造公司之一,并在1990年代末期成功转型为芯片制造领域。\n \n2. **技术创新**:李健辉以其卓越的技术洞察力和商业头脑闻名于世。他带领联华电子从传统制造业务逐步转向半导体设计、研发和生产,尤其是在台积电(TSMC)芯片代工领域起到了关键作用。\n\n3. **国际影响力**:联华电子在李健辉的领导下,不仅在亚洲地区占据重要地位,还在全球半导体供应链中发挥了核心作用。许多国际知名品牌依赖联华电子提供芯片制造服务。\n\n4. **慈善事业**:李健辉以其慈善心肠著称,捐资助学,支持教育和文化事业。他还通过“李健辉图书馆”项目,将高质量的图书资源带给中国台湾省的各个地区。\n\n### 荣誉与影响:\n- 李健辉多次获得国际荣誉,包括《财富》杂志的“全球最佳企业家”称号。\n- 他在半导体行业的贡献使得中国台湾省成为全球科技创新的重要基地之一。\n\n李健辉的成功不仅在于他的商业成就,更在于他通过慈善和教育推动社会进步,为中国台湾省乃至全球带来了深远的影响。','2025-03-13 10:46:19'), +(31,3,'user','欧阳日峰\n','2025-03-13 10:46:23'), +(32,3,'assistant','\n\n### 欧阳日峰是谁?\n\n欧阳日峰(Ouyang Jiefang)是一位中国台湾省的企业家和发明专家。他是联华电子(UMC)的前高管,曾在该公司担任多个重要职位,如副总裁。欧阳日峰以其在半导体制造领域的技术专长和管理能力而闻名。\n\n### 主要成就:\n- **技术创新**:欧阳日峰在半导体制造工艺和设备方面有着深厚的积累,致力于提高生产效率和产品质量。\n- **企业管理**:他在联华电子的多个部门中发挥了重要作用,推动了公司在全球市场中的发展。\n\n### 影响与贡献:\n欧阳日峰的工作不仅提升了联华电子的竞争力,也为中国台湾省在半导体产业方面的发展做出了重要贡献。他的技术和管理才能是该地区科技行业的重要财富。\n\n总之,欧阳日峰是一位在企业管理和技术创新方面有着卓越成就的专业人士,他的工作对联华电子和中国台湾省的半导体产业发展起到了关键作用。','2025-03-13 10:46:31'), +(33,4,'user','谁是欧阳日峰\n','2025-03-13 10:46:42'), +(34,4,'assistant','\n好吧,我现在要解决关于“谁是欧阳日峰”的问题。首先,用户提供的信息只有两个问题,一个是欧阳日峰喜欢吃什么,另一个是问他是谁。不过,看起来这两个问题可能有误,因为通常不会同时询问一个人的名字和饮食习惯,除非这是某种特定的情况。\n\n我开始想,这是否是用户输入错误,比如打错了或者漏掉了一些信息?也有可能欧阳日峰是一个虚构的人物,比如动漫、小说中的角色,而不是真实存在的。因此,我需要先假设他是一个虚构人物,并寻找相关的背景信息。\n\n接下来,考虑到问题中没有提供具体的上下文或来源,这使得查找欧阳日峰的信息变得有些困难。我可以尝试通过搜索引擎或者一些在线数据库来寻找是否有关于他的详细资料,但如果没有这样的记录,那么很可能他是一个虚构的角色。\n\n然后,我想到也许用户是想问某个特定的人物,名字被误写成了“欧阳日峰”。例如,如果他指的是一个网络红人、明星或者其他公众人物,可能需要重新确认名字是否正确。比如,有时候名字会因为翻译或音译而有所不同。\n\n另外,我还可以考虑是否在某些文化中,欧阳日峰是一个常见的名字,比如中国的一些地区可能有这样的名字。如果是这样的话,可以尝试查找该地区的人物资料,看看是否有相关的人物。\n\n如果以上方法都没有结果,那么很可能“欧阳日峰”是一个虚构的名字,或者用户在询问时缺少了关键信息。这种情况下,最好的回答方式就是告诉用户目前无法确定这是谁,并建议提供更多背景或检查是否有拼写错误。\n\n总结一下,我需要先确认用户的问题是否正确,然后尝试通过各种途径寻找欧阳日峰的信息,如果没有结果,就说明他可能是一个虚构的人物或者名字存在问题。\n\n\n关于“谁是欧阳日峰”的问题,目前并没有足够的信息来确定这是一个真实的人或虚构角色。建议您提供更多背景信息,或检查是否有拼写错误。如果这是一个虚构人物,请提供相关作品的背景,我将尽力协助。','2025-03-13 10:46:53'), +(35,4,'user','欧阳日峰\n','2025-03-13 10:46:58'), +(36,4,'assistant','\n\n“欧阳日峰”可能是一个虚构的名字,或者在某些特定的上下文中存在。如果你能提供更多关于他的背景或上下文信息,我可以更好地帮助你解答问题!','2025-03-13 10:47:00'), +(37,4,'user','总结一下这个文章\n','2025-03-13 10:47:15'), +(38,4,'assistant','\n\n以下是对问题“谁是欧阳日峰”的总结:\n\n1. **确认问题的准确性**:首先需要确定用户是否有提供足够的信息来识别“欧阳日峰”。在目前的信息中,仅提到了两个问题:“欧阳日峰喜欢吃什么?”和“欧阳日峰是谁?”,这两者似乎并不相关且缺乏足够的背景。\n\n2. **考虑是否存在输入错误**:可能用户在询问时出现了拼写或翻译上的错误。例如,“欧阳日峰”可能是指某个特定人物的名字,但由于信息不足,难以准确识别。\n\n3. **假设“欧阳日峰”是一个虚构角色**:如果没有找到对应的真实人物,可能是指动漫、小说或其他作品中的一个虚构角色。在这种情况下,您需要提供更多关于该角色背景的信息,以便更好地回答问题。\n\n4. **建议采取进一步行动**:如果“欧阳日峰”是一个真实存在的人,请您提供更多上下文信息,如职业、成就或相关领域等,这有助于准确识别这个人。\n\n综上所述,目前无法确定“欧阳日峰”指代的具体人物。如果需要进一步的帮助,请提供更多背景信息或检查是否有拼写错误。','2025-03-13 10:47:22'), +(39,4,'user','欧阳日峰\n','2025-03-13 10:52:40'), +(40,4,'assistant','\n\n根据您的问题,“欧阳日峰”,目前没有足够的信息来确定这是一个真实的人物还是虚构角色。如果您能提供更多关于他的背景或上下文信息,我将尽力协助!','2025-03-13 10:52:45'), +(41,4,'user','欧阳日峰和李健辉的关系\n','2025-03-13 10:52:58'), +(42,4,'assistant','\n\n---\n\n根据您的问题,“李健辉和欧阳日峰是什么关系?”,目前没有足够的信息来确定这两个人之间的具体关联。如果“李健辉”是指某个真实的人物,而“欧阳日峰”是一个虚构角色或名字,或者其他情况,请您提供更多背景信息,以便更准确地回答。','2025-03-13 10:53:00'), +(43,4,'user','谁是欧阳\n','2025-03-13 13:52:46'), +(44,4,'assistant','\n\n“谁是欧阳”可能存在输入错误。如果您指的是“欧阳”,请结合上下文进一步说明,以便我能更好地帮助您解答问题!','2025-03-13 13:52:52'), +(45,5,'user','李健辉是谁\n','2025-03-13 13:53:07'), +(46,5,'assistant','\n嗯,用户问的是“李健辉是谁”,我需要先确定这个人是谁。首先,我会联想到李健辉这个名字,他可能是一个公众人物或者名人。我记得以前听说过一些台湾的政治人物,所以这可能和台湾有关。\n\n接下来,我应该确认他的职业。李健辉,好像他在台湾有活动,是个作家或者文化人,对吧?我记得他写过一些小说,比如《海角七号》。这个名字听起来挺耳熟的,所以李健辉可能是个作家。\n\n然后,我会考虑用户为什么问这个问题。也许他们对他的作品感兴趣,或者想了解他的背景。也有可能他们在阅读时遇到了他,想要更多信息。我需要提供一个全面但简明的回答,涵盖他的身份、成就和相关信息。\n\n另外,我要确保我的回答准确无误,所以我会回忆一下具体的作品,比如《海角七号》和《平凡的世界》,这些都是比较知名的作品。同时,他也可能有其他文学奖项,比如台湾文艺奖,这些可以作为他的成就来补充。\n\n最后,我需要用中文组织语言,确保回答清晰易懂,同时保持专业性。这样用户不仅能知道李健辉是谁,还能了解一些相关的背景信息。\n\n\n李健辉(Lee Han-hui)是一位来自中国台湾省的作家、文化评论家和媒体人。他以其在文学和文化领域的贡献而闻名,尤其是在散文、小说创作以及对当代社会文化分析方面。\n\n### 主要成就:\n1. **文学创作**:李健辉是台湾现代文学的重要代表之一。他的作品涵盖了散文、小说和评论等多个领域。其中,小说《海角七号》和《平凡的世界》尤为著名,这两部作品深刻探讨了人类在当代社会中的生存状态和文化意义。\n\n2. **文学奖项**:李健辉的作品屡获殊荣,他在台湾文艺奖等重要文学奖项中多次获得认可,进一步巩固了他在文学界的地位。\n\n3. **媒体与公众演讲**:作为一名有影响力的文化评论家,李健辉经常在媒体上发表观点,并为读者和听众提供深刻的分析和见解。\n\n### 其他信息:\n- 李健辉不仅是一位作家,他还是一位社会活动家,关注多个社会议题。\n- 他在文学界和公众舆论中享有很高的声誉,被视为推动台湾文化发展的重要人物之一。\n\n如果你对他的某部作品或相关主题感兴趣,可以告诉我,我会提供更多信息!','2025-03-13 13:53:21'), +(47,5,'user','李健辉是做ERP的吗\n','2025-03-13 13:56:33'), +(48,5,'assistant','\n嗯,用户之前问了李健辉是谁,我回答说他是作家。现在用户又问:“李健辉是做ERP的吗?”看来用户可能之前听说过李健辉,但不确定他的职业。\n\n首先,我需要确认李健辉是否真的从事ERP开发。根据提供的信息,李健辉目前从事ERP开发,不再做医疗系统开发。这与我之前了解的他作为作家的事实有些矛盾,所以可能用户的信息有误或者来自不同的领域。\n\n接下来,我应该分析用户的问题。他们想知道李健辉是否涉足ERP开发,可能是因为看到某个项目或产品相关信息。考虑到李健辉在文学方面已经有一定的成就,这次转向技术领域有点出乎意料,但根据提供的资料,他确实现在做ERP。\n\n我还需要注意用户提供的其他细节,比如李健辉棕色头发,稍微有点胖,这些可以帮助识别是否是同一个人。结合这些信息,可以判断李健辉可能在技术领域有所发展,同时保持文学创作。\n\n最后,我应该整理这些信息,用中文清晰地回答用户的问题,确保涵盖关键点:他的转型、技术领域的专长以及目前的职业状态。这样用户不仅能了解李健辉是谁,还能明白他现在的工作内容。\n\n\n根据提供的信息,**李健辉**是一个从事**ERP(企业资源计划)开发**的人员。他目前专注于ERP开发,而不是医疗系统开发。此外,他有一头棕色头发,有点小肥。\n\n如果你对李健辉的具体工作或技术领域感兴趣,可以告诉我,我会提供更多细节!','2025-03-13 13:56:43'), +(49,6,'user','李健辉是谁\n','2025-03-13 14:01:10'), +(50,6,'assistant','\n\n\n\n李健辉是中国台湾省的一位著名企业家和慈善家。他是广达电脑(Quanta Computer)的创始人和董事长。广达电脑是全球最大的笔记本电脑制造商之一,主要为许多知名品牌提供代工服务。\n\n### 主要经历:\n1. **广达电脑的成立**:李健辉于1979年在中国台湾省设立了广达电脑公司。\n2. **快速发展**:通过不断的技术创新和全球化布局,广达电脑迅速成长为世界领先的电子制造服务提供商。\n3. **慈善事业**:李健辉还积极参与慈善工作,捐资助学,致力于教育和医疗行业的公益事业。\n\n### 影响:\n李健辉及其广达电脑公司在中国台湾省乃至全球都有着重要的地位,其商业成就不仅推动了本地经济发展,也对全球电子制造产业产生了深远影响。','2025-03-13 14:01:16'), +(51,6,'user','李健辉是做ERP的吗\n','2025-03-13 14:01:28'), +(52,6,'assistant','\n\n根据我的知识,李健辉主要以创立和运营广达电脑(Quanta Computer)而闻名,他是一位成功的企业家,而不是专注于ERP(企业资源计划)系统的开发或应用。','2025-03-13 14:01:29'), +(53,6,'user','欧阳日峰\n','2025-03-13 14:01:40'), +(54,6,'assistant','\n\n### 欧阳日峰\n\n**欧阳日峰** 是中国台湾省的一位知名企业家,主要活跃于电子制造和信息技术行业。他是富士康集团(富士康科技集团)的董事长,负责该集团的运营和战略发展。富士康集团是一家全球领先的电子制造服务提供商,为多家国际知名品牌提供代工服务。\n\n### 主要经历:\n1. **企业管理经验**:欧阳日峰在电子制造行业拥有丰富的经验,带领富士康集团在全球市场中占据重要地位。\n2. **技术创新与研发**:富士康集团在其业务中注重技术创新和研发,致力于为客户提供高质量的制造服务。\n3. **国际化战略**:欧阳日峰推动了富士康集团的全球化布局,使其成为全球重要的电子制造供应链。\n\n### 影响:\n欧阳日峰及其领导下的富士康集团在中国台湾省及全球都有着显著的影响力,其企业管理和技术创新能力为行业树立了标杆。','2025-03-13 14:01:46'), +(55,6,'user','李健辉\n','2025-03-13 14:02:24'), +(56,6,'assistant','\n嗯,用户问的是“李健辉是谁?”首先,我要确认李健辉是不是一个公开人物。我记得可能有个台湾的演员或者作家,但是我不太确定。再想想,是不是有其他领域的人呢?比如运动员、学者什么的。\n\n然后,我应该考虑用户为什么会问这个问题。如果用户是在学习相关知识,或者看到某个作品需要了解作者背景,那么详细一点解释可能更好。但如果只是随便想知道,也许只需要简单介绍一下就行。\n\n接着,我要思考李健辉是否有足够的信息可以提供。比如他的职业、成就、主要作品等。如果资料不多,可能只能给出基本信息,或者说明他在某个领域的活动。\n\n另外,考虑到用户的问题比较简短,可能需要一个简洁明了的回答,避免冗长的内容。同时,如果有必要,可以建议用户查阅更多资源来获取详细信息。\n\n最后,我要确保提供的信息准确无误,或者在不确定的情况下,也可以提示用户提供更多背景,以便给出更精准的答案。\n\n\n李健辉是中国台湾省的一位演员和作家。他以其在电影和电视剧领域的表现而闻名,参与了多部影视作品的演出,并出版了一些文学作品。他的职业生涯涉及到表演和写作,因此他是一个多才多艺的艺术家。如果你对他的具体作品或事迹感兴趣,可以进一步探索相关资料来获取更多信息。','2025-03-13 14:02:33'), +(57,7,'user','李健辉是谁\n','2025-03-13 14:02:42'), +(58,7,'assistant','\n好,我来看看这个问题:“李健辉是谁?”首先,用户可能在询问的是某个特定的人物,但名字是“李健辉”。我需要确认一下,这个人是否有公开的资料或知名度。\n\n首先,我会想到李健辉可能是一个普通人,不太可能像一些公众人物那样出现在新闻中。也许他是一位作家、学者或者其他职业的人物。但是,没有更多的信息,很难准确回答。\n\n另外,我需要考虑是否有拼写错误,比如“李健辉”是否是“李健辉”的正确姓名?如果是这样的话,可能会影响搜索结果。例如,如果名字是“李建辉”,那搜索结果可能会不同。\n\n我还应该检查一下是否有相关的互联网资料,比如百度、谷歌等。如果没有找到任何相关信息,那么这可能意味着“李健辉”并不是一个知名人物,或者是一个比较隐私的人物。\n\n如果确实找不到更多信息,我可以告诉用户目前无法确定李健辉是谁,并建议他们提供更多的背景或上下文,以便更准确地回答问题。\n\n最后,我要确保我的回答礼貌且有帮助,同时避免因为不确定而给出错误的信息。\n\n\n根据现有的信息,李健辉的身份无法明确确定。可能是一个普通人或知名人士,但缺乏公开资料支持。如果您能提供更多背景信息,我可以更好地帮助您。','2025-03-13 14:02:49'), +(59,7,'user','李健辉是做ERP的吗\n','2025-03-13 14:02:59'), +(60,7,'assistant','\n嗯,用户问到“李健辉是做ERP的吗?”。根据之前提供的信息,我知道李健辉目前从事ERP开发,不再参与医疗系统开发。所以我应该确认他确实在ERP领域工作。\n\n首先,我需要理解ERP是什么意思,即企业资源计划系统,主要用于企业管理和优化资源配置。然后,看看李健辉是否有相关经验,比如是否在某个公司担任该领域的职位。\n\n接下来,我要考虑用户为什么问这个问题。可能他们想了解他的专业背景,或者对他做过什么项目感兴趣。如果是这样,我可以提供更多细节,帮助用户更好地理解李健辉的工作内容和成就。\n\n另外,用户提到“棕色头发,有点小肥”,这些描述可能用于识别人物,但如果没有更多线索,这些信息在回答中用不太大。重点还是他的职业方向。\n\n总结一下,我应该明确告诉用户李健辉目前从事ERP开发,并且不再做医疗系统开发,说明他的专业领域。这样回答既准确,又能满足用户的需求。\n\n\n是的,根据提供的信息,李健辉目前从事ERP(企业资源计划)开发,而不是继续进行医疗系统开发。因此,他的主要工作方向是在ERP领域开展相关工作。','2025-03-13 14:03:05'), +(61,7,'user','欧阳日峰\n','2025-03-13 14:03:11'), +(62,7,'assistant','\n\n李健辉与欧阳日峰似乎没有直接关联。如果您有关于“李健辉”的具体问题,或者需要了解更多关于他的信息,可以进一步提供上下文,以便更好地回答。','2025-03-13 14:03:13'), +(63,7,'user','欧阳日峰是五邑大学的吗\n','2025-03-13 14:03:35'), +(64,7,'assistant','\n嗯,用户现在问的是“欧阳日峰是五邑大学的吗?”。根据之前提供的信息,欧阳日峰是五邑大学的一个通信工程专业的学生,并且目前在进行医疗信息开发。所以,我应该确认他确实是五邑大学的学生,同时也从事医疗信息开发。\n\n首先,确认“五邑大学”是否正确,因为有时候名字可能会有不同的表述方式,比如“五陵学院”或者其他类似的名称。如果有必要,可以进一步查证校名是否正确。\n\n接下来,看看欧阳日峰的专业是通信工程,这意味着他在该领域有相关的知识和经验。此外,他目前还从事医疗信息开发,这可能涉及到将通信技术与医疗行业相结合,用于信息系统的开发或优化。\n\n用户为什么问这个问题呢?他们可能想了解欧阳日峰的背景,或者对他的专业能力感兴趣。如果是这样,我可以进一步说明他的教育背景和工作内容,以便更好地回答相关问题。\n\n另外,用户提到“医疗信息开发”,这可能涉及到具体的项目或技术,比如电子健康记录(EHR)系统、医疗影像处理等。这些都是通信工程与医疗行业结合的典型领域。\n\n总结一下,我应该明确说明欧阳日峰是五邑大学的通信工程专业学生,并且目前从事医疗信息开发,以回答用户的问题。同时,如果有必要,可以提供更多关于他工作内容和技能的信息,以满足更深层次的需求。','2025-03-13 14:03:43'), +(65,8,'user','欧阳日峰是谁\n','2025-04-10 14:23:36'), +(66,8,'assistant','\n嗯,我现在要回答“欧阳日峰是谁”的问题。首先,我记得这个名字听起来像是一个古代的诗人或者文学家。我可能需要查一下相关资料。\n\n我应该从哪里开始呢?或许可以查阅一些历史文献或者名人介绍网站。比如,百度搜索“欧阳日峰”,看看搜索结果会是什么样子的。如果没有找到明确的信息,可能这个名字比较少见或者有拼写错误。\n\n另外,我可以考虑他是否是现代作家,因为有些现代作家名字听起来相似。我记得有一些文学奖项,比如 Nobel Prize,有时候会提到一些欧阳这样的名字。不过,这需要更多的信息来确认。\n\n也有可能“欧阳日峰”是一个笔名或者化名,所以我要考虑这一点。如果是这样,可能需要更多地了解他的作品和写作风格,但这对我来说有些困难,因为没有具体的资料。\n\n如果实在找不到相关信息,或许可以考虑向更权威的资料询问,比如访问国家图书馆或专业的文学数据库,看看是否有记录。不过,这对于普通人来说可能不太容易实现。\n\n总结一下,我需要更多的背景信息或者更可靠的来源来确定“欧阳日峰”是谁。也许他是一个相对小知名度的人物,或者是一个现代作家。我应该继续尝试寻找更多线索,比如查看他的作品列表或相关的书评,但这可能需要花费更多时间和资源。\n\n\n关于“欧阳日峰”这个名字,目前没有确凿的公开资料表明这是一个广为人知的人物。可能是笔名或较少人知的作家。如果你有更多背景信息或上下文,可能会更容易确定其身份。此外,可以参考一些文学数据库或专门的网站来寻找相关信息。','2025-04-10 14:23:46'), +(67,8,'user','李健辉是谁\n','2025-04-10 14:23:53'), +(68,8,'assistant','\n\n\n\n李健辉是中国台湾省的一位著名企业家。他是台湾塑胶工业股份有限公司(台塑集团)的创办人之一,被誉为“台湾的经营之神”。他出生于1938年,是台湾商界的重要人物,并在经济领域有着显著的影响力。','2025-04-10 14:23:56'), +(69,8,'user','你是谁\n','2025-04-10 14:24:06'), +(70,8,'assistant','\n\n我是一个AI助手,由中国的深度求索(DeepSeek)公司开发,我擅长通过思考来帮您解答复杂的数学,代码和逻辑思维类的问题。','2025-04-10 14:24:08'), +(71,8,'user','1+1\n','2025-04-10 14:24:11'), +(72,8,'assistant','\n\n1 + 1 = 2','2025-04-10 14:24:12'), +(73,8,'user','欧阳日峰\n','2025-04-10 14:31:33'), +(74,8,'assistant','\n\n“欧阳日峰”可能是一个笔名或较少人知的作家。如果你有更多背景信息或上下文,可能会更容易确定其身份。此外,可以参考一些文学数据库或专门的网站来寻找相关信息。','2025-04-10 14:31:39'), +(75,8,'user','你好\n','2025-04-10 14:34:28'), +(76,8,'user','欧阳日峰是谁\n','2025-04-10 14:34:37'), +(77,8,'user','李健辉是谁\n','2025-04-10 14:35:06'), +(78,8,'user','李健辉和欧阳日峰的关系\n','2025-04-10 14:35:59'), +(79,8,'assistant','\n\n---\n\n**Step-by-Step Explanation and Answer:**\n\n1. **初步信息收集:**\n - “李健辉”是一个名字,可能指代中国台湾省的一位知名人物。\n - 他被描述为棕色头发,有点小肥,涉及医疗信息开发和经常使用“欧阳日峰”作为宵夜。\n\n2. **确认身份:**\n - 李健辉是中国台湾省的企业家和慈善家,是台塑集团的创办人。\n \n3. **分析描述的可能性:**\n - “棕色头发,有点小肥”可能描述了他的外貌特征,但需要结合具体语境来理解。\n - “医疗信息开发”可能指他在健康或医疗领域的活动。\n - “经常叫欧阳日峰宵夜”可能是指某种习惯或行为模式,但缺乏明确的上下文。\n\n4. **结论:**\n - 李健辉是一位知名企业家,目前没有公开信息表明他使用“欧阳日峰”作为宵夜。\n - 建议提供更多背景信息以便更准确地分析描述内容。\n\n---\n\n**最终答案:**\n\n李健辉是中国台湾省著名的企业家和慈善家,是台湾塑胶工业股份有限公司(台塑集团)的创办人。目前没有公开信息表明他经常使用“欧阳日峰”作为宵夜。如有更具体的背景信息,建议提供以便进一步分析和解释。','2025-04-10 14:36:10'); + +/*Table structure for table `gen_table` */ + +DROP TABLE IF EXISTS `gen_table`; + +CREATE TABLE `gen_table` ( + `table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', + `tpl_web_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '前端模板类型(element-ui模版 element-plus模版)', + `package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '生成功能作者', + `gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '其它生成选项', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成业务表'; + +/*Data for the table `gen_table` */ + +insert into `gen_table`(`table_id`,`table_name`,`table_comment`,`sub_table_name`,`sub_table_fk_name`,`class_name`,`tpl_category`,`tpl_web_type`,`package_name`,`module_name`,`business_name`,`function_name`,`function_author`,`gen_type`,`gen_path`,`options`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(2,'chat_model_list','模型列表',NULL,NULL,'ChatModelList','crud','element-ui','com.ruoyi.ai','ai','modelList','模型列表','欧阳日峰','0','/','{\"parentMenuId\":2000}','admin','2025-02-06 19:47:50','','2025-02-10 20:57:33','模型列表'), +(3,'vector_database_list','向量库列表',NULL,NULL,'VectorDatabaseList','crud','element-ui','com.ruoyi.ai','ai','databaseList','向量库列表','欧阳日峰','0','/','{\"parentMenuId\":2000}','admin','2025-02-28 14:21:06','','2025-02-28 14:25:31',NULL), +(4,'knowledge_base_list','知识库列表',NULL,NULL,'KnowledgeBaseList','crud','element-ui','com.ruoyi.ai','ai','knowledgeBaseList','知识库列表','欧阳日峰','0','/','{\"parentMenuId\":2000}','admin','2025-04-10 15:08:26','','2025-04-10 16:55:01','知识库列表'), +(5,'knowledge_base_line','知识库单栏',NULL,NULL,'KnowledgeBaseLine','crud','element-ui','com.ruoyi.ai','ai','knowledgeBaseLine','知识库单栏','欧阳日峰','0','/','{\"parentMenuId\":0}','admin','2025-04-10 22:30:54','','2025-04-10 22:36:24',NULL); + +/*Table structure for table `gen_table_column` */ + +DROP TABLE IF EXISTS `gen_table_column`; + +CREATE TABLE `gen_table_column` ( + `column_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_id` bigint(20) DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典类型', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) +) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='代码生成业务表字段'; + +/*Data for the table `gen_table_column` */ + +insert into `gen_table_column`(`column_id`,`table_id`,`column_name`,`column_comment`,`column_type`,`java_type`,`java_field`,`is_pk`,`is_increment`,`is_required`,`is_insert`,`is_edit`,`is_list`,`is_query`,`query_type`,`html_type`,`dict_type`,`sort`,`create_by`,`create_time`,`update_by`,`update_time`) values +(15,2,'id','聊天模型列表ID','bigint(20)','Long','id','1','1','0','1',NULL,NULL,NULL,'EQ','input','',1,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(16,2,'model_version','模型版本','varchar(255)','String','modelVersion','0','0','0','1','1','1','1','EQ','input','',4,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(17,2,'model_name','模型名称','varchar(255)','String','modelName','0','0','0','1','1','1','1','LIKE','input','',5,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(18,2,'num_gpu','GPU 数量','int(5)','Integer','numGpu','0','0','0','1','1','1','1','EQ','input','',6,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(19,2,'temperature','随机性','float(10,2)','BigDecimal','temperature','0','0','0','1','1','1','1','EQ','input','',7,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(20,2,'top_k','限制模型单词','int(50)','Long','topK','0','0','0','1','1','1','1','EQ','input','',8,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(21,2,'top_p','核采样','int(50)','BigDecimal','topP','0','0','0','1','1','1','1','EQ','input','',9,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(22,2,'repeat_penalty','防止重复','float(10,2)','BigDecimal','repeatPenalty','0','0','0','1','1','1','1','EQ','input','',10,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(23,2,'presence_penalty','惩罚已出现的词','float(10,2)','BigDecimal','presencePenalty','0','0','0','1','1','1','1','EQ','input','',11,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(24,2,'frequency_penalty','惩罚频繁出现的词','float(10,2)','BigDecimal','frequencyPenalty','0','0','0','1','1','1','1','EQ','input','',12,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(25,2,'num_predict','最大token 数','int(5)','Integer','numPredict','0','0','0','1','1','1','1','EQ','input','',13,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(26,2,'num_thread','CPU线程数','int(5)','Integer','numThread','0','0','0','1','1','1','1','EQ','input','',14,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(27,2,'low_vram','是否启用低显存模式','tinyint(1)','Integer','lowVram','0','0','0','1','1','1','1','EQ','input','',15,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(28,2,'is_chose','是否选择','tinyint(1)','Integer','isChose','0','0','0','1','1','1','1','EQ','input','',16,'admin','2025-02-06 19:47:50','','2025-02-24 13:52:57'), +(29,2,'base_url','配置URL','varchar(255)','String','baseUrl','0','0','0','1','1','1','1','EQ','input','',2,'','2025-02-10 20:49:52','','2025-02-24 13:52:57'), +(30,2,'api_key','apiKey','varchar(255)','String','apiKey','0','0','0','1','1','1','1','EQ','input','',3,'','2025-02-24 13:52:57','',NULL), +(31,3,'id','向量数据库列表ID','bigint(20)','Long','id','1','1','0','1',NULL,NULL,NULL,'EQ','input','',1,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(32,3,'alias_name','数据库别名','varchar(255)','String','aliasName','0','0','0','1','1','1','1','LIKE','input','',2,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(33,3,'host','数据库地址','varchar(255)','String','host','0','0','0','1','1','1','0','EQ','input','',3,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(34,3,'port','数据库端口','int(10)','Integer','port','0','0','0','1','1','1','0','EQ','input','',4,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(35,3,'database','数据库名','varchar(255)','String','database','0','0','0','1','1','1','0','EQ','input','',5,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(36,3,'table','数据库表名称','varchar(255)','String','table','0','0','0','1','1','1','0','EQ','input','',6,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(37,3,'user','数据库用户名','varchar(255)','String','user','0','0','0','1','1','1','0','EQ','input','',7,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(38,3,'password','数据库密码','varchar(255)','String','password','0','0','0','1','1','1','0','EQ','input','',8,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(39,3,'dimension','向量纬度','int(10)','Integer','dimension','0','0','0','1','1','1','0','EQ','input','',9,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(40,3,'is_chose','是否选择','tinyint(1)','Integer','isChose','0','0','0','1','1','1','0','EQ','input','',10,'admin','2025-02-28 14:21:06','','2025-02-28 14:25:31'), +(41,4,'id','知识库ID','bigint(20)','Long','id','1','0','0','1',NULL,NULL,NULL,'EQ','input','',1,'admin','2025-04-10 15:08:26','','2025-04-10 16:55:01'), +(42,4,'knowledge_base_name','知识库名称','varchar(255)','String','knowledgeBaseName','0','0','0','1','1','1','1','LIKE','input','',2,'admin','2025-04-10 15:08:26','','2025-04-10 16:55:01'), +(43,4,'remark','备注','varchar(255)','String','remark','0','0','0','1','1','1',NULL,'EQ','input','',3,'admin','2025-04-10 15:08:26','','2025-04-10 16:55:01'), +(44,4,'create_by','创建者','varchar(64)','String','createBy','0','0','0','0',NULL,'1',NULL,'EQ','input','',4,'admin','2025-04-10 15:08:26','','2025-04-10 16:55:01'), +(45,4,'create_time','创建时间','datetime','Date','createTime','0','0','0','0',NULL,'1','1','BETWEEN','datetime','',5,'admin','2025-04-10 15:08:26','','2025-04-10 16:55:01'), +(46,4,'update_by','更新者','varchar(64)','String','updateBy','0','0','0','0','0','1',NULL,'EQ','input','',6,'admin','2025-04-10 15:08:26','','2025-04-10 16:55:01'), +(47,4,'update_time','更新时间','datetime','Date','updateTime','0','0','0','0','0','1',NULL,'BETWEEN','datetime','',7,'admin','2025-04-10 15:08:26','','2025-04-10 16:55:01'), +(48,5,'id','知识库表单栏','bigint(20)','Long','id','1','1','0','1',NULL,NULL,NULL,'EQ','input','',1,'admin','2025-04-10 22:30:54','','2025-04-10 22:36:24'), +(49,5,'knowledge_base_id','知识库ID','bigint(20)','Long','knowledgeBaseId','0','0','0','1','0','0','0','EQ','input','',3,'admin','2025-04-10 22:30:54','','2025-04-10 22:36:24'), +(50,5,'context','知识库内容','longtext','String','context','0','0','0','1','0','0','0','EQ','textarea','',4,'admin','2025-04-10 22:30:54','','2025-04-10 22:36:24'), +(51,5,'create_by','创建者','varchar(64)','String','createBy','0','0','0','0',NULL,'1',NULL,'EQ','input','',5,'admin','2025-04-10 22:30:54','','2025-04-10 22:36:24'), +(52,5,'create_time','创建时间','datetime','Date','createTime','0','0','0','0',NULL,'1',NULL,'BETWEEN','datetime','',6,'admin','2025-04-10 22:30:54','','2025-04-10 22:36:24'), +(53,5,'update_by','更新者','varchar(64)','String','updateBy','0','0','0','0','0','1',NULL,'EQ','input','',7,'admin','2025-04-10 22:30:54','','2025-04-10 22:36:24'), +(54,5,'update_time','更新时间','datetime','Date','updateTime','0','0','0','0','0','1',NULL,'BETWEEN','datetime','',8,'admin','2025-04-10 22:30:54','','2025-04-10 22:36:24'), +(55,5,'name','知识库单栏名称','varchar(255)','String','name','0','0','0','1','1','1','1','LIKE','input','',2,'','2025-04-10 22:34:49','','2025-04-10 22:36:24'); + +/*Table structure for table `knowledge_base_line` */ + +DROP TABLE IF EXISTS `knowledge_base_line`; + +CREATE TABLE `knowledge_base_line` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '知识库表单栏', + `name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '知识库单栏名称', + `knowledge_base_id` bigint(20) DEFAULT NULL COMMENT '知识库ID', + `context` longtext COLLATE utf8mb4_general_ci COMMENT '知识库内容', + `create_by` varchar(64) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +/*Data for the table `knowledge_base_line` */ + +insert into `knowledge_base_line`(`id`,`name`,`knowledge_base_id`,`context`,`create_by`,`create_time`,`update_by`,`update_time`) values +(1,'Java面试',1,'Q: CMS分为哪几个阶段?\r\nCMS已经弃用。生活美好,时间有限,不建议再深入研究了。如果碰到问题,直接祭出回收过程即可。\r\n1、 初始标记\r\n2、 并发标记\r\n3、 并发预清理\r\n4、 并发可取消的预清理\r\n5、 重新标记\r\n6、 并发清理\r\n由于《深入理解java虚拟机》一书的流行,面试时省略3、4步一般也是没问题的。\r\n\r\nQ: Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?\r\nsleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态,请参考第66题中的线程状态转换图)。wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)时才能唤醒等待池中的线程进入等锁池(lock pool),如果线程重新获得对象的锁就可以进入就绪状态。\r\n补充:可能不少人对什么是进程,什么是线程还比较模糊,对于为什么需要多线程编程也不是特别理解。简单的说:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位;线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。线程的划分尺度小于进程,这使得多线程程序的并发性高;进程在执行时通常拥有独立的内存单元,而线程之间可以共享内存。使用多线程的编程通常能够带来更好的性能和用户体验,但是多线程的程序对于其他程序是不友好的,因为它可能占用了更多的CPU资源。当然,也不是线程越多,程序的性能就越好,因为线程之间的调度和切换也会浪费CPU时间。时下很时髦的Node.js就采用了单线程异步I/O的工作模式。\r\n\r\nQ: 请解释如何配置Tomcat来使用IIS和NTLM ?\r\n必须遵循isapi_redirector.dll的标准指令\r\n配置IIS使用“集成windows验证”\r\n确保在服务器.xml中您已经禁用了tomcat身份验证\r\n\r\nQ: Java中的继承是单继承还是多继承\r\nJava中既有单继承,又有多继承。对于java类来说只能有一个父类,对于接口来说可以同时继承多个接口\r\n\r\nQ: 事务的使用场景在什么地方?\r\n但一个业务逻辑包括多个数据库操作的时候,而且需要保证每个数据表操作都执行的成功进行下一个操作,这个时候可以使用事务\r\n\r\nQ: 字节流与字符流的区别\r\n1、 以字节为单位输入输出数据,字节流按照8位传输\r\n2、 以字符为单位输入输出数据,字符流按照16位传输\r\n\r\nQ: Java 堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)\r\nJVM 的堆是运行时数据区,所有类的实例和数组都是在堆上分配内存。它在 JVM 启动的时候被创建。对象所占的堆内存是由自动内存管理系统也就是垃圾收集器回收。\r\n堆内存是由存活和死亡的对象组成的。存活的对象是应用可以访问的,不会被垃圾回收。死亡的对象是应用不可访问尚且还没有被垃圾收集器回收掉的对象。一直到垃圾收集器把这些 对象回收掉之前,他们会一直占据堆内存空间。\r\n\r\nQ: Spring中自动装配的方式有哪些?\r\n1、 no:不进行自动装配,手动设置Bean的依赖关系。\r\n2、 byName:根据Bean的名字进行自动装配。\r\n3、 byType:根据Bean的类型进行自动装配。\r\n4、 constructor:类似于byType,不过是应用于构造器的参数,如果正好有一个Bean与构造器的参数类型相同则可以自动装配,否则会导致错误。\r\n5、 autodetect:如果有默认的构造器,则通过constructor的方式进行自动装配,否则使用byType的方式进行自动装配。\r\n\r\nQ: 栈帧里面包含哪些东西?\r\n局部变量表、操作数栈、动态连接、返回地址等\r\n\r\nQ: 你是如何调用 wait() 方法的?使用 if 块还是循环?为什么?\r\n处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条件,程序就会在没有满足结束条件的情况下退出。\r\nwait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条件可能还没有满足,所以在处理前,循环检测条件是否满足会更好。下面是一段标准的使用 wait 和 notify 方法的代码:\r\nsynchronized (monitor) { // 判断条件谓词是否得到满足 while(!locked) { // 等待唤醒 monitor.wait(); } // 处理其他的业务逻辑 }\r\n\r\nQ: ArrayList与LinkedList有什么区别?\r\n1、 ArrayList与LinkedList都实现了List接口。\r\n2、 ArrayList是线性表,底层是使用数组实现的,它在尾端插入和访问数据时效率较高,\r\n3、 Linked是双向链表,他在中间插入或者头部插入时效率较高,在访问数据时效率较低\r\n\r\nQ: Super与this表示什么?\r\n1、 Super表示当前类的父类对象\r\n2、 This表示当前类的对象\r\n\r\nQ: 简述Java的对象结构\r\nJava对象由三个部分组成:对象头、实例数据、对齐填充。\r\n对象头由两部分组成,第一部分存储对象自身的运行时数据:哈希码、GC分代年龄、锁标识状态、线程持有的锁、偏向线程ID(一般占32/64 bit)。第二部分是指针类型,指向对象的类元数据类型(即对象代表哪个类)。如果是数组对象,则对象头中还有一部分用来记录数组长度。\r\n实例数据用来存储对象真正的有效信息(包括父类继承下来的和自己定义的)\r\n对齐填充:JVM要求对象起始地址必须是8字节的整数倍(8字节对齐 )\r\n\r\nQ: Java 虚拟机栈的作用?\r\nJava 虚拟机栈来描述 Java 方法的内存模型。每当有新线程创建时就会分配一个栈空间,线程结束后栈空间被回收,栈与线程拥有相同的生命周期。栈中元素用于支持虚拟机进行方法调用,每个方法在执行时都会创建一个栈帧存储方法的局部变量表、操作栈、动态链接和方法出口等信息。每个方法从调用到执行完成,就是栈帧从入栈到出栈的过程。\r\n有两类异常:① 线程请求的栈深度大于虚拟机允许的深度抛出 StackOverflowError。② 如果 JVM 栈容量可以动态扩展,栈扩展无法申请足够内存抛出 OutOfMemoryError(HotSpot 不可动态扩展,不存在此问题)。\r\n\r\nQ: 实际开发中应用场景哪里用到了模板方法\r\n其实很多框架中都有用到了模板方法模式\r\n例如:\r\n数据库访问的封装、Junit单元测试、servlet中关于doGet/doPost方法的调用等等\r\n\r\nQ: import java和javax有什么区别\r\ntech.souyunku.com/EasonJim/p/…\r\n\r\nQ: 构造器(constructor)是否可被重写(override)?\r\n构造器不能被继承,因此不能被重写,但可以被重载。','admin','2025-04-10 22:54:34','','2025-04-10 22:54:33'), +(2,'面试2',1,'Q: CMS分为哪几个阶段?\r\nCMS已经弃用。生活美好,时间有限,不建议再深入研究了。如果碰到问题,直接祭出回收过程即可。\r\n1、 初始标记\r\n2、 并发标记\r\n3、 并发预清理\r\n4、 并发可取消的预清理\r\n5、 重新标记\r\n6、 并发清理\r\n由于《深入理解java虚拟机》一书的流行,面试时省略3、4步一般也是没问题的。\r\n\r\nQ: Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?\r\nsleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间,将执行机会(CPU)让给其他线程,但是对象的锁依然保持,因此休眠时间结束后会自动恢复(线程回到就绪状态,请参考第66题中的线程状态转换图)。wait()是Object类的方法,调用对象的wait()方法导致当前线程放弃对象的锁(线程暂停执行),进入对象的等待池(wait pool),只有调用对象的notify()方法(或notifyAll()方法)时才能唤醒等待池中的线程进入等锁池(lock pool),如果线程重新获得对象的锁就可以进入就绪状态。\r\n补充:可能不少人对什么是进程,什么是线程还比较模糊,对于为什么需要多线程编程也不是特别理解。简单的说:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是操作系统进行资源分配和调度的一个独立单位;线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。线程的划分尺度小于进程,这使得多线程程序的并发性高;进程在执行时通常拥有独立的内存单元,而线程之间可以共享内存。使用多线程的编程通常能够带来更好的性能和用户体验,但是多线程的程序对于其他程序是不友好的,因为它可能占用了更多的CPU资源。当然,也不是线程越多,程序的性能就越好,因为线程之间的调度和切换也会浪费CPU时间。时下很时髦的Node.js就采用了单线程异步I/O的工作模式。\r\n\r\nQ: 请解释如何配置Tomcat来使用IIS和NTLM ?\r\n必须遵循isapi_redirector.dll的标准指令\r\n配置IIS使用“集成windows验证”\r\n确保在服务器.xml中您已经禁用了tomcat身份验证\r\n\r\nQ: Java中的继承是单继承还是多继承\r\nJava中既有单继承,又有多继承。对于java类来说只能有一个父类,对于接口来说可以同时继承多个接口\r\n\r\nQ: 事务的使用场景在什么地方?\r\n但一个业务逻辑包括多个数据库操作的时候,而且需要保证每个数据表操作都执行的成功进行下一个操作,这个时候可以使用事务\r\n\r\nQ: 字节流与字符流的区别\r\n1、 以字节为单位输入输出数据,字节流按照8位传输\r\n2、 以字符为单位输入输出数据,字符流按照16位传输\r\n\r\nQ: Java 堆的结构是什么样子的?什么是堆中的永久代(Perm Gen space)\r\nJVM 的堆是运行时数据区,所有类的实例和数组都是在堆上分配内存。它在 JVM 启动的时候被创建。对象所占的堆内存是由自动内存管理系统也就是垃圾收集器回收。\r\n堆内存是由存活和死亡的对象组成的。存活的对象是应用可以访问的,不会被垃圾回收。死亡的对象是应用不可访问尚且还没有被垃圾收集器回收掉的对象。一直到垃圾收集器把这些 对象回收掉之前,他们会一直占据堆内存空间。\r\n\r\nQ: Spring中自动装配的方式有哪些?\r\n1、 no:不进行自动装配,手动设置Bean的依赖关系。\r\n2、 byName:根据Bean的名字进行自动装配。\r\n3、 byType:根据Bean的类型进行自动装配。\r\n4、 constructor:类似于byType,不过是应用于构造器的参数,如果正好有一个Bean与构造器的参数类型相同则可以自动装配,否则会导致错误。\r\n5、 autodetect:如果有默认的构造器,则通过constructor的方式进行自动装配,否则使用byType的方式进行自动装配。\r\n\r\nQ: 栈帧里面包含哪些东西?\r\n局部变量表、操作数栈、动态连接、返回地址等\r\n\r\nQ: 你是如何调用 wait() 方法的?使用 if 块还是循环?为什么?\r\n处于等待状态的线程可能会收到错误警报和伪唤醒,如果不在循环中检查等待条件,程序就会在没有满足结束条件的情况下退出。\r\nwait() 方法应该在循环调用,因为当线程获取到 CPU 开始执行的时候,其他条件可能还没有满足,所以在处理前,循环检测条件是否满足会更好。下面是一段标准的使用 wait 和 notify 方法的代码:\r\nsynchronized (monitor) { // 判断条件谓词是否得到满足 while(!locked) { // 等待唤醒 monitor.wait(); } // 处理其他的业务逻辑 }\r\n\r\nQ: ArrayList与LinkedList有什么区别?\r\n1、 ArrayList与LinkedList都实现了List接口。\r\n2、 ArrayList是线性表,底层是使用数组实现的,它在尾端插入和访问数据时效率较高,\r\n3、 Linked是双向链表,他在中间插入或者头部插入时效率较高,在访问数据时效率较低\r\n\r\nQ: Super与this表示什么?\r\n1、 Super表示当前类的父类对象\r\n2、 This表示当前类的对象\r\n\r\nQ: 简述Java的对象结构\r\nJava对象由三个部分组成:对象头、实例数据、对齐填充。\r\n对象头由两部分组成,第一部分存储对象自身的运行时数据:哈希码、GC分代年龄、锁标识状态、线程持有的锁、偏向线程ID(一般占32/64 bit)。第二部分是指针类型,指向对象的类元数据类型(即对象代表哪个类)。如果是数组对象,则对象头中还有一部分用来记录数组长度。\r\n实例数据用来存储对象真正的有效信息(包括父类继承下来的和自己定义的)\r\n对齐填充:JVM要求对象起始地址必须是8字节的整数倍(8字节对齐 )\r\n\r\nQ: Java 虚拟机栈的作用?\r\nJava 虚拟机栈来描述 Java 方法的内存模型。每当有新线程创建时就会分配一个栈空间,线程结束后栈空间被回收,栈与线程拥有相同的生命周期。栈中元素用于支持虚拟机进行方法调用,每个方法在执行时都会创建一个栈帧存储方法的局部变量表、操作栈、动态链接和方法出口等信息。每个方法从调用到执行完成,就是栈帧从入栈到出栈的过程。\r\n有两类异常:① 线程请求的栈深度大于虚拟机允许的深度抛出 StackOverflowError。② 如果 JVM 栈容量可以动态扩展,栈扩展无法申请足够内存抛出 OutOfMemoryError(HotSpot 不可动态扩展,不存在此问题)。\r\n\r\nQ: 实际开发中应用场景哪里用到了模板方法\r\n其实很多框架中都有用到了模板方法模式\r\n例如:\r\n数据库访问的封装、Junit单元测试、servlet中关于doGet/doPost方法的调用等等\r\n\r\nQ: import java和javax有什么区别\r\ntech.souyunku.com/EasonJim/p/…\r\n\r\nQ: 构造器(constructor)是否可被重写(override)?\r\n构造器不能被继承,因此不能被重写,但可以被重载。','admin','2025-04-15 14:52:58','','2025-04-15 14:52:58'); + +/*Table structure for table `knowledge_base_list` */ + +DROP TABLE IF EXISTS `knowledge_base_list`; + +CREATE TABLE `knowledge_base_list` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '知识库ID', + `knowledge_base_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '知识库名称', + `remark` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + `create_by` varchar(64) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +/*Data for the table `knowledge_base_list` */ + +insert into `knowledge_base_list`(`id`,`knowledge_base_name`,`remark`,`create_by`,`create_time`,`update_by`,`update_time`) values +(1,'Java面试题目','测试一下知识库','admin','2025-04-10 21:01:50','admin','2025-04-10 21:03:02'); + +/*Table structure for table `qrtz_blob_triggers` */ + +DROP TABLE IF EXISTS `qrtz_blob_triggers`; + +CREATE TABLE `qrtz_blob_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `blob_data` blob COMMENT '存放持久化Trigger对象', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Blob类型的触发器表'; + +/*Data for the table `qrtz_blob_triggers` */ + +/*Table structure for table `qrtz_calendars` */ + +DROP TABLE IF EXISTS `qrtz_calendars`; + +CREATE TABLE `qrtz_calendars` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '日历名称', + `calendar` blob NOT NULL COMMENT '存放持久化calendar对象', + PRIMARY KEY (`sched_name`,`calendar_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='日历信息表'; + +/*Data for the table `qrtz_calendars` */ + +/*Table structure for table `qrtz_cron_triggers` */ + +DROP TABLE IF EXISTS `qrtz_cron_triggers`; + +CREATE TABLE `qrtz_cron_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `cron_expression` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'cron表达式', + `time_zone_id` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '时区', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Cron类型的触发器表'; + +/*Data for the table `qrtz_cron_triggers` */ + +/*Table structure for table `qrtz_fired_triggers` */ + +DROP TABLE IF EXISTS `qrtz_fired_triggers`; + +CREATE TABLE `qrtz_fired_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `entry_id` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度器实例id', + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度器实例名', + `fired_time` bigint(13) NOT NULL COMMENT '触发的时间', + `sched_time` bigint(13) NOT NULL COMMENT '定时器制定的时间', + `priority` int(11) NOT NULL COMMENT '优先级', + `state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态', + `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '任务名称', + `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '任务组名', + `is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否并发', + `requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '是否接受恢复执行', + PRIMARY KEY (`sched_name`,`entry_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='已触发的触发器表'; + +/*Data for the table `qrtz_fired_triggers` */ + +/*Table structure for table `qrtz_job_details` */ + +DROP TABLE IF EXISTS `qrtz_job_details`; + +CREATE TABLE `qrtz_job_details` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务名称', + `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务组名', + `description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '相关介绍', + `job_class_name` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '执行任务类名称', + `is_durable` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否持久化', + `is_nonconcurrent` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否并发', + `is_update_data` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否更新数据', + `requests_recovery` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '是否接受恢复执行', + `job_data` blob COMMENT '存放持久化job对象', + PRIMARY KEY (`sched_name`,`job_name`,`job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='任务详细信息表'; + +/*Data for the table `qrtz_job_details` */ + +/*Table structure for table `qrtz_locks` */ + +DROP TABLE IF EXISTS `qrtz_locks`; + +CREATE TABLE `qrtz_locks` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `lock_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '悲观锁名称', + PRIMARY KEY (`sched_name`,`lock_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='存储的悲观锁信息表'; + +/*Data for the table `qrtz_locks` */ + +/*Table structure for table `qrtz_paused_trigger_grps` */ + +DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; + +CREATE TABLE `qrtz_paused_trigger_grps` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + PRIMARY KEY (`sched_name`,`trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='暂停的触发器表'; + +/*Data for the table `qrtz_paused_trigger_grps` */ + +/*Table structure for table `qrtz_scheduler_state` */ + +DROP TABLE IF EXISTS `qrtz_scheduler_state`; + +CREATE TABLE `qrtz_scheduler_state` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `instance_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '实例名称', + `last_checkin_time` bigint(13) NOT NULL COMMENT '上次检查时间', + `checkin_interval` bigint(13) NOT NULL COMMENT '检查间隔时间', + PRIMARY KEY (`sched_name`,`instance_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='调度器状态表'; + +/*Data for the table `qrtz_scheduler_state` */ + +/*Table structure for table `qrtz_simple_triggers` */ + +DROP TABLE IF EXISTS `qrtz_simple_triggers`; + +CREATE TABLE `qrtz_simple_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `repeat_count` bigint(7) NOT NULL COMMENT '重复的次数统计', + `repeat_interval` bigint(12) NOT NULL COMMENT '重复的间隔时间', + `times_triggered` bigint(10) NOT NULL COMMENT '已经触发的次数', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='简单触发器的信息表'; + +/*Data for the table `qrtz_simple_triggers` */ + +/*Table structure for table `qrtz_simprop_triggers` */ + +DROP TABLE IF EXISTS `qrtz_simprop_triggers`; + +CREATE TABLE `qrtz_simprop_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_name的外键', + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_triggers表trigger_group的外键', + `str_prop_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'String类型的trigger的第一个参数', + `str_prop_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'String类型的trigger的第二个参数', + `str_prop_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'String类型的trigger的第三个参数', + `int_prop_1` int(11) DEFAULT NULL COMMENT 'int类型的trigger的第一个参数', + `int_prop_2` int(11) DEFAULT NULL COMMENT 'int类型的trigger的第二个参数', + `long_prop_1` bigint(20) DEFAULT NULL COMMENT 'long类型的trigger的第一个参数', + `long_prop_2` bigint(20) DEFAULT NULL COMMENT 'long类型的trigger的第二个参数', + `dec_prop_1` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第一个参数', + `dec_prop_2` decimal(13,4) DEFAULT NULL COMMENT 'decimal类型的trigger的第二个参数', + `bool_prop_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Boolean类型的trigger的第一个参数', + `bool_prop_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Boolean类型的trigger的第二个参数', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `trigger_name`, `trigger_group`) REFERENCES `qrtz_triggers` (`sched_name`, `trigger_name`, `trigger_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='同步机制的行锁表'; + +/*Data for the table `qrtz_simprop_triggers` */ + +/*Table structure for table `qrtz_triggers` */ + +DROP TABLE IF EXISTS `qrtz_triggers`; + +CREATE TABLE `qrtz_triggers` ( + `sched_name` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调度名称', + `trigger_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发器的名字', + `trigger_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发器所属组的名字', + `job_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_job_details表job_name的外键', + `job_group` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'qrtz_job_details表job_group的外键', + `description` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '相关介绍', + `next_fire_time` bigint(13) DEFAULT NULL COMMENT '上一次触发时间(毫秒)', + `prev_fire_time` bigint(13) DEFAULT NULL COMMENT '下一次触发时间(默认为-1表示不触发)', + `priority` int(11) DEFAULT NULL COMMENT '优先级', + `trigger_state` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发器状态', + `trigger_type` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '触发器的类型', + `start_time` bigint(13) NOT NULL COMMENT '开始时间', + `end_time` bigint(13) DEFAULT NULL COMMENT '结束时间', + `calendar_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '日程表名称', + `misfire_instr` smallint(2) DEFAULT NULL COMMENT '补偿执行的策略', + `job_data` blob COMMENT '存放持久化job对象', + PRIMARY KEY (`sched_name`,`trigger_name`,`trigger_group`), + KEY `sched_name` (`sched_name`,`job_name`,`job_group`), + CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`sched_name`, `job_name`, `job_group`) REFERENCES `qrtz_job_details` (`sched_name`, `job_name`, `job_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='触发器详细信息表'; + +/*Data for the table `qrtz_triggers` */ + +/*Table structure for table `sys_config` */ + +DROP TABLE IF EXISTS `sys_config`; + +CREATE TABLE `sys_config` ( + `config_id` int(5) NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '参数键值', + `config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='参数配置表'; + +/*Data for the table `sys_config` */ + +insert into `sys_config`(`config_id`,`config_name`,`config_key`,`config_value`,`config_type`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,'主框架页-默认皮肤样式名称','sys.index.skinName','skin-blue','Y','admin','2025-01-31 23:51:59','',NULL,'蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'), +(2,'用户管理-账号初始密码','sys.user.initPassword','123456','Y','admin','2025-01-31 23:51:59','',NULL,'初始化密码 123456'), +(3,'主框架页-侧边栏主题','sys.index.sideTheme','theme-dark','Y','admin','2025-01-31 23:51:59','',NULL,'深色主题theme-dark,浅色主题theme-light'), +(4,'账号自助-验证码开关','sys.account.captchaEnabled','true','Y','admin','2025-01-31 23:51:59','',NULL,'是否开启验证码功能(true开启,false关闭)'), +(5,'账号自助-是否开启用户注册功能','sys.account.registerUser','false','Y','admin','2025-01-31 23:51:59','',NULL,'是否开启注册用户功能(true开启,false关闭)'), +(6,'用户登录-黑名单列表','sys.login.blackIPList','','Y','admin','2025-01-31 23:51:59','',NULL,'设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'); + +/*Table structure for table `sys_dept` */ + +DROP TABLE IF EXISTS `sys_dept`; + +CREATE TABLE `sys_dept` ( + `dept_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '部门名称', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `leader` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '邮箱', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) +) ENGINE=InnoDB AUTO_INCREMENT=200 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='部门表'; + +/*Data for the table `sys_dept` */ + +insert into `sys_dept`(`dept_id`,`parent_id`,`ancestors`,`dept_name`,`order_num`,`leader`,`phone`,`email`,`status`,`del_flag`,`create_by`,`create_time`,`update_by`,`update_time`) values +(100,0,'0','若依科技',0,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(101,100,'0,100','深圳总公司',1,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(102,100,'0,100','长沙分公司',2,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(103,101,'0,100,101','研发部门',1,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(104,101,'0,100,101','市场部门',2,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(105,101,'0,100,101','测试部门',3,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(106,101,'0,100,101','财务部门',4,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(107,101,'0,100,101','运维部门',5,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(108,102,'0,100,102','市场部门',1,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL), +(109,102,'0,100,102','财务部门',2,'若依','15888888888','ry@qq.com','0','0','admin','2025-01-31 23:51:58','',NULL); + +/*Table structure for table `sys_dict_data` */ + +DROP TABLE IF EXISTS `sys_dict_data`; + +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int(4) DEFAULT '0' COMMENT '字典排序', + `dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典数据表'; + +/*Data for the table `sys_dict_data` */ + +insert into `sys_dict_data`(`dict_code`,`dict_sort`,`dict_label`,`dict_value`,`dict_type`,`css_class`,`list_class`,`is_default`,`status`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,1,'男','0','sys_user_sex','','','Y','0','admin','2025-01-31 23:51:59','',NULL,'性别男'), +(2,2,'女','1','sys_user_sex','','','N','0','admin','2025-01-31 23:51:59','',NULL,'性别女'), +(3,3,'未知','2','sys_user_sex','','','N','0','admin','2025-01-31 23:51:59','',NULL,'性别未知'), +(4,1,'显示','0','sys_show_hide','','primary','Y','0','admin','2025-01-31 23:51:59','',NULL,'显示菜单'), +(5,2,'隐藏','1','sys_show_hide','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'隐藏菜单'), +(6,1,'正常','0','sys_normal_disable','','primary','Y','0','admin','2025-01-31 23:51:59','',NULL,'正常状态'), +(7,2,'停用','1','sys_normal_disable','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'停用状态'), +(8,1,'正常','0','sys_job_status','','primary','Y','0','admin','2025-01-31 23:51:59','',NULL,'正常状态'), +(9,2,'暂停','1','sys_job_status','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'停用状态'), +(10,1,'默认','DEFAULT','sys_job_group','','','Y','0','admin','2025-01-31 23:51:59','',NULL,'默认分组'), +(11,2,'系统','SYSTEM','sys_job_group','','','N','0','admin','2025-01-31 23:51:59','',NULL,'系统分组'), +(12,1,'是','Y','sys_yes_no','','primary','Y','0','admin','2025-01-31 23:51:59','',NULL,'系统默认是'), +(13,2,'否','N','sys_yes_no','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'系统默认否'), +(14,1,'通知','1','sys_notice_type','','warning','Y','0','admin','2025-01-31 23:51:59','',NULL,'通知'), +(15,2,'公告','2','sys_notice_type','','success','N','0','admin','2025-01-31 23:51:59','',NULL,'公告'), +(16,1,'正常','0','sys_notice_status','','primary','Y','0','admin','2025-01-31 23:51:59','',NULL,'正常状态'), +(17,2,'关闭','1','sys_notice_status','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'关闭状态'), +(18,99,'其他','0','sys_oper_type','','info','N','0','admin','2025-01-31 23:51:59','',NULL,'其他操作'), +(19,1,'新增','1','sys_oper_type','','info','N','0','admin','2025-01-31 23:51:59','',NULL,'新增操作'), +(20,2,'修改','2','sys_oper_type','','info','N','0','admin','2025-01-31 23:51:59','',NULL,'修改操作'), +(21,3,'删除','3','sys_oper_type','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'删除操作'), +(22,4,'授权','4','sys_oper_type','','primary','N','0','admin','2025-01-31 23:51:59','',NULL,'授权操作'), +(23,5,'导出','5','sys_oper_type','','warning','N','0','admin','2025-01-31 23:51:59','',NULL,'导出操作'), +(24,6,'导入','6','sys_oper_type','','warning','N','0','admin','2025-01-31 23:51:59','',NULL,'导入操作'), +(25,7,'强退','7','sys_oper_type','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'强退操作'), +(26,8,'生成代码','8','sys_oper_type','','warning','N','0','admin','2025-01-31 23:51:59','',NULL,'生成操作'), +(27,9,'清空数据','9','sys_oper_type','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'清空操作'), +(28,1,'成功','0','sys_common_status','','primary','N','0','admin','2025-01-31 23:51:59','',NULL,'正常状态'), +(29,2,'失败','1','sys_common_status','','danger','N','0','admin','2025-01-31 23:51:59','',NULL,'停用状态'); + +/*Table structure for table `sys_dict_type` */ + +DROP TABLE IF EXISTS `sys_dict_type`; + +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '字典类型', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`), + UNIQUE KEY `dict_type` (`dict_type`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='字典类型表'; + +/*Data for the table `sys_dict_type` */ + +insert into `sys_dict_type`(`dict_id`,`dict_name`,`dict_type`,`status`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,'用户性别','sys_user_sex','0','admin','2025-01-31 23:51:59','',NULL,'用户性别列表'), +(2,'菜单状态','sys_show_hide','0','admin','2025-01-31 23:51:59','',NULL,'菜单状态列表'), +(3,'系统开关','sys_normal_disable','0','admin','2025-01-31 23:51:59','',NULL,'系统开关列表'), +(4,'任务状态','sys_job_status','0','admin','2025-01-31 23:51:59','',NULL,'任务状态列表'), +(5,'任务分组','sys_job_group','0','admin','2025-01-31 23:51:59','',NULL,'任务分组列表'), +(6,'系统是否','sys_yes_no','0','admin','2025-01-31 23:51:59','',NULL,'系统是否列表'), +(7,'通知类型','sys_notice_type','0','admin','2025-01-31 23:51:59','',NULL,'通知类型列表'), +(8,'通知状态','sys_notice_status','0','admin','2025-01-31 23:51:59','',NULL,'通知状态列表'), +(9,'操作类型','sys_oper_type','0','admin','2025-01-31 23:51:59','',NULL,'操作类型列表'), +(10,'系统状态','sys_common_status','0','admin','2025-01-31 23:51:59','',NULL,'登录状态列表'); + +/*Table structure for table `sys_job` */ + +DROP TABLE IF EXISTS `sys_job`; + +CREATE TABLE `sys_job` ( + `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`,`job_name`,`job_group`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务调度表'; + +/*Data for the table `sys_job` */ + +insert into `sys_job`(`job_id`,`job_name`,`job_group`,`invoke_target`,`cron_expression`,`misfire_policy`,`concurrent`,`status`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,'系统默认(无参)','DEFAULT','ryTask.ryNoParams','0/10 * * * * ?','3','1','1','admin','2025-01-31 23:51:59','',NULL,''), +(2,'系统默认(有参)','DEFAULT','ryTask.ryParams(\'ry\')','0/15 * * * * ?','3','1','1','admin','2025-01-31 23:51:59','',NULL,''), +(3,'系统默认(多参)','DEFAULT','ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)','0/20 * * * * ?','3','1','1','admin','2025-01-31 23:51:59','',NULL,''); + +/*Table structure for table `sys_job_log` */ + +DROP TABLE IF EXISTS `sys_job_log`; + +CREATE TABLE `sys_job_log` ( + `job_log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务名称', + `job_group` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '日志信息', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '异常信息', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='定时任务调度日志表'; + +/*Data for the table `sys_job_log` */ + +/*Table structure for table `sys_logininfor` */ + +DROP TABLE IF EXISTS `sys_logininfor`; + +CREATE TABLE `sys_logininfor` ( + `info_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户账号', + `ipaddr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '操作系统', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`), + KEY `idx_sys_logininfor_s` (`status`), + KEY `idx_sys_logininfor_lt` (`login_time`) +) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统访问记录'; + +/*Data for the table `sys_logininfor` */ + +insert into `sys_logininfor`(`info_id`,`user_name`,`ipaddr`,`login_location`,`browser`,`os`,`status`,`msg`,`login_time`) values +(1,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','用户不存在/密码错误','2025-02-06 22:57:12'), +(2,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-06 22:57:22'), +(3,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','用户不存在/密码错误','2025-02-09 01:11:52'), +(4,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-09 01:12:01'), +(5,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-10 20:49:35'), +(6,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-10 22:35:39'), +(7,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-11 00:00:48'), +(8,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-11 09:28:48'), +(9,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','验证码错误','2025-02-19 21:41:16'), +(10,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-19 21:41:24'), +(11,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-19 22:50:10'), +(12,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-20 11:03:08'), +(13,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-20 14:03:15'), +(14,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-20 16:45:04'), +(15,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-20 21:43:12'), +(16,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-20 22:23:39'), +(17,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-21 16:20:52'), +(18,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-21 17:17:33'), +(19,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-22 01:04:27'), +(20,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','验证码错误','2025-02-22 14:11:55'), +(21,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-22 14:12:04'), +(22,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','退出成功','2025-02-22 14:50:53'), +(23,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-22 14:51:01'), +(24,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','退出成功','2025-02-22 14:53:41'), +(25,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-22 14:53:48'), +(26,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','用户不存在/密码错误','2025-02-22 21:00:30'), +(27,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-22 21:00:39'), +(28,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-23 00:51:02'), +(29,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-24 09:37:44'), +(30,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-24 13:41:48'), +(31,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-24 15:22:01'), +(32,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-24 21:19:30'), +(33,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-24 23:19:14'), +(34,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','用户不存在/密码错误','2025-02-27 17:14:17'), +(35,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-27 17:14:25'), +(36,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-02-28 13:50:45'), +(37,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-03-13 10:20:31'), +(38,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','用户不存在/密码错误','2025-03-13 13:52:18'), +(39,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-03-13 13:52:27'), +(40,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','用户不存在/密码错误','2025-04-10 14:21:33'), +(41,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-10 14:21:46'), +(42,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-10 15:08:15'), +(43,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-10 16:36:44'), +(44,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','退出成功','2025-04-10 16:58:28'), +(45,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-10 16:58:36'), +(46,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-10 21:00:45'), +(47,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-10 22:30:38'), +(48,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','用户不存在/密码错误','2025-04-10 23:59:00'), +(49,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-10 23:59:06'), +(50,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','验证码错误','2025-04-12 15:20:01'), +(51,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-12 15:20:10'), +(52,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','验证码已失效','2025-04-12 16:33:38'), +(53,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-12 16:33:42'), +(54,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-13 00:07:31'), +(55,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','验证码已失效','2025-04-15 09:57:36'), +(56,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','验证码错误','2025-04-15 09:57:43'), +(57,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-15 09:57:47'), +(58,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','1','用户不存在/密码错误','2025-04-15 11:14:51'), +(59,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-15 11:14:59'), +(60,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-15 12:06:25'), +(61,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-15 14:01:06'), +(62,'admin','127.0.0.1','内网IP','Chrome 12','Windows 10','0','登录成功','2025-04-15 15:17:33'); + +/*Table structure for table `sys_menu` */ + +DROP TABLE IF EXISTS `sys_menu`; + +CREATE TABLE `sys_menu` ( + `menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '路由地址', + `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '组件路径', + `query` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '路由参数', + `route_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '路由名称', + `is_frame` int(1) DEFAULT '1' COMMENT '是否为外链(0是 1否)', + `is_cache` int(1) DEFAULT '0' COMMENT '是否缓存(0缓存 1不缓存)', + `menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', + `perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2020 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='菜单权限表'; + +/*Data for the table `sys_menu` */ + +insert into `sys_menu`(`menu_id`,`menu_name`,`parent_id`,`order_num`,`path`,`component`,`query`,`route_name`,`is_frame`,`is_cache`,`menu_type`,`visible`,`status`,`perms`,`icon`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,'系统管理',0,1,'system',NULL,'','',1,0,'M','0','0','','system','admin','2025-01-31 23:51:58','',NULL,'系统管理目录'), +(2,'系统监控',0,2,'monitor',NULL,'','',1,0,'M','0','0','','monitor','admin','2025-01-31 23:51:58','',NULL,'系统监控目录'), +(3,'系统工具',0,3,'tool',NULL,'','',1,0,'M','0','0','','tool','admin','2025-01-31 23:51:58','',NULL,'系统工具目录'), +(4,'若依官网',0,5,'http://ruoyi.vip',NULL,'','',0,0,'M','0','0','','guide','admin','2025-01-31 23:51:58','admin','2025-02-06 19:41:30','若依官网地址'), +(100,'用户管理',1,1,'user','system/user/index','','',1,0,'C','0','0','system:user:list','user','admin','2025-01-31 23:51:58','',NULL,'用户管理菜单'), +(101,'角色管理',1,2,'role','system/role/index','','',1,0,'C','0','0','system:role:list','peoples','admin','2025-01-31 23:51:58','',NULL,'角色管理菜单'), +(102,'菜单管理',1,3,'menu','system/menu/index','','',1,0,'C','0','0','system:menu:list','tree-table','admin','2025-01-31 23:51:58','',NULL,'菜单管理菜单'), +(103,'部门管理',1,4,'dept','system/dept/index','','',1,0,'C','0','0','system:dept:list','tree','admin','2025-01-31 23:51:58','',NULL,'部门管理菜单'), +(104,'岗位管理',1,5,'post','system/post/index','','',1,0,'C','0','0','system:post:list','post','admin','2025-01-31 23:51:58','',NULL,'岗位管理菜单'), +(105,'字典管理',1,6,'dict','system/dict/index','','',1,0,'C','0','0','system:dict:list','dict','admin','2025-01-31 23:51:58','',NULL,'字典管理菜单'), +(106,'参数设置',1,7,'config','system/config/index','','',1,0,'C','0','0','system:config:list','edit','admin','2025-01-31 23:51:58','',NULL,'参数设置菜单'), +(107,'通知公告',1,8,'notice','system/notice/index','','',1,0,'C','0','0','system:notice:list','message','admin','2025-01-31 23:51:58','',NULL,'通知公告菜单'), +(108,'日志管理',1,9,'log','','','',1,0,'M','0','0','','log','admin','2025-01-31 23:51:58','',NULL,'日志管理菜单'), +(109,'在线用户',2,1,'online','monitor/online/index','','',1,0,'C','0','0','monitor:online:list','online','admin','2025-01-31 23:51:58','',NULL,'在线用户菜单'), +(110,'定时任务',2,2,'job','monitor/job/index','','',1,0,'C','0','0','monitor:job:list','job','admin','2025-01-31 23:51:58','',NULL,'定时任务菜单'), +(111,'数据监控',2,3,'druid','monitor/druid/index','','',1,0,'C','0','0','monitor:druid:list','druid','admin','2025-01-31 23:51:58','',NULL,'数据监控菜单'), +(112,'服务监控',2,4,'server','monitor/server/index','','',1,0,'C','0','0','monitor:server:list','server','admin','2025-01-31 23:51:58','',NULL,'服务监控菜单'), +(113,'缓存监控',2,5,'cache','monitor/cache/index','','',1,0,'C','0','0','monitor:cache:list','redis','admin','2025-01-31 23:51:58','',NULL,'缓存监控菜单'), +(114,'缓存列表',2,6,'cacheList','monitor/cache/list','','',1,0,'C','0','0','monitor:cache:list','redis-list','admin','2025-01-31 23:51:58','',NULL,'缓存列表菜单'), +(115,'表单构建',3,1,'build','tool/build/index','','',1,0,'C','0','0','tool:build:list','build','admin','2025-01-31 23:51:58','',NULL,'表单构建菜单'), +(116,'代码生成',3,2,'gen','tool/gen/index','','',1,0,'C','0','0','tool:gen:list','code','admin','2025-01-31 23:51:58','',NULL,'代码生成菜单'), +(117,'系统接口',3,3,'swagger','tool/swagger/index','','',1,0,'C','0','0','tool:swagger:list','swagger','admin','2025-01-31 23:51:58','',NULL,'系统接口菜单'), +(500,'操作日志',108,1,'operlog','monitor/operlog/index','','',1,0,'C','0','0','monitor:operlog:list','form','admin','2025-01-31 23:51:58','',NULL,'操作日志菜单'), +(501,'登录日志',108,2,'logininfor','monitor/logininfor/index','','',1,0,'C','0','0','monitor:logininfor:list','logininfor','admin','2025-01-31 23:51:58','',NULL,'登录日志菜单'), +(1000,'用户查询',100,1,'','','','',1,0,'F','0','0','system:user:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1001,'用户新增',100,2,'','','','',1,0,'F','0','0','system:user:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1002,'用户修改',100,3,'','','','',1,0,'F','0','0','system:user:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1003,'用户删除',100,4,'','','','',1,0,'F','0','0','system:user:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1004,'用户导出',100,5,'','','','',1,0,'F','0','0','system:user:export','#','admin','2025-01-31 23:51:58','',NULL,''), +(1005,'用户导入',100,6,'','','','',1,0,'F','0','0','system:user:import','#','admin','2025-01-31 23:51:58','',NULL,''), +(1006,'重置密码',100,7,'','','','',1,0,'F','0','0','system:user:resetPwd','#','admin','2025-01-31 23:51:58','',NULL,''), +(1007,'角色查询',101,1,'','','','',1,0,'F','0','0','system:role:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1008,'角色新增',101,2,'','','','',1,0,'F','0','0','system:role:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1009,'角色修改',101,3,'','','','',1,0,'F','0','0','system:role:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1010,'角色删除',101,4,'','','','',1,0,'F','0','0','system:role:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1011,'角色导出',101,5,'','','','',1,0,'F','0','0','system:role:export','#','admin','2025-01-31 23:51:58','',NULL,''), +(1012,'菜单查询',102,1,'','','','',1,0,'F','0','0','system:menu:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1013,'菜单新增',102,2,'','','','',1,0,'F','0','0','system:menu:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1014,'菜单修改',102,3,'','','','',1,0,'F','0','0','system:menu:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1015,'菜单删除',102,4,'','','','',1,0,'F','0','0','system:menu:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1016,'部门查询',103,1,'','','','',1,0,'F','0','0','system:dept:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1017,'部门新增',103,2,'','','','',1,0,'F','0','0','system:dept:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1018,'部门修改',103,3,'','','','',1,0,'F','0','0','system:dept:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1019,'部门删除',103,4,'','','','',1,0,'F','0','0','system:dept:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1020,'岗位查询',104,1,'','','','',1,0,'F','0','0','system:post:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1021,'岗位新增',104,2,'','','','',1,0,'F','0','0','system:post:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1022,'岗位修改',104,3,'','','','',1,0,'F','0','0','system:post:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1023,'岗位删除',104,4,'','','','',1,0,'F','0','0','system:post:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1024,'岗位导出',104,5,'','','','',1,0,'F','0','0','system:post:export','#','admin','2025-01-31 23:51:58','',NULL,''), +(1025,'字典查询',105,1,'#','','','',1,0,'F','0','0','system:dict:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1026,'字典新增',105,2,'#','','','',1,0,'F','0','0','system:dict:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1027,'字典修改',105,3,'#','','','',1,0,'F','0','0','system:dict:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1028,'字典删除',105,4,'#','','','',1,0,'F','0','0','system:dict:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1029,'字典导出',105,5,'#','','','',1,0,'F','0','0','system:dict:export','#','admin','2025-01-31 23:51:58','',NULL,''), +(1030,'参数查询',106,1,'#','','','',1,0,'F','0','0','system:config:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1031,'参数新增',106,2,'#','','','',1,0,'F','0','0','system:config:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1032,'参数修改',106,3,'#','','','',1,0,'F','0','0','system:config:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1033,'参数删除',106,4,'#','','','',1,0,'F','0','0','system:config:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1034,'参数导出',106,5,'#','','','',1,0,'F','0','0','system:config:export','#','admin','2025-01-31 23:51:58','',NULL,''), +(1035,'公告查询',107,1,'#','','','',1,0,'F','0','0','system:notice:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1036,'公告新增',107,2,'#','','','',1,0,'F','0','0','system:notice:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1037,'公告修改',107,3,'#','','','',1,0,'F','0','0','system:notice:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1038,'公告删除',107,4,'#','','','',1,0,'F','0','0','system:notice:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1039,'操作查询',500,1,'#','','','',1,0,'F','0','0','monitor:operlog:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1040,'操作删除',500,2,'#','','','',1,0,'F','0','0','monitor:operlog:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1041,'日志导出',500,3,'#','','','',1,0,'F','0','0','monitor:operlog:export','#','admin','2025-01-31 23:51:58','',NULL,''), +(1042,'登录查询',501,1,'#','','','',1,0,'F','0','0','monitor:logininfor:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1043,'登录删除',501,2,'#','','','',1,0,'F','0','0','monitor:logininfor:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1044,'日志导出',501,3,'#','','','',1,0,'F','0','0','monitor:logininfor:export','#','admin','2025-01-31 23:51:58','',NULL,''), +(1045,'账户解锁',501,4,'#','','','',1,0,'F','0','0','monitor:logininfor:unlock','#','admin','2025-01-31 23:51:58','',NULL,''), +(1046,'在线查询',109,1,'#','','','',1,0,'F','0','0','monitor:online:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1047,'批量强退',109,2,'#','','','',1,0,'F','0','0','monitor:online:batchLogout','#','admin','2025-01-31 23:51:58','',NULL,''), +(1048,'单条强退',109,3,'#','','','',1,0,'F','0','0','monitor:online:forceLogout','#','admin','2025-01-31 23:51:58','',NULL,''), +(1049,'任务查询',110,1,'#','','','',1,0,'F','0','0','monitor:job:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1050,'任务新增',110,2,'#','','','',1,0,'F','0','0','monitor:job:add','#','admin','2025-01-31 23:51:58','',NULL,''), +(1051,'任务修改',110,3,'#','','','',1,0,'F','0','0','monitor:job:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1052,'任务删除',110,4,'#','','','',1,0,'F','0','0','monitor:job:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1053,'状态修改',110,5,'#','','','',1,0,'F','0','0','monitor:job:changeStatus','#','admin','2025-01-31 23:51:58','',NULL,''), +(1054,'任务导出',110,6,'#','','','',1,0,'F','0','0','monitor:job:export','#','admin','2025-01-31 23:51:58','',NULL,''), +(1055,'生成查询',116,1,'#','','','',1,0,'F','0','0','tool:gen:query','#','admin','2025-01-31 23:51:58','',NULL,''), +(1056,'生成修改',116,2,'#','','','',1,0,'F','0','0','tool:gen:edit','#','admin','2025-01-31 23:51:58','',NULL,''), +(1057,'生成删除',116,3,'#','','','',1,0,'F','0','0','tool:gen:remove','#','admin','2025-01-31 23:51:58','',NULL,''), +(1058,'导入代码',116,4,'#','','','',1,0,'F','0','0','tool:gen:import','#','admin','2025-01-31 23:51:58','',NULL,''), +(1059,'预览代码',116,5,'#','','','',1,0,'F','0','0','tool:gen:preview','#','admin','2025-01-31 23:51:58','',NULL,''), +(1060,'生成代码',116,6,'#','','','',1,0,'F','0','0','tool:gen:code','#','admin','2025-01-31 23:51:58','',NULL,''), +(2000,'AIGC管理',0,4,'aigc',NULL,NULL,'',1,0,'M','0','0','','star','admin','2025-02-06 19:41:14','admin','2025-02-06 20:30:51',''), +(2001,'模型列表',2000,1,'modelList','ai/modelList/index',NULL,'',1,0,'C','0','0','ai:modelList:list','star','admin','2025-02-06 19:56:00','admin','2025-02-06 20:31:08','模型列表菜单'), +(2002,'模型列表查询',2001,1,'#','',NULL,'',1,0,'F','0','0','ai:modelList:query','#','admin','2025-02-06 19:56:00','',NULL,''), +(2003,'模型列表新增',2001,2,'#','',NULL,'',1,0,'F','0','0','ai:modelList:add','#','admin','2025-02-06 19:56:00','',NULL,''), +(2004,'模型列表修改',2001,3,'#','',NULL,'',1,0,'F','0','0','ai:modelList:edit','#','admin','2025-02-06 19:56:00','',NULL,''), +(2005,'模型列表删除',2001,4,'#','',NULL,'',1,0,'F','0','0','ai:modelList:remove','#','admin','2025-02-06 19:56:00','',NULL,''), +(2006,'模型列表导出',2001,5,'#','',NULL,'',1,0,'F','0','0','ai:modelList:export','#','admin','2025-02-06 19:56:00','',NULL,''), +(2007,'智能助手',2000,2,'chatBox','ai/chatBox/index',NULL,'',1,0,'C','0','0',NULL,'wechat','admin','2025-02-22 14:42:19','',NULL,''), +(2008,'向量库列表',2000,1,'databaseList','ai/databaseList/index',NULL,'',1,0,'C','0','0','ai:databaseList:list','table','admin','2025-02-28 14:27:07','admin','2025-02-28 14:56:27','向量库列表菜单'), +(2009,'向量库列表查询',2008,1,'#','',NULL,'',1,0,'F','0','0','ai:databaseList:query','#','admin','2025-02-28 14:27:07','',NULL,''), +(2010,'向量库列表新增',2008,2,'#','',NULL,'',1,0,'F','0','0','ai:databaseList:add','#','admin','2025-02-28 14:27:07','',NULL,''), +(2011,'向量库列表修改',2008,3,'#','',NULL,'',1,0,'F','0','0','ai:databaseList:edit','#','admin','2025-02-28 14:27:07','',NULL,''), +(2012,'向量库列表删除',2008,4,'#','',NULL,'',1,0,'F','0','0','ai:databaseList:remove','#','admin','2025-02-28 14:27:07','',NULL,''), +(2013,'向量库列表导出',2008,5,'#','',NULL,'',1,0,'F','0','0','ai:databaseList:export','#','admin','2025-02-28 14:27:07','',NULL,''), +(2014,'知识库列表',2000,1,'knowledgeBaseList','ai/knowledgeBaseList/index',NULL,'',1,0,'C','0','0','ai:knowledgeBaseList:list','list','admin','2025-04-10 16:32:18','admin','2025-04-15 15:39:56','知识库列表菜单'), +(2015,'知识库列表查询',2014,1,'#','',NULL,'',1,0,'F','0','0','ai:knowledgeBaseList:query','#','admin','2025-04-10 16:32:18','admin','2025-04-10 16:57:44',''), +(2016,'知识库列表新增',2014,2,'#','',NULL,'',1,0,'F','0','0','ai:knowledgeBaseList:add','#','admin','2025-04-10 16:32:18','admin','2025-04-10 16:57:51',''), +(2017,'知识库列表修改',2014,3,'#','',NULL,'',1,0,'F','0','0','ai:knowledgeBaseList:edit','#','admin','2025-04-10 16:32:18','admin','2025-04-10 16:57:58',''), +(2018,'知识库列表删除',2014,4,'#','',NULL,'',1,0,'F','0','0','ai:knowledgeBaseList:remove','#','admin','2025-04-10 16:32:18','admin','2025-04-10 16:58:06',''), +(2019,'知识库列表导出',2014,5,'#','',NULL,'',1,0,'F','0','0','ai:knowledgeBaseList:export','#','admin','2025-04-10 16:32:18','admin','2025-04-10 16:58:13',''); + +/*Table structure for table `sys_notice` */ + +DROP TABLE IF EXISTS `sys_notice`; + +CREATE TABLE `sys_notice` ( + `notice_id` int(4) NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告标题', + `notice_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob COMMENT '公告内容', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='通知公告表'; + +/*Data for the table `sys_notice` */ + +insert into `sys_notice`(`notice_id`,`notice_title`,`notice_type`,`notice_content`,`status`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,'温馨提醒:2018-07-01 若依新版本发布啦','2','新版本内容','0','admin','2025-01-31 23:51:59','',NULL,'管理员'), +(2,'维护通知:2018-07-01 若依系统凌晨维护','1','维护内容','0','admin','2025-01-31 23:51:59','',NULL,'管理员'); + +/*Table structure for table `sys_oper_log` */ + +DROP TABLE IF EXISTS `sys_oper_log`; + +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '模块标题', + `business_type` int(2) DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '请求方式', + `operator_type` int(1) DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '请求参数', + `json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '返回参数', + `status` int(1) DEFAULT '0' COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + `cost_time` bigint(20) DEFAULT '0' COMMENT '消耗时间', + PRIMARY KEY (`oper_id`), + KEY `idx_sys_oper_log_bt` (`business_type`), + KEY `idx_sys_oper_log_s` (`status`), + KEY `idx_sys_oper_log_ot` (`oper_time`) +) ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='操作日志记录'; + +/*Data for the table `sys_oper_log` */ + +insert into `sys_oper_log`(`oper_id`,`title`,`business_type`,`method`,`request_method`,`operator_type`,`oper_name`,`dept_name`,`oper_url`,`oper_ip`,`oper_location`,`oper_param`,`json_result`,`status`,`error_msg`,`oper_time`,`cost_time`) values +(2,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"frequencyPenalty\":0.32,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.24,\"temperature\":0.43,\"topK\":10,\"topP\":0.07}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-06 22:57:41',59), +(3,'代码生成',2,'com.ruoyi.generator.controller.GenController.synchDb()','GET',1,'admin','研发部门','/tool/gen/synchDb/chat_model_list','127.0.0.1','内网IP','{}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:49:52',81), +(4,'代码生成',2,'com.ruoyi.generator.controller.GenController.editSave()','PUT',1,'admin','研发部门','/tool/gen','127.0.0.1','内网IP','{\"businessName\":\"modelList\",\"className\":\"ChatModelList\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"聊天模型列表ID\",\"columnId\":15,\"columnName\":\"id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-06 19:47:50\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"isRequired\":\"0\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"updateTime\":\"2025-02-10 20:49:52\",\"usableColumn\":false},{\"capJavaField\":\"BaseUrl\",\"columnComment\":\"配置URL\",\"columnId\":29,\"columnName\":\"base_url\",\"columnType\":\"varchar(255)\",\"createBy\":\"\",\"createTime\":\"2025-02-10 20:49:52\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"baseUrl\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"ModelVersion\",\"columnComment\":\"模型版本\",\"columnId\":16,\"columnName\":\"model_version\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-06 19:47:50\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"modelVersion\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"updateTime\":\"2025-02-10 20:49:52\",\"usableColumn\":false},{\"capJavaField\":\"ModelName\",\"columnComment\":\"模型名称\",\"columnId\":17,\"columnName\":\"model_name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-06 19:47:50\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:50:19',66), +(5,'代码生成',2,'com.ruoyi.generator.controller.GenController.editSave()','PUT',1,'admin','研发部门','/tool/gen','127.0.0.1','内网IP','{\"businessName\":\"modelList\",\"className\":\"ChatModelList\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"聊天模型列表ID\",\"columnId\":15,\"columnName\":\"id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-06 19:47:50\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"isRequired\":\"0\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"updateTime\":\"2025-02-10 20:50:19\",\"usableColumn\":false},{\"capJavaField\":\"BaseUrl\",\"columnComment\":\"配置URL\",\"columnId\":29,\"columnName\":\"base_url\",\"columnType\":\"varchar(255)\",\"createBy\":\"\",\"createTime\":\"2025-02-10 20:49:52\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"baseUrl\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"updateTime\":\"2025-02-10 20:50:19\",\"usableColumn\":false},{\"capJavaField\":\"ModelVersion\",\"columnComment\":\"模型版本\",\"columnId\":16,\"columnName\":\"model_version\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-06 19:47:50\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"modelVersion\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":2,\"updateBy\":\"\",\"updateTime\":\"2025-02-10 20:50:19\",\"usableColumn\":false},{\"capJavaField\":\"ModelName\",\"columnComment\":\"模型名称\",\"columnId\":17,\"columnName\":\"model_name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-06 19:47:50\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:57:33',39), +(6,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.32,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.24,\"temperature\":0.43,\"topK\":10,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:58:55',77), +(7,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.32,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.24,\"temperature\":0.43,\"topK\":10,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:59:04',3), +(8,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.32,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.24,\"temperature\":0.43,\"topK\":10,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:59:12',2), +(9,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.32,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":10,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:59:20',37), +(10,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.22,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":10,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:59:28',5), +(11,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.22,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":18,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:59:36',10), +(12,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.22,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":18,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 20:59:52',3), +(13,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.2:11434\",\"frequencyPenalty\":0.22,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":18,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 21:12:01',81), +(14,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.22,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":18,\"topP\":0}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-10 21:12:21',61), +(15,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.22,\"id\":1,\"isChose\":true,\"lowVram\":false,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":18,\"topP\":0.12}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-22 14:19:08',116), +(16,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.22,\"id\":1,\"isChose\":true,\"lowVram\":true,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":13,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":18,\"topP\":0.12}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-22 14:19:22',59), +(17,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.22,\"id\":1,\"isChose\":true,\"lowVram\":true,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":8,\"numPredict\":89,\"numThread\":10,\"params\":{},\"presencePenalty\":0.32,\"repeatPenalty\":0.22,\"temperature\":0.43,\"topK\":18,\"topP\":0.12}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-22 14:29:11',95), +(18,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.02,\"id\":1,\"isChose\":true,\"lowVram\":true,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":1,\"numPredict\":98,\"numThread\":2,\"params\":{},\"presencePenalty\":0.02,\"repeatPenalty\":0.03,\"temperature\":0.02,\"topK\":0,\"topP\":0.02}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-22 14:31:16',97), +(19,'菜单管理',1,'com.ruoyi.web.controller.system.SysMenuController.add()','POST',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"ai/chatBox/index\",\"createBy\":\"admin\",\"icon\":\"wechat\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuName\":\"智能助手\",\"menuType\":\"C\",\"orderNum\":2,\"params\":{},\"parentId\":2000,\"path\":\"chatBox\",\"status\":\"0\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-22 14:42:19',68), +(20,'代码生成',2,'com.ruoyi.generator.controller.GenController.synchDb()','GET',1,'admin','研发部门','/tool/gen/synchDb/chat_model_list','127.0.0.1','内网IP','{}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-24 13:52:57',69), +(21,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"apiKey\":\"sk-86e64018e9734f5f9f49dd5fed341e26\",\"baseUrl\":\"https://api.deepseek.com\",\"frequencyPenalty\":0.02,\"id\":1,\"isChose\":true,\"lowVram\":true,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":1,\"numPredict\":98,\"numThread\":2,\"params\":{},\"presencePenalty\":0.02,\"repeatPenalty\":0.03,\"temperature\":0.02,\"topK\":0,\"topP\":0.02}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-24 14:04:30',53), +(22,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"apiKey\":\"sk-86e64018e9734f5f9f49dd5fed341e26\",\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.02,\"id\":1,\"isChose\":true,\"lowVram\":true,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":1,\"numPredict\":98,\"numThread\":2,\"params\":{},\"presencePenalty\":0.02,\"repeatPenalty\":0.03,\"temperature\":0.02,\"topK\":0,\"topP\":0.02}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-24 15:23:23',69), +(23,'模型列表',2,'com.ruoyi.ai.controller.ChatModelListController.edit()','PUT',1,'admin','研发部门','/ai/modelList','127.0.0.1','内网IP','{\"apiKey\":\"sk-86e64018e9734f5f9f49dd5fed341e26\",\"baseUrl\":\"http://127.0.0.1:11434\",\"frequencyPenalty\":0.02,\"id\":1,\"isChose\":true,\"lowVram\":true,\"modelName\":\"deepseek\",\"modelVersion\":\"deepseek-r1:8b\",\"numGpu\":1,\"numPredict\":98,\"numThread\":2,\"params\":{},\"presencePenalty\":0.02,\"repeatPenalty\":0,\"temperature\":0.74,\"topK\":0,\"topP\":0.02}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-24 15:32:41',31), +(24,'代码生成',6,'com.ruoyi.generator.controller.GenController.importTableSave()','POST',1,'admin','研发部门','/tool/gen/importTable','127.0.0.1','内网IP','{\"tables\":\"vector_database_list\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-28 14:21:06',110), +(25,'代码生成',2,'com.ruoyi.generator.controller.GenController.editSave()','PUT',1,'admin','研发部门','/tool/gen','127.0.0.1','内网IP','{\"businessName\":\"databaseList\",\"className\":\"VectorDatabaseList\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"向量数据库列表ID\",\"columnId\":31,\"columnName\":\"id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-28 14:21:06\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"isRequired\":\"0\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"AliasName\",\"columnComment\":\"数据库别名\",\"columnId\":32,\"columnName\":\"alias_name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-28 14:21:06\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"aliasName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Host\",\"columnComment\":\"数据库地址\",\"columnId\":33,\"columnName\":\"host\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-28 14:21:06\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"isRequired\":\"0\",\"javaField\":\"host\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":3,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Port\",\"columnComment\":\"数据库端口\",\"columnId\":34,\"columnName\":\"port\",\"columnType\":\"int(10)\",\"createBy\":\"admin\",\"createTime\":\"2025-02-28 14:21:06\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"0\",\"isRequired\":\"0','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-28 14:25:31',69), +(26,'代码生成',8,'com.ruoyi.generator.controller.GenController.batchGenCode()','GET',1,'admin','研发部门','/tool/gen/batchGenCode','127.0.0.1','内网IP','{\"tables\":\"vector_database_list\"}',NULL,0,NULL,'2025-02-28 14:25:39',94), +(27,'向量库列表',1,'com.ruoyi.ai.controller.VectorDatabaseListController.add()','POST',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}',NULL,1,'\r\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\r\n### The error may exist in file [F:\\ruoyi-deepseek\\ruoyi-ai\\target\\classes\\mapper\\ai\\VectorDatabaseListMapper.xml]\r\n### The error may involve com.ruoyi.ai.mapper.VectorDatabaseListMapper.insertVectorDatabaseList-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into vector_database_list ( alias_name, host, port, database, table, user, password, dimension ) values ( ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\n; bad SQL grammar []','2025-02-28 14:33:50',198), +(28,'向量库列表',1,'com.ruoyi.ai.controller.VectorDatabaseListController.add()','POST',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}',NULL,1,'\r\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\r\n### The error may exist in file [F:\\ruoyi-deepseek\\ruoyi-ai\\target\\classes\\mapper\\ai\\VectorDatabaseListMapper.xml]\r\n### The error may involve com.ruoyi.ai.mapper.VectorDatabaseListMapper.insertVectorDatabaseList-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into vector_database_list ( alias_name, host, port, database, table, user, password, dimension ) values ( ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\n; bad SQL grammar []','2025-02-28 14:33:57',3), +(29,'向量库列表',1,'com.ruoyi.ai.controller.VectorDatabaseListController.add()','POST',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"isChose\":false,\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}',NULL,1,'\r\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\r\n### The error may exist in file [F:\\ruoyi-deepseek\\ruoyi-ai\\target\\classes\\mapper\\ai\\VectorDatabaseListMapper.xml]\r\n### The error may involve com.ruoyi.ai.mapper.VectorDatabaseListMapper.insertVectorDatabaseList-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into vector_database_list ( alias_name, host, port, database, table, user, password, dimension, is_chose ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\n; bad SQL grammar []','2025-02-28 14:37:35',158), +(30,'向量库列表',1,'com.ruoyi.ai.controller.VectorDatabaseListController.add()','POST',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"isChose\":false,\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}',NULL,1,'\r\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\r\n### The error may exist in file [F:\\ruoyi-deepseek\\ruoyi-ai\\target\\classes\\mapper\\ai\\VectorDatabaseListMapper.xml]\r\n### The error may involve com.ruoyi.ai.mapper.VectorDatabaseListMapper.insertVectorDatabaseList-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into vector_database_list ( alias_name, host, port, database, table, user, password, dimension, is_chose ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\n; bad SQL grammar []','2025-02-28 14:37:39',4), +(31,'向量库列表',1,'com.ruoyi.ai.controller.VectorDatabaseListController.add()','POST',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"isChose\":true,\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}',NULL,1,'\r\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\r\n### The error may exist in file [F:\\ruoyi-deepseek\\ruoyi-ai\\target\\classes\\mapper\\ai\\VectorDatabaseListMapper.xml]\r\n### The error may involve com.ruoyi.ai.mapper.VectorDatabaseListMapper.insertVectorDatabaseList-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into vector_database_list ( alias_name, host, port, database, table, user, password, dimension, is_chose ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n table,\n user,\n password,\n \' at line 5\n; bad SQL grammar []','2025-02-28 14:37:46',2), +(32,'向量库列表',1,'com.ruoyi.ai.controller.VectorDatabaseListController.add()','POST',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"isChose\":true,\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}',NULL,1,'\r\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n `table`,\n `user`,\n password,\n \' at line 5\r\n### The error may exist in file [F:\\ruoyi-deepseek\\ruoyi-ai\\target\\classes\\mapper\\ai\\VectorDatabaseListMapper.xml]\r\n### The error may involve com.ruoyi.ai.mapper.VectorDatabaseListMapper.insertVectorDatabaseList-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into vector_database_list ( alias_name, host, port, database, `table`, `user`, password, dimension, is_chose ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ? )\r\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'database,\n `table`,\n `user`,\n password,\n \' at line 5\n; bad SQL grammar []','2025-02-28 14:39:38',162), +(33,'向量库列表',1,'com.ruoyi.ai.controller.VectorDatabaseListController.add()','POST',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"id\":1,\"isChose\":true,\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-28 14:41:24',91), +(34,'向量库列表',2,'com.ruoyi.ai.controller.VectorDatabaseListController.edit()','PUT',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":385,\"host\":\"192.168.48.129\",\"id\":1,\"isChose\":true,\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-28 14:43:21',101), +(35,'向量库列表',2,'com.ruoyi.ai.controller.VectorDatabaseListController.edit()','PUT',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"id\":1,\"isChose\":false,\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-28 14:43:30',45), +(36,'向量库列表',2,'com.ruoyi.ai.controller.VectorDatabaseListController.edit()','PUT',1,'admin','研发部门','/ai/databaseList','127.0.0.1','内网IP','{\"aliasName\":\"PgVector向量库\",\"database\":\"postgres\",\"dimension\":384,\"host\":\"192.168.48.129\",\"id\":1,\"isChose\":true,\"params\":{},\"port\":5432,\"table\":\"knowledge_vector\",\"user\":\"box\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-28 14:43:35',44), +(37,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"ai/databaseList/index\",\"createTime\":\"2025-02-28 14:27:07\",\"icon\":\"table\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2008,\"menuName\":\"向量库列表\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"databaseList\",\"perms\":\"ai:databaseList:list\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-02-28 14:56:28',72), +(38,'聊天会话',3,'com.ruoyi.ai.controller.ChatSessionController.clean()','DELETE',1,'admin','研发部门','/ai/session/clean','127.0.0.1','内网IP','','{\"msg\":\"操作失败\",\"code\":500}',0,NULL,'2025-03-13 10:20:53',5), +(39,'聊天会话',1,'com.ruoyi.ai.controller.ChatSessionController.add()','POST',1,'admin','研发部门','/ai/session','127.0.0.1','内网IP','{\"createTime\":\"2025-03-13 10:20:58\",\"id\":1,\"params\":{},\"title\":\"你好\\n\",\"userId\":1}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-03-13 10:20:58',31), +(40,'聊天会话',1,'com.ruoyi.ai.controller.ChatSessionController.add()','POST',1,'admin','研发部门','/ai/session','127.0.0.1','内网IP','{\"createTime\":\"2025-03-13 10:36:45\",\"id\":2,\"params\":{},\"title\":\"谁是欧阳日峰\\n\",\"userId\":1}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-03-13 10:36:45',94), +(41,'聊天会话',1,'com.ruoyi.ai.controller.ChatSessionController.add()','POST',1,'admin','研发部门','/ai/session','127.0.0.1','内网IP','{\"createTime\":\"2025-03-13 10:43:43\",\"id\":3,\"params\":{},\"title\":\"李健辉是谁\\n\",\"userId\":1}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-03-13 10:43:43',20), +(42,'聊天会话',1,'com.ruoyi.ai.controller.ChatSessionController.add()','POST',1,'admin','研发部门','/ai/session','127.0.0.1','内网IP','{\"createTime\":\"2025-03-13 10:46:41\",\"id\":4,\"params\":{},\"title\":\"谁是欧阳日峰\\n\",\"userId\":1}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-03-13 10:46:41',63), +(43,'聊天会话',1,'com.ruoyi.ai.controller.ChatSessionController.add()','POST',1,'admin','研发部门','/ai/session','127.0.0.1','内网IP','{\"createTime\":\"2025-03-13 13:53:06\",\"id\":5,\"params\":{},\"title\":\"李健辉是谁\\n\",\"userId\":1}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-03-13 13:53:06',92), +(44,'聊天会话',1,'com.ruoyi.ai.controller.ChatSessionController.add()','POST',1,'admin','研发部门','/ai/session','127.0.0.1','内网IP','{\"createTime\":\"2025-03-13 14:01:09\",\"id\":6,\"params\":{},\"title\":\"李健辉是谁\\n\",\"userId\":1}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-03-13 14:01:09',228), +(45,'聊天会话',1,'com.ruoyi.ai.controller.ChatSessionController.add()','POST',1,'admin','研发部门','/ai/session','127.0.0.1','内网IP','{\"createTime\":\"2025-03-13 14:02:41\",\"id\":7,\"params\":{},\"title\":\"李健辉是谁\\n\",\"userId\":1}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-03-13 14:02:41',45), +(46,'聊天会话',1,'com.ruoyi.ai.controller.ChatSessionController.add()','POST',1,'admin','研发部门','/ai/session','127.0.0.1','内网IP','{\"createTime\":\"2025-04-10 14:23:34\",\"id\":8,\"params\":{},\"title\":\"欧阳日峰是谁\\n\",\"userId\":1}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 14:23:34',81), +(47,'代码生成',6,'com.ruoyi.generator.controller.GenController.importTableSave()','POST',1,'admin','研发部门','/tool/gen/importTable','127.0.0.1','内网IP','{\"tables\":\"knowledge_base_list\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 15:08:26',68), +(48,'代码生成',2,'com.ruoyi.generator.controller.GenController.editSave()','PUT',1,'admin','研发部门','/tool/gen','127.0.0.1','内网IP','{\"businessName\":\"knowledgeBaseList\",\"className\":\"KnowledgeBaseList\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"知识库ID\",\"columnId\":41,\"columnName\":\"id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isPk\":\"1\",\"isRequired\":\"0\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"KnowledgeBaseName\",\"columnComment\":\"知识库名称\",\"columnId\":42,\"columnName\":\"knowledge_base_name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"knowledgeBaseName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Remark\",\"columnComment\":\"备注\",\"columnId\":43,\"columnName\":\"remark\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isRequired\":\"0\",\"javaField\":\"remark\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":true,\"tableId\":4,\"updateBy\":\"\",\"usableColumn\":true},{\"capJavaField\":\"CreateBy\",\"columnComment\":\"创建者\",\"columnId\":44,\"columnName\":\"create_by\",\"columnType\":\"varchar(64)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":false,\"insert\":false,\"isIncrement\":\"0\",\"isInsert\":\"0\",\"isList\":\"1\",\"isPk\":\"0\",\"isRequired\":\"0\"','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 15:10:46',27), +(49,'代码生成',8,'com.ruoyi.generator.controller.GenController.batchGenCode()','GET',1,'admin','研发部门','/tool/gen/batchGenCode','127.0.0.1','内网IP','{\"tables\":\"knowledge_base_list\"}',NULL,0,NULL,'2025-04-10 15:10:51',91), +(50,'代码生成',2,'com.ruoyi.generator.controller.GenController.editSave()','PUT',1,'admin','研发部门','/tool/gen','127.0.0.1','内网IP','{\"businessName\":\"knowledgeBaseList\",\"className\":\"KnowledgeBaseList\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"知识库ID\",\"columnId\":41,\"columnName\":\"id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isPk\":\"1\",\"isRequired\":\"0\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2025-04-10 15:10:46\",\"usableColumn\":false},{\"capJavaField\":\"KnowledgeBaseName\",\"columnComment\":\"知识库名称\",\"columnId\":42,\"columnName\":\"knowledge_base_name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"knowledgeBaseName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2025-04-10 15:10:46\",\"usableColumn\":false},{\"capJavaField\":\"Remark\",\"columnComment\":\"备注\",\"columnId\":43,\"columnName\":\"remark\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isRequired\":\"0\",\"javaField\":\"remark\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":true,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2025-04-10 15:10:46\",\"usableColumn\":true},{\"capJavaField\":\"CreateBy\",\"columnComment\":\"创建者\",\"columnId\":44,\"columnName\":\"create_by\",\"columnType\":\"varchar(64)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:44:43',50), +(51,'代码生成',8,'com.ruoyi.generator.controller.GenController.batchGenCode()','GET',1,'admin','研发部门','/tool/gen/batchGenCode','127.0.0.1','内网IP','{\"tables\":\"knowledge_base_list\"}',NULL,0,NULL,'2025-04-10 16:44:46',99), +(52,'代码生成',8,'com.ruoyi.generator.controller.GenController.batchGenCode()','GET',1,'admin','研发部门','/tool/gen/batchGenCode','127.0.0.1','内网IP','{\"tables\":\"knowledge_base_list\"}',NULL,0,NULL,'2025-04-10 16:44:50',22), +(53,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"ai/knowledgeBaseList/index\",\"createTime\":\"2025-04-10 16:32:18\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2014,\"menuName\":\"知识库列表\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"knowledgeBaseList\",\"perms\":\"system:knowledgeBaseList:list\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:49:18',19), +(54,'代码生成',2,'com.ruoyi.generator.controller.GenController.synchDb()','GET',1,'admin','研发部门','/tool/gen/synchDb/knowledge_base_list','127.0.0.1','内网IP','{}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:53:28',60), +(55,'代码生成',2,'com.ruoyi.generator.controller.GenController.editSave()','PUT',1,'admin','研发部门','/tool/gen','127.0.0.1','内网IP','{\"businessName\":\"knowledgeBaseList\",\"className\":\"KnowledgeBaseList\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"知识库ID\",\"columnId\":41,\"columnName\":\"id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isPk\":\"1\",\"isRequired\":\"0\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2025-04-10 16:53:28\",\"usableColumn\":false},{\"capJavaField\":\"KnowledgeBaseName\",\"columnComment\":\"知识库名称\",\"columnId\":42,\"columnName\":\"knowledge_base_name\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"knowledgeBaseName\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2025-04-10 16:53:28\",\"usableColumn\":false},{\"capJavaField\":\"Remark\",\"columnComment\":\"备注\",\"columnId\":43,\"columnName\":\"remark\",\"columnType\":\"varchar(255)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isRequired\":\"0\",\"javaField\":\"remark\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":true,\"tableId\":4,\"updateBy\":\"\",\"updateTime\":\"2025-04-10 16:53:28\",\"usableColumn\":true},{\"capJavaField\":\"CreateBy\",\"columnComment\":\"创建者\",\"columnId\":44,\"columnName\":\"create_by\",\"columnType\":\"varchar(64)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 15:08:26\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:55:01',41), +(56,'代码生成',8,'com.ruoyi.generator.controller.GenController.batchGenCode()','GET',1,'admin','研发部门','/tool/gen/batchGenCode','127.0.0.1','内网IP','{\"tables\":\"knowledge_base_list\"}',NULL,0,NULL,'2025-04-10 16:55:04',85), +(57,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"ai/knowledgeBaseList/index\",\"createTime\":\"2025-04-10 16:32:18\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2014,\"menuName\":\"知识库列表\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"knowledgeBaseList\",\"perms\":\"ai:knowledgeBaseList:list\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:57:32',67), +(58,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"\",\"createTime\":\"2025-04-10 16:32:18\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2015,\"menuName\":\"知识库列表查询\",\"menuType\":\"F\",\"orderNum\":1,\"params\":{},\"parentId\":2014,\"path\":\"#\",\"perms\":\"ai:knowledgeBaseList:query\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:57:44',90), +(59,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"\",\"createTime\":\"2025-04-10 16:32:18\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2016,\"menuName\":\"知识库列表新增\",\"menuType\":\"F\",\"orderNum\":2,\"params\":{},\"parentId\":2014,\"path\":\"#\",\"perms\":\"ai:knowledgeBaseList:add\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:57:51',26), +(60,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"\",\"createTime\":\"2025-04-10 16:32:18\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2017,\"menuName\":\"知识库列表修改\",\"menuType\":\"F\",\"orderNum\":3,\"params\":{},\"parentId\":2014,\"path\":\"#\",\"perms\":\"ai:knowledgeBaseList:edit\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:57:58',44), +(61,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"\",\"createTime\":\"2025-04-10 16:32:18\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2018,\"menuName\":\"知识库列表删除\",\"menuType\":\"F\",\"orderNum\":4,\"params\":{},\"parentId\":2014,\"path\":\"#\",\"perms\":\"ai:knowledgeBaseList:remove\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:58:06',26), +(62,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"\",\"createTime\":\"2025-04-10 16:32:18\",\"icon\":\"#\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2019,\"menuName\":\"知识库列表导出\",\"menuType\":\"F\",\"orderNum\":5,\"params\":{},\"parentId\":2014,\"path\":\"#\",\"perms\":\"ai:knowledgeBaseList:export\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 16:58:13',25), +(63,'知识库列表',1,'com.ruoyi.ai.controller.KnowledgeBaseListController.add()','POST',1,'admin','研发部门','/ai/knowledgeBaseList','127.0.0.1','内网IP','{\"createTime\":\"2025-04-10 21:01:23\",\"knowledgeBaseName\":\"Java面试题目\",\"params\":{},\"remark\":\"测试一下\"}',NULL,1,'\r\n### Error updating database. Cause: java.sql.SQLException: Field \'id\' doesn\'t have a default value\r\n### The error may exist in file [F:\\ruoyi-deepseek\\ruoyi-ai\\target\\classes\\mapper\\ai\\KnowledgeBaseListMapper.xml]\r\n### The error may involve com.ruoyi.ai.mapper.KnowledgeBaseListMapper.insertKnowledgeBaseList-Inline\r\n### The error occurred while setting parameters\r\n### SQL: insert into knowledge_base_list ( knowledge_base_name, remark, create_time ) values ( ?, ?, ? )\r\n### Cause: java.sql.SQLException: Field \'id\' doesn\'t have a default value\n; Field \'id\' doesn\'t have a default value','2025-04-10 21:01:23',100), +(64,'知识库列表',1,'com.ruoyi.ai.controller.KnowledgeBaseListController.add()','POST',1,'admin','研发部门','/ai/knowledgeBaseList','127.0.0.1','内网IP','{\"createTime\":\"2025-04-10 21:01:49\",\"knowledgeBaseName\":\"Java面试题目\",\"params\":{},\"remark\":\"测试一下\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 21:01:49',9), +(65,'知识库列表',2,'com.ruoyi.ai.controller.KnowledgeBaseListController.edit()','PUT',1,'admin','研发部门','/ai/knowledgeBaseList','127.0.0.1','内网IP','{\"createBy\":\"\",\"createTime\":\"2025-04-10 21:01:50\",\"id\":1,\"knowledgeBaseName\":\"Java面试题目\",\"params\":{},\"remark\":\"测试一下知识库\",\"updateBy\":\"admin\",\"updateTime\":\"2025-04-10 21:03:02\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 21:03:02',116), +(66,'代码生成',6,'com.ruoyi.generator.controller.GenController.importTableSave()','POST',1,'admin','研发部门','/tool/gen/importTable','127.0.0.1','内网IP','{\"tables\":\"knowledge_base_line\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 22:30:54',60), +(67,'代码生成',2,'com.ruoyi.generator.controller.GenController.editSave()','PUT',1,'admin','研发部门','/tool/gen','127.0.0.1','内网IP','{\"businessName\":\"knowledgeBaseLine\",\"className\":\"KnowledgeBaseLine\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"知识库表单栏\",\"columnId\":48,\"columnName\":\"id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 22:30:54\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"isRequired\":\"0\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"KnowledgeBaseId\",\"columnComment\":\"知识库ID\",\"columnId\":49,\"columnName\":\"knowledge_base_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 22:30:54\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"0\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"knowledgeBaseId\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"EQ\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"Context\",\"columnComment\":\"知识库内容\",\"columnId\":50,\"columnName\":\"context\",\"columnType\":\"longtext\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 22:30:54\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"textarea\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"0\",\"isPk\":\"0\",\"isQuery\":\"0\",\"isRequired\":\"0\",\"javaField\":\"context\",\"javaType\":\"String\",\"list\":false,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"CreateBy\",\"columnComment\":\"创建者\",\"columnId\":51,\"columnName\":\"create_by\",\"columnType\":\"varchar(64)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 22:30:54\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":false,\"insert\":false,\"isIncrement\":\"0\",\"isInsert\":\"0\",\"isList\":\"1\",\"isPk\":\"0\",\"isRe','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 22:33:39',98), +(68,'代码生成',2,'com.ruoyi.generator.controller.GenController.synchDb()','GET',1,'admin','研发部门','/tool/gen/synchDb/knowledge_base_line','127.0.0.1','内网IP','{}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 22:34:49',62), +(69,'代码生成',2,'com.ruoyi.generator.controller.GenController.editSave()','PUT',1,'admin','研发部门','/tool/gen','127.0.0.1','内网IP','{\"businessName\":\"knowledgeBaseLine\",\"className\":\"KnowledgeBaseLine\",\"columns\":[{\"capJavaField\":\"Id\",\"columnComment\":\"知识库表单栏\",\"columnId\":48,\"columnName\":\"id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 22:30:54\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":true,\"insert\":true,\"isIncrement\":\"1\",\"isInsert\":\"1\",\"isPk\":\"1\",\"isRequired\":\"0\",\"javaField\":\"id\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":true,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":1,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"updateTime\":\"2025-04-10 22:34:49\",\"usableColumn\":false},{\"capJavaField\":\"Name\",\"columnComment\":\"知识库单栏名称\",\"columnId\":55,\"columnName\":\"name\",\"columnType\":\"varchar(255)\",\"createBy\":\"\",\"createTime\":\"2025-04-10 22:34:49\",\"dictType\":\"\",\"edit\":true,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"1\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"1\",\"isPk\":\"0\",\"isQuery\":\"1\",\"isRequired\":\"0\",\"javaField\":\"name\",\"javaType\":\"String\",\"list\":true,\"params\":{},\"pk\":false,\"query\":true,\"queryType\":\"LIKE\",\"required\":false,\"sort\":2,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"usableColumn\":false},{\"capJavaField\":\"KnowledgeBaseId\",\"columnComment\":\"知识库ID\",\"columnId\":49,\"columnName\":\"knowledge_base_id\",\"columnType\":\"bigint(20)\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 22:30:54\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"input\",\"increment\":false,\"insert\":true,\"isEdit\":\"0\",\"isIncrement\":\"0\",\"isInsert\":\"1\",\"isList\":\"0\",\"isPk\":\"0\",\"isQuery\":\"0\",\"isRequired\":\"0\",\"javaField\":\"knowledgeBaseId\",\"javaType\":\"Long\",\"list\":false,\"params\":{},\"pk\":false,\"query\":false,\"queryType\":\"EQ\",\"required\":false,\"sort\":3,\"superColumn\":false,\"tableId\":5,\"updateBy\":\"\",\"updateTime\":\"2025-04-10 22:34:49\",\"usableColumn\":false},{\"capJavaField\":\"Context\",\"columnComment\":\"知识库内容\",\"columnId\":50,\"columnName\":\"context\",\"columnType\":\"longtext\",\"createBy\":\"admin\",\"createTime\":\"2025-04-10 22:30:54\",\"dictType\":\"\",\"edit\":false,\"htmlType\":\"textarea\",\"increment\":false,\"insert\":true,\"is','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-10 22:36:24',28), +(70,'代码生成',8,'com.ruoyi.generator.controller.GenController.batchGenCode()','GET',1,'admin','研发部门','/tool/gen/batchGenCode','127.0.0.1','内网IP','{\"tables\":\"knowledge_base_line\"}',NULL,0,NULL,'2025-04-10 22:36:42',81), +(71,'菜单管理',2,'com.ruoyi.web.controller.system.SysMenuController.edit()','PUT',1,'admin','研发部门','/system/menu','127.0.0.1','内网IP','{\"children\":[],\"component\":\"ai/knowledgeBaseList/index\",\"createTime\":\"2025-04-10 16:32:18\",\"icon\":\"list\",\"isCache\":\"0\",\"isFrame\":\"1\",\"menuId\":2014,\"menuName\":\"知识库列表\",\"menuType\":\"C\",\"orderNum\":1,\"params\":{},\"parentId\":2000,\"path\":\"knowledgeBaseList\",\"perms\":\"ai:knowledgeBaseList:list\",\"routeName\":\"\",\"status\":\"0\",\"updateBy\":\"admin\",\"visible\":\"0\"}','{\"msg\":\"操作成功\",\"code\":200}',0,NULL,'2025-04-15 15:39:56',89); + +/*Table structure for table `sys_post` */ + +DROP TABLE IF EXISTS `sys_post`; + +CREATE TABLE `sys_post` ( + `post_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '岗位名称', + `post_sort` int(4) NOT NULL COMMENT '显示顺序', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='岗位信息表'; + +/*Data for the table `sys_post` */ + +insert into `sys_post`(`post_id`,`post_code`,`post_name`,`post_sort`,`status`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,'ceo','董事长',1,'0','admin','2025-01-31 23:51:58','',NULL,''), +(2,'se','项目经理',2,'0','admin','2025-01-31 23:51:58','',NULL,''), +(3,'hr','人力资源',3,'0','admin','2025-01-31 23:51:58','',NULL,''), +(4,'user','普通员工',4,'0','admin','2025-01-31 23:51:58','',NULL,''); + +/*Table structure for table `sys_role` */ + +DROP TABLE IF EXISTS `sys_role`; + +CREATE TABLE `sys_role` ( + `role_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名称', + `role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色权限字符串', + `role_sort` int(4) NOT NULL COMMENT '显示顺序', + `data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `menu_check_strictly` tinyint(1) DEFAULT '1' COMMENT '菜单树选择项是否关联显示', + `dept_check_strictly` tinyint(1) DEFAULT '1' COMMENT '部门树选择项是否关联显示', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色信息表'; + +/*Data for the table `sys_role` */ + +insert into `sys_role`(`role_id`,`role_name`,`role_key`,`role_sort`,`data_scope`,`menu_check_strictly`,`dept_check_strictly`,`status`,`del_flag`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,'超级管理员','admin',1,'1',1,1,'0','0','admin','2025-01-31 23:51:58','',NULL,'超级管理员'), +(2,'普通角色','common',2,'2',1,1,'0','0','admin','2025-01-31 23:51:58','',NULL,'普通角色'); + +/*Table structure for table `sys_role_dept` */ + +DROP TABLE IF EXISTS `sys_role_dept`; + +CREATE TABLE `sys_role_dept` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `dept_id` bigint(20) NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色和部门关联表'; + +/*Data for the table `sys_role_dept` */ + +insert into `sys_role_dept`(`role_id`,`dept_id`) values +(2,100), +(2,101), +(2,105); + +/*Table structure for table `sys_role_menu` */ + +DROP TABLE IF EXISTS `sys_role_menu`; + +CREATE TABLE `sys_role_menu` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='角色和菜单关联表'; + +/*Data for the table `sys_role_menu` */ + +insert into `sys_role_menu`(`role_id`,`menu_id`) values +(2,1), +(2,2), +(2,3), +(2,4), +(2,100), +(2,101), +(2,102), +(2,103), +(2,104), +(2,105), +(2,106), +(2,107), +(2,108), +(2,109), +(2,110), +(2,111), +(2,112), +(2,113), +(2,114), +(2,115), +(2,116), +(2,117), +(2,500), +(2,501), +(2,1000), +(2,1001), +(2,1002), +(2,1003), +(2,1004), +(2,1005), +(2,1006), +(2,1007), +(2,1008), +(2,1009), +(2,1010), +(2,1011), +(2,1012), +(2,1013), +(2,1014), +(2,1015), +(2,1016), +(2,1017), +(2,1018), +(2,1019), +(2,1020), +(2,1021), +(2,1022), +(2,1023), +(2,1024), +(2,1025), +(2,1026), +(2,1027), +(2,1028), +(2,1029), +(2,1030), +(2,1031), +(2,1032), +(2,1033), +(2,1034), +(2,1035), +(2,1036), +(2,1037), +(2,1038), +(2,1039), +(2,1040), +(2,1041), +(2,1042), +(2,1043), +(2,1044), +(2,1045), +(2,1046), +(2,1047), +(2,1048), +(2,1049), +(2,1050), +(2,1051), +(2,1052), +(2,1053), +(2,1054), +(2,1055), +(2,1056), +(2,1057), +(2,1058), +(2,1059), +(2,1060); + +/*Table structure for table `sys_user` */ + +DROP TABLE IF EXISTS `sys_user`; + +CREATE TABLE `sys_user` ( + `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID', + `user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户昵称', + `user_type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '00' COMMENT '用户类型(00系统用户)', + `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '手机号码', + `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '头像地址', + `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '密码', + `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', + `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户信息表'; + +/*Data for the table `sys_user` */ + +insert into `sys_user`(`user_id`,`dept_id`,`user_name`,`nick_name`,`user_type`,`email`,`phonenumber`,`sex`,`avatar`,`password`,`status`,`del_flag`,`login_ip`,`login_date`,`create_by`,`create_time`,`update_by`,`update_time`,`remark`) values +(1,103,'admin','若依','00','ry@163.com','15888888888','1','','$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2','0','0','127.0.0.1','2025-04-15 15:17:33','admin','2025-01-31 23:51:58','','2025-04-15 15:17:33','管理员'), +(2,105,'ry','若依','00','ry@qq.com','15666666666','1','','$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2','0','0','127.0.0.1','2025-01-31 23:51:58','admin','2025-01-31 23:51:58','',NULL,'测试员'); + +/*Table structure for table `sys_user_online` */ + +DROP TABLE IF EXISTS `sys_user_online`; + +CREATE TABLE `sys_user_online` ( + `sessionId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '用户会话id', + `login_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '登录账号', + `dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '部门名称', + `ipaddr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '操作系统', + `status` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '在线状态on_line在线off_line离线', + `start_timestamp` datetime DEFAULT NULL COMMENT 'session创建时间', + `last_access_time` datetime DEFAULT NULL COMMENT 'session最后访问时间', + `expire_time` int(5) DEFAULT '0' COMMENT '超时时间,单位为分钟', + PRIMARY KEY (`sessionId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='在线用户记录'; + +/*Data for the table `sys_user_online` */ + +/*Table structure for table `sys_user_post` */ + +DROP TABLE IF EXISTS `sys_user_post`; + +CREATE TABLE `sys_user_post` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `post_id` bigint(20) NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户与岗位关联表'; + +/*Data for the table `sys_user_post` */ + +insert into `sys_user_post`(`user_id`,`post_id`) values +(1,1), +(2,2); + +/*Table structure for table `sys_user_role` */ + +DROP TABLE IF EXISTS `sys_user_role`; + +CREATE TABLE `sys_user_role` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='用户和角色关联表'; + +/*Data for the table `sys_user_role` */ + +insert into `sys_user_role`(`user_id`,`role_id`) values +(1,1), +(2,2); + +/*Table structure for table `vector_database_list` */ + +DROP TABLE IF EXISTS `vector_database_list`; + +CREATE TABLE `vector_database_list` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '向量数据库列表ID', + `alias_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '数据库别名', + `host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '数据库地址', + `port` int(10) DEFAULT NULL COMMENT '数据库端口', + `database` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '数据库名', + `table` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '数据库表名称', + `user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '数据库用户名', + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '数据库密码', + `dimension` int(10) DEFAULT NULL COMMENT '向量纬度', + `is_chose` tinyint(1) DEFAULT NULL COMMENT '是否选择', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +/*Data for the table `vector_database_list` */ + +insert into `vector_database_list`(`id`,`alias_name`,`host`,`port`,`database`,`table`,`user`,`password`,`dimension`,`is_chose`) values +(1,'PgVector向量库','127.0.0.1',5432,'test','knowledge_vector','box','123456',384,1); + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index 516eb5a..fba3aa7 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://localhost:3306/ruoyi-ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&serverTimezone=GMT%2B8 username: root password: root # 从库数据源 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 0fbad11..421e82c 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -73,7 +73,7 @@ spring: # redis 配置 redis: # 地址 - host: 192.168.48.129 + host: localhost # 端口,默认为6379 port: 6379 # 数据库索引 diff --git a/ruoyi-ai/pom.xml b/ruoyi-ai/pom.xml index d5532ee..db9e592 100644 --- a/ruoyi-ai/pom.xml +++ b/ruoyi-ai/pom.xml @@ -83,6 +83,20 @@ ruoyi-framework + + + org.apache.poi + poi-ooxml + 5.2.3 + + + + + org.apache.pdfbox + pdfbox + 2.0.29 + + diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/controller/KnowledgeBaseLineController.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/controller/KnowledgeBaseLineController.java new file mode 100644 index 0000000..7ab1b1f --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/controller/KnowledgeBaseLineController.java @@ -0,0 +1,121 @@ +package com.ruoyi.ai.controller; + +import java.util.List; + +import com.ruoyi.ai.utils.FileParseUtil; +import jakarta.servlet.http.HttpServletResponse; +import org.checkerframework.checker.units.qual.K; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.ai.domain.KnowledgeBaseLine; +import com.ruoyi.ai.service.IKnowledgeBaseLineService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; + +/** + * 知识库单栏Controller + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +@RestController +@RequestMapping("/ai/knowledgeBaseLine") +public class KnowledgeBaseLineController extends BaseController +{ + @Autowired + private IKnowledgeBaseLineService knowledgeBaseLineService; + + /** + * 查询知识库单栏列表 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseLine:list')") + @GetMapping("/list") + public TableDataInfo list(KnowledgeBaseLine knowledgeBaseLine) + { + startPage(); + List list = knowledgeBaseLineService.selectKnowledgeBaseLineList(knowledgeBaseLine); + return getDataTable(list); + } + + /** + * 导出知识库单栏列表 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseLine:export')") + @Log(title = "知识库单栏", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, KnowledgeBaseLine knowledgeBaseLine) + { + List list = knowledgeBaseLineService.selectKnowledgeBaseLineList(knowledgeBaseLine); + ExcelUtil util = new ExcelUtil(KnowledgeBaseLine.class); + util.exportExcel(response, list, "知识库单栏数据"); + } + + /** + * 获取知识库单栏详细信息 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseLine:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(knowledgeBaseLineService.selectKnowledgeBaseLineById(id)); + } + + /** + * 新增知识库单栏 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseLine:add')") + @Log(title = "知识库单栏", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody KnowledgeBaseLine knowledgeBaseLine) + { + return toAjax(knowledgeBaseLineService.insertKnowledgeBaseLine(knowledgeBaseLine)); + } + + /** + * 修改知识库单栏 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseLine:edit')") + @Log(title = "知识库单栏", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody KnowledgeBaseLine knowledgeBaseLine) + { + knowledgeBaseLine.setUpdateBy(getUsername()); + return toAjax(knowledgeBaseLineService.updateKnowledgeBaseLine(knowledgeBaseLine)); + } + + /** + * 删除知识库单栏 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseLine:remove')") + @Log(title = "知识库单栏", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(knowledgeBaseLineService.deleteKnowledgeBaseLineByIds(ids)); + } + + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseLine:add')") + @PostMapping("/upload") + public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, + @RequestParam("knowledgeBaseId") Long knowledgeBaseId, + @RequestParam("name") String name) { + try { + String content = FileParseUtil.parseFile(file); + KnowledgeBaseLine knowledgeBaseLine = new KnowledgeBaseLine(); + knowledgeBaseLine.setKnowledgeBaseId(knowledgeBaseId); + knowledgeBaseLine.setContext(content); + knowledgeBaseLine.setName(name); + knowledgeBaseLine.setCreateBy(getUsername()); + knowledgeBaseLineService.insertKnowledgeBaseLine(knowledgeBaseLine); + return AjaxResult.success(content); + } catch (Exception e) { + return AjaxResult.error("解析失败: " + e.getMessage()); + } + } +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/controller/KnowledgeBaseListController.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/controller/KnowledgeBaseListController.java new file mode 100644 index 0000000..e08d564 --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/controller/KnowledgeBaseListController.java @@ -0,0 +1,125 @@ +package com.ruoyi.ai.controller; + +import java.util.List; + +import com.ruoyi.ai.domain.KnowledgeBaseLine; +import com.ruoyi.ai.service.IKnowledgeBaseLineService; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.ai.domain.KnowledgeBaseList; +import com.ruoyi.ai.service.IKnowledgeBaseListService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 知识库列表Controller + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +@RestController +@RequestMapping("/ai/knowledgeBaseList") +public class KnowledgeBaseListController extends BaseController +{ + @Autowired + private IKnowledgeBaseListService knowledgeBaseListService; + + @Autowired + private IKnowledgeBaseLineService knowledgeBaseLineService; + + /** + * 查询知识库列表列表 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseList:list')") + @GetMapping("/list") + public TableDataInfo list(KnowledgeBaseList knowledgeBaseList) + { + startPage(); + List list = knowledgeBaseListService.selectKnowledgeBaseListList(knowledgeBaseList); + return getDataTable(list); + } + + /** + * 导出知识库列表列表 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseList:export')") + @Log(title = "知识库列表", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, KnowledgeBaseList knowledgeBaseList) + { + List list = knowledgeBaseListService.selectKnowledgeBaseListList(knowledgeBaseList); + ExcelUtil util = new ExcelUtil(KnowledgeBaseList.class); + util.exportExcel(response, list, "知识库列表数据"); + } + + /** + * 获取知识库列表详细信息 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseList:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(knowledgeBaseListService.selectKnowledgeBaseListById(id)); + } + + /** + * 获取知识库列表详细信息 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseList:query')") + @GetMapping(value = "/getLineInfo/{id}") + public TableDataInfo getLineInfo(@PathVariable("id") Long id) + { + startPage(); + List list = knowledgeBaseLineService.getLineInfo(id); + System.out.println(list); + return getDataTable(list); + } + + /** + * 新增知识库列表 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseList:add')") + @Log(title = "知识库列表", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody KnowledgeBaseList knowledgeBaseList) + { + knowledgeBaseList.setCreateBy(getUsername()); + return toAjax(knowledgeBaseListService.insertKnowledgeBaseList(knowledgeBaseList)); + } + + /** + * 修改知识库列表 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseList:edit')") + @Log(title = "知识库列表", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody KnowledgeBaseList knowledgeBaseList) + { + knowledgeBaseList.setUpdateBy(getUsername()); + return toAjax(knowledgeBaseListService.updateKnowledgeBaseList(knowledgeBaseList)); + } + + /** + * 删除知识库列表 + */ + @PreAuthorize("@ss.hasPermi('ai:knowledgeBaseList:remove')") + @Log(title = "知识库列表", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(knowledgeBaseListService.deleteKnowledgeBaseListByIds(ids)); + } +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/domain/KnowledgeBaseLine.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/domain/KnowledgeBaseLine.java new file mode 100644 index 0000000..08aa40b --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/domain/KnowledgeBaseLine.java @@ -0,0 +1,81 @@ +package com.ruoyi.ai.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 知识库单栏对象 knowledge_base_line + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +public class KnowledgeBaseLine extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 知识库表单栏 */ + private Long id; + + /** 知识库单栏名称 */ + @Excel(name = "知识库单栏名称") + private String name; + + /** 知识库ID */ + private Long knowledgeBaseId; + + /** 知识库内容 */ + private String context; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setKnowledgeBaseId(Long knowledgeBaseId) + { + this.knowledgeBaseId = knowledgeBaseId; + } + + public Long getKnowledgeBaseId() + { + return knowledgeBaseId; + } + public void setContext(String context) + { + this.context = context; + } + + public String getContext() + { + return context; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("knowledgeBaseId", getKnowledgeBaseId()) + .append("context", getContext()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/domain/KnowledgeBaseList.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/domain/KnowledgeBaseList.java new file mode 100644 index 0000000..010b547 --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/domain/KnowledgeBaseList.java @@ -0,0 +1,56 @@ +package com.ruoyi.ai.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 知识库列表对象 knowledge_base_list + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +public class KnowledgeBaseList extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 知识库ID */ + private Long id; + + /** 知识库名称 */ + @Excel(name = "知识库名称") + private String knowledgeBaseName; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setKnowledgeBaseName(String knowledgeBaseName) + { + this.knowledgeBaseName = knowledgeBaseName; + } + + public String getKnowledgeBaseName() + { + return knowledgeBaseName; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("knowledgeBaseName", getKnowledgeBaseName()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/mapper/KnowledgeBaseLineMapper.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/mapper/KnowledgeBaseLineMapper.java new file mode 100644 index 0000000..4031b00 --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/mapper/KnowledgeBaseLineMapper.java @@ -0,0 +1,63 @@ +package com.ruoyi.ai.mapper; + +import java.util.List; +import com.ruoyi.ai.domain.KnowledgeBaseLine; + +/** + * 知识库单栏Mapper接口 + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +public interface KnowledgeBaseLineMapper +{ + /** + * 查询知识库单栏 + * + * @param id 知识库单栏主键 + * @return 知识库单栏 + */ + public KnowledgeBaseLine selectKnowledgeBaseLineById(Long id); + + /** + * 查询知识库单栏列表 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 知识库单栏集合 + */ + public List selectKnowledgeBaseLineList(KnowledgeBaseLine knowledgeBaseLine); + + /** + * 新增知识库单栏 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 结果 + */ + public int insertKnowledgeBaseLine(KnowledgeBaseLine knowledgeBaseLine); + + /** + * 修改知识库单栏 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 结果 + */ + public int updateKnowledgeBaseLine(KnowledgeBaseLine knowledgeBaseLine); + + /** + * 删除知识库单栏 + * + * @param id 知识库单栏主键 + * @return 结果 + */ + public int deleteKnowledgeBaseLineById(Long id); + + /** + * 批量删除知识库单栏 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteKnowledgeBaseLineByIds(Long[] ids); + + List getLineInfo(Long id); +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/mapper/KnowledgeBaseListMapper.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/mapper/KnowledgeBaseListMapper.java new file mode 100644 index 0000000..a6e52ca --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/mapper/KnowledgeBaseListMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.ai.mapper; + +import java.util.List; +import com.ruoyi.ai.domain.KnowledgeBaseList; + +/** + * 知识库列表Mapper接口 + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +public interface KnowledgeBaseListMapper +{ + /** + * 查询知识库列表 + * + * @param id 知识库列表主键 + * @return 知识库列表 + */ + public KnowledgeBaseList selectKnowledgeBaseListById(Long id); + + /** + * 查询知识库列表列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 知识库列表集合 + */ + public List selectKnowledgeBaseListList(KnowledgeBaseList knowledgeBaseList); + + /** + * 新增知识库列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 结果 + */ + public int insertKnowledgeBaseList(KnowledgeBaseList knowledgeBaseList); + + /** + * 修改知识库列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 结果 + */ + public int updateKnowledgeBaseList(KnowledgeBaseList knowledgeBaseList); + + /** + * 删除知识库列表 + * + * @param id 知识库列表主键 + * @return 结果 + */ + public int deleteKnowledgeBaseListById(Long id); + + /** + * 批量删除知识库列表 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteKnowledgeBaseListByIds(Long[] ids); +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/service/IKnowledgeBaseLineService.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/service/IKnowledgeBaseLineService.java new file mode 100644 index 0000000..041e63d --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/service/IKnowledgeBaseLineService.java @@ -0,0 +1,63 @@ +package com.ruoyi.ai.service; + +import java.util.List; +import com.ruoyi.ai.domain.KnowledgeBaseLine; + +/** + * 知识库单栏Service接口 + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +public interface IKnowledgeBaseLineService +{ + /** + * 查询知识库单栏 + * + * @param id 知识库单栏主键 + * @return 知识库单栏 + */ + public KnowledgeBaseLine selectKnowledgeBaseLineById(Long id); + + /** + * 查询知识库单栏列表 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 知识库单栏集合 + */ + public List selectKnowledgeBaseLineList(KnowledgeBaseLine knowledgeBaseLine); + + /** + * 新增知识库单栏 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 结果 + */ + public int insertKnowledgeBaseLine(KnowledgeBaseLine knowledgeBaseLine); + + /** + * 修改知识库单栏 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 结果 + */ + public int updateKnowledgeBaseLine(KnowledgeBaseLine knowledgeBaseLine); + + /** + * 批量删除知识库单栏 + * + * @param ids 需要删除的知识库单栏主键集合 + * @return 结果 + */ + public int deleteKnowledgeBaseLineByIds(Long[] ids); + + /** + * 删除知识库单栏信息 + * + * @param id 知识库单栏主键 + * @return 结果 + */ + public int deleteKnowledgeBaseLineById(Long id); + + List getLineInfo(Long id); +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/service/IKnowledgeBaseListService.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/service/IKnowledgeBaseListService.java new file mode 100644 index 0000000..a6aea87 --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/service/IKnowledgeBaseListService.java @@ -0,0 +1,61 @@ +package com.ruoyi.ai.service; + +import java.util.List; +import com.ruoyi.ai.domain.KnowledgeBaseList; + +/** + * 知识库列表Service接口 + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +public interface IKnowledgeBaseListService +{ + /** + * 查询知识库列表 + * + * @param id 知识库列表主键 + * @return 知识库列表 + */ + public KnowledgeBaseList selectKnowledgeBaseListById(Long id); + + /** + * 查询知识库列表列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 知识库列表集合 + */ + public List selectKnowledgeBaseListList(KnowledgeBaseList knowledgeBaseList); + + /** + * 新增知识库列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 结果 + */ + public int insertKnowledgeBaseList(KnowledgeBaseList knowledgeBaseList); + + /** + * 修改知识库列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 结果 + */ + public int updateKnowledgeBaseList(KnowledgeBaseList knowledgeBaseList); + + /** + * 批量删除知识库列表 + * + * @param ids 需要删除的知识库列表主键集合 + * @return 结果 + */ + public int deleteKnowledgeBaseListByIds(Long[] ids); + + /** + * 删除知识库列表信息 + * + * @param id 知识库列表主键 + * @return 结果 + */ + public int deleteKnowledgeBaseListById(Long id); +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/service/impl/KnowledgeBaseLineServiceImpl.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/service/impl/KnowledgeBaseLineServiceImpl.java new file mode 100644 index 0000000..2dd0857 --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/service/impl/KnowledgeBaseLineServiceImpl.java @@ -0,0 +1,101 @@ +package com.ruoyi.ai.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.ai.mapper.KnowledgeBaseLineMapper; +import com.ruoyi.ai.domain.KnowledgeBaseLine; +import com.ruoyi.ai.service.IKnowledgeBaseLineService; + +/** + * 知识库单栏Service业务层处理 + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +@Service +public class KnowledgeBaseLineServiceImpl implements IKnowledgeBaseLineService +{ + @Autowired + private KnowledgeBaseLineMapper knowledgeBaseLineMapper; + + /** + * 查询知识库单栏 + * + * @param id 知识库单栏主键 + * @return 知识库单栏 + */ + @Override + public KnowledgeBaseLine selectKnowledgeBaseLineById(Long id) + { + return knowledgeBaseLineMapper.selectKnowledgeBaseLineById(id); + } + + /** + * 查询知识库单栏列表 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 知识库单栏 + */ + @Override + public List selectKnowledgeBaseLineList(KnowledgeBaseLine knowledgeBaseLine) + { + return knowledgeBaseLineMapper.selectKnowledgeBaseLineList(knowledgeBaseLine); + } + + /** + * 新增知识库单栏 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 结果 + */ + @Override + public int insertKnowledgeBaseLine(KnowledgeBaseLine knowledgeBaseLine) + { + knowledgeBaseLine.setCreateTime(DateUtils.getNowDate()); + return knowledgeBaseLineMapper.insertKnowledgeBaseLine(knowledgeBaseLine); + } + + /** + * 修改知识库单栏 + * + * @param knowledgeBaseLine 知识库单栏 + * @return 结果 + */ + @Override + public int updateKnowledgeBaseLine(KnowledgeBaseLine knowledgeBaseLine) + { + knowledgeBaseLine.setUpdateTime(DateUtils.getNowDate()); + return knowledgeBaseLineMapper.updateKnowledgeBaseLine(knowledgeBaseLine); + } + + /** + * 批量删除知识库单栏 + * + * @param ids 需要删除的知识库单栏主键 + * @return 结果 + */ + @Override + public int deleteKnowledgeBaseLineByIds(Long[] ids) + { + return knowledgeBaseLineMapper.deleteKnowledgeBaseLineByIds(ids); + } + + /** + * 删除知识库单栏信息 + * + * @param id 知识库单栏主键 + * @return 结果 + */ + @Override + public int deleteKnowledgeBaseLineById(Long id) + { + return knowledgeBaseLineMapper.deleteKnowledgeBaseLineById(id); + } + + @Override + public List getLineInfo(Long id) { + return knowledgeBaseLineMapper.getLineInfo(id); + } +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/service/impl/KnowledgeBaseListServiceImpl.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/service/impl/KnowledgeBaseListServiceImpl.java new file mode 100644 index 0000000..dbc5f1a --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/service/impl/KnowledgeBaseListServiceImpl.java @@ -0,0 +1,96 @@ +package com.ruoyi.ai.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.ai.mapper.KnowledgeBaseListMapper; +import com.ruoyi.ai.domain.KnowledgeBaseList; +import com.ruoyi.ai.service.IKnowledgeBaseListService; + +/** + * 知识库列表Service业务层处理 + * + * @author 欧阳日峰 + * @date 2025-04-10 + */ +@Service +public class KnowledgeBaseListServiceImpl implements IKnowledgeBaseListService +{ + @Autowired + private KnowledgeBaseListMapper knowledgeBaseListMapper; + + /** + * 查询知识库列表 + * + * @param id 知识库列表主键 + * @return 知识库列表 + */ + @Override + public KnowledgeBaseList selectKnowledgeBaseListById(Long id) + { + return knowledgeBaseListMapper.selectKnowledgeBaseListById(id); + } + + /** + * 查询知识库列表列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 知识库列表 + */ + @Override + public List selectKnowledgeBaseListList(KnowledgeBaseList knowledgeBaseList) + { + return knowledgeBaseListMapper.selectKnowledgeBaseListList(knowledgeBaseList); + } + + /** + * 新增知识库列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 结果 + */ + @Override + public int insertKnowledgeBaseList(KnowledgeBaseList knowledgeBaseList) + { + knowledgeBaseList.setCreateTime(DateUtils.getNowDate()); + return knowledgeBaseListMapper.insertKnowledgeBaseList(knowledgeBaseList); + } + + /** + * 修改知识库列表 + * + * @param knowledgeBaseList 知识库列表 + * @return 结果 + */ + @Override + public int updateKnowledgeBaseList(KnowledgeBaseList knowledgeBaseList) + { + knowledgeBaseList.setUpdateTime(DateUtils.getNowDate()); + return knowledgeBaseListMapper.updateKnowledgeBaseList(knowledgeBaseList); + } + + /** + * 批量删除知识库列表 + * + * @param ids 需要删除的知识库列表主键 + * @return 结果 + */ + @Override + public int deleteKnowledgeBaseListByIds(Long[] ids) + { + return knowledgeBaseListMapper.deleteKnowledgeBaseListByIds(ids); + } + + /** + * 删除知识库列表信息 + * + * @param id 知识库列表主键 + * @return 结果 + */ + @Override + public int deleteKnowledgeBaseListById(Long id) + { + return knowledgeBaseListMapper.deleteKnowledgeBaseListById(id); + } +} diff --git a/ruoyi-ai/src/main/java/com/ruoyi/ai/utils/FileParseUtil.java b/ruoyi-ai/src/main/java/com/ruoyi/ai/utils/FileParseUtil.java new file mode 100644 index 0000000..5f9cabd --- /dev/null +++ b/ruoyi-ai/src/main/java/com/ruoyi/ai/utils/FileParseUtil.java @@ -0,0 +1,62 @@ +package com.ruoyi.ai.utils; + +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.text.PDFTextStripper; +import org.apache.poi.hwpf.HWPFDocument; +import org.apache.poi.hwpf.extractor.WordExtractor; +import org.apache.poi.xwpf.extractor.XWPFWordExtractor; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; + +public class FileParseUtil { + + public static String parseFile(MultipartFile file) throws IOException { + String filename = file.getOriginalFilename(); + if (filename == null) { + throw new IOException("文件名为空"); + } + + if (filename.endsWith(".txt")) { + return parseTxt(file); + } else if (filename.endsWith(".pdf")) { + return parsePdf(file); + } else if (filename.endsWith(".doc") || filename.endsWith(".docx")) { + return parseWord(file); + } else { + throw new IOException("不支持的文件类型"); + } + } + + private static String parseTxt(MultipartFile file) throws IOException { + return new String(file.getBytes(), StandardCharsets.UTF_8); + } + + private static String parsePdf(MultipartFile file) throws IOException { + try (PDDocument document = PDDocument.load(file.getInputStream())) { + PDFTextStripper stripper = new PDFTextStripper(); + return stripper.getText(document); + } + } + + private static String parseWord(MultipartFile file) throws IOException { + String filename = file.getOriginalFilename(); + if (filename == null) return ""; + + if (filename.endsWith(".docx")) { + try (XWPFDocument docx = new XWPFDocument(file.getInputStream())) { + XWPFWordExtractor extractor = new XWPFWordExtractor(docx); + return extractor.getText(); + } + } else if (filename.endsWith(".doc")) { + try (HWPFDocument doc = new HWPFDocument(file.getInputStream())) { + WordExtractor extractor = new WordExtractor(doc); + return extractor.getText(); + } + } else { + return ""; + } + } +} diff --git a/ruoyi-ai/src/main/resources/mapper/ai/KnowledgeBaseLineMapper.xml b/ruoyi-ai/src/main/resources/mapper/ai/KnowledgeBaseLineMapper.xml new file mode 100644 index 0000000..bb3cdfe --- /dev/null +++ b/ruoyi-ai/src/main/resources/mapper/ai/KnowledgeBaseLineMapper.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + select id, name, knowledge_base_id, context, create_by, create_time, update_by, update_time from knowledge_base_line + + + + + + + + + insert into knowledge_base_line + + name, + knowledge_base_id, + context, + create_by, + create_time, + update_by, + update_time, + + + #{name}, + #{knowledgeBaseId}, + #{context}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update knowledge_base_line + + name = #{name}, + knowledge_base_id = #{knowledgeBaseId}, + context = #{context}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from knowledge_base_line where id = #{id} + + + + delete from knowledge_base_line where id in + + #{id} + + + \ No newline at end of file diff --git a/ruoyi-ai/src/main/resources/mapper/ai/KnowledgeBaseListMapper.xml b/ruoyi-ai/src/main/resources/mapper/ai/KnowledgeBaseListMapper.xml new file mode 100644 index 0000000..c9167bd --- /dev/null +++ b/ruoyi-ai/src/main/resources/mapper/ai/KnowledgeBaseListMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + select id, knowledge_base_name, remark, create_by, create_time, update_by, update_time from knowledge_base_list + + + + + + + + insert into knowledge_base_list + + id, + knowledge_base_name, + remark, + create_by, + create_time, + update_by, + update_time, + + + #{id}, + #{knowledgeBaseName}, + #{remark}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update knowledge_base_list + + knowledge_base_name = #{knowledgeBaseName}, + remark = #{remark}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from knowledge_base_list where id = #{id} + + + + delete from knowledge_base_list where id in + + #{id} + + + \ No newline at end of file diff --git a/ruoyi-ui/src/api/ai/knowledgeBaseLine.js b/ruoyi-ui/src/api/ai/knowledgeBaseLine.js new file mode 100644 index 0000000..c71bb4c --- /dev/null +++ b/ruoyi-ui/src/api/ai/knowledgeBaseLine.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +// 查询知识库单栏列表 +export function listKnowledgeBaseLine(query) { + return request({ + url: '/ai/knowledgeBaseLine/list', + method: 'get', + params: query + }) +} + +// 查询知识库单栏详细 +export function getKnowledgeBaseLine(id) { + return request({ + url: '/ai/knowledgeBaseLine/' + id, + method: 'get' + }) +} + +// 新增知识库单栏 +export function addKnowledgeBaseLine(data) { + return request({ + url: '/ai/knowledgeBaseLine', + method: 'post', + data: data + }) +} + + +// 上传文件 +export function upload(formData) { + return request({ + url: '/ai/knowledgeBaseLine/upload', + method: 'post', + headers: { + 'Content-Type': 'multipart/form-data' + }, + data: formData + }) +} + +// 修改知识库单栏 +export function updateKnowledgeBaseLine(data) { + return request({ + url: '/ai/knowledgeBaseLine', + method: 'put', + data: data + }) +} + +// 删除知识库单栏 +export function delKnowledgeBaseLine(id) { + return request({ + url: '/ai/knowledgeBaseLine/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/api/ai/knowledgeBaseList.js b/ruoyi-ui/src/api/ai/knowledgeBaseList.js new file mode 100644 index 0000000..2278a52 --- /dev/null +++ b/ruoyi-ui/src/api/ai/knowledgeBaseList.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询知识库列表列表 +export function listKnowledgeBaseList(query) { + return request({ + url: '/ai/knowledgeBaseList/list', + method: 'get', + params: query + }) +} + +// 查询知识库列表详细 +export function getKnowledgeBaseList(id) { + return request({ + url: '/ai/knowledgeBaseList/' + id, + method: 'get' + }) +} + +// 查询知识库单列列表 +export function getLineInfo(id) { + return request({ + url: '/ai/knowledgeBaseList/getLineInfo/' + id, + method: 'get' + }) +} + + +// 新增知识库列表 +export function addKnowledgeBaseList(data) { + return request({ + url: '/ai/knowledgeBaseList', + method: 'post', + data: data + }) +} + +// 修改知识库列表 +export function updateKnowledgeBaseList(data) { + return request({ + url: '/ai/knowledgeBaseList', + method: 'put', + data: data + }) +} + +// 删除知识库列表 +export function delKnowledgeBaseList(id) { + return request({ + url: '/ai/knowledgeBaseList/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/ai/knowledgeBaseLine/index.vue b/ruoyi-ui/src/views/ai/knowledgeBaseLine/index.vue new file mode 100644 index 0000000..76deb7d --- /dev/null +++ b/ruoyi-ui/src/views/ai/knowledgeBaseLine/index.vue @@ -0,0 +1,348 @@ + + + diff --git a/ruoyi-ui/src/views/ai/knowledgeBaseList/index.vue b/ruoyi-ui/src/views/ai/knowledgeBaseList/index.vue new file mode 100644 index 0000000..84ec4f1 --- /dev/null +++ b/ruoyi-ui/src/views/ai/knowledgeBaseList/index.vue @@ -0,0 +1,659 @@ + + + -- Gitee