diff --git a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallRecordApiServiceImpl.java b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallRecordApiServiceImpl.java index 3ecc511..97c9082 100644 --- a/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallRecordApiServiceImpl.java +++ b/afis-recall-web/src/main/java/com/wabestway/recall/trace/service/impl/RecallRecordApiServiceImpl.java @@ -40,16 +40,17 @@ public class RecallRecordApiServiceImpl implements RecallRecordApiService { public ResObj save(TraceDTO record) { Objects.requireNonNull(record); - String orderId = StringUtils.isBlank(record.getOrderId()) ? UUID.randomUUID().toString().replace("-", "") : record.getOrderId(); - String traceId = StringUtils.isBlank(record.getTraceId()) ? UUID.randomUUID().toString().replace("-", "") : record.getTraceId(); boolean isLastEvent = record.isLast(); - RecallOrderEntity order = Optional.ofNullable(recallOrderService.queryRecallOrderByOrderId(orderId)) + RecallOrderEntity order = Optional.ofNullable(Optional.ofNullable(record.getOrderId()) + .map(recallOrderService::queryRecallOrderByOrderId) + .orElse(null)) .orElseGet(() -> Optional.ofNullable(recallOrderService.queryRecallOrderByTraceId(traceId)).orElseGet(() -> { RecallOrderEntity newOrder = new RecallOrderEntity(); newOrder.setId(UUID.randomUUID().toString().replace("-", "")); - newOrder.setOrderId(record.getOrderId()); + Optional.ofNullable(record.getOrderId()) + .ifPresent(newOrder::setOrderId); newOrder.setTraceId(traceId); newOrder.setProductCode(record.getProductCode()); newOrder.setProductName(record.getProductName()); @@ -75,7 +76,8 @@ public class RecallRecordApiServiceImpl implements RecallRecordApiService { recallOrderService.updateRecallOrderById(order); } record.setTraceId(traceId); - record.setOrderId(record.getOrderId()); + Optional.ofNullable(record.getOrderId()) + .ifPresent(record::setOrderId); RecallRecordEntity recallRecord = new RecallRecordEntity(); BeanUtils.copyProperties(record, recallRecord); recallRecord.setId(UUID.randomUUID().toString().replace("-", ""));