基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)

news2024/10/7 13:24:13

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统

1、我看我的原先系统生成的代码id都是很长如下:

-- 菜单 SQL
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values(1727583402356690945, '流程操作规则', '3', '1', 'operateRule', 'workflow/operateRule/index', 1, 0, 'C', '0', '0', 'workflow:operateRule:list', '#', 'admin', sysdate(), '', null, '流程操作规则菜单');

-- 按钮 SQL
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values(1727583402356690946, '流程操作规则查询', 1727583402356690945, '1',  '#', '', 1, 0, 'F', '0', '0', 'workflow:operateRule:query',        '#', 'admin', sysdate(), '', null, '');

insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values(1727583402356690947, '流程操作规则新增', 1727583402356690945, '2',  '#', '', 1, 0, 'F', '0', '0', 'workflow:operateRule:add',          '#', 'admin', sysdate(), '', null, '');

insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values(1727583402356690948, '流程操作规则修改', 1727583402356690945, '3',  '#', '', 1, 0, 'F', '0', '0', 'workflow:operateRule:edit',         '#', 'admin', sysdate(), '', null, '');

insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values(1727583402356690949, '流程操作规则删除', 1727583402356690945, '4',  '#', '', 1, 0, 'F', '0', '0', 'workflow:operateRule:remove',       '#', 'admin', sysdate(), '', null, '');

insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values(1727583402356690950, '流程操作规则导出', 1727583402356690945, '5',  '#', '', 1, 0, 'F', '0', '0', 'workflow:operateRule:export',       '#', 'admin', sysdate(), '', null, '');

2、当然也有可能我配置问题,但我还不大熟悉tuoyi平台,有知道的可以知会一下作者,不过后来我看ruoyi-vue与ruoyi-vue-plus都是这样,那我还是自己修改一下生成代码的菜单id吧。

     在系统公共服务里增加下面服务SysCommServiceImple

@Override
	public Long selectMaxId() {
		return sysMenuMapper.selectMaxId();
	}

 //获取最大id for 生成代码用 add by nbacheng
    @Select("select max(menu_id) from sys_menu")
    Long selectMaxId();

    在模拟与实际代码增加如下:

   

List<Long> menuIds = new ArrayList<>();
Long genMenuId = CommonService.selectMaxId();
        for (int i = 0; i < 6; i++) {
            genMenuId  = genMenuId  + 1 ;
            menuIds.add(genMenuId);
      }

3、效果图:

原先菜单数据如下:

修改后模拟生成如下:

4、不过还是网友提醒的好,分布式系统或系统迁移的时候就会出现很多问题,还是雪花算法可能更加合适,所以大家修改也要谨慎。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1247044.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

​3ds Max插件CG MAGIC图形板块为您提升线条效率!

​通过3ds Max软件进行绘图操作时&#xff0c;大多绊住各位设计师们作图速度的往往都是一些细微的琐事&#xff0c;重复一变一变的调整修改等问题。 今天说到这个绘图线条来回调整解决方法就是3ds Max插件CG MAGIC。 Max插件CG MAGIC作为一款智能化的辅助插件&#xff0c;致力于…

MFC设置单选按钮点击自己可以可选和不可选

mfc是c的一个框架&#xff0c;可谓是经久不衰。最近博主遇到一个问题&#xff0c;就是单选按钮点击自己可以设置可选和不可选&#xff0c;貌似类似复选框一样&#xff0c;但领导分发的任务上要求的是用单选按钮实现复选框这种类似功能&#xff0c;实现效果类似如下图&#xff1…

阿里云Elasticsearch Severless 如何做到成本降低50%

阿里云检索分析服务 Elasticsearch 版云上演进之路 2017年&#xff0c;阿里云与Elastic 开启开源战略合作&#xff0c;正式发布阿里云检索分析服务 Elasticsearch 版 &#xff0c;100%兼容开源Elasticsearch&#xff0c;开箱即用&#xff0c;提供开放兼容的云上检索分析服务。…

MySql使用游标批量更新字段为空的记录

目的&#xff1a;因为工作中需要模拟大批量的测试数据、发现有部分历史数据中的唯一编号的字段内容为空&#xff0c;因此需要按顺序填充上对应的字段内容&#xff0c;经查询mysql使用游标方式能快速实现此需求。 具体操作步骤如下&#xff1a;打开Navicate for MySQL软件、连接…

ARKit增加一个盒子

ARKit增加一个盒子 体验一下ARKit的能力&#xff0c;在室内随便加点小球&#xff0c;然后在AR中显示出来。 效果如下图&#xff1a; 以下为操作流程。 新建项目 新建一个空项目&#xff0c;项目一定要选择 Augmented Reality App&#xff0c;能够省很多的事。 之后的 conte…

【日常总结】如何禁止浏览器 http自动跳转成https

一、场景 二、问题 三、解决方案 3.1 chrome 浏览器 3.2 edge 浏览器&#xff1a; 3.3 Safari 浏览器 3.4 Firefox 浏览器 一、场景 公司网站 http:// 谷歌浏览器中自动转换成 https:// 导致无法访问 二、问题 nginx配置ssl 443接口&#xff0c; https:// 可以访问&…

