feat(可回溯): 回溯保存
调整逻辑
This commit is contained in:
+7
-5
@@ -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("-", ""));
|
||||
|
||||
Reference in New Issue
Block a user