初始化代码
This commit is contained in:
parent
fb5c0d1e60
commit
3594267e0b
|
@ -11,6 +11,7 @@ import com.chint.interfaces.rest.ctrip.dto.search.train.TrainOrderInfoEntity;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.chint.infrastructure.constant.Constant.*;
|
||||
|
||||
|
@ -18,19 +19,24 @@ import static com.chint.infrastructure.constant.Constant.*;
|
|||
@Component
|
||||
public class CTripOrderDataAdapter implements OrderDataAdapter {
|
||||
@Override
|
||||
public OrderLegData adapt(SupplierCallbackData supplierData) {
|
||||
public Optional<OrderLegData> adapt(SupplierCallbackData supplierData) {
|
||||
//这里的查询结果的订单查询 ,需要根据订单单号来进行查询的结果,因此只会返回一个订单信息和对应的行程规划单
|
||||
SearchOrderResponse searchOrderResponse = (SearchOrderResponse) supplierData.getData();
|
||||
if (!searchOrderResponse.getItineraryList().isEmpty()) {
|
||||
ItineraryEntity itineraryEntity = searchOrderResponse.getItineraryList().get(0);
|
||||
List<ItineraryEntity> itineraryList = searchOrderResponse.getItineraryList();
|
||||
if (!itineraryList.isEmpty()) {
|
||||
ItineraryEntity itineraryEntity = itineraryList.get(0);
|
||||
|
||||
OrderLegData.Builder builder = OrderLegData.builder()
|
||||
.actualOrderNo(itineraryEntity.getJourneyNO())
|
||||
.supplierName(SUPPLIER_C_TRIP);
|
||||
|
||||
|
||||
OrderLegData.Builder elementList = findSingleElementList(itineraryEntity, builder);
|
||||
if (elementList == null) {
|
||||
return Optional.empty();
|
||||
}
|
||||
return Optional.of(elementList.build());
|
||||
}
|
||||
return null;
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
private OrderLegData.Builder findSingleElementList(ItineraryEntity itineraryEntity,
|
||||
|
|
|
@ -2,12 +2,48 @@ package com.chint.domain.service.supplier;
|
|||
|
||||
import com.chint.domain.value_object.OrderLegData;
|
||||
import com.chint.domain.value_object.SupplierCallbackData;
|
||||
import com.chint.interfaces.rest.ly.dto.search.response.filght.FlightOrderDetail;
|
||||
import com.chint.interfaces.rest.ly.dto.search.response.train.TrainDetailResponse;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import static com.chint.infrastructure.constant.Constant.LEG_TYPE_TRAIN;
|
||||
import static com.chint.infrastructure.constant.Constant.SUPPLIER_L_Y;
|
||||
|
||||
@Component
|
||||
public class LYOrderDataAdapter implements OrderDataAdapter{
|
||||
public class LYOrderDataAdapter implements OrderDataAdapter {
|
||||
@Override
|
||||
public OrderLegData adapt(SupplierCallbackData supplierData) {
|
||||
return null;
|
||||
public Optional<OrderLegData> adapt(SupplierCallbackData supplierData) {
|
||||
|
||||
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
private Optional<OrderLegData> trainDataProcess(TrainDetailResponse trainDetailResponse) {
|
||||
TrainDetailResponse.TrainDetailData data = trainDetailResponse.getData();
|
||||
return Optional.of(
|
||||
OrderLegData.builder()
|
||||
.productType(LEG_TYPE_TRAIN)
|
||||
.orderNo(data.getOrderNo())
|
||||
.price(String.valueOf( data.getTotalAmount()))
|
||||
.actualOrderNo(data.getOutOrderNo())
|
||||
.supplierName(SUPPLIER_L_Y)
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
private Optional<OrderLegData> FlightDataProcess(FlightOrderDetail flightOrderDetail) {
|
||||
FlightOrderDetail.Data data = flightOrderDetail.getData();
|
||||
return Optional.of(
|
||||
OrderLegData.builder()
|
||||
.productType(LEG_TYPE_TRAIN)
|
||||
// .orderNo(data.get())
|
||||
// .price(String.valueOf( data.getTotalAmount()))
|
||||
// .actualOrderNo(data.getOutOrderNo())
|
||||
.supplierName(SUPPLIER_L_Y)
|
||||
.build()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.chint.domain.service.supplier;
|
|||
import com.chint.domain.value_object.OrderLegData;
|
||||
import com.chint.domain.value_object.SupplierCallbackData;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public interface OrderDataAdapter {
|
||||
OrderLegData adapt(SupplierCallbackData supplierData);
|
||||
Optional<OrderLegData> adapt(SupplierCallbackData supplierData);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.chint.domain.service.supplier;
|
||||
|
||||
import com.chint.application.commands.RouteAddOrderCommand;
|
||||
import com.chint.domain.value_object.OrderLegData;
|
||||
import com.chint.domain.value_object.SupplierCallbackData;
|
||||
import com.chint.infrastructure.echo_framework.command.Command;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -15,9 +14,10 @@ public class SupplierServiceImpl implements SupplierService {
|
|||
|
||||
@Override
|
||||
public void handleSupplierCallback(SupplierCallbackData callbackData) {
|
||||
OrderLegData data = orderDataAdapterSelector
|
||||
orderDataAdapterSelector
|
||||
.of(callbackData.getSupplierName())
|
||||
.adapt(callbackData);
|
||||
Command.of(RouteAddOrderCommand.class).data(data).sendToQueue();
|
||||
.adapt(callbackData)
|
||||
.ifPresent(data ->
|
||||
Command.of(RouteAddOrderCommand.class).data(data).sendToQueue());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import lombok.Data;
|
|||
public class SupplierCallbackData {
|
||||
private String supplierName;
|
||||
private String employeeNo;
|
||||
private Integer productType; //用于区分同程搜索数据
|
||||
private Object data;
|
||||
|
||||
public static SupplierCallbackData of(String supplierName) {
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
package com.chint.interfaces.rest.ctrip.dto.search;
|
||||
|
||||
public class CarOrderInfoEntity {
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
package com.chint.interfaces.rest.ctrip.dto.search;
|
||||
|
||||
public class FlightOrderInfoEntity {
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package com.chint.interfaces.rest.ctrip.dto.search;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class HotelOrderInfoEntity {
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
package com.chint.interfaces.rest.ctrip.dto.search;
|
||||
|
||||
public class TrainOrderInfoEntity {
|
||||
}
|
Loading…
Reference in New Issue