java操作富文本插入到word模板

最近项目有个需求&#xff0c;大致流程是前端保存富文本&#xff08;html的代码&#xff09;到数据库&#xff0c;后台需要将富文本代码转成带格式的文字&#xff0c;插入到word模板里&#xff0c;然后将word转成pdf&#xff0c;再由前端调用接口下载pdf文件&#xff01; 1、思…

如何一键消除图片里的水印?图片去水印教程一看就会!

如何一键消除图片水印&#xff1f;在现今的数字时代&#xff0c;我们常常会遇到带有水印的图片&#xff0c;而传统的方法往往费时且复杂&#xff0c;让我们感到困扰。那么如何一键消除图片水印呢&#xff1f;今天&#xff0c;我们为您推荐一款非常实用的去水印软件&#xff0c;…

MySQL的体系结构与SQL的执行流程

文章目录 前言体系结构SQL语句的执行流程1、连接MySQL2、查询缓存3、解析SQL语句4、优化SQL语句5、执行SQL语句 总结 前言 如果你在使用MySQL时只会写sql语句的&#xff0c;那么你应该看一下《MySQL优化的底层逻辑》。如果你只了解到sql是如何优化的&#xff0c;那么你应该通过…

想问问各位大佬,网络安全这个专业普通人学习会有前景吗?

网络安全是一个非常广泛的领域&#xff0c;涉及到许多不同的岗位。这些岗位包括安全服务、安全运维、渗透测试、web安全、安全开发和安全售前等。每个岗位都有自己的要求和特点&#xff0c;您可以根据自己的兴趣和能力来选择最适合您的岗位。 渗透测试/Web安全工程师主要负责模…

鼠标拖拽问题,不选中文本不触发单击事件

文章目录 1. 为什么鼠标单击的时候触发了mousemove事件&#xff1f;明明鼠标没有移动2. 鼠标拖拽元素怎么能不触发单击事件&#xff1f;怎么处理鼠标在元素内的相对定位&#xff0c;而不是每次定位到左上角&#xff1f;方式一&#xff1a;拖拽的元素没有注册click监听就不会触发…

k8s集群资源监控工具metrics-server安装

1、下载镜像 docker pull swr.cn-east-2.myhuaweicloud.com/kuboard-dependency/metrics-server:v0.6.22、在任一一个主节点上创建角色&#xff0c;执行下面语句 kubectl create clusterrolebinding kube-proxy-cluster-admin --clusterrolecluster-admin --usersystem:kube-…

免费获取GPT-4的五种工具

不可否认&#xff0c;由OpenAI带来的GPT-4已是全球最受欢迎的、功能最强大的大语言模型&#xff08;LLM&#xff09;之一。大多数人都需要使用ChatGPT Plus的订阅服务去访问GPT-4。为此&#xff0c;他们通常需要每月支付20美元。那么问题来了&#xff0c;如果您不想每月有这笔支…

移动应用程序管理的内容、原因和方式

移动应用程序管理&#xff08;MAM&#xff09;是一个术语&#xff0c;指的是管理应用程序的整个生命周期&#xff0c;包括从设备安装、更新和卸载应用程序&#xff0c;除了在整个生命周期内管理设备外&#xff0c;MAM 还包括保护应用访问的数据&#xff0c;以及在设备上发现恶意…

vue2 element el-transfer穿梭框组件支持拖拽及排序 已封装,随取随用

项目场景&#xff1a; 项目中有个功能用到穿梭框组件&#xff0c;新版本需要支持穿梭框组件排序&#xff0c;由于element2版本中的穿梭框组件本身不支持排序功能 在此不仅需要支持随意更换顺序&#xff0c;还支持从一侧拖拽至另一侧&#xff0c;具体功能效果图如下&#xff1…

Y-MODEM协议定制上位机

最近在使用N32G031和STM32F10X系列单片机进行IAP&#xff0c;使用的是Ymodem协议。单片机上的软件已经完成了&#xff0c;一般是使用secureCRT这样的工具作为上位机来进行测试&#xff0c;后来想做一个定制化的简单的上位机。在网上找了下资料&#xff0c;以下这篇文章写的使用…

能量不够,AI帮助

问CHAT&#xff1a;有关工程管理的中文参考文献 CHAT回复&#xff1a; 1. 余庆麟. (2009). 工程项目管理[M]. 北京&#xff1a; 机械工业出版社. 2. 刘宁. (2013). 工程建设管理[M]. 北京&#xff1a;清华大学出版社. 3. 谈刚&#xff0c;陈嘉春&#xff0c;尚雅凡. (2014).…

最详细的软件测试面试题整理与分析

前言 时光荏苒&#xff0c;一转眼到了2023年末尾&#xff0c;2024年也快要来了&#xff0c;人员就业市场以往的寒冬也貌似有了转暖的迹象&#xff0c;身边大批的就业人员也开始了紧张的备战之中。 近几周也和多家合作公司的HR进行了沟通&#xff0c;发现虽然岗位就业情况较去年…

2021年06月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 下图中的程序执行一次之后,“我的变量”最终的值是? A:0或者1 B:true或者false C:包含或者不包含 D:成立或者不成立 答案:B 积木“()包含()”是一个条件判断语句,它判…