From eb69602e21884c1a529f6785dc828293368a21dd Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 15 Jul 2023 17:17:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E8=AE=A2=E5=8D=95=E7=BC=96?= =?UTF-8?q?=E5=8F=B7=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 6bac758a7..fc591e8fd 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -1017,6 +1017,21 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { } } + /** + * 生成订单编号 + * @return + */ + private String generateNewOrderCode() { + while (true) { + String orderCode = IdUtils.getOrderCode(); + // 通过orderCode查询是否已经存在 + OrderBasicInfo orderBasicInfo = getOrderInfoByOrderCode(orderCode); + if (orderBasicInfo == null) { + return orderCode; + } + } + } + /** * 保存异常订单到订单主表 * @param data 交易记录数据 @@ -1033,7 +1048,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { if (pileInfoVO == null) { return; } - String orderCode = IdUtils.getOrderCode(); + String orderCode = generateNewOrderCode(); OrderBasicInfo orderBasicInfo = OrderBasicInfo.builder().build(); // 订单编号 orderBasicInfo.setOrderCode(orderCode); @@ -2449,7 +2464,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { * @return */ private OrderBasicInfo saveOrder2Database(GenerateOrderDTO dto) throws ParseException { - String orderCode = IdUtils.getOrderCode(); + String orderCode = generateNewOrderCode(); String transactionCode = IdUtils.generateTransactionCode(dto.getPileSn(), dto.getConnectorCode()); if (StringUtils.isBlank(dto.getStartType())) {