From 7e327e2131366367c097744744190a44736a4de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E7=A0=81-=E6=96=B9=E6=99=93=E8=BE=89?= Date: Mon, 2 Feb 2026 17:14:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=96=B0=E5=A2=9E=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E6=97=B6=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E5=92=8C=E5=AF=86=E9=92=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 自动生成应用编码:YY + 6位序号 - 自动生成32位应用密钥 --- .../impl/PgApplicationServiceImpl.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/application/service/impl/PgApplicationServiceImpl.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/application/service/impl/PgApplicationServiceImpl.java index de54572..c5e341e 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/application/service/impl/PgApplicationServiceImpl.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/application/service/impl/PgApplicationServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.pangu.application.service.impl; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -44,9 +45,39 @@ public class PgApplicationServiceImpl implements IPgApplicationService { @Override public int insert(PgApplication app) { + // 自动生成应用编码:YY + 6位序号 + String appCode = generateAppCode(); + app.setAppCode(appCode); + // 自动生成32位应用密钥 + app.setAppSecret(IdUtil.fastSimpleUUID()); return baseMapper.insert(app); } + /** + * 生成应用编码 + */ + private String generateAppCode() { + // 查询当前最大编码 + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.select(PgApplication::getAppCode); + lqw.likeRight(PgApplication::getAppCode, "YY"); + lqw.orderByDesc(PgApplication::getAppCode); + lqw.last("LIMIT 1"); + PgApplication lastApp = baseMapper.selectOne(lqw); + + int nextNum = 1; + if (lastApp != null && StrUtil.isNotBlank(lastApp.getAppCode())) { + String lastCode = lastApp.getAppCode(); + if (lastCode.length() > 2) { + try { + nextNum = Integer.parseInt(lastCode.substring(2)) + 1; + } catch (NumberFormatException ignored) { + } + } + } + return String.format("YY%06d", nextNum); + } + @Override public int update(PgApplication app) { return baseMapper.updateById(app);