From 50c3ddc6d46921526fc8567b1b324c419a8befdc Mon Sep 17 00:00:00 2001 From: liweidong-hj Date: Mon, 27 Apr 2026 20:33:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=90=E4=BB=B6=E7=94=9F?= =?UTF-8?q?=E6=88=90bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/YieldOrderServiceImpl.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java index 42585748..8c981b7a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java @@ -1255,6 +1255,7 @@ public class YieldOrderServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(YieldOrder.class) + .likeRight(YieldOrder::getYoCode, codePattern) + .orderBy(true, false, YieldOrder::getYoCode) + .last("FOR UPDATE"); - // 当前模式下最大编码 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(YieldOrder.class).likeRight(YieldOrder::getYoCode, codePattern).orderBy(true, false, YieldOrder::getYoCode); - YieldOrder yieldOrder = baseMapper.selectOne(wrapper); + List list = baseMapper.selectList(wrapper); - if (yieldOrder != null) { - num = Integer.parseInt(yieldOrder.getYoCode().substring(codePattern.length())); + Integer num = 0; + if (!list.isEmpty()) { + String maxCode = list.get(0).getYoCode(); + num = Integer.parseInt(maxCode.substring(codePattern.length())); } num++; - - // 下个编码 + int len = Math.max(2, String.valueOf(num).length()); return codePattern + StringPrefixUtils.prefix(String.valueOf(num), "0", len); }