From 544e4414faa22350a09b9928d3cbeb1cff83c5ef Mon Sep 17 00:00:00 2001 From: 86156 <823267011@qq.com> Date: Mon, 1 Dec 2025 17:41:59 +0800 Subject: [PATCH] =?UTF-8?q?=20=E8=8E=B7=E5=8F=96=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E4=BB=A3=E5=8F=B7=EF=BC=88=E6=9A=82=E6=97=B6=E5=81=9C=E7=94=A8?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/oa/controller/CodeGeneratorController.java | 6 ++++++ .../com/ruoyi/oa/service/CodeGeneratorService.java | 2 ++ .../oa/service/impl/CodeGeneratorServiceImpl.java | 10 ++++++++++ 3 files changed, 18 insertions(+) diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/CodeGeneratorController.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/CodeGeneratorController.java index ba30885..1b8c4b5 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/CodeGeneratorController.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/CodeGeneratorController.java @@ -19,4 +19,10 @@ public class CodeGeneratorController { public String genCode(@PathVariable String prefix) { return gen.nextCode(prefix); } + + + @GetMapping("/max/{prefix}") + public Long maxCode(@PathVariable String prefix) { + return gen.maxCode(prefix); + } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/CodeGeneratorService.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/CodeGeneratorService.java index a652eef..f4af6d5 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/CodeGeneratorService.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/CodeGeneratorService.java @@ -3,4 +3,6 @@ package com.ruoyi.oa.service; public interface CodeGeneratorService { String nextCode(String prefix) ; + + Long maxCode(String prefix); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/CodeGeneratorServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/CodeGeneratorServiceImpl.java index 5a56e7b..369718f 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/CodeGeneratorServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/CodeGeneratorServiceImpl.java @@ -23,4 +23,14 @@ public class CodeGeneratorServiceImpl implements CodeGeneratorService { String padded = String.format("%07d", num); return prefix + "-" + padded; // e.g. TH-0000001 } + + + + @Transactional(rollbackFor = Exception.class) + @Override + public Long maxCode(String prefix) { + mapper.upsertAndIncr(prefix); // 原子插/更 + long num = mapper.getLastSeq(); // 拿到新的序号 + return num-1L; // + } }