yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/MesCodeRedisDAO.java
@@ -23,8 +23,15 @@ * @return 16 位纯数字编码 */ public String generate() { Long no = stringRedisTemplate.opsForValue().increment(BizNoUtils.GLOBAL_SEQ_KEY); return BizNoUtils.format(no); // 随机生成 16 位纯数字编码,并用 Redis 集合查重,保证全系统唯一(不使用自增/顺序) for (int i = 0; i < BizNoUtils.MAX_RETRY; i++) { String code = BizNoUtils.randomCode(); Long added = stringRedisTemplate.opsForSet().add(BizNoUtils.USED_SET_KEY, code); if (added != null && added > 0) { return code; } } throw new IllegalStateException("生成唯一业务编码失败,请重试"); } }