前端和json优化

This commit is contained in:
2025-11-28 17:16:17 +08:00
parent 34e69c7f62
commit dfb11c85f1
135 changed files with 930 additions and 633 deletions

View File

@@ -400,6 +400,8 @@ class RmrbCrawler(BaseCrawler):
src = str(src) # 转换为字符串 src = str(src) # 转换为字符串
if not src.startswith("http"): if not src.startswith("http"):
src = self.config.base_url + src src = self.config.base_url + src
if src=="http://www.people.com.cn/img/2020wbc/imgs/share.png": #分享图片跳过
continue
content = f"<img style='{p_style}' src='{src}' />" content = f"<img style='{p_style}' src='{src}' />"
elif p.find('video'): elif p.find('video'):

View File

@@ -31,7 +31,7 @@ INSERT INTO `tb_sys_config` (`id`, `config_key`, `config_name`, `config_value`,
('46', 'email.timeout', '连接超时时间', '30000', 'integer', 'input', '邮件配置', '连接超时时间(毫秒)', '请输入超时时间', 'SMTP连接超时时间', NULL, 5000, 60000, '毫秒', NULL, 46, 1, '1', now()), ('46', 'email.timeout', '连接超时时间', '30000', 'integer', 'input', '邮件配置', '连接超时时间(毫秒)', '请输入超时时间', 'SMTP连接超时时间', NULL, 5000, 60000, '毫秒', NULL, 46, 1, '1', now()),
-- 短信配置 -- 短信配置
('50', 'sms.provider', '短信服务商', 'aliyun', 'string', 'select', '短信配置', '短信服务提供商', NULL, '短信服务提供商类型', NULL, NULL, NULL, NULL, 'aliyun,tencent', 50, 1, '1', now()), ('50', 'sms.provider', '短信服务商', 'aliyun', 'string', 'select', '短信配置', '短信服务提供商', NULL, '短信服务提供商类型', NULL, NULL, NULL, NULL, 'aliyun', 50, 1, '1', now()),
('51', 'sms.accessKeyId', 'AccessKey ID', 'LTAI5t68do3qVXx5Rufugt3X', 'string', 'input', '短信配置', '短信服务AccessKey ID', '请输入AccessKey ID', '云服务商的AccessKey ID', NULL, NULL, NULL, NULL, NULL, 51, 1, '1', now()), ('51', 'sms.accessKeyId', 'AccessKey ID', 'LTAI5t68do3qVXx5Rufugt3X', 'string', 'input', '短信配置', '短信服务AccessKey ID', '请输入AccessKey ID', '云服务商的AccessKey ID', NULL, NULL, NULL, NULL, NULL, 51, 1, '1', now()),
('52', 'sms.accessKeySecret', 'AccessKey Secret', '2vD9ToIff49Vph4JQXsn0Cy8nXQfzA', 'string', 'password', '短信配置', '短信服务AccessKey Secret', '请输入AccessKey Secret', '云服务商的AccessKey Secret', NULL, NULL, NULL, NULL, NULL, 52, 1, '1', now()), ('52', 'sms.accessKeySecret', 'AccessKey Secret', '2vD9ToIff49Vph4JQXsn0Cy8nXQfzA', 'string', 'password', '短信配置', '短信服务AccessKey Secret', '请输入AccessKey Secret', '云服务商的AccessKey Secret', NULL, NULL, NULL, NULL, NULL, 52, 1, '1', now()),
('53', 'sms.signName', '短信签名', '星洋智慧', 'string', 'input', '短信配置', '短信签名', '请输入短信签名', '发送短信使用的签名', NULL, NULL, NULL, NULL, NULL, 53, 1, '1', now()), ('53', 'sms.signName', '短信签名', '星洋智慧', 'string', 'input', '短信配置', '短信签名', '请输入短信签名', '发送短信使用的签名', NULL, NULL, NULL, NULL, NULL, 53, 1, '1', now()),

View File

@@ -45,75 +45,246 @@ INSERT INTO `tb_sys_module` (id, module_id, name, code, description, icon, order
('9', 'module_sensitive', '敏感词管理', 'sensitive', '敏感词管理模块', 'el-icon-warning', 9, 1, '1', now()); ('9', 'module_sensitive', '敏感词管理', 'sensitive', '敏感词管理模块', 'el-icon-warning', 9, 1, '1', now());
-- 插入权限数据 -- 插入权限数据
-- ============================================
-- 权限ID分配规则每个模块预留100个ID
-- 9000-9999: 前端用户权限(默认权限)
-- 100-999: 超级管理员专属权限
-- 1000-8999: 普通管理员权限
-- ============================================
INSERT INTO `tb_sys_permission` (id, permission_id, name, code, description, module_id, creator, create_time) VALUES INSERT INTO `tb_sys_permission` (id, permission_id, name, code, description, module_id, creator, create_time) VALUES
('0','perm_default', '默认权限', 'default', '默认权限', 'module_system', '1', now()), -- ========== 前端用户权限 (9000-9999) ==========
('1','perm_system_manage', '系统管理', 'system:manage', '系统管理权限', 'module_system', '1', now()), -- 9000-9099: 默认权限和基础视图
('2','perm_system_dept_manage', '系统部门查看', 'system:dept:manage', '系统部门查看权限', 'module_system', '1', now()), ('9000', 'perm_default', '默认权限', 'default', '所有登录用户的默认权限', 'module_system', '1', now()),
('3','perm_system_menu_manage', '系统菜单查看', 'system:menu:manage', '系统菜单查看权限', 'module_system', '1', now()), ('9001', 'perm_view_home', '首页访问', 'view:home', '访问首页视图权限', 'module_usercenter', '1', now()),
('4','perm_system_permission_manage', '系统权限查看', 'system:permission:manage', '系统权限查看权限', 'module_system', '1', now()), ('9002', 'perm_view_resource_hot', '热门资源访问', 'view:resource:hot', '访问热门资源视图权限', 'module_news', '1', now()),
('5','perm_system_role_manage', '系统角色查看', 'system:role:manage', '系统角色查看权限', 'module_system', '1', now()), ('9003', 'perm_view_resource_center', '资源中心访问', 'view:resource:center', '访问资源中心视图权限', 'module_news', '1', now()),
('6','perm_system_user_manage', '系统用户查看', 'system:user:manage', '系统用户查看权限', 'module_system', '1', now()), ('9004', 'perm_view_search', '搜索访问', 'view:search', '访问搜索视图权限', 'module_news', '1', now()),
('7','perm_system_module_manage', '系统模块查看', 'system:module:manage', '系统模块查看权限', 'module_system', '1', now()), ('9005', 'perm_view_article_show', '文章展示访问', 'view:article:show', '访问文章展示视图权限', 'module_news', '1', now()),
('8','perm_news_manage', '新闻管理', 'news:manage', '新闻管理权限', 'module_news', '1', now()),
('9','perm_news_article_add', '文章添加', 'news:manage', '文章添加权限', 'module_news', '1', now()), -- 9100-9199: 学习计划相关
('10','perm_study_manage', '学习管理', 'study:manage', '学习管理权限', 'module_study', '1', now()), ('9100', 'perm_view_study_tasks', '学习任务访问', 'view:study:tasks', '访问学习任务视图权限', 'module_study', '1', now()),
('10.1','perm_achievement_manage', '成就管理', 'achievement:manage', '成就管理权限', 'module_study', '1', now()), ('9101', 'perm_view_course_center', '课程中心访问', 'view:course:center', '访问课程中心视图权限', 'module_study', '1', now()),
('11','perm_ai_manage', 'AI管理', 'ai:manage', 'AI管理权限', 'module_ai', '1', now()), ('9102', 'perm_view_task_detail', '任务详情访问', 'view:task:detail', '访问任务详情视图权限', 'module_study', '1', now()),
('12','perm_usercenter_manage', '用户中心管理', 'usercenter:manage', '用户中心管理权限', 'module_usercenter', '1', now()), ('9103', 'perm_view_course_detail', '课程详情访问', 'view:course:detail', '访问课程详情视图权限', 'module_study', '1', now()),
('13','perm_file_manage', '文件管理', 'file:manage', '文件管理权限', 'module_file', '1', now()), ('9104', 'perm_view_course_study', '课程学习访问', 'view:course:study', '访问课程学习视图权限', 'module_study', '1', now()),
('14','perm_crontab_manage', '定时任务管理', 'crontab:manage', '定时任务管理权限', 'module_crontab', '1', now()),
('15','perm_crontab_execute', '定时任务执行', 'crontab:execute', '定时任务执行权限', 'module_crontab', '1', now()), -- 9200-9299: 用户中心相关
('16','perm_message_manage', '消息管理', 'message:manage', '消息管理权限(管理端)', 'module_message', '1', now()), ('9200', 'perm_view_learning_records', '学习记录访问', 'view:learning:records', '访问学习记录视图权限', 'module_usercenter', '1', now()),
('17','perm_message_send', '消息发送', 'message:send', '消息发送权限', 'module_message', '1', now()), ('9201', 'perm_view_my_favorites', '我的收藏访问', 'view:my:favorites', '访问我的收藏视图权限', 'module_usercenter', '1', now()),
('18','perm_message_view', '消息查看', 'message:view', '消息查看权限(用户端)', 'module_message', '1', now()), ('9202', 'perm_view_my_achievements', '我的成就访问', 'view:my:achievements', '访问我的成就视图权限', 'module_usercenter', '1', now()),
('19','perm_sensitive_manage', '敏感词管理', 'sensitive:manage', '敏感词管理权限', 'module_sensitive', '1', now()); ('9203', 'perm_view_personal_info', '个人信息访问', 'view:personal:info', '访问个人信息视图权限', 'module_usercenter', '1', now()),
('9204', 'perm_view_account_settings', '账号设置访问', 'view:account:settings', '访问账号设置视图权限', 'module_usercenter', '1', now()),
-- 9300-9399: 文章和消息相关
('9300', 'perm_view_article_add', '文章添加访问', 'view:article:add', '访问文章添加视图权限', 'module_news', '1', now()),
('9301', 'perm_view_message_center', '消息中心访问', 'view:message:center', '访问消息中心视图权限', 'module_message', '1', now()),
('9302', 'perm_view_message_detail', '消息详情访问', 'view:message:detail', '访问消息详情视图权限', 'module_message', '1', now()),
-- ========== 超级管理员专属权限 (100-999) ==========
-- 100-199: 系统总览
('100', 'perm_admin_overview', '系统总览', 'admin:overview', '访问系统总览视图权限(超级管理员)', 'module_system', '1', now()),
-- 200-299: 用户管理
('200', 'perm_admin_user_manage', '用户管理', 'admin:user:manage', '访问用户管理视图权限(超级管理员)', 'module_system', '1', now()),
-- 300-399: 部门管理
('300', 'perm_admin_dept_manage', '部门管理', 'admin:dept:manage', '访问部门管理视图权限(超级管理员)', 'module_system', '1', now()),
-- 400-499: 角色管理
('400', 'perm_admin_role_manage', '角色管理', 'admin:role:manage', '访问角色管理视图权限(超级管理员)', 'module_system', '1', now()),
-- 500-599: 菜单管理
('500', 'perm_admin_menu_manage', '菜单管理', 'admin:menu:manage', '访问菜单管理视图权限(超级管理员)', 'module_system', '1', now()),
-- 600-699: 模块权限管理
('600', 'perm_admin_module_permission_manage', '模块权限管理', 'admin:module:permission:manage', '访问模块权限管理视图权限(超级管理员)', 'module_system', '1', now()),
-- 700-799: 系统日志
('700', 'perm_admin_system_logs', '系统日志', 'admin:logs:system', '访问系统日志视图权限(超级管理员)', 'module_system', '1', now()),
('701', 'perm_admin_login_logs', '登录日志', 'admin:logs:login', '访问登录日志视图权限(超级管理员)', 'module_system', '1', now()),
-- 800-899: 系统配置
('800', 'perm_admin_system_config', '系统配置', 'admin:system:config', '访问系统配置视图权限(超级管理员)', 'module_system', '1', now()),
-- ========== 普通管理员权限 (1000-8999) ==========
-- 1000-1099: 资源管理
('1000', 'perm_admin_resource_manage', '资源数据采集', 'admin:resource:manage', '访问资源数据采集视图权限', 'module_news', '1', now()),
-- 1100-1199: 文章管理
('1100', 'perm_admin_article_manage', '文章管理', 'admin:article:manage', '访问文章管理视图权限', 'module_news', '1', now()),
-- 1200-1299: Banner管理
('1200', 'perm_admin_banner_manage', 'Banner管理', 'admin:banner:manage', '访问Banner管理视图权限', 'module_news', '1', now()),
-- 1300-1399: 标签管理
('1300', 'perm_admin_tag_manage', '标签管理', 'admin:tag:manage', '访问标签管理视图权限', 'module_news', '1', now()),
-- 1400-1499: 栏目管理
('1400', 'perm_admin_column_manage', '栏目管理', 'admin:column:manage', '访问栏目管理视图权限', 'module_news', '1', now()),
-- 1500-1599: 敏感词管理
('1500', 'perm_admin_sensitive_manage', '敏感词管理', 'admin:sensitive:manage', '访问敏感词管理视图权限', 'module_sensitive', '1', now()),
-- 2000-2099: 任务管理
('2000', 'perm_admin_task_manage', '任务管理', 'admin:task:manage', '访问任务管理视图权限', 'module_study', '1', now()),
-- 2100-2199: 学习记录管理
('2100', 'perm_admin_study_records', '学习记录管理', 'admin:study:records', '访问学习记录管理视图权限', 'module_study', '1', now()),
-- 2200-2299: 课程管理
('2200', 'perm_admin_course_manage', '课程管理', 'admin:course:manage', '访问课程管理视图权限', 'module_study', '1', now()),
-- 2300-2399: 成就管理
('2300', 'perm_admin_achievement_manage', '成就管理', 'admin:achievement:manage', '访问成就管理视图权限', 'module_study', '1', now()),
-- 3000-3099: AI配置
('3000', 'perm_admin_ai_config', 'AI配置', 'admin:ai:config', '访问AI配置视图权限', 'module_ai', '1', now()),
-- 3100-3199: 知识库管理
('3100', 'perm_admin_knowledge_manage', '知识库管理', 'admin:knowledge:manage', '访问知识库管理视图权限', 'module_ai', '1', now()),
-- 5000-5099: 邮件配置
('5000', 'perm_admin_meta_email_default', '默认接收人配置', 'admin:meta:email:default', '访问默认接收人配置视图权限', 'module_crontab', '1', now()),
-- 5100-5199: 定时任务日志
('5100', 'perm_admin_crontab_log', '定时任务执行日志', 'admin:crontab:log', '访问定时任务执行日志视图权限', 'module_crontab', '1', now()),
-- 5200-5299: 新闻爬虫配置
('5200', 'perm_admin_news_crawler', '新闻爬虫配置', 'admin:news:crawler', '访问新闻爬虫配置视图权限', 'module_crontab', '1', now()),
-- 5300-5399: 系统定时任务
('5300', 'perm_admin_system_task', '系统定时任务配置', 'admin:system:task', '访问系统定时任务配置视图权限', 'module_crontab', '1', now()),
-- 6000-6099: 消息管理
('6000', 'perm_admin_message_manage', '消息管理', 'admin:message:manage', '访问消息管理视图权限', 'module_message', '1', now());
-- 插入角色-权限关联数据 -- 插入角色-权限关联数据
-- 超级管理员:拥有所有权限 -- ============================================
-- 超级管理员:拥有所有权限(前端用户 + 超级管理员 + 普通管理员)
-- ============================================
INSERT INTO `tb_sys_role_permission` (id, role_id, permission_id, creator, create_time) VALUES INSERT INTO `tb_sys_role_permission` (id, role_id, permission_id, creator, create_time) VALUES
-- 前端用户权限 (9000-9999)
('1', 'superadmin', 'perm_default', '1', now()), ('1', 'superadmin', 'perm_default', '1', now()),
('2', 'superadmin', 'perm_system_manage', '1', now()), ('2', 'superadmin', 'perm_view_home', '1', now()),
('3', 'superadmin', 'perm_system_dept_manage', '1', now()), ('3', 'superadmin', 'perm_view_resource_hot', '1', now()),
('4', 'superadmin', 'perm_system_menu_manage', '1', now()), ('4', 'superadmin', 'perm_view_resource_center', '1', now()),
('5', 'superadmin', 'perm_system_permission_manage', '1', now()), ('5', 'superadmin', 'perm_view_search', '1', now()),
('6', 'superadmin', 'perm_system_role_manage', '1', now()), ('6', 'superadmin', 'perm_view_article_show', '1', now()),
('7', 'superadmin', 'perm_system_user_manage', '1', now()), ('7', 'superadmin', 'perm_view_study_tasks', '1', now()),
('8', 'superadmin', 'perm_system_module_manage', '1', now()), ('8', 'superadmin', 'perm_view_course_center', '1', now()),
('9', 'superadmin', 'perm_news_manage', '1', now()), ('9', 'superadmin', 'perm_view_task_detail', '1', now()),
('10', 'superadmin', 'perm_news_article_add', '1', now()), ('10', 'superadmin', 'perm_view_course_detail', '1', now()),
('11', 'superadmin', 'perm_study_manage', '1', now()), ('11', 'superadmin', 'perm_view_course_study', '1', now()),
('12', 'superadmin', 'perm_achievement_manage', '1', now()), ('12', 'superadmin', 'perm_view_learning_records', '1', now()),
('13', 'superadmin', 'perm_ai_manage', '1', now()), ('13', 'superadmin', 'perm_view_my_favorites', '1', now()),
('14', 'superadmin', 'perm_usercenter_manage', '1', now()), ('14', 'superadmin', 'perm_view_my_achievements', '1', now()),
('15', 'superadmin', 'perm_file_manage', '1', now()), ('15', 'superadmin', 'perm_view_personal_info', '1', now()),
('16', 'superadmin', 'perm_crontab_manage', '1', now()), ('16', 'superadmin', 'perm_view_account_settings', '1', now()),
('17', 'superadmin', 'perm_crontab_execute', '1', now()), ('17', 'superadmin', 'perm_view_article_add', '1', now()),
('18', 'superadmin', 'perm_message_manage', '1', now()), ('18', 'superadmin', 'perm_view_message_center', '1', now()),
('19', 'superadmin', 'perm_message_send', '1', now()), ('19', 'superadmin', 'perm_view_message_detail', '1', now()),
('20', 'superadmin', 'perm_message_view', '1', now()),
('21', 'superadmin', 'perm_sensitive_manage', '1', now()),
-- 管理员:拥有业务管理权限,但没有系统日志等系统管理权限 -- 超级管理员专属权限 (100-999)
('22', 'admin', 'perm_default', '1', now()), ('20', 'superadmin', 'perm_admin_overview', '1', now()),
('23', 'admin', 'perm_news_manage', '1', now()), ('21', 'superadmin', 'perm_admin_user_manage', '1', now()),
('24', 'admin', 'perm_news_article_add', '1', now()), ('22', 'superadmin', 'perm_admin_dept_manage', '1', now()),
('25', 'admin', 'perm_study_manage', '1', now()), ('23', 'superadmin', 'perm_admin_role_manage', '1', now()),
('26', 'admin', 'perm_achievement_manage', '1', now()), ('24', 'superadmin', 'perm_admin_menu_manage', '1', now()),
('27', 'admin', 'perm_ai_manage', '1', now()), ('25', 'superadmin', 'perm_admin_module_permission_manage', '1', now()),
('28', 'admin', 'perm_usercenter_manage', '1', now()), ('26', 'superadmin', 'perm_admin_system_logs', '1', now()),
('29', 'admin', 'perm_file_manage', '1', now()), ('27', 'superadmin', 'perm_admin_login_logs', '1', now()),
('30', 'admin', 'perm_message_manage', '1', now()), ('28', 'superadmin', 'perm_admin_system_config', '1', now()),
('31', 'admin', 'perm_message_send', '1', now()),
('32', 'admin', 'perm_message_view', '1', now()),
('33', 'admin', 'perm_sensitive_manage', '1', now()),
-- 自由角色:拥有用户视图相关的所有权限(前台用户权限) -- 普通管理员权限 (1000-8999)
('40', 'freedom', 'perm_default', '1', now()), ('29', 'superadmin', 'perm_admin_resource_manage', '1', now()),
('41', 'freedom', 'perm_news_article_add', '1', now()), ('30', 'superadmin', 'perm_admin_article_manage', '1', now()),
('42', 'freedom', 'perm_ai_manage', '1', now()), ('31', 'superadmin', 'perm_admin_banner_manage', '1', now()),
('43', 'freedom', 'perm_usercenter_manage', '1', now()), ('32', 'superadmin', 'perm_admin_tag_manage', '1', now()),
('44', 'freedom', 'perm_file_manage', '1', now()), ('33', 'superadmin', 'perm_admin_column_manage', '1', now()),
('45', 'freedom', 'perm_message_view', '1', now()); ('34', 'superadmin', 'perm_admin_sensitive_manage', '1', now()),
('35', 'superadmin', 'perm_admin_task_manage', '1', now()),
('36', 'superadmin', 'perm_admin_study_records', '1', now()),
('37', 'superadmin', 'perm_admin_course_manage', '1', now()),
('38', 'superadmin', 'perm_admin_achievement_manage', '1', now()),
('39', 'superadmin', 'perm_admin_ai_config', '1', now()),
('40', 'superadmin', 'perm_admin_knowledge_manage', '1', now()),
('41', 'superadmin', 'perm_admin_meta_email_default', '1', now()),
('42', 'superadmin', 'perm_admin_crontab_log', '1', now()),
('43', 'superadmin', 'perm_admin_news_crawler', '1', now()),
('44', 'superadmin', 'perm_admin_system_task', '1', now()),
('45', 'superadmin', 'perm_admin_message_manage', '1', now()),
-- ============================================
-- 管理员:拥有前端用户权限 + 普通管理员权限(没有超级管理员专属权限)
-- ============================================
-- 前端用户权限 (9000-9999)
('100', 'admin', 'perm_default', '1', now()),
('101', 'admin', 'perm_view_home', '1', now()),
('102', 'admin', 'perm_view_resource_hot', '1', now()),
('103', 'admin', 'perm_view_resource_center', '1', now()),
('104', 'admin', 'perm_view_search', '1', now()),
('105', 'admin', 'perm_view_article_show', '1', now()),
('106', 'admin', 'perm_view_study_tasks', '1', now()),
('107', 'admin', 'perm_view_course_center', '1', now()),
('108', 'admin', 'perm_view_task_detail', '1', now()),
('109', 'admin', 'perm_view_course_detail', '1', now()),
('110', 'admin', 'perm_view_course_study', '1', now()),
('111', 'admin', 'perm_view_learning_records', '1', now()),
('112', 'admin', 'perm_view_my_favorites', '1', now()),
('113', 'admin', 'perm_view_my_achievements', '1', now()),
('114', 'admin', 'perm_view_personal_info', '1', now()),
('115', 'admin', 'perm_view_account_settings', '1', now()),
('116', 'admin', 'perm_view_article_add', '1', now()),
('117', 'admin', 'perm_view_message_center', '1', now()),
('118', 'admin', 'perm_view_message_detail', '1', now()),
-- 超级管理员权限中普通管理员也需要的部分
('119', 'admin', 'perm_admin_user_manage', '1', now()),
('120', 'admin', 'perm_admin_dept_manage', '1', now()),
('121', 'admin', 'perm_admin_role_manage', '1', now()),
-- 普通管理员权限 (1000-8999)
('122', 'admin', 'perm_admin_resource_manage', '1', now()),
('123', 'admin', 'perm_admin_article_manage', '1', now()),
('124', 'admin', 'perm_admin_banner_manage', '1', now()),
('125', 'admin', 'perm_admin_tag_manage', '1', now()),
('126', 'admin', 'perm_admin_column_manage', '1', now()),
('127', 'admin', 'perm_admin_sensitive_manage', '1', now()),
('128', 'admin', 'perm_admin_task_manage', '1', now()),
('129', 'admin', 'perm_admin_study_records', '1', now()),
('130', 'admin', 'perm_admin_course_manage', '1', now()),
('131', 'admin', 'perm_admin_achievement_manage', '1', now()),
('132', 'admin', 'perm_admin_ai_config', '1', now()),
('133', 'admin', 'perm_admin_knowledge_manage', '1', now()),
('134', 'admin', 'perm_admin_meta_email_default', '1', now()),
('135', 'admin', 'perm_admin_crontab_log', '1', now()),
('136', 'admin', 'perm_admin_news_crawler', '1', now()),
('137', 'admin', 'perm_admin_system_task', '1', now()),
('138', 'admin', 'perm_admin_message_manage', '1', now()),
-- ============================================
-- 自由角色:仅拥有前端用户权限
-- ============================================
('200', 'freedom', 'perm_default', '1', now()),
('201', 'freedom', 'perm_view_home', '1', now()),
('202', 'freedom', 'perm_view_resource_hot', '1', now()),
('203', 'freedom', 'perm_view_resource_center', '1', now()),
('204', 'freedom', 'perm_view_search', '1', now()),
('205', 'freedom', 'perm_view_article_show', '1', now()),
('206', 'freedom', 'perm_view_study_tasks', '1', now()),
('207', 'freedom', 'perm_view_course_center', '1', now()),
('208', 'freedom', 'perm_view_task_detail', '1', now()),
('209', 'freedom', 'perm_view_course_detail', '1', now()),
('210', 'freedom', 'perm_view_course_study', '1', now()),
('211', 'freedom', 'perm_view_learning_records', '1', now()),
('212', 'freedom', 'perm_view_my_favorites', '1', now()),
('213', 'freedom', 'perm_view_my_achievements', '1', now()),
('214', 'freedom', 'perm_view_personal_info', '1', now()),
('215', 'freedom', 'perm_view_account_settings', '1', now()),
('216', 'freedom', 'perm_view_article_add', '1', now()),
('217', 'freedom', 'perm_view_message_center', '1', now()),
('218', 'freedom', 'perm_view_message_detail', '1', now());
-- 插入前端菜单数据 -- 插入前端菜单数据
-- 用户前端菜单 (100-699) -- 用户前端菜单 (100-699)
@@ -178,72 +349,97 @@ INSERT INTO `tb_sys_menu` VALUES
('651', 'menu_user_message_detail', '消息详情', 'menu_user_message_center', '/user/message/detail/:messageID', 'user/message/MyMessageDetailView', NULL, 1, 3, 'NavigationLayout', '1', NULL, '2025-11-13 10:00:00', '2025-11-13 10:00:00', NULL, 0); ('651', 'menu_user_message_detail', '消息详情', 'menu_user_message_center', '/user/message/detail/:messageID', 'user/message/MyMessageDetailView', NULL, 1, 3, 'NavigationLayout', '1', NULL, '2025-11-13 10:00:00', '2025-11-13 10:00:00', NULL, 0);
-- 插入菜单权限关联数据 -- 插入菜单权限关联数据
-- 前端菜单权限关联 -- ============================================
-- 说明每个有View的菜单对应一个权限
-- 无View的菜单如导航菜单关联默认权限
-- ============================================
INSERT INTO `tb_sys_menu_permission` (id, permission_id, menu_id, creator, create_time) VALUES INSERT INTO `tb_sys_menu_permission` (id, permission_id, menu_id, creator, create_time) VALUES
('100', 'perm_default', 'menu_home', '1', now()),
('102', 'perm_default', 'menu_resource_hot', '1', now()),
('101', 'perm_default', 'menu_resource_center', '1', now()),
('108', 'perm_default', 'menu_study_plan', '1', now()),
('109', 'perm_default', 'menu_study_tasks', '1', now()),
('110', 'perm_default', 'menu_course_center', '1', now()),
('111', 'perm_default', 'menu_user_center', '1', now()),
('112', 'perm_default', 'menu_learning_records', '1', now()),
('113', 'perm_default', 'menu_my_favorites', '1', now()),
('114', 'perm_default', 'menu_my_achievements', '1', now()),
('115', 'perm_default', 'menu_profile', '1', now()),
('116', 'perm_default', 'menu_personal_info', '1', now()),
('117', 'perm_default', 'menu_account_settings', '1', now()),
('119', 'perm_default', 'menu_user_dropdown', '1', now()),
('120', 'perm_news_article_add', 'menu_article_add', '1', now()),
('121', 'perm_default', 'menu_task_detail', '1', now()),
('122', 'perm_default', 'menu_course_detail', '1', now()),
('123', 'perm_default', 'menu_course_study', '1', now()),
('124', 'perm_default', 'menu_article_show', '1', now()),
('125', 'perm_default', 'menu_search', '1', now()),
-- 后端管理菜单权限关联 -- ========== 前端用户菜单权限关联 (9000-9999) ==========
('200', 'perm_system_manage', 'menu_admin_overview', '1', now()), -- 基础视图
('201', 'perm_system_manage', 'menu_sys_manage', '1', now()), ('9001', 'perm_view_home', 'menu_home', '1', now()),
('203', 'perm_system_user_manage', 'menu_admin_user', '1', now()), ('9002', 'perm_view_resource_hot', 'menu_resource_hot', '1', now()),
('204', 'perm_system_dept_manage', 'menu_admin_dept', '1', now()), ('9003', 'perm_view_resource_center', 'menu_resource_center', '1', now()),
('205', 'perm_system_role_manage', 'menu_admin_role', '1', now()), ('9004', 'perm_view_search', 'menu_search', '1', now()),
('207', 'perm_system_menu_manage', 'menu_admin_menu', '1', now()), ('9005', 'perm_view_article_show', 'menu_article_show', '1', now()),
('208', 'perm_system_module_manage', 'menu_admin_module', '1', now()),
('208.1', 'perm_system_permission_manage', 'menu_admin_module', '1', now()),
('209', 'perm_news_manage', 'menu_admin_resource_manage', '1', now()),
('210', 'perm_news_manage', 'menu_admin_resource', '1', now()),
('211', 'perm_news_manage', 'menu_admin_article', '1', now()),
('212', 'perm_news_manage', 'menu_admin_data_records', '1', now()),
('213', 'perm_news_manage', 'menu_admin_content_manage', '1', now()),
('214', 'perm_news_manage', 'menu_admin_banner', '1', now()),
('215', 'perm_news_manage', 'menu_admin_tag', '1', now()),
('216', 'perm_news_manage', 'menu_admin_column', '1', now()),
('217', 'perm_sensitive_manage', 'menu_admin_sensitive', '1', now()),
('218', 'perm_study_manage', 'menu_admin_study_manage', '1', now()),
('220', 'perm_study_manage', 'menu_admin_task_manage', '1', now()),
('221', 'perm_study_manage', 'menu_admin_study_records', '1', now()),
('222', 'perm_study_manage', 'menu_admin_course_manage', '1', now()),
('222.1', 'perm_achievement_manage', 'menu_admin_achievement_manage', '1', now()),
('223', 'perm_ai_manage', 'menu_admin_ai_manage', '1', now()),
('224', 'perm_ai_manage', 'menu_admin_ai', '1', now()),
('225', 'perm_ai_manage', 'menu_admin_ai_config', '1', now()),
('226', 'perm_ai_manage', 'menu_admin_knowledge', '1', now()),
('227', 'perm_system_manage', 'menu_admin_logs_manage', '1', now()),
('228', 'perm_system_manage', 'menu_admin_system_logs', '1', now()),
('229', 'perm_system_manage', 'menu_admin_login_logs', '1', now()),
('231', 'perm_system_manage', 'menu_admin_system_config', '1', now()),
-- 定时任务管理菜单权限关联 -- 学习计划相关
('232', 'perm_crontab_manage', 'menu_admin_crontab_manage', '1', now()), ('9006', 'perm_default', 'menu_study_plan', '1', now()), -- 无View的导航菜单
('236', 'perm_crontab_manage', 'menu_admin_meta_email_default', '1', now()), ('9100', 'perm_view_study_tasks', 'menu_study_tasks', '1', now()),
('233', 'perm_crontab_manage', 'menu_admin_crontab_task', '1', now()), ('9101', 'perm_view_course_center', 'menu_course_center', '1', now()),
('234', 'perm_crontab_manage', 'menu_admin_crontab_log', '1', now()), ('9102', 'perm_view_task_detail', 'menu_task_detail', '1', now()),
('235', 'perm_crontab_manage', 'menu_admin_news_crawler', '1', now()), ('9103', 'perm_view_course_detail', 'menu_course_detail', '1', now()),
('252', 'perm_crontab_manage', 'menu_admin_system_task', '1', now()), ('9104', 'perm_view_course_study', 'menu_course_study', '1', now()),
-- 消息通知管理菜单权限关联 -- 用户中心相关
('240', 'perm_message_manage', 'menu_admin_message_manage', '1', now()), ('9007', 'perm_default', 'menu_user_dropdown', '1', now()), -- 无View的导航菜单
-- 用户端消息中心权限关联 ('9008', 'perm_default', 'menu_user_center', '1', now()), -- Layout菜单
('250', 'perm_default', 'menu_user_message_center', '1', now()), ('9200', 'perm_view_learning_records', 'menu_learning_records', '1', now()),
('251', 'perm_default', 'menu_user_message_detail', '1', now()); ('9201', 'perm_view_my_favorites', 'menu_my_favorites', '1', now()),
('9202', 'perm_view_my_achievements', 'menu_my_achievements', '1', now()),
-- 个人信息相关
('9009', 'perm_default', 'menu_profile', '1', now()), -- Layout菜单
('9203', 'perm_view_personal_info', 'menu_personal_info', '1', now()),
('9204', 'perm_view_account_settings', 'menu_account_settings', '1', now()),
-- 文章和消息
('9300', 'perm_view_article_add', 'menu_article_add', '1', now()),
('9301', 'perm_view_message_center', 'menu_user_message_center', '1', now()),
('9302', 'perm_view_message_detail', 'menu_user_message_detail', '1', now()),
-- ========== 超级管理员菜单权限关联 (100-999) ==========
-- 系统总览
('100', 'perm_admin_overview', 'menu_admin_overview', '1', now()),
-- 系统管理
('101', 'perm_default', 'menu_sys_manage', '1', now()), -- 无View的导航菜单
('200', 'perm_admin_user_manage', 'menu_admin_user', '1', now()),
('300', 'perm_admin_dept_manage', 'menu_admin_dept', '1', now()),
('400', 'perm_admin_role_manage', 'menu_admin_role', '1', now()),
('500', 'perm_admin_menu_manage', 'menu_admin_menu', '1', now()),
('600', 'perm_admin_module_permission_manage', 'menu_admin_module', '1', now()),
-- 系统日志
('102', 'perm_default', 'menu_admin_logs_manage', '1', now()), -- 无View的导航菜单
('700', 'perm_admin_system_logs', 'menu_admin_system_logs', '1', now()),
('701', 'perm_admin_login_logs', 'menu_admin_login_logs', '1', now()),
-- 系统配置
('800', 'perm_admin_system_config', 'menu_admin_system_config', '1', now()),
-- ========== 普通管理员菜单权限关联 (1000-8999) ==========
-- 资源管理
('103', 'perm_default', 'menu_admin_resource_manage', '1', now()), -- 无View的导航菜单
('1000', 'perm_admin_resource_manage', 'menu_admin_resource', '1', now()),
('1100', 'perm_admin_article_manage', 'menu_admin_article', '1', now()),
-- 运营管理
('104', 'perm_default', 'menu_admin_content_manage', '1', now()), -- 无View的导航菜单
('1200', 'perm_admin_banner_manage', 'menu_admin_banner', '1', now()),
('1300', 'perm_admin_tag_manage', 'menu_admin_tag', '1', now()),
('1400', 'perm_admin_column_manage', 'menu_admin_column', '1', now()),
('1500', 'perm_admin_sensitive_manage', 'menu_admin_sensitive', '1', now()),
-- 学习管理
('105', 'perm_default', 'menu_admin_study_manage', '1', now()), -- 无View的导航菜单
('2000', 'perm_admin_task_manage', 'menu_admin_task_manage', '1', now()),
('2100', 'perm_admin_study_records', 'menu_admin_study_records', '1', now()),
('2200', 'perm_admin_course_manage', 'menu_admin_course_manage', '1', now()),
('2300', 'perm_admin_achievement_manage', 'menu_admin_achievement_manage', '1', now()),
-- AI管理
('106', 'perm_default', 'menu_admin_ai_manage', '1', now()), -- 无View的导航菜单
('3000', 'perm_admin_ai_config', 'menu_admin_ai_config', '1', now()),
('3100', 'perm_admin_knowledge_manage', 'menu_admin_knowledge', '1', now()),
-- 定时任务管理
('107', 'perm_default', 'menu_admin_crontab_manage', '1', now()), -- 无View的导航菜单
('5000', 'perm_admin_meta_email_default', 'menu_admin_meta_email_default', '1', now()),
('5100', 'perm_admin_crontab_log', 'menu_admin_crontab_log', '1', now()),
('5200', 'perm_admin_news_crawler', 'menu_admin_news_crawler', '1', now()),
('5300', 'perm_admin_system_task', 'menu_admin_system_task', '1', now()),
-- 消息管理
('6000', 'perm_admin_message_manage', 'menu_admin_message_manage', '1', now());

View File

@@ -90,8 +90,8 @@ public class ACHAchievementServiceImpl implements AchievementService {
} }
// 设置默认值 // 设置默认值
if (achievement.getID() == null) { if (achievement.getId() == null) {
achievement.setID(IDUtils.generateID()); achievement.setId(IDUtils.generateID());
} }
if (achievement.getAchievementID() == null) { if (achievement.getAchievementID() == null) {
achievement.setAchievementID(IDUtils.generateID()); achievement.setAchievementID(IDUtils.generateID());
@@ -285,7 +285,7 @@ public class ACHAchievementServiceImpl implements AchievementService {
return rd; return rd;
} }
String userID = user.getID(); String userID = user.getId();
// 仅查询等级类成就 // 仅查询等级类成就
List<UserDeptRoleVO> userDeptRoles = LoginUtil.getCurrentDeptRole(); List<UserDeptRoleVO> userDeptRoles = LoginUtil.getCurrentDeptRole();
List<AchievementVO> levels = achievementMapper.selectUserAchievementsWithProgress( List<AchievementVO> levels = achievementMapper.selectUserAchievementsWithProgress(
@@ -371,7 +371,7 @@ public class ACHAchievementServiceImpl implements AchievementService {
for (AchievementVO vo : voList) { for (AchievementVO vo : voList) {
if (Boolean.TRUE.equals(vo.getObtained())) { if (Boolean.TRUE.equals(vo.getObtained())) {
TbUserAchievement ua = new TbUserAchievement(); TbUserAchievement ua = new TbUserAchievement();
ua.setID(vo.getUserAchievementID()); ua.setId(vo.getUserAchievementID());
ua.setUserID(userID); ua.setUserID(userID);
ua.setAchievementID(vo.getAchievementID()); ua.setAchievementID(vo.getAchievementID());
ua.setObtainTime(vo.getObtainTime()); ua.setObtainTime(vo.getObtainTime());
@@ -396,7 +396,7 @@ public class ACHAchievementServiceImpl implements AchievementService {
resultDomain.fail("请先登录"); resultDomain.fail("请先登录");
return resultDomain; return resultDomain;
} }
return getUserAchievements(user.getID(), type); return getUserAchievements(user.getId(), type);
} }
@Override @Override
@@ -410,7 +410,7 @@ public class ACHAchievementServiceImpl implements AchievementService {
return resultDomain; return resultDomain;
} }
String userID = user.getID(); String userID = user.getId();
// 使用联表查询一次性获取所有数据(包含成就、用户成就、进度信息及权限过滤) // 使用联表查询一次性获取所有数据(包含成就、用户成就、进度信息及权限过滤)
List<UserDeptRoleVO> userDeptRoles = LoginUtil.getCurrentDeptRole(); List<UserDeptRoleVO> userDeptRoles = LoginUtil.getCurrentDeptRole();
@@ -474,7 +474,7 @@ public class ACHAchievementServiceImpl implements AchievementService {
// 创建用户成就记录 // 创建用户成就记录
TbUserAchievement userAchievement = new TbUserAchievement(); TbUserAchievement userAchievement = new TbUserAchievement();
userAchievement.setID(IDUtils.generateID()); userAchievement.setId(IDUtils.generateID());
userAchievement.setUserID(userID); userAchievement.setUserID(userID);
userAchievement.setAchievementID(achievementID); userAchievement.setAchievementID(achievementID);
userAchievement.setObtainTime(new Date()); userAchievement.setObtainTime(new Date());
@@ -559,7 +559,7 @@ public class ACHAchievementServiceImpl implements AchievementService {
resultDomain.fail("请先登录"); resultDomain.fail("请先登录");
return resultDomain; return resultDomain;
} }
return getUserAchievementProgress(user.getID(), achievementID); return getUserAchievementProgress(user.getId(), achievementID);
} }
@Override @Override
@@ -812,7 +812,7 @@ public class ACHAchievementServiceImpl implements AchievementService {
} }
progress = new TbUserAchievementProgress(); progress = new TbUserAchievementProgress();
progress.setID(IDUtils.generateID()); progress.setId(IDUtils.generateID());
progress.setUserID(userID); progress.setUserID(userID);
progress.setAchievementID(achievementID); progress.setAchievementID(achievementID);
progress.setCurrentValue(0); progress.setCurrentValue(0);
@@ -845,7 +845,7 @@ public class ACHAchievementServiceImpl implements AchievementService {
private TbUserAchievement grantAchievementInternal(String userID, TbAchievement achievement) { private TbUserAchievement grantAchievementInternal(String userID, TbAchievement achievement) {
try { try {
TbUserAchievement userAchievement = new TbUserAchievement(); TbUserAchievement userAchievement = new TbUserAchievement();
userAchievement.setID(IDUtils.generateID()); userAchievement.setId(IDUtils.generateID());
userAchievement.setUserID(userID); userAchievement.setUserID(userID);
userAchievement.setAchievementID(achievement.getAchievementID()); userAchievement.setAchievementID(achievement.getAchievementID());
userAchievement.setObtainTime(new Date()); userAchievement.setObtainTime(new Date());

View File

@@ -4,7 +4,7 @@
<!-- 结果映射 --> <!-- 结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.usercenter.TbAchievement"> <resultMap id="BaseResultMap" type="org.xyzh.common.dto.usercenter.TbAchievement">
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="achievement_id" property="achievementID" /> <result column="achievement_id" property="achievementID" />
<result column="name" property="name" /> <result column="name" property="name" />
<result column="description" property="description" /> <result column="description" property="description" />
@@ -34,8 +34,8 @@
<sql id="Base_Where_Clause"> <sql id="Base_Where_Clause">
<where> <where>
<if test="filter != null"> <if test="filter != null">
<if test="filter.ID != null and filter.ID != ''"> <if test="filter.id != null and filter.id != ''">
AND id = #{filter.ID} AND id = #{filter.id}
</if> </if>
<if test="filter.achievementID != null and filter.achievementID != ''"> <if test="filter.achievementID != null and filter.achievementID != ''">
AND achievement_id = #{filter.achievementID} AND achievement_id = #{filter.achievementID}
@@ -254,7 +254,7 @@
) VALUES ) VALUES
<foreach collection="achievementList" item="item" separator=","> <foreach collection="achievementList" item="item" separator=",">
( (
#{item.ID}, #{item.achievementID}, #{item.name}, #{item.description}, #{item.icon}, #{item.id}, #{item.achievementID}, #{item.name}, #{item.description}, #{item.icon},
#{item.type}, #{item.level}, #{item.conditionType}, #{item.conditionValue}, #{item.type}, #{item.level}, #{item.conditionType}, #{item.conditionValue},
#{item.points}, #{item.orderNum}, #{item.creator}, #{item.updater}, #{item.points}, #{item.orderNum}, #{item.creator}, #{item.updater},
#{item.createTime}, #{item.updateTime}, #{item.deleteTime}, #{item.deleted} #{item.createTime}, #{item.updateTime}, #{item.deleteTime}, #{item.deleted}
@@ -327,7 +327,7 @@
<!-- AchievementVO 结果映射(包含用户成就和进度信息) --> <!-- AchievementVO 结果映射(包含用户成就和进度信息) -->
<resultMap id="AchievementVOResultMap" type="org.xyzh.common.vo.AchievementVO"> <resultMap id="AchievementVOResultMap" type="org.xyzh.common.vo.AchievementVO">
<!-- 成就基本信息 --> <!-- 成就基本信息 -->
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="achievement_id" property="achievementID" /> <result column="achievement_id" property="achievementID" />
<result column="name" property="name" /> <result column="name" property="name" />
<result column="description" property="description" /> <result column="description" property="description" />

View File

@@ -4,7 +4,7 @@
<!-- 结果映射 --> <!-- 结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.usercenter.TbUserAchievement"> <resultMap id="BaseResultMap" type="org.xyzh.common.dto.usercenter.TbUserAchievement">
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="user_id" property="userID" /> <result column="user_id" property="userID" />
<result column="achievement_id" property="achievementID" /> <result column="achievement_id" property="achievementID" />
<result column="obtain_time" property="obtainTime" /> <result column="obtain_time" property="obtainTime" />
@@ -19,8 +19,8 @@
<sql id="Base_Where_Clause"> <sql id="Base_Where_Clause">
<where> <where>
<if test="filter != null"> <if test="filter != null">
<if test="filter.ID != null and filter.ID != ''"> <if test="filter.id != null and filter.id != ''">
AND ua.id = #{filter.ID} AND ua.id = #{filter.id}
</if> </if>
<if test="filter.userID != null and filter.userID != ''"> <if test="filter.userID != null and filter.userID != ''">
AND ua.user_id = #{filter.userID} AND ua.user_id = #{filter.userID}
@@ -158,7 +158,7 @@
) VALUES ) VALUES
<foreach collection="userAchievementList" item="item" separator=","> <foreach collection="userAchievementList" item="item" separator=",">
( (
#{item.ID}, #{item.userID}, #{item.achievementID}, #{item.obtainTime} #{item.id}, #{item.userID}, #{item.achievementID}, #{item.obtainTime}
) )
</foreach> </foreach>
</insert> </insert>

View File

@@ -4,7 +4,7 @@
<!-- 结果映射 --> <!-- 结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.usercenter.TbUserAchievementProgress"> <resultMap id="BaseResultMap" type="org.xyzh.common.dto.usercenter.TbUserAchievementProgress">
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="user_id" property="userID" /> <result column="user_id" property="userID" />
<result column="achievement_id" property="achievementID" /> <result column="achievement_id" property="achievementID" />
<result column="current_value" property="currentValue" /> <result column="current_value" property="currentValue" />
@@ -112,7 +112,7 @@
) VALUES ) VALUES
<foreach collection="progressList" item="item" separator=","> <foreach collection="progressList" item="item" separator=",">
( (
#{item.ID}, #{item.userID}, #{item.achievementID}, #{item.currentValue}, #{item.id}, #{item.userID}, #{item.achievementID}, #{item.currentValue},
#{item.targetValue}, #{item.progressPercentage}, #{item.completed}, #{item.targetValue}, #{item.progressPercentage}, #{item.completed},
#{item.lastUpdateTime}, #{item.createTime} #{item.lastUpdateTime}, #{item.createTime}
) )

View File

@@ -189,7 +189,7 @@ public class AiChatController {
*/ */
@PutMapping("/conversation") @PutMapping("/conversation")
public ResultDomain<TbAiConversation> updateConversation(@RequestBody TbAiConversation conversation) { public ResultDomain<TbAiConversation> updateConversation(@RequestBody TbAiConversation conversation) {
log.info("更新会话: id={}", conversation.getID()); log.info("更新会话: id={}", conversation.getId());
return chatService.updateConversation(conversation); return chatService.updateConversation(conversation);
} }

View File

@@ -65,9 +65,9 @@ public class AiAgentConfigServiceImpl implements AiAgentConfigService {
} }
// 4. 设置默认值 // 4. 设置默认值
agentConfig.setID(UUID.randomUUID().toString()); agentConfig.setId(UUID.randomUUID().toString());
agentConfig.setCreator(currentUser.getID()); agentConfig.setCreator(currentUser.getId());
agentConfig.setUpdater(currentUser.getID()); agentConfig.setUpdater(currentUser.getId());
agentConfig.setCreateTime(new Date()); agentConfig.setCreateTime(new Date());
agentConfig.setUpdateTime(new Date()); agentConfig.setUpdateTime(new Date());
agentConfig.setDeleted(false); agentConfig.setDeleted(false);
@@ -79,7 +79,7 @@ public class AiAgentConfigServiceImpl implements AiAgentConfigService {
// 5. 插入数据库 // 5. 插入数据库
int rows = agentConfigMapper.insertAgentConfig(agentConfig); int rows = agentConfigMapper.insertAgentConfig(agentConfig);
if (rows > 0) { if (rows > 0) {
log.info("创建智能体成功: {} - {}", agentConfig.getID(), agentConfig.getName()); log.info("创建智能体成功: {} - {}", agentConfig.getId(), agentConfig.getName());
resultDomain.success("创建智能体成功", agentConfig); resultDomain.success("创建智能体成功", agentConfig);
return resultDomain; return resultDomain;
} else { } else {
@@ -101,13 +101,13 @@ public class AiAgentConfigServiceImpl implements AiAgentConfigService {
try { try {
// 1. 参数验证 // 1. 参数验证
if (!StringUtils.hasText(agentConfig.getID())) { if (!StringUtils.hasText(agentConfig.getId())) {
resultDomain.fail("智能体ID不能为空"); resultDomain.fail("智能体ID不能为空");
return resultDomain; return resultDomain;
} }
// 2. 检查是否存在 // 2. 检查是否存在
TbAiAgentConfig existing = agentConfigMapper.selectAgentConfigById(agentConfig.getID()); TbAiAgentConfig existing = agentConfigMapper.selectAgentConfigById(agentConfig.getId());
if (existing == null || existing.getDeleted()) { if (existing == null || existing.getDeleted()) {
resultDomain.fail("智能体不存在"); resultDomain.fail("智能体不存在");
return resultDomain; return resultDomain;
@@ -116,7 +116,7 @@ public class AiAgentConfigServiceImpl implements AiAgentConfigService {
// 3. 检查名称是否重复 // 3. 检查名称是否重复
if (StringUtils.hasText(agentConfig.getName()) && if (StringUtils.hasText(agentConfig.getName()) &&
!agentConfig.getName().equals(existing.getName())) { !agentConfig.getName().equals(existing.getName())) {
ResultDomain<Boolean> checkResult = checkNameExists(agentConfig.getName(), agentConfig.getID()); ResultDomain<Boolean> checkResult = checkNameExists(agentConfig.getName(), agentConfig.getId());
if (checkResult.getData()) { if (checkResult.getData()) {
resultDomain.fail("智能体名称已存在"); resultDomain.fail("智能体名称已存在");
return resultDomain; return resultDomain;
@@ -131,15 +131,15 @@ public class AiAgentConfigServiceImpl implements AiAgentConfigService {
} }
// 5. 更新字段 // 5. 更新字段
agentConfig.setUpdater(currentUser.getID()); agentConfig.setUpdater(currentUser.getId());
agentConfig.setUpdateTime(new Date()); agentConfig.setUpdateTime(new Date());
// 6. 执行更新 // 6. 执行更新
int rows = agentConfigMapper.updateAgentConfig(agentConfig); int rows = agentConfigMapper.updateAgentConfig(agentConfig);
if (rows > 0) { if (rows > 0) {
// 重新查询最新数据 // 重新查询最新数据
TbAiAgentConfig updated = agentConfigMapper.selectAgentConfigById(agentConfig.getID()); TbAiAgentConfig updated = agentConfigMapper.selectAgentConfigById(agentConfig.getId());
log.info("更新智能体成功: {} - {}", agentConfig.getID(), agentConfig.getName()); log.info("更新智能体成功: {} - {}", agentConfig.getId(), agentConfig.getName());
resultDomain.success("更新智能体成功", updated); resultDomain.success("更新智能体成功", updated);
return resultDomain; return resultDomain;
} else { } else {
@@ -182,8 +182,8 @@ public class AiAgentConfigServiceImpl implements AiAgentConfigService {
// 4. 逻辑删除 // 4. 逻辑删除
TbAiAgentConfig deleteEntity = new TbAiAgentConfig(); TbAiAgentConfig deleteEntity = new TbAiAgentConfig();
deleteEntity.setID(agentId); deleteEntity.setId(agentId);
deleteEntity.setUpdater(currentUser.getID()); deleteEntity.setUpdater(currentUser.getId());
int rows = agentConfigMapper.deleteAgentConfig(deleteEntity); int rows = agentConfigMapper.deleteAgentConfig(deleteEntity);
if (rows > 0) { if (rows > 0) {
@@ -310,13 +310,13 @@ public class AiAgentConfigServiceImpl implements AiAgentConfigService {
// 3. 更新状态 // 3. 更新状态
TbAiAgentConfig update = new TbAiAgentConfig(); TbAiAgentConfig update = new TbAiAgentConfig();
update.setID(agentId); update.setId(agentId);
update.setStatus(status); update.setStatus(status);
update.setUpdateTime(new Date()); update.setUpdateTime(new Date());
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null) { if (currentUser != null) {
update.setUpdater(currentUser.getID()); update.setUpdater(currentUser.getId());
} }
int rows = agentConfigMapper.updateAgentConfig(update); int rows = agentConfigMapper.updateAgentConfig(update);
@@ -370,14 +370,14 @@ public class AiAgentConfigServiceImpl implements AiAgentConfigService {
// 4. 更新Dify配置 // 4. 更新Dify配置
TbAiAgentConfig update = new TbAiAgentConfig(); TbAiAgentConfig update = new TbAiAgentConfig();
update.setID(agentId); update.setId(agentId);
update.setDifyAppId(difyAppId); update.setDifyAppId(difyAppId);
update.setDifyApiKey(difyApiKey); update.setDifyApiKey(difyApiKey);
update.setUpdateTime(new Date()); update.setUpdateTime(new Date());
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null) { if (currentUser != null) {
update.setUpdater(currentUser.getID()); update.setUpdater(currentUser.getId());
} }
int rows = agentConfigMapper.updateAgentConfig(update); int rows = agentConfigMapper.updateAgentConfig(update);

View File

@@ -55,7 +55,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
// 查询数据 // 查询数据
List<TbAiConversation> conversations = conversationMapper.selectUserConversationsPage( List<TbAiConversation> conversations = conversationMapper.selectUserConversationsPage(
currentUser.getID(), currentUser.getId(),
agentId, agentId,
keyword, keyword,
isFavorite, isFavorite,
@@ -66,7 +66,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
// 查询总数 // 查询总数
long total = conversationMapper.countUserConversationsWithFilter( long total = conversationMapper.countUserConversationsWithFilter(
currentUser.getID(), currentUser.getId(),
agentId, agentId,
keyword, keyword,
isFavorite, isFavorite,
@@ -105,14 +105,14 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
// 搜索会话 // 搜索会话
List<TbAiConversation> conversations = conversationMapper.searchConversationsByKeyword( List<TbAiConversation> conversations = conversationMapper.searchConversationsByKeyword(
currentUser.getID(), currentUser.getId(),
keyword, keyword,
pageParam pageParam
); );
// 查询总数 // 查询总数
long total = conversationMapper.countSearchConversations( long total = conversationMapper.countSearchConversations(
currentUser.getID(), currentUser.getId(),
keyword keyword
); );
@@ -147,7 +147,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
// 搜索消息 // 搜索消息
List<TbAiMessage> messages = messageMapper.searchMessagesByContent( List<TbAiMessage> messages = messageMapper.searchMessagesByContent(
currentUser.getID(), currentUser.getId(),
keyword, keyword,
conversationId, conversationId,
pageParam pageParam
@@ -155,7 +155,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
// 查询总数 // 查询总数
long total = messageMapper.countSearchMessages( long total = messageMapper.countSearchMessages(
currentUser.getID(), currentUser.getId(),
keyword, keyword,
conversationId conversationId
); );
@@ -197,14 +197,14 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
return resultDomain; return resultDomain;
} }
if (currentUser != null && !conversation.getUserID().equals(currentUser.getID())) { if (currentUser != null && !conversation.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权操作此会话"); resultDomain.fail("无权操作此会话");
return resultDomain; return resultDomain;
} }
// 更新收藏状态 // 更新收藏状态
TbAiConversation update = new TbAiConversation(); TbAiConversation update = new TbAiConversation();
update.setID(conversationId); update.setId(conversationId);
update.setIsFavorite(isFavorite); update.setIsFavorite(isFavorite);
update.setUpdateTime(new Date()); update.setUpdateTime(new Date());
conversationMapper.updateConversation(update); conversationMapper.updateConversation(update);
@@ -240,14 +240,14 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
return resultDomain; return resultDomain;
} }
if (currentUser != null && !conversation.getUserID().equals(currentUser.getID())) { if (currentUser != null && !conversation.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权操作此会话"); resultDomain.fail("无权操作此会话");
return resultDomain; return resultDomain;
} }
// 更新置顶状态 // 更新置顶状态
TbAiConversation update = new TbAiConversation(); TbAiConversation update = new TbAiConversation();
update.setID(conversationId); update.setId(conversationId);
update.setIsPinned(isPinned); update.setIsPinned(isPinned);
update.setUpdateTime(new Date()); update.setUpdateTime(new Date());
conversationMapper.updateConversation(update); conversationMapper.updateConversation(update);
@@ -284,17 +284,17 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
int deleteCount = 0; int deleteCount = 0;
for (String conversationId : conversationIds) { for (String conversationId : conversationIds) {
TbAiConversation conversation = conversationMapper.selectConversationById(conversationId); TbAiConversation conversation = conversationMapper.selectConversationById(conversationId);
if (conversation != null && conversation.getUserID().equals(currentUser.getID())) { if (conversation != null && conversation.getUserID().equals(currentUser.getId())) {
// 逻辑删除会话 // 逻辑删除会话
TbAiConversation deleteEntity = new TbAiConversation(); TbAiConversation deleteEntity = new TbAiConversation();
deleteEntity.setID(conversationId); deleteEntity.setId(conversationId);
conversationMapper.deleteConversation(deleteEntity); conversationMapper.deleteConversation(deleteEntity);
// 同时删除消息 // 同时删除消息
List<TbAiMessage> messages = messageMapper.selectMessagesByConversationId(conversationId); List<TbAiMessage> messages = messageMapper.selectMessagesByConversationId(conversationId);
for (TbAiMessage message : messages) { for (TbAiMessage message : messages) {
TbAiMessage deleteMsg = new TbAiMessage(); TbAiMessage deleteMsg = new TbAiMessage();
deleteMsg.setID(message.getID()); deleteMsg.setId(message.getId());
messageMapper.deleteMessage(deleteMsg); messageMapper.deleteMessage(deleteMsg);
} }
@@ -324,7 +324,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
return resultDomain; return resultDomain;
} }
String targetUserId = StringUtils.hasText(userId) ? userId : currentUser.getID(); String targetUserId = StringUtils.hasText(userId) ? userId : currentUser.getId();
// 统计数据 // 统计数据
Map<String, Object> statistics = new HashMap<>(); Map<String, Object> statistics = new HashMap<>();
@@ -388,7 +388,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
} }
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null && !conversation.getUserID().equals(currentUser.getID())) { if (currentUser != null && !conversation.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权访问此会话"); resultDomain.fail("无权访问此会话");
return resultDomain; return resultDomain;
} }
@@ -455,7 +455,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
} }
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null && !conversation.getUserID().equals(currentUser.getID())) { if (currentUser != null && !conversation.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权访问此会话"); resultDomain.fail("无权访问此会话");
return resultDomain; return resultDomain;
} }
@@ -523,7 +523,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
} }
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null && !conversation.getUserID().equals(currentUser.getID())) { if (currentUser != null && !conversation.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权访问此会话"); resultDomain.fail("无权访问此会话");
return resultDomain; return resultDomain;
} }
@@ -631,7 +631,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
// 查询过期会话ID // 查询过期会话ID
List<String> expiredIds = conversationMapper.selectExpiredConversationIds( List<String> expiredIds = conversationMapper.selectExpiredConversationIds(
currentUser.getID(), currentUser.getId(),
beforeDate beforeDate
); );
@@ -648,7 +648,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
List<TbAiMessage> messages = messageMapper.selectMessagesByConversationId(conversationId); List<TbAiMessage> messages = messageMapper.selectMessagesByConversationId(conversationId);
for (TbAiMessage message : messages) { for (TbAiMessage message : messages) {
TbAiMessage deleteMsg = new TbAiMessage(); TbAiMessage deleteMsg = new TbAiMessage();
deleteMsg.setID(message.getID()); deleteMsg.setId(message.getId());
messageMapper.deleteMessage(deleteMsg); messageMapper.deleteMessage(deleteMsg);
} }
} }
@@ -677,7 +677,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
int queryLimit = (limit != null && limit > 0) ? limit : 10; int queryLimit = (limit != null && limit > 0) ? limit : 10;
List<TbAiConversation> conversations = conversationMapper.selectRecentConversations( List<TbAiConversation> conversations = conversationMapper.selectRecentConversations(
currentUser.getID(), currentUser.getId(),
queryLimit queryLimit
); );
@@ -704,7 +704,7 @@ public class AiChatHistoryServiceImpl implements AiChatHistoryService {
int queryLimit = (limit != null && limit > 0) ? limit : 10; int queryLimit = (limit != null && limit > 0) ? limit : 10;
List<TbAiConversation> conversations = conversationMapper.selectPopularConversations( List<TbAiConversation> conversations = conversationMapper.selectPopularConversations(
currentUser.getID(), currentUser.getId(),
queryLimit queryLimit
); );

View File

@@ -206,7 +206,7 @@ public class AiChatServiceImpl implements AiChatService {
emitter.complete(); emitter.complete();
return emitter; return emitter;
} }
if (!conversation.getUserID().equals(currentUser.getID())) { if (!conversation.getUserID().equals(currentUser.getId())) {
emitter.send(SseEmitter.event().name("error").data("无权访问此会话")); emitter.send(SseEmitter.event().name("error").data("无权访问此会话"));
emitter.complete(); emitter.complete();
return emitter; return emitter;
@@ -222,12 +222,12 @@ public class AiChatServiceImpl implements AiChatService {
conversation = createResult.getData(); conversation = createResult.getData();
} }
final String finalConversationId = conversation.getID(); final String finalConversationId = conversation.getId();
// 5. 创建用户消息记录 // 5. 创建用户消息记录
TbAiMessage userMessage = new TbAiMessage(); TbAiMessage userMessage = new TbAiMessage();
String userMessageId = UUID.randomUUID().toString(); String userMessageId = UUID.randomUUID().toString();
userMessage.setID(userMessageId); userMessage.setId(userMessageId);
userMessage.setConversationID(finalConversationId); userMessage.setConversationID(finalConversationId);
userMessage.setAgentID(agentId); userMessage.setAgentID(agentId);
userMessage.setRole("user"); userMessage.setRole("user");
@@ -235,7 +235,7 @@ public class AiChatServiceImpl implements AiChatService {
userMessage.setCreateTime(new Date()); userMessage.setCreateTime(new Date());
userMessage.setUpdateTime(new Date()); userMessage.setUpdateTime(new Date());
userMessage.setDeleted(false); userMessage.setDeleted(false);
userMessage.setUserID(currentUser.getID()); userMessage.setUserID(currentUser.getId());
// 处理文件关联将文件ID列表转换为JSON数组保存 // 处理文件关联将文件ID列表转换为JSON数组保存
if (filesData != null && !filesData.isEmpty()) { if (filesData != null && !filesData.isEmpty()) {
@@ -261,7 +261,7 @@ public class AiChatServiceImpl implements AiChatService {
// 6. 保存文件关联记录到tb_ai_upload_file // 6. 保存文件关联记录到tb_ai_upload_file
if (filesData != null && !filesData.isEmpty()) { if (filesData != null && !filesData.isEmpty()) {
saveMessageFileRecords(userMessageId, finalConversationId, currentUser.getID(), filesData); saveMessageFileRecords(userMessageId, finalConversationId, currentUser.getId(), filesData);
} }
// 注意AI消息记录将在获取到Dify的task_id后创建 // 注意AI消息记录将在获取到Dify的task_id后创建
@@ -272,7 +272,7 @@ public class AiChatServiceImpl implements AiChatService {
// 7. 构建Dify请求 // 7. 构建Dify请求
ChatRequest chatRequest = new ChatRequest(); ChatRequest chatRequest = new ChatRequest();
chatRequest.setQuery(query); chatRequest.setQuery(query);
chatRequest.setUser(currentUser.getID()); chatRequest.setUser(currentUser.getId());
if (StringUtils.hasText(conversation.getDifyConversationId())) { if (StringUtils.hasText(conversation.getDifyConversationId())) {
chatRequest.setConversationId(conversation.getDifyConversationId()); chatRequest.setConversationId(conversation.getDifyConversationId());
@@ -331,7 +331,7 @@ public class AiChatServiceImpl implements AiChatService {
// 更新AI消息内容使用task_id作为消息ID // 更新AI消息内容使用task_id作为消息ID
if (taskId.get() != null) { if (taskId.get() != null) {
TbAiMessage updateMessage = new TbAiMessage(); TbAiMessage updateMessage = new TbAiMessage();
updateMessage.setID(taskId.get()); updateMessage.setId(taskId.get());
updateMessage.setContent(fullAnswer.toString()); updateMessage.setContent(fullAnswer.toString());
updateMessage.setDifyMessageId(difyMessageId.get()); updateMessage.setDifyMessageId(difyMessageId.get());
updateMessage.setUpdateTime(new Date()); updateMessage.setUpdateTime(new Date());
@@ -341,7 +341,7 @@ public class AiChatServiceImpl implements AiChatService {
// 更新会话的Dify会话ID // 更新会话的Dify会话ID
if (StringUtils.hasText(difyConversationId.get())) { if (StringUtils.hasText(difyConversationId.get())) {
TbAiConversation updateConv = new TbAiConversation(); TbAiConversation updateConv = new TbAiConversation();
updateConv.setID(finalConversationId); updateConv.setId(finalConversationId);
updateConv.setDifyConversationId(difyConversationId.get()); updateConv.setDifyConversationId(difyConversationId.get());
updateConv.setMessageCount((finalConversation.getMessageCount() != null ? updateConv.setMessageCount((finalConversation.getMessageCount() != null ?
finalConversation.getMessageCount() : 0) + 2); finalConversation.getMessageCount() : 0) + 2);
@@ -382,7 +382,7 @@ public class AiChatServiceImpl implements AiChatService {
// 使用task_id作为消息ID创建AI消息记录 // 使用task_id作为消息ID创建AI消息记录
TbAiMessage aiMessage = new TbAiMessage(); TbAiMessage aiMessage = new TbAiMessage();
aiMessage.setID(difyTaskId); // 使用Dify的task_id作为消息ID aiMessage.setId(difyTaskId); // 使用Dify的task_id作为消息ID
aiMessage.setConversationID(finalConversationId); aiMessage.setConversationID(finalConversationId);
aiMessage.setAgentID(agentId); aiMessage.setAgentID(agentId);
aiMessage.setRole("assistant"); aiMessage.setRole("assistant");
@@ -515,7 +515,7 @@ public class AiChatServiceImpl implements AiChatService {
TbAiConversation conversation; TbAiConversation conversation;
if (StringUtils.hasText(conversationId)) { if (StringUtils.hasText(conversationId)) {
conversation = conversationMapper.selectConversationById(conversationId); conversation = conversationMapper.selectConversationById(conversationId);
if (conversation == null || !conversation.getUserID().equals(currentUser.getID())) { if (conversation == null || !conversation.getUserID().equals(currentUser.getId())) {
resultDomain.fail("会话不存在或无权访问"); resultDomain.fail("会话不存在或无权访问");
return resultDomain; return resultDomain;
} }
@@ -526,12 +526,12 @@ public class AiChatServiceImpl implements AiChatService {
return resultDomain; return resultDomain;
} }
conversation = createResult.getData(); conversation = createResult.getData();
conversationId = conversation.getID(); conversationId = conversation.getId();
} }
// 创建用户消息 // 创建用户消息
TbAiMessage userMessage = new TbAiMessage(); TbAiMessage userMessage = new TbAiMessage();
userMessage.setID(UUID.randomUUID().toString()); userMessage.setId(UUID.randomUUID().toString());
userMessage.setConversationID(conversationId); userMessage.setConversationID(conversationId);
userMessage.setAgentID(agentId); userMessage.setAgentID(agentId);
userMessage.setRole("user"); userMessage.setRole("user");
@@ -544,7 +544,7 @@ public class AiChatServiceImpl implements AiChatService {
// 构建Dify请求 // 构建Dify请求
ChatRequest chatRequest = new ChatRequest(); ChatRequest chatRequest = new ChatRequest();
chatRequest.setQuery(query); chatRequest.setQuery(query);
chatRequest.setUser(currentUser.getID()); chatRequest.setUser(currentUser.getId());
if (StringUtils.hasText(conversation.getDifyConversationId())) { if (StringUtils.hasText(conversation.getDifyConversationId())) {
chatRequest.setConversationId(conversation.getDifyConversationId()); chatRequest.setConversationId(conversation.getDifyConversationId());
@@ -561,7 +561,7 @@ public class AiChatServiceImpl implements AiChatService {
// 创建AI回复消息 // 创建AI回复消息
TbAiMessage aiMessage = new TbAiMessage(); TbAiMessage aiMessage = new TbAiMessage();
aiMessage.setID(UUID.randomUUID().toString()); aiMessage.setId(UUID.randomUUID().toString());
aiMessage.setConversationID(conversationId); aiMessage.setConversationID(conversationId);
aiMessage.setAgentID(agentId); aiMessage.setAgentID(agentId);
aiMessage.setRole("assistant"); aiMessage.setRole("assistant");
@@ -574,14 +574,14 @@ public class AiChatServiceImpl implements AiChatService {
// 更新会话 // 更新会话
TbAiConversation updateConv = new TbAiConversation(); TbAiConversation updateConv = new TbAiConversation();
updateConv.setID(conversationId); updateConv.setId(conversationId);
updateConv.setDifyConversationId(chatResponse.getConversationId()); updateConv.setDifyConversationId(chatResponse.getConversationId());
updateConv.setMessageCount((conversation.getMessageCount() != null ? updateConv.setMessageCount((conversation.getMessageCount() != null ?
conversation.getMessageCount() : 0) + 2); conversation.getMessageCount() : 0) + 2);
updateConv.setUpdateTime(new Date()); updateConv.setUpdateTime(new Date());
conversationMapper.updateConversation(updateConv); conversationMapper.updateConversation(updateConv);
log.info("阻塞式对话成功: {} - {}", conversationId, aiMessage.getID()); log.info("阻塞式对话成功: {} - {}", conversationId, aiMessage.getId());
resultDomain.success("对话成功", aiMessage); resultDomain.success("对话成功", aiMessage);
return resultDomain; return resultDomain;
@@ -624,7 +624,7 @@ public class AiChatServiceImpl implements AiChatService {
try { try {
difyApiClient.stopChatMessage( difyApiClient.stopChatMessage(
taskId, taskId,
currentUser.getID(), currentUser.getId(),
agent.getDifyApiKey() agent.getDifyApiKey()
); );
log.info("对话停止成功task_id: {}", taskId); log.info("对话停止成功task_id: {}", taskId);
@@ -673,8 +673,8 @@ public class AiChatServiceImpl implements AiChatService {
// 创建会话 // 创建会话
TbAiConversation conversation = new TbAiConversation(); TbAiConversation conversation = new TbAiConversation();
conversation.setID(UUID.randomUUID().toString()); conversation.setId(UUID.randomUUID().toString());
conversation.setUserID(currentUser.getID()); conversation.setUserID(currentUser.getId());
conversation.setAgentID(agentId); conversation.setAgentID(agentId);
conversation.setTitle(StringUtils.hasText(title) ? title : "新对话"); conversation.setTitle(StringUtils.hasText(title) ? title : "新对话");
conversation.setMessageCount(0); conversation.setMessageCount(0);
@@ -684,7 +684,7 @@ public class AiChatServiceImpl implements AiChatService {
conversationMapper.insertConversation(conversation); conversationMapper.insertConversation(conversation);
log.info("创建会话成功: {} - {}", conversation.getID(), currentUser.getID()); log.info("创建会话成功: {} - {}", conversation.getId(), currentUser.getId());
resultDomain.success("创建会话成功", conversation); resultDomain.success("创建会话成功", conversation);
return resultDomain; return resultDomain;
@@ -713,7 +713,7 @@ public class AiChatServiceImpl implements AiChatService {
// 验证所属权 // 验证所属权
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null && !conversation.getUserID().equals(currentUser.getID())) { if (currentUser != null && !conversation.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权访问此会话"); resultDomain.fail("无权访问此会话");
return resultDomain; return resultDomain;
} }
@@ -734,20 +734,20 @@ public class AiChatServiceImpl implements AiChatService {
ResultDomain<TbAiConversation> resultDomain = new ResultDomain<>(); ResultDomain<TbAiConversation> resultDomain = new ResultDomain<>();
try { try {
if (!StringUtils.hasText(conversation.getID())) { if (!StringUtils.hasText(conversation.getId())) {
resultDomain.fail("会话ID不能为空"); resultDomain.fail("会话ID不能为空");
return resultDomain; return resultDomain;
} }
// 验证所属权 // 验证所属权
TbAiConversation existing = conversationMapper.selectConversationById(conversation.getID()); TbAiConversation existing = conversationMapper.selectConversationById(conversation.getId());
if (existing == null || existing.getDeleted()) { if (existing == null || existing.getDeleted()) {
resultDomain.fail("会话不存在"); resultDomain.fail("会话不存在");
return resultDomain; return resultDomain;
} }
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null && !existing.getUserID().equals(currentUser.getID())) { if (currentUser != null && !existing.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权修改此会话"); resultDomain.fail("无权修改此会话");
return resultDomain; return resultDomain;
} }
@@ -757,7 +757,7 @@ public class AiChatServiceImpl implements AiChatService {
conversationMapper.updateConversation(conversation); conversationMapper.updateConversation(conversation);
// 重新查询 // 重新查询
TbAiConversation updated = conversationMapper.selectConversationById(conversation.getID()); TbAiConversation updated = conversationMapper.selectConversationById(conversation.getId());
resultDomain.success("更新成功", updated); resultDomain.success("更新成功", updated);
return resultDomain; return resultDomain;
@@ -787,21 +787,21 @@ public class AiChatServiceImpl implements AiChatService {
} }
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null && !existing.getUserID().equals(currentUser.getID())) { if (currentUser != null && !existing.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权删除此会话"); resultDomain.fail("无权删除此会话");
return resultDomain; return resultDomain;
} }
// 逻辑删除会话 // 逻辑删除会话
TbAiConversation deleteEntity = new TbAiConversation(); TbAiConversation deleteEntity = new TbAiConversation();
deleteEntity.setID(conversationId); deleteEntity.setId(conversationId);
conversationMapper.deleteConversation(deleteEntity); conversationMapper.deleteConversation(deleteEntity);
// 同时逻辑删除该会话的所有消息 // 同时逻辑删除该会话的所有消息
List<TbAiMessage> messages = messageMapper.selectMessagesByConversationId(conversationId); List<TbAiMessage> messages = messageMapper.selectMessagesByConversationId(conversationId);
for (TbAiMessage message : messages) { for (TbAiMessage message : messages) {
TbAiMessage deleteMsg = new TbAiMessage(); TbAiMessage deleteMsg = new TbAiMessage();
deleteMsg.setID(message.getID()); deleteMsg.setId(message.getId());
messageMapper.deleteMessage(deleteMsg); messageMapper.deleteMessage(deleteMsg);
} }
@@ -828,7 +828,7 @@ public class AiChatServiceImpl implements AiChatService {
} }
List<TbAiConversation> conversations = conversationMapper.selectConversationsByUserId( List<TbAiConversation> conversations = conversationMapper.selectConversationsByUserId(
currentUser.getID(), agentId currentUser.getId(), agentId
); );
resultDomain.success("查询成功", conversations); resultDomain.success("查询成功", conversations);
@@ -859,7 +859,7 @@ public class AiChatServiceImpl implements AiChatService {
} }
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null && !conversation.getUserID().equals(currentUser.getID())) { if (currentUser != null && !conversation.getUserID().equals(currentUser.getId())) {
resultDomain.fail("无权访问此会话"); resultDomain.fail("无权访问此会话");
return resultDomain; return resultDomain;
} }
@@ -996,7 +996,7 @@ public class AiChatServiceImpl implements AiChatService {
// 更新会话摘要 // 更新会话摘要
TbAiConversation update = new TbAiConversation(); TbAiConversation update = new TbAiConversation();
update.setID(conversationId); update.setId(conversationId);
update.setSummary(summary); update.setSummary(summary);
update.setUpdateTime(new Date()); update.setUpdateTime(new Date());
conversationMapper.updateConversation(update); conversationMapper.updateConversation(update);
@@ -1066,7 +1066,7 @@ public class AiChatServiceImpl implements AiChatService {
difyApiClient.submitMessageFeedback( difyApiClient.submitMessageFeedback(
message.getDifyMessageId(), message.getDifyMessageId(),
difyRating, difyRating,
currentUser.getID(), currentUser.getId(),
feedback, feedback,
agent.getDifyApiKey() agent.getDifyApiKey()
); );
@@ -1079,7 +1079,7 @@ public class AiChatServiceImpl implements AiChatService {
// 更新本地评价 // 更新本地评价
TbAiMessage update = new TbAiMessage(); TbAiMessage update = new TbAiMessage();
update.setID(messageId); update.setId(messageId);
update.setRating(rating); update.setRating(rating);
update.setFeedback(feedback); update.setFeedback(feedback);
update.setUpdateTime(new Date()); update.setUpdateTime(new Date());
@@ -1110,7 +1110,7 @@ public class AiChatServiceImpl implements AiChatService {
for (DifyFileInfo fileInfo : filesData) { for (DifyFileInfo fileInfo : filesData) {
TbAiUploadFile uploadFile = new TbAiUploadFile(); TbAiUploadFile uploadFile = new TbAiUploadFile();
uploadFile.setID(UUID.randomUUID().toString()); uploadFile.setId(UUID.randomUUID().toString());
uploadFile.setUserID(userId); uploadFile.setUserID(userId);
uploadFile.setConversationID(conversationId); uploadFile.setConversationID(conversationId);
uploadFile.setMessageID(messageId); // 绑定到消息 uploadFile.setMessageID(messageId); // 绑定到消息
@@ -1152,7 +1152,7 @@ public class AiChatServiceImpl implements AiChatService {
// 获取当前登录用户的完整信息(包含部门角色列表) // 获取当前登录用户的完整信息(包含部门角色列表)
LoginDomain loginDomain = LoginUtil.getCurrentLoginDomain(); LoginDomain loginDomain = LoginUtil.getCurrentLoginDomain();
if (loginDomain == null || loginDomain.getRoles() == null || loginDomain.getRoles().isEmpty()) { if (loginDomain == null || loginDomain.getRoles() == null || loginDomain.getRoles().isEmpty()) {
log.warn("用户 {} 没有部门角色信息,返回空知识库列表", user.getID()); log.warn("用户 {} 没有部门角色信息,返回空知识库列表", user.getId());
return null; return null;
} }
@@ -1161,7 +1161,7 @@ public class AiChatServiceImpl implements AiChatService {
String deptPath = userRole.getDeptPath(); String deptPath = userRole.getDeptPath();
if (deptPath == null || deptPath.isEmpty()) { if (deptPath == null || deptPath.isEmpty()) {
log.warn("用户 {} 的部门路径为空,返回空知识库列表", user.getID()); log.warn("用户 {} 的部门路径为空,返回空知识库列表", user.getId());
return null; return null;
} }
@@ -1169,15 +1169,15 @@ public class AiChatServiceImpl implements AiChatService {
List<String> knowledgeIds = ((AiKnowledgeRedisServiceImpl) knowledgeRedisService).getKnowledgeIdsByDeptPath(deptPath); List<String> knowledgeIds = ((AiKnowledgeRedisServiceImpl) knowledgeRedisService).getKnowledgeIdsByDeptPath(deptPath);
if (knowledgeIds == null || knowledgeIds.isEmpty()) { if (knowledgeIds == null || knowledgeIds.isEmpty()) {
log.warn("用户 {} 所在部门路径 {} 没有关联的知识库", user.getID(), deptPath); log.warn("用户 {} 所在部门路径 {} 没有关联的知识库", user.getId(), deptPath);
return null; return null;
} }
log.info("用户 {} 从部门路径 {} 获取到 {} 个知识库", user.getID(), deptPath, knowledgeIds.size()); log.info("用户 {} 从部门路径 {} 获取到 {} 个知识库", user.getId(), deptPath, knowledgeIds.size());
return knowledgeIds; return knowledgeIds;
} catch (Exception e) { } catch (Exception e) {
log.error("根据用户获取知识库ID失败: userId={}", user.getID(), e); log.error("根据用户获取知识库ID失败: userId={}", user.getId(), e);
return null; return null;
} }
} }

View File

@@ -61,7 +61,7 @@ public class AiKnowledgeRedisServiceImpl implements AiKnowledgeRedisService, Com
String deptId = knowledge.getCreatorDept(); String deptId = knowledge.getCreatorDept();
if (deptId == null || deptId.isEmpty()) { if (deptId == null || deptId.isEmpty()) {
log.warn("知识库 {} 没有部门信息,跳过", knowledge.getID()); log.warn("知识库 {} 没有部门信息,跳过", knowledge.getId());
continue; continue;
} }

View File

@@ -188,7 +188,7 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
} }
// 4. 保存到本地数据库 // 4. 保存到本地数据库
knowledge.setID(UUID.randomUUID().toString()); knowledge.setId(UUID.randomUUID().toString());
knowledge.setDifyDatasetId(difyDatasetId); knowledge.setDifyDatasetId(difyDatasetId);
knowledge.setDifyIndexingTechnique(indexingTechnique); knowledge.setDifyIndexingTechnique(indexingTechnique);
knowledge.setEmbeddingModel(embeddingModel); knowledge.setEmbeddingModel(embeddingModel);
@@ -198,9 +198,9 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
} }
// 保存检索配置(从前端传入,已经在 knowledge 对象中) // 保存检索配置(从前端传入,已经在 knowledge 对象中)
// retrievalTopK, retrievalScoreThreshold, rerankModel, rerankModelProvider 已设置 // retrievalTopK, retrievalScoreThreshold, rerankModel, rerankModelProvider 已设置
knowledge.setCreator(currentUser.getID()); knowledge.setCreator(currentUser.getId());
knowledge.setCreatorDept(deptId); knowledge.setCreatorDept(deptId);
knowledge.setUpdater(currentUser.getID()); knowledge.setUpdater(currentUser.getId());
knowledge.setCreateTime(new Date()); knowledge.setCreateTime(new Date());
knowledge.setUpdateTime(new Date()); knowledge.setUpdateTime(new Date());
knowledge.setDeleted(false); knowledge.setDeleted(false);
@@ -230,7 +230,7 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
// 5. 创建权限记录 // 5. 创建权限记录
try { try {
createKnowledgePermission( createKnowledgePermission(
knowledge.getID(), knowledge.getId(),
permissionType, permissionType,
deptIds, deptIds,
roleIds, roleIds,
@@ -250,7 +250,7 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
// 缓存更新失败不影响知识库创建,记录日志即可 // 缓存更新失败不影响知识库创建,记录日志即可
} }
log.info("知识库创建成功: {} - {}", knowledge.getID(), knowledge.getTitle()); log.info("知识库创建成功: {} - {}", knowledge.getId(), knowledge.getTitle());
resultDomain.success("知识库创建成功", knowledge); resultDomain.success("知识库创建成功", knowledge);
return resultDomain; return resultDomain;
@@ -268,20 +268,20 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
try { try {
// 1. 参数验证 // 1. 参数验证
if (!StringUtils.hasText(knowledge.getID())) { if (!StringUtils.hasText(knowledge.getId())) {
resultDomain.fail("知识库ID不能为空"); resultDomain.fail("知识库ID不能为空");
return resultDomain; return resultDomain;
} }
// 2. 检查是否存在 // 2. 检查是否存在
TbAiKnowledge existing = knowledgeMapper.selectKnowledgeById(knowledge.getID()); TbAiKnowledge existing = knowledgeMapper.selectKnowledgeById(knowledge.getId());
if (existing == null || existing.getDeleted()) { if (existing == null || existing.getDeleted()) {
resultDomain.fail("知识库不存在"); resultDomain.fail("知识库不存在");
return resultDomain; return resultDomain;
} }
// 3. 权限检查只有创建者或有write权限的用户可以修改 // 3. 权限检查只有创建者或有write权限的用户可以修改
ResultDomain<Boolean> permissionCheck = checkKnowledgePermission(knowledge.getID(), "write"); ResultDomain<Boolean> permissionCheck = checkKnowledgePermission(knowledge.getId(), "write");
if (!permissionCheck.getData()) { if (!permissionCheck.getData()) {
resultDomain.fail("无权限修改此知识库"); resultDomain.fail("无权限修改此知识库");
return resultDomain; return resultDomain;
@@ -319,7 +319,7 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
updateRequest.setIndexingTechnique(knowledge.getDifyIndexingTechnique()); updateRequest.setIndexingTechnique(knowledge.getDifyIndexingTechnique());
needUpdateDify = true; needUpdateDify = true;
} else { } else {
log.warn("不允许从high_quality降级为economy: knowledgeId={}", knowledge.getID()); log.warn("不允许从high_quality降级为economy: knowledgeId={}", knowledge.getId());
} }
} }
@@ -425,14 +425,14 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
} }
// 6. 更新本地数据 // 6. 更新本地数据
knowledge.setUpdater(currentUser.getID()); knowledge.setUpdater(currentUser.getId());
knowledge.setUpdateTime(new Date()); knowledge.setUpdateTime(new Date());
int rows = knowledgeMapper.updateKnowledge(knowledge); int rows = knowledgeMapper.updateKnowledge(knowledge);
if (rows > 0) { if (rows > 0) {
// 重新查询最新数据 // 重新查询最新数据
TbAiKnowledge updated = knowledgeMapper.selectKnowledgeById(knowledge.getID()); TbAiKnowledge updated = knowledgeMapper.selectKnowledgeById(knowledge.getId());
log.info("知识库更新成功: {} - {}", knowledge.getID(), knowledge.getTitle()); log.info("知识库更新成功: {} - {}", knowledge.getId(), knowledge.getTitle());
resultDomain.success("知识库更新成功", updated); resultDomain.success("知识库更新成功", updated);
return resultDomain; return resultDomain;
} else { } else {
@@ -473,7 +473,7 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
return resultDomain; return resultDomain;
} }
if (!existing.getCreator().equals(currentUser.getID())) { if (!existing.getCreator().equals(currentUser.getId())) {
resultDomain.fail("只有创建者可以删除知识库"); resultDomain.fail("只有创建者可以删除知识库");
return resultDomain; return resultDomain;
} }
@@ -491,8 +491,8 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
// 5. 逻辑删除本地记录 // 5. 逻辑删除本地记录
TbAiKnowledge deleteEntity = new TbAiKnowledge(); TbAiKnowledge deleteEntity = new TbAiKnowledge();
deleteEntity.setID(knowledgeId); deleteEntity.setId(knowledgeId);
deleteEntity.setUpdater(currentUser.getID()); deleteEntity.setUpdater(currentUser.getId());
int rows = knowledgeMapper.deleteKnowledge(deleteEntity); int rows = knowledgeMapper.deleteKnowledge(deleteEntity);
if (rows > 0) { if (rows > 0) {
@@ -623,14 +623,14 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
// 3. 更新本地信息 // 3. 更新本地信息
TbAiKnowledge update = new TbAiKnowledge(); TbAiKnowledge update = new TbAiKnowledge();
update.setID(knowledgeId); update.setId(knowledgeId);
update.setDocumentCount(difyDetail.getDocumentCount()); update.setDocumentCount(difyDetail.getDocumentCount());
update.setTotalChunks(difyDetail.getWordCount()); // Dify的word_count对应我们的chunks update.setTotalChunks(difyDetail.getWordCount()); // Dify的word_count对应我们的chunks
update.setUpdateTime(new Date()); update.setUpdateTime(new Date());
TbSysUser currentUser = LoginUtil.getCurrentUser(); TbSysUser currentUser = LoginUtil.getCurrentUser();
if (currentUser != null) { if (currentUser != null) {
update.setUpdater(currentUser.getID()); update.setUpdater(currentUser.getId());
} }
knowledgeMapper.updateKnowledge(update); knowledgeMapper.updateKnowledge(update);
@@ -679,7 +679,7 @@ public class AiKnowledgeServiceImpl implements AiKnowledgeService {
return resultDomain; return resultDomain;
} }
if (!knowledge.getCreator().equals(currentUser.getID())) { if (!knowledge.getCreator().equals(currentUser.getId())) {
resultDomain.fail("只有创建者可以修改权限"); resultDomain.fail("只有创建者可以修改权限");
return resultDomain; return resultDomain;
} }

View File

@@ -114,7 +114,7 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
file, file,
"ai-agent", // 模块名 "ai-agent", // 模块名
agentId, // 业务ID智能体ID agentId, // 业务ID智能体ID
currentUser.getID() // 上传者 currentUser.getId() // 上传者
); );
if (!uploadResult.isSuccess() || uploadResult.getData() == null) { if (!uploadResult.isSuccess() || uploadResult.getData() == null) {
@@ -123,7 +123,7 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
} }
TbSysFile sysFile = (TbSysFile) uploadResult.getData(); TbSysFile sysFile = (TbSysFile) uploadResult.getData();
log.info("文件已保存到系统文件表: sysFileId={}, fileName={}", sysFile.getID(), sysFile.getOriginalName()); log.info("文件已保存到系统文件表: sysFileId={}, fileName={}", sysFile.getId(), sysFile.getOriginalName());
// 6. 获取已保存文件的File对象直接用于上传到Dify不需要再保存临时文件 // 6. 获取已保存文件的File对象直接用于上传到Dify不需要再保存临时文件
File fileToUpload = fileService.getFileByRelativePath(sysFile.getFilePath()); File fileToUpload = fileService.getFileByRelativePath(sysFile.getFilePath());
@@ -133,13 +133,13 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
DifyFileInfo difyResponse = difyApiClient.uploadFileForChat( DifyFileInfo difyResponse = difyApiClient.uploadFileForChat(
fileToUpload, fileToUpload,
originalFilename, originalFilename,
currentUser.getID(), currentUser.getId(),
agent.getDifyApiKey()); agent.getDifyApiKey());
// 9. 转换为前端需要的格式包含系统文件ID和文件路径 // 9. 转换为前端需要的格式包含系统文件ID和文件路径
Map<String, Object> fileInfo = new HashMap<>(); Map<String, Object> fileInfo = new HashMap<>();
fileInfo.put("id", difyResponse.getId()); // Dify文件ID fileInfo.put("id", difyResponse.getId()); // Dify文件ID
fileInfo.put("sys_file_id", sysFile.getID()); // 系统文件ID重要用于关联消息 fileInfo.put("sys_file_id", sysFile.getId()); // 系统文件ID重要用于关联消息
fileInfo.put("file_path", sysFile.getFilePath()); // 文件路径(重要:用于保存记录) fileInfo.put("file_path", sysFile.getFilePath()); // 文件路径(重要:用于保存记录)
fileInfo.put("name", difyResponse.getName()); fileInfo.put("name", difyResponse.getName());
fileInfo.put("size", difyResponse.getSize()); fileInfo.put("size", difyResponse.getSize());
@@ -150,7 +150,7 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
fileInfo.put("upload_file_id", difyResponse.getId()); // Dify上传文件ID fileInfo.put("upload_file_id", difyResponse.getId()); // Dify上传文件ID
fileInfo.put("file_url", sysFile.getFileUrl()); // 文件访问URL fileInfo.put("file_url", sysFile.getFileUrl()); // 文件访问URL
log.info("对话文件上传成功: sysFileId={}, difyFileId={}", sysFile.getID(), difyResponse.getId()); log.info("对话文件上传成功: sysFileId={}, difyFileId={}", sysFile.getId(), difyResponse.getId());
resultDomain.success("文件上传成功", fileInfo); resultDomain.success("文件上传成功", fileInfo);
return resultDomain; return resultDomain;
@@ -228,7 +228,7 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
file, file,
"ai-knowledge", // 模块名 "ai-knowledge", // 模块名
knowledgeId, // 业务ID知识库ID knowledgeId, // 业务ID知识库ID
currentUser.getID() // 上传者 currentUser.getId() // 上传者
); );
if (!uploadResult.isSuccess() || uploadResult.getData() == null) { if (!uploadResult.isSuccess() || uploadResult.getData() == null) {
@@ -237,7 +237,7 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
} }
TbSysFile sysFile = (TbSysFile) uploadResult.getData(); TbSysFile sysFile = (TbSysFile) uploadResult.getData();
log.info("文件已保存到系统文件表: sysFileId={}, fileName={}", sysFile.getID(), sysFile.getOriginalName()); log.info("文件已保存到系统文件表: sysFileId={}, fileName={}", sysFile.getId(), sysFile.getOriginalName());
// 6. 获取已保存文件的File对象直接用于上传到Dify // 6. 获取已保存文件的File对象直接用于上传到Dify
File fileToUpload = fileService.getFileByRelativePath(sysFile.getFilePath()); File fileToUpload = fileService.getFileByRelativePath(sysFile.getFilePath());
@@ -259,10 +259,10 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
// 8. 保存到本地数据库 // 8. 保存到本地数据库
TbAiUploadFile uploadFile = new TbAiUploadFile(); TbAiUploadFile uploadFile = new TbAiUploadFile();
uploadFile.setID(UUID.randomUUID().toString()); uploadFile.setId(UUID.randomUUID().toString());
uploadFile.setUserID(currentUser.getID()); uploadFile.setUserID(currentUser.getId());
uploadFile.setKnowledgeId(knowledgeId); uploadFile.setKnowledgeId(knowledgeId);
uploadFile.setSysFileId(sysFile.getID()); // 关联系统文件ID uploadFile.setSysFileId(sysFile.getId()); // 关联系统文件ID
uploadFile.setFileName(originalFilename); uploadFile.setFileName(originalFilename);
uploadFile.setFilePath(sysFile.getFilePath()); // 保存系统文件的相对路径 uploadFile.setFilePath(sysFile.getFilePath()); // 保存系统文件的相对路径
uploadFile.setFileSize(file.getSize()); uploadFile.setFileSize(file.getSize());
@@ -282,10 +282,10 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
int knowledgeRows = knowledgeMapper.updateKnowledge(knowledge); int knowledgeRows = knowledgeMapper.updateKnowledge(knowledge);
if (rows > 0) { if (rows > 0) {
log.info("知识库文件上传成功: uploadFileId={}, sysFileId={}, fileName={}", log.info("知识库文件上传成功: uploadFileId={}, sysFileId={}, fileName={}",
uploadFile.getID(), sysFile.getID(), originalFilename); uploadFile.getId(), sysFile.getId(), originalFilename);
// 9. 异步更新向量化状态 // 9. 异步更新向量化状态
asyncUpdateVectorStatus(uploadFile.getID()); asyncUpdateVectorStatus(uploadFile.getId());
resultDomain.success("文件上传成功", uploadFile); resultDomain.success("文件上传成功", uploadFile);
if (knowledgeRows <=0) { if (knowledgeRows <=0) {
@@ -392,7 +392,7 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
// 4. 逻辑删除本地记录 // 4. 逻辑删除本地记录
TbAiUploadFile deleteEntity = new TbAiUploadFile(); TbAiUploadFile deleteEntity = new TbAiUploadFile();
deleteEntity.setID(fileId); deleteEntity.setId(fileId);
int rows = uploadFileMapper.deleteUploadFile(deleteEntity); int rows = uploadFileMapper.deleteUploadFile(deleteEntity);
knowledge.setDocumentCount(knowledge.getDocumentCount() - 1); knowledge.setDocumentCount(knowledge.getDocumentCount() - 1);
@@ -522,7 +522,7 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
// 4. 更新本地状态 // 4. 更新本地状态
TbAiUploadFile update = new TbAiUploadFile(); TbAiUploadFile update = new TbAiUploadFile();
update.setID(fileId); update.setId(fileId);
// 映射Dify状态到本地状态completed=2, processing=1, error=3 // 映射Dify状态到本地状态completed=2, processing=1, error=3
// DocumentStatusResponse返回的是文档列表取第一个 // DocumentStatusResponse返回的是文档列表取第一个
@@ -583,9 +583,9 @@ public class AiUploadFileServiceImpl implements AiUploadFileService {
List<CompletableFuture<Void>> futures = files.stream() List<CompletableFuture<Void>> futures = files.stream()
.map(file -> CompletableFuture.runAsync(() -> { .map(file -> CompletableFuture.runAsync(() -> {
try { try {
syncFileStatus(file.getID()); syncFileStatus(file.getId());
} catch (Exception e) { } catch (Exception e) {
log.error("同步文件状态失败: {}", file.getID(), e); log.error("同步文件状态失败: {}", file.getId(), e);
} }
}, executorService)) }, executorService))
.collect(Collectors.toList()); .collect(Collectors.toList());

View File

@@ -216,7 +216,7 @@
) VALUES ) VALUES
<foreach collection="files" item="file" separator=","> <foreach collection="files" item="file" separator=",">
( (
#{file.ID}, #{file.userID}, #{file.knowledgeId}, #{file.conversationID}, #{file.messageID}, #{file.id}, #{file.userID}, #{file.knowledgeId}, #{file.conversationID}, #{file.messageID},
#{file.sysFileId}, #{file.fileName}, #{file.filePath}, #{file.fileSize}, #{file.sysFileId}, #{file.fileName}, #{file.filePath}, #{file.fileSize},
#{file.fileType}, #{file.mimeType}, #{file.difyDocumentId}, #{file.difyBatchId}, #{file.difyUploadFileId}, #{file.fileType}, #{file.mimeType}, #{file.difyDocumentId}, #{file.difyBatchId}, #{file.difyUploadFileId},
#{file.chunkCount}, #{file.status}, #{file.enabled}, #{file.displayStatus}, #{file.createTime}, #{file.updateTime}, #{file.deleted} #{file.chunkCount}, #{file.status}, #{file.enabled}, #{file.displayStatus}, #{file.createTime}, #{file.updateTime}, #{file.deleted}

View File

@@ -255,7 +255,7 @@ const agentResult = await aiAgentConfigApi.createAgent({
status: 1 status: 1
}); });
const agentId = agentResult.data?.ID; const agentId = agentResult.data?.id;
// 2. 流式对话 // 2. 流式对话
await chatApi.streamChat( await chatApi.streamChat(
@@ -294,7 +294,7 @@ const knowledgeResult = await knowledgeApi.createKnowledge({
embeddingModel: 'text-embedding-ada-002' embeddingModel: 'text-embedding-ada-002'
}); });
const knowledgeId = knowledgeResult.data?.ID; const knowledgeId = knowledgeResult.data?.id;
// 2. 上传文件 // 2. 上传文件
const files = document.querySelector('input[type="file"]').files; const files = document.querySelector('input[type="file"]').files;

View File

@@ -50,7 +50,7 @@ public class AiKnowledgeServiceImpl {
String deptId = userDeptRoles.isEmpty() ? null : userDeptRoles.get(0).getDeptID(); String deptId = userDeptRoles.isEmpty() ? null : userDeptRoles.get(0).getDeptID();
// 2. 保存知识库 // 2. 保存知识库
knowledge.setCreator(currentUser.getID()); knowledge.setCreator(currentUser.getId());
knowledge.setCreatorDept(deptId); knowledge.setCreatorDept(deptId);
knowledgeMapper.insert(knowledge); knowledgeMapper.insert(knowledge);
@@ -58,27 +58,27 @@ public class AiKnowledgeServiceImpl {
switch (permissionType) { switch (permissionType) {
case PUBLIC: case PUBLIC:
// 公开知识库:所有人可读 // 公开知识库:所有人可读
createPublicPermission(knowledge.getID()); createPublicPermission(knowledge.getId());
break; break;
case DEPARTMENT: case DEPARTMENT:
// 部门知识库:本部门所有人可读写 // 部门知识库:本部门所有人可读写
createDepartmentPermission(knowledge.getID(), deptId); createDepartmentPermission(knowledge.getId(), deptId);
break; break;
case DEPARTMENT_INHERIT: case DEPARTMENT_INHERIT:
// 部门继承:本部门及子部门可读 // 部门继承:本部门及子部门可读
createDepartmentInheritPermission(knowledge.getID(), deptId); createDepartmentInheritPermission(knowledge.getId(), deptId);
break; break;
case ROLE: case ROLE:
// 角色知识库:特定角色可读(跨部门) // 角色知识库:特定角色可读(跨部门)
createRolePermission(knowledge.getID(), roleIds); createRolePermission(knowledge.getId(), roleIds);
break; break;
case PRIVATE: case PRIVATE:
// 私有知识库:仅创建者所在部门的特定角色 // 私有知识库:仅创建者所在部门的特定角色
createPrivatePermission(knowledge.getID(), deptId, roleIds); createPrivatePermission(knowledge.getId(), deptId, roleIds);
break; break;
} }
@@ -88,7 +88,7 @@ public class AiKnowledgeServiceImpl {
// 创建公开权限 // 创建公开权限
private void createPublicPermission(String knowledgeId) { private void createPublicPermission(String knowledgeId) {
TbResourcePermission permission = new TbResourcePermission(); TbResourcePermission permission = new TbResourcePermission();
permission.setID(UUID.randomUUID().toString()); permission.setId(UUID.randomUUID().toString());
permission.setResourceType(10); // AI_KNOWLEDGE permission.setResourceType(10); // AI_KNOWLEDGE
permission.setResourceId(knowledgeId); permission.setResourceId(knowledgeId);
permission.setDeptId(null); // NULL表示不限部门 permission.setDeptId(null); // NULL表示不限部门
@@ -102,7 +102,7 @@ public class AiKnowledgeServiceImpl {
// 创建部门权限 // 创建部门权限
private void createDepartmentPermission(String knowledgeId, String deptId) { private void createDepartmentPermission(String knowledgeId, String deptId) {
TbResourcePermission permission = new TbResourcePermission(); TbResourcePermission permission = new TbResourcePermission();
permission.setID(UUID.randomUUID().toString()); permission.setId(UUID.randomUUID().toString());
permission.setResourceType(10); permission.setResourceType(10);
permission.setResourceId(knowledgeId); permission.setResourceId(knowledgeId);
permission.setDeptId(deptId); // 指定部门 permission.setDeptId(deptId); // 指定部门
@@ -120,7 +120,7 @@ public class AiKnowledgeServiceImpl {
// 为本部门创建权限已通过dept_path自动继承给子部门 // 为本部门创建权限已通过dept_path自动继承给子部门
TbResourcePermission permission = new TbResourcePermission(); TbResourcePermission permission = new TbResourcePermission();
permission.setID(UUID.randomUUID().toString()); permission.setId(UUID.randomUUID().toString());
permission.setResourceType(10); permission.setResourceType(10);
permission.setResourceId(knowledgeId); permission.setResourceId(knowledgeId);
permission.setDeptId(deptId); permission.setDeptId(deptId);
@@ -392,7 +392,7 @@ private String getCurrentUserCacheKey() {
String roleIds = roles.stream() String roleIds = roles.stream()
.map(r -> r.getDeptID() + ":" + r.getRoleID()) .map(r -> r.getDeptID() + ":" + r.getRoleID())
.collect(Collectors.joining(",")); .collect(Collectors.joining(","));
return user.getID() + ":" + roleIds; return user.getId() + ":" + roleIds;
} }
``` ```

View File

@@ -65,7 +65,7 @@ public class UserPrincipal implements UserDetails {
public Collection<? extends GrantedAuthority> getAuthorities() { public Collection<? extends GrantedAuthority> getAuthorities() {
// 角色权限 // 角色权限
List<GrantedAuthority> roleAuthorities = roles.stream() List<GrantedAuthority> roleAuthorities = roles.stream()
.map(role -> new SimpleGrantedAuthority("ROLE_" + role.getID())) .map(role -> new SimpleGrantedAuthority("ROLE_" + role.getId()))
.collect(Collectors.toList()); .collect(Collectors.toList());
// 功能权限 // 功能权限

View File

@@ -242,7 +242,7 @@ public class LoginServiceImpl implements LoginService {
loginDomain.setIpAddress(ipAddress); loginDomain.setIpAddress(ipAddress);
// 用户信息 // 用户信息
try { try {
ResultDomain<TbSysUserInfo> resultDomain = userService.getUserInfoById(user.getID()); ResultDomain<TbSysUserInfo> resultDomain = userService.getUserInfoById(user.getId());
if (resultDomain.isSuccess()) { if (resultDomain.isSuccess()) {
loginDomain.setUserInfo(resultDomain.getData()); loginDomain.setUserInfo(resultDomain.getData());
} }
@@ -251,7 +251,7 @@ public class LoginServiceImpl implements LoginService {
} }
// 获取用户角色和权限(如果服务可用) // 获取用户角色和权限(如果服务可用)
try { try {
ResultDomain<UserDeptRoleVO> resultDomain = roleService.getDeptRolesByUserId(user.getID()); ResultDomain<UserDeptRoleVO> resultDomain = roleService.getDeptRolesByUserId(user.getId());
if (resultDomain.isSuccess()) { if (resultDomain.isSuccess()) {
List<UserDeptRoleVO> roles = resultDomain.getDataList(); List<UserDeptRoleVO> roles = resultDomain.getDataList();
loginDomain.setRoles(roles); loginDomain.setRoles(roles);
@@ -263,7 +263,7 @@ public class LoginServiceImpl implements LoginService {
} }
try { try {
ResultDomain<TbSysPermission> resultDomain = permissionService.getPermissionsByUserId(user.getID()); ResultDomain<TbSysPermission> resultDomain = permissionService.getPermissionsByUserId(user.getId());
if (resultDomain.isSuccess()) { if (resultDomain.isSuccess()) {
List<TbSysPermission> permissions = resultDomain.getDataList(); List<TbSysPermission> permissions = resultDomain.getDataList();
loginDomain.setPermissions(permissions); loginDomain.setPermissions(permissions);
@@ -275,7 +275,7 @@ public class LoginServiceImpl implements LoginService {
} }
try { try {
ResultDomain<TbSysMenu> resultDomain = menuService.getMenusByUserId(user.getID()); ResultDomain<TbSysMenu> resultDomain = menuService.getMenusByUserId(user.getId());
if (resultDomain.isSuccess()) { if (resultDomain.isSuccess()) {
List<TbSysMenu> menus = resultDomain.getDataList(); List<TbSysMenu> menus = resultDomain.getDataList();
loginDomain.setMenus(menus); loginDomain.setMenus(menus);
@@ -302,10 +302,10 @@ public class LoginServiceImpl implements LoginService {
TbSysLoginLog loginLog = new TbSysLoginLog(); TbSysLoginLog loginLog = new TbSysLoginLog();
// 使用IDUtils生成登录日志ID // 使用IDUtils生成登录日志ID
loginLog.setID(IDUtils.generateID()); loginLog.setId(IDUtils.generateID());
if (user != null) { if (user != null) {
loginLog.setUserID(user.getID()); loginLog.setUserID(user.getId());
loginLog.setUsername(user.getUsername()); loginLog.setUsername(user.getUsername());
}else{ }else{
if (loginParam.getLoginType().equals("password")) { if (loginParam.getLoginType().equals("password")) {

View File

@@ -44,7 +44,7 @@ public class JwtTokenUtil {
Map<String, Object> claims = new HashMap<>(); Map<String, Object> claims = new HashMap<>();
TbSysUser user = loginDomain.getUser(); TbSysUser user = loginDomain.getUser();
claims.put("userId", user.getID()); claims.put("userId", user.getId());
claims.put("username", user.getUsername()); claims.put("username", user.getUsername());
claims.put("email", user.getEmail()); claims.put("email", user.getEmail());
claims.put("loginType", loginDomain.getLoginType()); claims.put("loginType", loginDomain.getLoginType());
@@ -52,7 +52,7 @@ public class JwtTokenUtil {
return Jwts.builder() return Jwts.builder()
.setClaims(claims) .setClaims(claims)
.setSubject(user.getID()) .setSubject(user.getId())
.setId(IDUtils.generateID()) // 使用IDUtils生成JWT ID .setId(IDUtils.generateID()) // 使用IDUtils生成JWT ID
.setIssuedAt(new Date()) .setIssuedAt(new Date())
.setExpiration(generateExpirationDate()) .setExpiration(generateExpirationDate())

View File

@@ -30,5 +30,17 @@
<artifactId>jjwt-api</artifactId> <artifactId>jjwt-api</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- FastJson2 - JSON序列化工具 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
</dependency>
<!-- FastJson2 Spring6 支持 -->
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-extension-spring6</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -0,0 +1,50 @@
package org.xyzh.common.config.properties;
import com.alibaba.fastjson2.support.config.FastJsonConfig;
import com.alibaba.fastjson2.support.spring6.http.converter.FastJsonHttpMessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;
/**
* @description FastJson配置类 - 统一处理日期时间格式序列化
* @filename FastJsonConfig.java
* @author yslg
* @copyright xyzh
* @since 2025-11-28
*/
@Configuration
public class FastJsonConfiguration implements WebMvcConfigurer {
/**
* 配置FastJson消息转换器
*/
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
// FastJson配置
FastJsonConfig config = new FastJsonConfig();
// 设置日期格式
config.setDateFormat("yyyy-MM-dd HH:mm:ss");
// 设置字符集
converter.setDefaultCharset(StandardCharsets.UTF_8);
// 设置支持的MediaType
converter.setSupportedMediaTypes(Collections.singletonList(MediaType.APPLICATION_JSON));
// 应用配置
converter.setFastJsonConfig(config);
// 添加到转换器列表(添加到最前面,优先使用)
converters.add(0, converter);
}
}

View File

@@ -22,6 +22,10 @@
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -4,6 +4,7 @@ import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.alibaba.fastjson2.annotation.JSONField;
/** /**
* @description BaseDTO.java文件描述 * @description BaseDTO.java文件描述
@@ -20,6 +21,7 @@ public class BaseDTO implements Serializable{
* @author yslg * @author yslg
* @since 2025-09-10 * @since 2025-09-10
*/ */
@JSONField(name="id")
private String id; private String id;
/** /**
@@ -100,7 +102,7 @@ public class BaseDTO implements Serializable{
* @author yslg * @author yslg
* @since 2025-09-10 * @since 2025-09-10
*/ */
public String getID() { public String getId() {
return this.id; return this.id;
} }
@@ -110,7 +112,7 @@ public class BaseDTO implements Serializable{
* @author yslg * @author yslg
* @since 2025-09-10 * @since 2025-09-10
*/ */
public void setID(String id) { public void setId(String id) {
this.id = id; this.id = id;
} }

View File

@@ -136,7 +136,7 @@ public class TbAiAgentConfig extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbAiAgentConfig{" + return "TbAiAgentConfig{" +
"id=" + getID() + "id=" + getId() +
", name='" + name + '\'' + ", name='" + name + '\'' +
", connectInternet=" + connectInternet + ", connectInternet=" + connectInternet +
", difyAppId='" + difyAppId + '\'' + ", difyAppId='" + difyAppId + '\'' +

View File

@@ -160,7 +160,7 @@ public class TbAiConversation extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbAiConversation{" + return "TbAiConversation{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", title='" + title + '\'' + ", title='" + title + '\'' +
", status=" + status + ", status=" + status +

View File

@@ -408,7 +408,7 @@ public class TbAiKnowledge extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbAiKnowledge{" + return "TbAiKnowledge{" +
"id=" + getID() + "id=" + getId() +
", title='" + title + '\'' + ", title='" + title + '\'' +
", sourceType=" + sourceType + ", sourceType=" + sourceType +
", category='" + category + '\'' + ", category='" + category + '\'' +

View File

@@ -169,7 +169,7 @@ public class TbAiMessage extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbAiMessage{" + return "TbAiMessage{" +
"id=" + getID() + "id=" + getId() +
", conversationID='" + conversationID + '\'' + ", conversationID='" + conversationID + '\'' +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", role='" + role + '\'' + ", role='" + role + '\'' +

View File

@@ -262,7 +262,7 @@ public class TbAiUploadFile extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbAiUploadFile{" + return "TbAiUploadFile{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", conversationID='" + conversationID + '\'' + ", conversationID='" + conversationID + '\'' +
", fileName='" + fileName + '\'' + ", fileName='" + fileName + '\'' +

View File

@@ -121,7 +121,7 @@ public class TbAiUsageStatistics extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbAiUsageStatistics{" + return "TbAiUsageStatistics{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", statDate=" + statDate + ", statDate=" + statDate +
", conversationCount=" + conversationCount + ", conversationCount=" + conversationCount +

View File

@@ -106,7 +106,7 @@ public class TbCrontabEmailDefault extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCrontabEmailDefault{" + return "TbCrontabEmailDefault{" +
"id=" + getID() + "id=" + getId() +
", defaultId='" + defaultId + '\'' + ", defaultId='" + defaultId + '\'' +
", metaId='" + metaId + '\'' + ", metaId='" + metaId + '\'' +
", userId='" + userId + '\'' + ", userId='" + userId + '\'' +

View File

@@ -107,7 +107,7 @@ public class TbCrontabEmailRecipient extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCrontabEmailRecipient{" + return "TbCrontabEmailRecipient{" +
"id=" + getID() + "id=" + getId() +
", recipientId='" + recipientId + '\'' + ", recipientId='" + recipientId + '\'' +
", taskId='" + taskId + '\'' + ", taskId='" + taskId + '\'' +
", userId='" + userId + '\'' + ", userId='" + userId + '\'' +

View File

@@ -174,7 +174,7 @@ public class TbCrontabLog extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCrontabLog{" + return "TbCrontabLog{" +
"id=" + getID() + "id=" + getId() +
", taskId='" + taskId + '\'' + ", taskId='" + taskId + '\'' +
", taskName='" + taskName + '\'' + ", taskName='" + taskName + '\'' +
", taskGroup='" + taskGroup + '\'' + ", taskGroup='" + taskGroup + '\'' +

View File

@@ -237,7 +237,7 @@ public class TbCrontabTask extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCrontabTask{" + return "TbCrontabTask{" +
"id=" + getID() + "id=" + getId() +
", taskId='" + taskId + '\'' + ", taskId='" + taskId + '\'' +
", taskName='" + taskName + '\'' + ", taskName='" + taskName + '\'' +
", taskGroup='" + taskGroup + '\'' + ", taskGroup='" + taskGroup + '\'' +

View File

@@ -172,7 +172,7 @@ public class TbCrontabTaskMeta extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCrontabTaskMeta{" + return "TbCrontabTaskMeta{" +
"id=" + getID() + "id=" + getId() +
", metaId='" + metaId + '\'' + ", metaId='" + metaId + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +
", category='" + category + '\'' + ", category='" + category + '\'' +

View File

@@ -121,7 +121,7 @@ public class TbSysDept extends BaseDTO{
@Override @Override
public String toString() { public String toString() {
return "TbSysDept{" + return "TbSysDept{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", deptID='" + deptID + '\'' + ", deptID='" + deptID + '\'' +
", parentID='" + parentID + '\'' + ", parentID='" + parentID + '\'' +
", deptPath='" + deptPath + '\'' + ", deptPath='" + deptPath + '\'' +

View File

@@ -95,7 +95,7 @@ public class TbSysDeptRole extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysDeptRole{" + return "TbSysDeptRole{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", deptID='" + deptID + '\'' + ", deptID='" + deptID + '\'' +
", roleID='" + roleID + '\'' + ", roleID='" + roleID + '\'' +
", creator='" + creator + '\'' + ", creator='" + creator + '\'' +

View File

@@ -193,7 +193,7 @@ public class TbSysMenu extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysMenu{" + return "TbSysMenu{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", menuID='" + menuID + '\'' + ", menuID='" + menuID + '\'' +
", parentID='" + parentID + '\'' + ", parentID='" + parentID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +

View File

@@ -75,7 +75,7 @@ public class TbSysMenuPermission extends BaseDTO{
@Override @Override
public String toString() { public String toString() {
return "TbSysMenuPermission{" + return "TbSysMenuPermission{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", menuID='" + menuID + '\'' + ", menuID='" + menuID + '\'' +
", permissionID='" + permissionID + '\'' + ", permissionID='" + permissionID + '\'' +
", creator='" + creator + '\'' + ", creator='" + creator + '\'' +

View File

@@ -133,7 +133,7 @@ public class TbResourcePermission extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbResourcePermission{" + return "TbResourcePermission{" +
"id=" + getID() + "id=" + getId() +
", resourceType=" + resourceType + ", resourceType=" + resourceType +
", resourceID='" + resourceID + '\'' + ", resourceID='" + resourceID + '\'' +
", deptID='" + deptID + '\'' + ", deptID='" + deptID + '\'' +

View File

@@ -120,7 +120,7 @@ public class TbSysPermission extends BaseDTO{
@Override @Override
public String toString() { public String toString() {
return "TbSysPermission{" + return "TbSysPermission{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", permissionID='" + permissionID + '\'' + ", permissionID='" + permissionID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +
", description='" + description + '\'' + ", description='" + description + '\'' +

View File

@@ -143,7 +143,7 @@ public class TbBanner extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbBanner{" + return "TbBanner{" +
"id=" + getID() + "id=" + getId() +
", bannerID='" + bannerID + '\'' + ", bannerID='" + bannerID + '\'' +
", title='" + title + '\'' + ", title='" + title + '\'' +
", imageUrl='" + imageUrl + '\'' + ", imageUrl='" + imageUrl + '\'' +

View File

@@ -266,7 +266,7 @@ public class TbResource extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbResource{" + return "TbResource{" +
"id=" + getID() + "id=" + getId() +
", resourceID='" + resourceID + '\'' + ", resourceID='" + resourceID + '\'' +
", title='" + title + '\'' + ", title='" + title + '\'' +
", tagID='" + tagID + '\'' + ", tagID='" + tagID + '\'' +

View File

@@ -94,7 +94,7 @@ public class TbResourceRecommend extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbResourceRecommend{" + return "TbResourceRecommend{" +
"id=" + getID() + "id=" + getId() +
", resourceID='" + resourceID + '\'' + ", resourceID='" + resourceID + '\'' +
", recommendType=" + recommendType + ", recommendType=" + recommendType +
", orderNum=" + orderNum + ", orderNum=" + orderNum +

View File

@@ -55,7 +55,7 @@ public class TbResourceTag extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbResourceTag{" + return "TbResourceTag{" +
"id=" + getID() + "id=" + getId() +
", resourceID='" + resourceID + '\'' + ", resourceID='" + resourceID + '\'' +
", tagID='" + tagID + '\'' + ", tagID='" + tagID + '\'' +
", createTime=" + getCreateTime() + ", createTime=" + getCreateTime() +

View File

@@ -107,7 +107,7 @@ public class TbTag extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbTag{" + return "TbTag{" +
"id=" + getID() + "id=" + getId() +
", tagID='" + tagID + '\'' + ", tagID='" + tagID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +
", color='" + color + '\'' + ", color='" + color + '\'' +

View File

@@ -90,7 +90,7 @@ public class TbSysRole extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysRole{" + return "TbSysRole{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
",roleID='" + roleID + '\'' + ",roleID='" + roleID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +
", description='" + description + '\'' + ", description='" + description + '\'' +

View File

@@ -74,7 +74,7 @@ public class TbSysRolePermission extends BaseDTO{
@Override @Override
public String toString() { public String toString() {
return "TbSysRolePermission{" + return "TbSysRolePermission{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", roleID='" + roleID + '\'' + ", roleID='" + roleID + '\'' +
", permissionID='" + permissionID + '\'' + ", permissionID='" + permissionID + '\'' +
", creator='" + creator + '\'' + ", creator='" + creator + '\'' +

View File

@@ -217,7 +217,7 @@ public class TbCourse extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCourse{" + return "TbCourse{" +
"id=" + getID() + "id=" + getId() +
", courseID='" + courseID + '\'' + ", courseID='" + courseID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +
", coverImage='" + coverImage + '\'' + ", coverImage='" + coverImage + '\'' +

View File

@@ -201,7 +201,7 @@ public class TbCourseChapter extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCourseChapter{" + return "TbCourseChapter{" +
"id=" + getID() + "id=" + getId() +
", chapterID='" + chapterID + '\'' + ", chapterID='" + chapterID + '\'' +
", courseID='" + courseID + '\'' + ", courseID='" + courseID + '\'' +
", parentID='" + parentID + '\'' + ", parentID='" + parentID + '\'' +

View File

@@ -212,7 +212,7 @@ public class TbCourseNode extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCourseNode{" + return "TbCourseNode{" +
"id=" + getID() + "id=" + getId() +
", nodeID='" + nodeID + '\'' + ", nodeID='" + nodeID + '\'' +
", chapterID='" + chapterID + '\'' + ", chapterID='" + chapterID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +

View File

@@ -99,7 +99,7 @@ public class TbCourseTag extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbCourseTag{" + return "TbCourseTag{" +
"id=" + getID() + "id=" + getId() +
", courseID='" + courseID + '\'' + ", courseID='" + courseID + '\'' +
", tagID='" + tagID + '\'' + ", tagID='" + tagID + '\'' +
", createTime=" + getCreateTime() + ", createTime=" + getCreateTime() +

View File

@@ -226,7 +226,7 @@ public class TbLearningHistory extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbLearningHistory{" + return "TbLearningHistory{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", historyID='" + historyID + '\'' + ", historyID='" + historyID + '\'' +
", resourceType=" + resourceType + ", resourceType=" + resourceType +

View File

@@ -228,7 +228,7 @@ public class TbLearningRecord extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbLearningRecord{" + return "TbLearningRecord{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", taskID='" + taskID + '\'' + ", taskID='" + taskID + '\'' +
", resourceType=" + resourceType + ", resourceType=" + resourceType +

View File

@@ -166,7 +166,7 @@ public class TbLearningStatistics extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbLearningStatistics{" + return "TbLearningStatistics{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", statDate=" + statDate + ", statDate=" + statDate +
", totalDuration=" + totalDuration + ", totalDuration=" + totalDuration +

View File

@@ -173,7 +173,7 @@ public class TbLearningStatisticsDetail extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbLearningStatisticsDetail{" + return "TbLearningStatisticsDetail{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", statDate=" + statDate + ", statDate=" + statDate +
", resourceType=" + resourceType + ", resourceType=" + resourceType +

View File

@@ -154,7 +154,7 @@ public class TbLearningTask extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbLearningTask{" + return "TbLearningTask{" +
"id=" + getID() + "id=" + getId() +
", taskID='" + taskID + '\'' + ", taskID='" + taskID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +
", startTime=" + startTime + ", startTime=" + startTime +

View File

@@ -54,7 +54,7 @@ public class TbLearningTaskTag extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbLearningTaskTag{" + return "TbLearningTaskTag{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", taskID='" + taskID + '\'' + ", taskID='" + taskID + '\'' +
", tagID='" + tagID + '\'' + ", tagID='" + tagID + '\'' +
", creator='" + creator + '\'' + ", creator='" + creator + '\'' +

View File

@@ -111,7 +111,7 @@ public class TbTaskItem extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbTaskItem{" + return "TbTaskItem{" +
"id=" + getID() + "id=" + getId() +
", taskID='" + taskID + '\'' + ", taskID='" + taskID + '\'' +
", itemType=" + itemType + ", itemType=" + itemType +
", itemID='" + itemID + '\'' + ", itemID='" + itemID + '\'' +

View File

@@ -154,7 +154,7 @@ public class TbTaskUser extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbTaskUser{" + return "TbTaskUser{" +
"id=" + getID() + "id=" + getId() +
", taskID='" + taskID + '\'' + ", taskID='" + taskID + '\'' +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", deptID='" + deptID + '\'' + ", deptID='" + deptID + '\'' +

View File

@@ -250,7 +250,7 @@ public class TbSysConfig extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysConfig{" + return "TbSysConfig{" +
"id=" + getID() + "id=" + getId() +
", configKey='" + configKey + '\'' + ", configKey='" + configKey + '\'' +
", configName='" + configName + '\'' + ", configName='" + configName + '\'' +
", configValue='" + configValue + '\'' + ", configValue='" + configValue + '\'' +

View File

@@ -159,7 +159,7 @@ public class TbSysDictData extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysDictData{" + return "TbSysDictData{" +
"id=" + getID() + "id=" + getId() +
", dictType='" + dictType + '\'' + ", dictType='" + dictType + '\'' +
", dictLabel='" + dictLabel + '\'' + ", dictLabel='" + dictLabel + '\'' +
", dictValue='" + dictValue + '\'' + ", dictValue='" + dictValue + '\'' +

View File

@@ -94,7 +94,7 @@ public class TbSysDictType extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysDictType{" + return "TbSysDictType{" +
"id=" + getID() + "id=" + getId() +
", dictType='" + dictType + '\'' + ", dictType='" + dictType + '\'' +
", dictName='" + dictName + '\'' + ", dictName='" + dictName + '\'' +
", status=" + status + ", status=" + status +

View File

@@ -181,7 +181,7 @@ public class TbSysLoginLog extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysLoginLog{" + return "TbSysLoginLog{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", username='" + username + '\'' + ", username='" + username + '\'' +
", ipAddress='" + ipAddress + '\'' + ", ipAddress='" + ipAddress + '\'' +

View File

@@ -133,7 +133,7 @@ public class TbSysModule extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysModule{" + return "TbSysModule{" +
"id=" + getID() + "id=" + getId() +
", moduleID='" + moduleID + '\'' + ", moduleID='" + moduleID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +
", code='" + code + '\'' + ", code='" + code + '\'' +

View File

@@ -121,7 +121,7 @@ public class TbSysNotification extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysNotification{" + return "TbSysNotification{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", type=" + type + ", type=" + type +
", title='" + title + '\'' + ", title='" + title + '\'' +

View File

@@ -224,7 +224,7 @@ public class TbSysOperationLog extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysOperationLog{" + return "TbSysOperationLog{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", username='" + username + '\'' + ", username='" + username + '\'' +
", module='" + module + '\'' + ", module='" + module + '\'' +

View File

@@ -108,7 +108,7 @@ public class TbSysVisitStatistics extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysVisitStatistics{" + return "TbSysVisitStatistics{" +
"id=" + getID() + "id=" + getId() +
", statDate=" + statDate + ", statDate=" + statDate +
", totalVisits=" + totalVisits + ", totalVisits=" + totalVisits +
", uniqueVisitors=" + uniqueVisitors + ", uniqueVisitors=" + uniqueVisitors +

View File

@@ -107,7 +107,7 @@ public class TbSysUser extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysUser{" + return "TbSysUser{" +
"id=" + getID() + "id=" + getId() +
", username='" + username + '\'' + ", username='" + username + '\'' +
", password='" + password + '\'' + ", password='" + password + '\'' +
", email='" + email + '\'' + ", email='" + email + '\'' +

View File

@@ -91,7 +91,7 @@ public class TbSysUserDeptRole extends BaseDTO{
@Override @Override
public String toString() { public String toString() {
return "TbSysUserDeptRole{" + return "TbSysUserDeptRole{" +
"id='" + getID() + '\'' + "id='" + getId() + '\'' +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", deptID='" + deptID + '\'' + ", deptID='" + deptID + '\'' +
", roleID='" + roleID + '\'' + ", roleID='" + roleID + '\'' +

View File

@@ -167,7 +167,7 @@ public class TbSysUserInfo extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbSysUserInfo{" + return "TbSysUserInfo{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", avatar='" + avatar + '\'' + ", avatar='" + avatar + '\'' +
", gender=" + gender + ", gender=" + gender +

View File

@@ -172,7 +172,7 @@ public class TbAchievement extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbAchievement{" + return "TbAchievement{" +
"id=" + getID() + "id=" + getId() +
", achievementID='" + achievementID + '\'' + ", achievementID='" + achievementID + '\'' +
", name='" + name + '\'' + ", name='" + name + '\'' +
", type=" + type + ", type=" + type +

View File

@@ -94,7 +94,7 @@ public class TbPointsRecord extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbPointsRecord{" + return "TbPointsRecord{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", points=" + points + ", points=" + points +
", type=" + type + ", type=" + type +

View File

@@ -56,7 +56,7 @@ public class TbUserAchievement extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbUserAchievement{" + return "TbUserAchievement{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", achievementID='" + achievementID + '\'' + ", achievementID='" + achievementID + '\'' +
", obtainTime=" + obtainTime + ", obtainTime=" + obtainTime +

View File

@@ -120,7 +120,7 @@ public class TbUserAchievementProgress extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbUserAchievementProgress{" + return "TbUserAchievementProgress{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", achievementID='" + achievementID + '\'' + ", achievementID='" + achievementID + '\'' +
", currentValue=" + currentValue + ", currentValue=" + currentValue +

View File

@@ -82,7 +82,7 @@ public class TbUserBrowseRecord extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbUserBrowseRecord{" + return "TbUserBrowseRecord{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", browseType=" + browseType + ", browseType=" + browseType +
", browseID='" + browseID + '\'' + ", browseID='" + browseID + '\'' +

View File

@@ -68,7 +68,7 @@ public class TbUserCollection extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbUserCollection{" + return "TbUserCollection{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", collectionType=" + collectionType + ", collectionType=" + collectionType +
", collectionID='" + collectionID + '\'' + ", collectionID='" + collectionID + '\'' +

View File

@@ -68,7 +68,7 @@ public class TbUserPoints extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "TbUserPoints{" + return "TbUserPoints{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", totalPoints=" + totalPoints + ", totalPoints=" + totalPoints +
", currentPoints=" + currentPoints + ", currentPoints=" + currentPoints +

View File

@@ -19,7 +19,7 @@ public class AchievementVO extends TbAchievement {
// ==================== TbUserAchievement表的字段 ==================== // ==================== TbUserAchievement表的字段 ====================
/** /**
* @description 用户成就记录IDtb_user_achievement.ID * @description 用户成就记录IDtb_user_achievement.id
*/ */
private String userAchievementID; private String userAchievementID;
@@ -36,7 +36,7 @@ public class AchievementVO extends TbAchievement {
// ==================== TbUserAchievementProgress表的字段 ==================== // ==================== TbUserAchievementProgress表的字段 ====================
/** /**
* @description 进度记录IDtb_user_achievement_progress.ID * @description 进度记录IDtb_user_achievement_progress.id
*/ */
private String progressID; private String progressID;

View File

@@ -387,7 +387,7 @@ public class CourseItemVO extends BaseDTO {
*/ */
public TbCourse toCourse() { public TbCourse toCourse() {
TbCourse course = new TbCourse(); TbCourse course = new TbCourse();
course.setID(this.getID()); course.setId(this.getId());
course.setCourseID(this.courseID); course.setCourseID(this.courseID);
course.setName(this.name); course.setName(this.name);
course.setCoverImage(this.coverImage); course.setCoverImage(this.coverImage);
@@ -412,7 +412,7 @@ public class CourseItemVO extends BaseDTO {
} }
CourseItemVO vo = new CourseItemVO(); CourseItemVO vo = new CourseItemVO();
vo.setID(course.getID()); vo.setId(course.getId());
vo.setCourseID(course.getCourseID()); vo.setCourseID(course.getCourseID());
vo.setName(course.getName()); vo.setName(course.getName());
vo.setCoverImage(course.getCoverImage()); vo.setCoverImage(course.getCoverImage());
@@ -434,7 +434,7 @@ public class CourseItemVO extends BaseDTO {
TbLearningRecord record = new TbLearningRecord(); TbLearningRecord record = new TbLearningRecord();
if (this.recordID != null) { if (this.recordID != null) {
// 如果有recordID说明是从已有记录转换的需要设置ID // 如果有recordID说明是从已有记录转换的需要设置ID
record.setID(this.recordID); record.setId(this.recordID);
} }
record.setCourseID(this.courseID); record.setCourseID(this.courseID);
record.setDuration(this.learningDuration); record.setDuration(this.learningDuration);
@@ -454,7 +454,7 @@ public class CourseItemVO extends BaseDTO {
return; return;
} }
this.recordID = record.getID(); this.recordID = record.getId();
this.progress = record.getProgress(); this.progress = record.getProgress();
this.isComplete = record.getIsComplete(); this.isComplete = record.getIsComplete();
this.learningDuration = record.getDuration(); this.learningDuration = record.getDuration();
@@ -487,7 +487,7 @@ public class CourseItemVO extends BaseDTO {
} }
CourseItemVO vo = new CourseItemVO(); CourseItemVO vo = new CourseItemVO();
vo.setID(chapter.getID()); vo.setId(chapter.getId());
vo.setChapterID(chapter.getChapterID()); vo.setChapterID(chapter.getChapterID());
vo.setCourseID(chapter.getCourseID()); vo.setCourseID(chapter.getCourseID());
vo.setParentID(chapter.getParentID()); vo.setParentID(chapter.getParentID());
@@ -513,7 +513,7 @@ public class CourseItemVO extends BaseDTO {
} }
CourseItemVO vo = new CourseItemVO(); CourseItemVO vo = new CourseItemVO();
vo.setID(node.getID()); vo.setId(node.getId());
vo.setNodeID(node.getNodeID()); vo.setNodeID(node.getNodeID());
vo.setChapterID(node.getChapterID()); vo.setChapterID(node.getChapterID());
vo.setName(node.getName()); vo.setName(node.getName());
@@ -535,7 +535,7 @@ public class CourseItemVO extends BaseDTO {
*/ */
public TbCourseChapter toChapter() { public TbCourseChapter toChapter() {
TbCourseChapter chapter = new TbCourseChapter(); TbCourseChapter chapter = new TbCourseChapter();
chapter.setID(this.getID()); chapter.setId(this.getId());
chapter.setChapterID(this.chapterID); chapter.setChapterID(this.chapterID);
chapter.setCourseID(this.courseID); chapter.setCourseID(this.courseID);
chapter.setParentID(this.parentID); chapter.setParentID(this.parentID);
@@ -555,7 +555,7 @@ public class CourseItemVO extends BaseDTO {
*/ */
public TbCourseNode toNode() { public TbCourseNode toNode() {
TbCourseNode node = new TbCourseNode(); TbCourseNode node = new TbCourseNode();
node.setID(this.getID()); node.setId(this.getId());
node.setNodeID(this.nodeID); node.setNodeID(this.nodeID);
node.setChapterID(this.chapterID); node.setChapterID(this.chapterID);
node.setName(this.name); node.setName(this.name);

View File

@@ -98,7 +98,7 @@ public class ResourcePermissionVO extends TbResourcePermission {
@Override @Override
public String toString() { public String toString() {
return "ResourcePermissionVO{" + return "ResourcePermissionVO{" +
"id=" + getID() + "id=" + getId() +
", resourceType=" + getResourceType() + ", resourceType=" + getResourceType() +
", resourceID='" + getResourceID() + '\'' + ", resourceID='" + getResourceID() + '\'' +
", resourceTitle='" + resourceTitle + '\'' + ", resourceTitle='" + resourceTitle + '\'' +

View File

@@ -81,7 +81,7 @@ public class TagVO extends BaseDTO {
} }
public TbTag getTag() { public TbTag getTag() {
TbTag tag = new TbTag(); TbTag tag = new TbTag();
tag.setID(tagID); tag.setId(tagID);
tag.setName(tagName); tag.setName(tagName);
tag.setColor(tagColor); tag.setColor(tagColor);
return tag; return tag;

View File

@@ -67,7 +67,7 @@ public class TaskItemVO extends TbLearningTask {
this.setTaskID(taskItem.getTaskID()); this.setTaskID(taskItem.getTaskID());
this.orderNum = taskItem.getOrderNum(); this.orderNum = taskItem.getOrderNum();
this.required = taskItem.getRequired(); this.required = taskItem.getRequired();
this.setID(taskItem.getID()); this.setId(taskItem.getId());
this.setCreateTime(taskItem.getCreateTime()); this.setCreateTime(taskItem.getCreateTime());
this.setCreator(taskItem.getCreator()); this.setCreator(taskItem.getCreator());
@@ -140,7 +140,7 @@ public class TaskItemVO extends TbLearningTask {
public TbTaskItem toTaskItem() { public TbTaskItem toTaskItem() {
TbTaskItem taskItem = new TbTaskItem(); TbTaskItem taskItem = new TbTaskItem();
taskItem.setID(getID()); taskItem.setId(getId());
taskItem.setTaskID(getTaskID()); taskItem.setTaskID(getTaskID());
taskItem.setItemType(itemType); taskItem.setItemType(itemType);
taskItem.setRequired(required); taskItem.setRequired(required);

View File

@@ -344,7 +344,7 @@ public class UserCollectionVO extends BaseDTO {
@Override @Override
public String toString() { public String toString() {
return "UserCollectionVO{" + return "UserCollectionVO{" +
"id=" + getID() + "id=" + getId() +
", userID='" + userID + '\'' + ", userID='" + userID + '\'' +
", collectionType=" + collectionType + ", collectionType=" + collectionType +
", collectionID='" + collectionID + '\'' + ", collectionID='" + collectionID + '\'' +

View File

@@ -115,8 +115,8 @@ public class CrontabController {
String metaId = request.getMetaId(); String metaId = request.getMetaId();
// 确保id字段正确传递用于数据库更新 // 确保id字段正确传递用于数据库更新
if (crontabItem.getTaskId() != null && crontabItem.getID() == null) { if (crontabItem.getTaskId() != null && crontabItem.getId() == null) {
crontabItem.setID(crontabItem.getTaskId()); crontabItem.setId(crontabItem.getTaskId());
} }
// 验证元数据ID // 验证元数据ID
@@ -141,7 +141,7 @@ public class CrontabController {
crontabItem.setMetaId(metaId); // 保存metaId执行时从数据库读取scriptPath crontabItem.setMetaId(metaId); // 保存metaId执行时从数据库读取scriptPath
logger.info("更新任务 - id: {}, metaId: {}, name: {}, category: {}, defaultRecipient: {}", logger.info("更新任务 - id: {}, metaId: {}, name: {}, category: {}, defaultRecipient: {}",
crontabItem.getID(), metaId, taskMeta.getName(), taskMeta.getCategory(), crontabItem.getId(), metaId, taskMeta.getName(), taskMeta.getCategory(),
crontabItem.getDefaultRecipient()); crontabItem.getDefaultRecipient());
// 调用带接收人更新的方法 // 调用带接收人更新的方法

View File

@@ -46,7 +46,7 @@ public class SchedulerManager {
*/ */
public void scheduleTask(TbCrontabTask task) { public void scheduleTask(TbCrontabTask task) {
try { try {
String taskId = task.getID(); String taskId = task.getId();
// 如果任务已经在调度中,先取消 // 如果任务已经在调度中,先取消
if (scheduledTasks.containsKey(taskId)) { if (scheduledTasks.containsKey(taskId)) {
@@ -79,7 +79,7 @@ public class SchedulerManager {
*/ */
public void unscheduleTask(TbCrontabTask task) { public void unscheduleTask(TbCrontabTask task) {
try { try {
String taskId = task.getID(); String taskId = task.getId();
ScheduledFuture<?> future = scheduledTasks.get(taskId); ScheduledFuture<?> future = scheduledTasks.get(taskId);
if (future != null) { if (future != null) {

View File

@@ -46,7 +46,7 @@ public class TaskExecutor {
public void executeTask(TbCrontabTask task) { public void executeTask(TbCrontabTask task) {
Date startTime = new Date(); Date startTime = new Date();
TbCrontabLog log = new TbCrontabLog(); TbCrontabLog log = new TbCrontabLog();
log.setID(IDUtils.generateID()); log.setId(IDUtils.generateID());
log.setTaskId(task.getTaskId()); log.setTaskId(task.getTaskId());
log.setTaskName(task.getTaskName()); log.setTaskName(task.getTaskName());
log.setTaskGroup(task.getTaskGroup()); log.setTaskGroup(task.getTaskGroup());
@@ -159,7 +159,7 @@ public class TaskExecutor {
// 注入taskId、logId和metaId // 注入taskId、logId和metaId
params.put("taskId", task.getTaskId()); params.put("taskId", task.getTaskId());
params.put("logId", log.getID()); params.put("logId", log.getId());
if (task.getMetaId() != null) { if (task.getMetaId() != null) {
params.put("metaId", task.getMetaId()); params.put("metaId", task.getMetaId());
} }

View File

@@ -76,7 +76,7 @@ public class CrontabServiceImpl implements CrontabService {
} }
// 生成ID // 生成ID
task.setID(IDUtils.generateID()); task.setId(IDUtils.generateID());
task.setTaskId(IDUtils.generateID()); task.setTaskId(IDUtils.generateID());
task.setCreateTime(new Date()); task.setCreateTime(new Date());
task.setDeleted(false); task.setDeleted(false);
@@ -134,7 +134,7 @@ public class CrontabServiceImpl implements CrontabService {
try { try {
TbCrontabTask task = request.getTask(); TbCrontabTask task = request.getTask();
TbSysUser user = LoginUtil.getCurrentUser(); TbSysUser user = LoginUtil.getCurrentUser();
task.setCreator(user.getID()); task.setCreator(user.getId());
// 1. 创建任务 // 1. 创建任务
ResultDomain<TbCrontabTask> createResult = createTask(task); ResultDomain<TbCrontabTask> createResult = createTask(task);
if (!createResult.isSuccess()) { if (!createResult.isSuccess()) {

View File

@@ -68,7 +68,7 @@ public class DataCollectionItemServiceImpl implements DataCollectionItemService
} }
// 生成ID // 生成ID
item.setID(IDUtils.generateID()); item.setId(IDUtils.generateID());
item.setCreateTime(new Date()); item.setCreateTime(new Date());
item.setDeleted(false); item.setDeleted(false);
@@ -118,7 +118,7 @@ public class DataCollectionItemServiceImpl implements DataCollectionItemService
} }
String logId = itemList.get(0).getLogId(); String logId = itemList.get(0).getLogId();
TbCrontabLog log = new TbCrontabLog(); TbCrontabLog log = new TbCrontabLog();
log.setID(logId); log.setId(logId);
log.setExecuteStatus(1); log.setExecuteStatus(1);
log.setExecuteMessage("爬取成功,共" + itemList.size() + "条,新增" + successCount + ""); log.setExecuteMessage("爬取成功,共" + itemList.size() + "条,新增" + successCount + "");
int i = logMapper.updateLog(log); int i = logMapper.updateLog(log);
@@ -137,7 +137,7 @@ public class DataCollectionItemServiceImpl implements DataCollectionItemService
public ResultDomain<TbDataCollectionItem> updateItem(TbDataCollectionItem item) { public ResultDomain<TbDataCollectionItem> updateItem(TbDataCollectionItem item) {
ResultDomain<TbDataCollectionItem> resultDomain = new ResultDomain<>(); ResultDomain<TbDataCollectionItem> resultDomain = new ResultDomain<>();
try { try {
if (item.getID() == null) { if (item.getId() == null) {
resultDomain.fail("采集项ID不能为空"); resultDomain.fail("采集项ID不能为空");
return resultDomain; return resultDomain;
} }
@@ -146,7 +146,7 @@ public class DataCollectionItemServiceImpl implements DataCollectionItemService
int result = itemMapper.updateById(item); int result = itemMapper.updateById(item);
if (result > 0) { if (result > 0) {
logger.info("更新采集项成功: {}", item.getID()); logger.info("更新采集项成功: {}", item.getId());
resultDomain.success("更新采集项成功", item); resultDomain.success("更新采集项成功", item);
} else { } else {
resultDomain.fail("更新采集项失败"); resultDomain.fail("更新采集项失败");

View File

@@ -36,7 +36,7 @@ public class EmailDefaultServiceImpl implements EmailDefaultService {
try { try {
// 生成ID // 生成ID
emailDefault.setID(IDUtils.generateID()); emailDefault.setId(IDUtils.generateID());
if (emailDefault.getDefaultId() == null || emailDefault.getDefaultId().isEmpty()) { if (emailDefault.getDefaultId() == null || emailDefault.getDefaultId().isEmpty()) {
emailDefault.setDefaultId(IDUtils.generateID()); emailDefault.setDefaultId(IDUtils.generateID());
} }

View File

@@ -38,7 +38,7 @@ public class EmailRecipientServiceImpl implements EmailRecipientService {
ResultDomain<TbCrontabEmailRecipient> resultDomain = new ResultDomain<>(); ResultDomain<TbCrontabEmailRecipient> resultDomain = new ResultDomain<>();
try { try {
// 生成ID // 生成ID
recipient.setID(IDUtils.generateID()); recipient.setId(IDUtils.generateID());
if (recipient.getRecipientId() == null || recipient.getRecipientId().isEmpty()) { if (recipient.getRecipientId() == null || recipient.getRecipientId().isEmpty()) {
recipient.setRecipientId(IDUtils.generateID()); recipient.setRecipientId(IDUtils.generateID());
} }
@@ -64,7 +64,7 @@ public class EmailRecipientServiceImpl implements EmailRecipientService {
ResultDomain<Boolean> resultDomain = new ResultDomain<>(); ResultDomain<Boolean> resultDomain = new ResultDomain<>();
try { try {
for (TbCrontabEmailRecipient recipient : recipients) { for (TbCrontabEmailRecipient recipient : recipients) {
recipient.setID(IDUtils.generateID()); recipient.setId(IDUtils.generateID());
if (recipient.getRecipientId() == null || recipient.getRecipientId().isEmpty()) { if (recipient.getRecipientId() == null || recipient.getRecipientId().isEmpty()) {
recipient.setRecipientId(IDUtils.generateID()); recipient.setRecipientId(IDUtils.generateID());
} }

View File

@@ -45,7 +45,7 @@ public class TaskMetaServiceImpl implements TaskMetaService {
} }
// 生成ID // 生成ID
taskMeta.setID(IDUtils.generateID()); taskMeta.setId(IDUtils.generateID());
taskMeta.setCreateTime(new Date()); taskMeta.setCreateTime(new Date());
taskMeta.setDeleted(false); taskMeta.setDeleted(false);

View File

@@ -224,7 +224,7 @@ public class NewsCrawlerTask extends PythonCommandTask {
TbDataCollectionItem item = new TbDataCollectionItem(); TbDataCollectionItem item = new TbDataCollectionItem();
// 基本信息 // 基本信息
item.setID(IDUtils.generateID()); item.setId(IDUtils.generateID());
item.setTaskId(taskId); item.setTaskId(taskId);
item.setLogId(logId); item.setLogId(logId);
item.setTitle(news.getTitle()); item.setTitle(news.getTitle());
@@ -314,7 +314,7 @@ public class NewsCrawlerTask extends PythonCommandTask {
} }
if(passList.isEmpty() && notPassList.isEmpty()){ if(passList.isEmpty() && notPassList.isEmpty()){
TbCrontabLog log = new TbCrontabLog(); TbCrontabLog log = new TbCrontabLog();
log.setID(logId); log.setId(logId);
log.setExecuteStatus(1); log.setExecuteStatus(1);
log.setExecuteMessage("未爬取到数据"); log.setExecuteMessage("未爬取到数据");
int i = logMapper.updateLog(log); int i = logMapper.updateLog(log);
@@ -535,7 +535,7 @@ public class NewsCrawlerTask extends PythonCommandTask {
if(item.getContent().isEmpty()) continue; if(item.getContent().isEmpty()) continue;
try { try {
TbResource resource = new TbResource(); TbResource resource = new TbResource();
resource.setID(IDUtils.generateID()); resource.setId(IDUtils.generateID());
resource.setResourceID(IDUtils.generateID()); resource.setResourceID(IDUtils.generateID());
resource.setTitle(item.getTitle()); resource.setTitle(item.getTitle());
// 创建者使用任务创建者 // 创建者使用任务创建者
@@ -614,7 +614,7 @@ public class NewsCrawlerTask extends PythonCommandTask {
} }
TbDataCollectionItem update = new TbDataCollectionItem(); TbDataCollectionItem update = new TbDataCollectionItem();
update.setID(itemVO.getId()); update.setId(itemVO.getId());
update.setStatus(1); // 已转换为资源 update.setStatus(1); // 已转换为资源
update.setResourceId(resourceId); update.setResourceId(resourceId);
update.setProcessTime(now); update.setProcessTime(now);

View File

@@ -213,7 +213,7 @@ public class TopRecommendTask extends BaseTask {
*/ */
private TbResourceRecommend createRecommend(String resourceId, int orderNum) { private TbResourceRecommend createRecommend(String resourceId, int orderNum) {
TbResourceRecommend recommend = new TbResourceRecommend(); TbResourceRecommend recommend = new TbResourceRecommend();
recommend.setID(IDUtils.generateID()); recommend.setId(IDUtils.generateID());
recommend.setResourceID(resourceId); recommend.setResourceID(resourceId);
recommend.setRecommendType(1); // 1-热门资源推荐 recommend.setRecommendType(1); // 1-热门资源推荐
recommend.setOrderNum(orderNum); recommend.setOrderNum(orderNum);

View File

@@ -4,7 +4,7 @@
<!-- 结果映射 --> <!-- 结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabLog"> <resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabLog">
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="task_id" property="taskId" /> <result column="task_id" property="taskId" />
<result column="task_name" property="taskName" /> <result column="task_name" property="taskName" />
<result column="task_group" property="taskGroup" /> <result column="task_group" property="taskGroup" />
@@ -34,8 +34,8 @@
<sql id="Base_Where_Clause"> <sql id="Base_Where_Clause">
<where> <where>
<if test="filter != null"> <if test="filter != null">
<if test="filter.ID != null and filter.ID != ''"> <if test="filter.id != null and filter.id != ''">
AND id = #{filter.ID} AND id = #{filter.id}
</if> </if>
<if test="filter.taskId != null and filter.taskId != ''"> <if test="filter.taskId != null and filter.taskId != ''">
AND task_id = #{filter.taskId} AND task_id = #{filter.taskId}
@@ -63,7 +63,7 @@
<insert id="insertLog"> <insert id="insertLog">
INSERT INTO tb_crontab_log INSERT INTO tb_crontab_log
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="log.ID != null">id,</if> <if test="log.id != null">id,</if>
<if test="log.taskId != null">task_id,</if> <if test="log.taskId != null">task_id,</if>
<if test="log.taskName != null">task_name,</if> <if test="log.taskName != null">task_name,</if>
<if test="log.taskGroup != null">task_group,</if> <if test="log.taskGroup != null">task_group,</if>
@@ -81,7 +81,7 @@
</trim> </trim>
VALUES VALUES
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="log.ID != null">#{log.ID},</if> <if test="log.id != null">#{log.id},</if>
<if test="log.taskId != null">#{log.taskId},</if> <if test="log.taskId != null">#{log.taskId},</if>
<if test="log.taskName != null">#{log.taskName},</if> <if test="log.taskName != null">#{log.taskName},</if>
<if test="log.taskGroup != null">#{log.taskGroup},</if> <if test="log.taskGroup != null">#{log.taskGroup},</if>
@@ -110,7 +110,7 @@
<if test="log.endTime != null">end_time = #{log.endTime},</if> <if test="log.endTime != null">end_time = #{log.endTime},</if>
<if test="log.executeDuration != null">execute_duration = #{log.executeDuration},</if> <if test="log.executeDuration != null">execute_duration = #{log.executeDuration},</if>
update_time = NOW() update_time = NOW()
WHERE id = #{log.ID} AND deleted = 0 WHERE id = #{log.id} AND deleted = 0
</update> </update>
<!-- 根据ID查询日志 --> <!-- 根据ID查询日志 -->

View File

@@ -4,7 +4,7 @@
<!-- 结果映射 --> <!-- 结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabTask"> <resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabTask">
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="task_id" property="taskId" /> <result column="task_id" property="taskId" />
<result column="task_name" property="taskName" /> <result column="task_name" property="taskName" />
<result column="task_group" property="taskGroup" /> <result column="task_group" property="taskGroup" />
@@ -66,8 +66,8 @@
<sql id="Filter_Where_Clause"> <sql id="Filter_Where_Clause">
<where> <where>
<if test="filter != null"> <if test="filter != null">
<if test="filter.ID != null and filter.ID != ''"> <if test="filter.id != null and filter.id != ''">
AND id = #{filter.ID} AND id = #{filter.id}
</if> </if>
<if test="filter.taskId != null and filter.taskId != ''"> <if test="filter.taskId != null and filter.taskId != ''">
AND task_id = #{filter.taskId} AND task_id = #{filter.taskId}
@@ -129,7 +129,7 @@
<insert id="insertTask"> <insert id="insertTask">
INSERT INTO tb_crontab_task INSERT INTO tb_crontab_task
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="task.ID != null">id,</if> <if test="task.id != null">id,</if>
<if test="task.taskId != null">task_id,</if> <if test="task.taskId != null">task_id,</if>
<if test="task.taskName != null">task_name,</if> <if test="task.taskName != null">task_name,</if>
<if test="task.taskGroup != null">task_group,</if> <if test="task.taskGroup != null">task_group,</if>
@@ -149,7 +149,7 @@
</trim> </trim>
VALUES VALUES
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="task.ID != null">#{task.ID},</if> <if test="task.id != null">#{task.id},</if>
<if test="task.taskId != null">#{task.taskId},</if> <if test="task.taskId != null">#{task.taskId},</if>
<if test="task.taskName != null">#{task.taskName},</if> <if test="task.taskName != null">#{task.taskName},</if>
<if test="task.taskGroup != null">#{task.taskGroup},</if> <if test="task.taskGroup != null">#{task.taskGroup},</if>
@@ -188,7 +188,7 @@
<if test="task.updater != null">updater = #{task.updater},</if> <if test="task.updater != null">updater = #{task.updater},</if>
update_time = NOW() update_time = NOW()
</set> </set>
WHERE id = #{task.ID} AND deleted = 0 WHERE id = #{task.id} AND deleted = 0
</update> </update>
<!-- 删除任务(逻辑删除) --> <!-- 删除任务(逻辑删除) -->
@@ -214,8 +214,8 @@
<include refid="Permission_Filter" /> <include refid="Permission_Filter" />
WHERE ct.deleted = 0 WHERE ct.deleted = 0
<if test="filter != null"> <if test="filter != null">
<if test="filter.ID != null and filter.ID != ''"> <if test="filter.id != null and filter.id != ''">
AND ct.id = #{filter.ID} AND ct.id = #{filter.id}
</if> </if>
<if test="filter.taskId != null and filter.taskId != ''"> <if test="filter.taskId != null and filter.taskId != ''">
AND ct.task_id = #{filter.taskId} AND ct.task_id = #{filter.taskId}
@@ -264,8 +264,8 @@
ON ct.meta_id = m.meta_id AND m.deleted = 0 ON ct.meta_id = m.meta_id AND m.deleted = 0
WHERE ct.deleted = 0 WHERE ct.deleted = 0
<if test="filter != null"> <if test="filter != null">
<if test="filter.ID != null and filter.ID != ''"> <if test="filter.id != null and filter.id != ''">
AND ct.id = #{filter.ID} AND ct.id = #{filter.id}
</if> </if>
<if test="filter.taskId != null and filter.taskId != ''"> <if test="filter.taskId != null and filter.taskId != ''">
AND ct.task_id = #{filter.taskId} AND ct.task_id = #{filter.taskId}
@@ -327,8 +327,8 @@
<include refid="Permission_Filter" /> <include refid="Permission_Filter" />
WHERE ct.deleted = 0 WHERE ct.deleted = 0
<if test="filter != null"> <if test="filter != null">
<if test="filter.ID != null and filter.ID != ''"> <if test="filter.id != null and filter.id != ''">
AND ct.id = #{filter.ID} AND ct.id = #{filter.id}
</if> </if>
<if test="filter.taskId != null and filter.taskId != ''"> <if test="filter.taskId != null and filter.taskId != ''">
AND ct.task_id = #{filter.taskId} AND ct.task_id = #{filter.taskId}

View File

@@ -4,7 +4,7 @@
<!-- 结果映射 --> <!-- 结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabEmailDefault"> <resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabEmailDefault">
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="default_id" property="defaultId" /> <result column="default_id" property="defaultId" />
<result column="meta_id" property="metaId" /> <result column="meta_id" property="metaId" />
<result column="user_id" property="userId" /> <result column="user_id" property="userId" />
@@ -29,7 +29,7 @@
INSERT INTO tb_crontab_email_default ( INSERT INTO tb_crontab_email_default (
id, default_id, meta_id, user_id, creator, create_time id, default_id, meta_id, user_id, creator, create_time
) VALUES ( ) VALUES (
#{emailDefault.ID}, #{emailDefault.defaultId}, #{emailDefault.metaId}, #{emailDefault.id}, #{emailDefault.defaultId}, #{emailDefault.metaId},
#{emailDefault.userId}, #{emailDefault.creator}, NOW() #{emailDefault.userId}, #{emailDefault.creator}, NOW()
) )
</insert> </insert>

View File

@@ -4,7 +4,7 @@
<!-- 结果映射 --> <!-- 结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabEmailRecipient"> <resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabEmailRecipient">
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="recipient_id" property="recipientId" /> <result column="recipient_id" property="recipientId" />
<result column="task_id" property="taskId" /> <result column="task_id" property="taskId" />
<result column="user_id" property="userId" /> <result column="user_id" property="userId" />
@@ -48,7 +48,7 @@
INSERT INTO tb_crontab_email_recipient ( INSERT INTO tb_crontab_email_recipient (
id, recipient_id, task_id, user_id, email, name, creator, create_time id, recipient_id, task_id, user_id, email, name, creator, create_time
) VALUES ( ) VALUES (
#{recipient.ID}, #{recipient.recipientId}, #{recipient.taskId}, #{recipient.id}, #{recipient.recipientId}, #{recipient.taskId},
#{recipient.userId}, #{recipient.email}, #{recipient.name}, #{recipient.userId}, #{recipient.email}, #{recipient.name},
#{recipient.creator}, NOW() #{recipient.creator}, NOW()
) )
@@ -60,7 +60,7 @@
id, recipient_id, task_id, user_id, email, name, creator, create_time id, recipient_id, task_id, user_id, email, name, creator, create_time
) VALUES ) VALUES
<foreach collection="recipients" item="item" separator=","> <foreach collection="recipients" item="item" separator=",">
(#{item.ID}, #{item.recipientId}, #{item.taskId}, (#{item.id}, #{item.recipientId}, #{item.taskId},
#{item.userId}, #{item.email}, #{item.name}, #{item.creator}, NOW()) #{item.userId}, #{item.email}, #{item.name}, #{item.creator}, NOW())
</foreach> </foreach>
</insert> </insert>

View File

@@ -4,7 +4,7 @@
<!-- 结果映射 --> <!-- 结果映射 -->
<resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabTaskMeta"> <resultMap id="BaseResultMap" type="org.xyzh.common.dto.crontab.TbCrontabTaskMeta">
<id column="id" property="ID" /> <id column="id" property="id" />
<result column="meta_id" property="metaId" /> <result column="meta_id" property="metaId" />
<result column="name" property="name" /> <result column="name" property="name" />
<result column="description" property="description" /> <result column="description" property="description" />
@@ -52,7 +52,7 @@
id, meta_id, name, description, category, bean_name, method_name, id, meta_id, name, description, category, bean_name, method_name,
script_path, param_schema, auto_publish, sort_order, creator, create_time script_path, param_schema, auto_publish, sort_order, creator, create_time
) VALUES ( ) VALUES (
#{taskMeta.ID}, #{taskMeta.metaId}, #{taskMeta.name}, #{taskMeta.description}, #{taskMeta.id}, #{taskMeta.metaId}, #{taskMeta.name}, #{taskMeta.description},
#{taskMeta.category}, #{taskMeta.beanName}, #{taskMeta.methodName}, #{taskMeta.category}, #{taskMeta.beanName}, #{taskMeta.methodName},
#{taskMeta.scriptPath}, #{taskMeta.paramSchema}, #{taskMeta.autoPublish}, #{taskMeta.sortOrder}, #{taskMeta.scriptPath}, #{taskMeta.paramSchema}, #{taskMeta.autoPublish}, #{taskMeta.sortOrder},
#{taskMeta.creator}, NOW() #{taskMeta.creator}, NOW()

View File

@@ -71,7 +71,7 @@ public class FileServiceImpl implements FileService {
// 保存文件记录 // 保存文件记录
TbSysFile sysFile = new TbSysFile(); TbSysFile sysFile = new TbSysFile();
String fileId = IDUtils.generateID(); String fileId = IDUtils.generateID();
sysFile.setID(fileId); sysFile.setId(fileId);
sysFile.setFileID(fileId); sysFile.setFileID(fileId);
sysFile.setFileName(fileName); sysFile.setFileName(fileName);
sysFile.setOriginalName(originalFileName); sysFile.setOriginalName(originalFileName);
@@ -110,7 +110,7 @@ public class FileServiceImpl implements FileService {
fileMapper.insertFile(sysFile); fileMapper.insertFile(sysFile);
log.info("文件上传成功: fileId={}, fileName={}, storageType={}", log.info("文件上传成功: fileId={}, fileName={}, storageType={}",
sysFile.getID(), fileName, strategy.getStorageType()); sysFile.getId(), fileName, strategy.getStorageType());
resultDomain.success("文件上传成功", sysFile); resultDomain.success("文件上传成功", sysFile);
return resultDomain; return resultDomain;

Some files were not shown because too many files have changed in this diff Show More