diff --git a/src/main/java/com/chint/domain/aggregates/order/OrderDetail.java b/src/main/java/com/chint/domain/aggregates/order/OrderDetail.java index 6b278a0e..db0c29c0 100644 --- a/src/main/java/com/chint/domain/aggregates/order/OrderDetail.java +++ b/src/main/java/com/chint/domain/aggregates/order/OrderDetail.java @@ -209,28 +209,48 @@ public class OrderDetail implements Serializable { return this; } - public OrderDetail deepClone(){ + public OrderDetail deepClone() { OrderDetail copyOrderDetail = BeanUtil.copyProperties(this, OrderDetail.class); - HotelOrderDetail copiedHotelOrderDetail = BeanUtil.copyProperties(this.hotelOrderDetail, HotelOrderDetail.class); - copyOrderDetail.setHotelOrderDetail(copiedHotelOrderDetail); + if (this.hotelOrderDetail != null) { + HotelOrderDetail copiedHotelOrderDetail = BeanUtil.copyProperties(this.hotelOrderDetail, HotelOrderDetail.class); + copyOrderDetail.setHotelOrderDetail(copiedHotelOrderDetail); + } else { + copyOrderDetail.setHotelOrderDetail(null); + } + // 深拷贝 carOrderDetail - CarOrderDetail copiedCarOrderDetail = BeanUtil.copyProperties(this.carOrderDetail, CarOrderDetail.class); - copyOrderDetail.setCarOrderDetail(copiedCarOrderDetail); + if (this.carOrderDetail != null) { + CarOrderDetail copiedCarOrderDetail = BeanUtil.copyProperties(this.carOrderDetail, CarOrderDetail.class); + copyOrderDetail.setCarOrderDetail(copiedCarOrderDetail); + } else { + copyOrderDetail.setCarOrderDetail(null); + } + // 深拷贝 flightOrderDetail - FlightOrderDetail copiedFlightOrderDetail = BeanUtil.copyProperties(this.flightOrderDetail, FlightOrderDetail.class); - copyOrderDetail.setFlightOrderDetail(copiedFlightOrderDetail); + if (this.flightOrderDetail != null) { + FlightOrderDetail copiedFlightOrderDetail = BeanUtil.copyProperties(this.flightOrderDetail, FlightOrderDetail.class); + copyOrderDetail.setFlightOrderDetail(copiedFlightOrderDetail); + } else { + copyOrderDetail.setFlightOrderDetail(null); + } + // 深拷贝 trainOrderDetail - TrainOrderDetail copiedTrainOrderDetail = BeanUtil.copyProperties(this.trainOrderDetail, TrainOrderDetail.class); - copyOrderDetail.setTrainOrderDetail(copiedTrainOrderDetail); + if (this.trainOrderDetail != null) { + TrainOrderDetail copiedTrainOrderDetail = BeanUtil.copyProperties(this.trainOrderDetail, TrainOrderDetail.class); + copyOrderDetail.setTrainOrderDetail(copiedTrainOrderDetail); + } else { + copyOrderDetail.setTrainOrderDetail(null); + } + // 深拷贝 otherOrderDetail //OtherOrderDetail copiedOtherOrderDetail = BeanUtil.copyProperties(this.otherOrderDetail, OtherOrderDetail.class); copyOrderDetail.setOtherOrderDetail(null); // 深拷贝 orderEventList - if(this.orderEventList != null && !this.orderEventList.isEmpty()) { + if (this.orderEventList != null && !this.orderEventList.isEmpty()) { List copiedOrderEventList = this.orderEventList.stream() .map(event -> BeanUtil.copyProperties(event, OrderEvent.class)) .collect(Collectors.toList());