# Ruoyi-Vue-Dm **Repository Path**: leke_code/Ruoyi-Vue-Dm ## Basic Information - **Project Name**: Ruoyi-Vue-Dm - **Description**: 若依兼容达梦数据库 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-13 - **Last Updated**: 2026-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

logo

RuoYi v3.9.0

基于SpringBoot+Vue前后端分离的Java快速开发框架

## 平台简介 若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 * 前端采用Vue、Element UI。 * 后端采用Spring Boot、Spring Security、Redis & Jwt。 * 权限认证使用Jwt,支持多终端认证系统。 * 支持加载动态权限菜单,多方式轻松权限控制。 * 高效率开发,使用代码生成器可以一键生成前后端代码。 * 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://gitcode.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。 * 提供了单应用版本[RuoYi-Vue-fast](https://gitcode.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://gitcode.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。 * 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) * 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)   ## 内置功能 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 3. 岗位管理:配置系统用户所属担任职务。 4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理:对系统动态配置常用参数。 8. 通知公告:系统通知公告信息发布维护。 9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. 登录日志:系统登录日志记录查询包含登录异常。 11. 在线用户:当前系统中活跃用户状态监控。 12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 14. 系统接口:根据业务代码自动生成相关的api接口文档。 15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 16. 缓存监控:对系统的缓存信息查询,命令统计等。 17. 在线构建器:拖动表单元素生成相应的HTML代码。 18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 ## 在线体验 - admin/admin123 - 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。 演示地址:http://vue.ruoyi.vip 文档地址:http://doc.ruoyi.vip ## 达梦数据库 - 双引号:不加双引号表名和列名转换为大写,表名和列名使用小写字母时,必须用双引号括起。 字符串常量使用单引号括起 ## 常见错误 - 仅当指定列列表,且SET IDENTITY_INSERT为ON时,才能对自增列赋值 > SET IDENTITY_INSERT 表名 ON; 语句; SET IDENTITY_INSERT 表名 OFF; commit; - 列中值部分有单引号,需要修改为两个单引号包裹 ## 链路追踪 **实现思路** - 使用唯一Trace ID贯穿整个请求链路 - Java端使用MDC(Mapped Diagnostic Context)存储跟踪信息 - 通过HTTP头将跟踪信息传递给Python服务 - Python FastAPI服务接收并传播跟踪信息 - 在日志中记录跟踪信息以便排查问题 > 实现一个过滤器来生成traceId并设置到MDC: > 然后,配置RestTemplate,在调用Python接口时自动添加traceId到请求头。 > 此外,我们还需要一个拦截器(或过滤器)来清除MDC中的traceId,避免内存泄漏。 > Python端(FastAPI)实现示例: > 在Python端,我们将创建一个中间件来从请求头中获取traceId,并设置到日志上下文中。 > 注意:由于问题要求用Java实现,我们将重点放在Java代码上,Python代码仅作示例。 **查询链路数据** - 查询出parent_span_id='d8ae94ac-9cb6-4c7b-99ed-60bca28815d3'的所有子节点和孙子节点 ```sql --达梦sql语句1 SELECT * FROM SYS_OPER_LOG START WITH parent_span_id = 'd8ae94ac-9cb6-4c7b-99ed-60bca28815d3' CONNECT BY PRIOR trace_span_id = parent_span_id; -- 方案2 使用with 语句 WITH RECURSIVE span_tree(title, trace_id, trace_span_id, parent_span_id,level) AS ( -- 基础查询:查找直接子节点 SELECT title, trace_id, trace_span_id, parent_span_id, 1 as level FROM SYS_OPER_LOG WHERE parent_span_id = 'd8ae94ac-9cb6-4c7b-99ed-60bca28815d3' UNION ALL -- 递归查询:查找所有子孙节点 SELECT s.title, s.trace_id, s.trace_span_id, s.parent_span_id, st.level + 1 FROM SYS_OPER_LOG s INNER JOIN span_tree st ON s.parent_span_id = st.trace_span_id ) SELECT title, trace_id, trace_span_id, parent_span_id FROM span_tree ORDER BY level, trace_span_id ```