初始化代码

This commit is contained in:
Superdandan 2024-02-17 12:05:12 +08:00
parent fb5c0d1e60
commit 3594267e0b
9 changed files with 77 additions and 13 deletions

View File

@ -11,6 +11,7 @@ import com.chint.interfaces.rest.ctrip.dto.search.train.TrainOrderInfoEntity;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
import java.util.Optional;
import static com.chint.infrastructure.constant.Constant.*; import static com.chint.infrastructure.constant.Constant.*;
@ -18,19 +19,24 @@ import static com.chint.infrastructure.constant.Constant.*;
@Component @Component
public class CTripOrderDataAdapter implements OrderDataAdapter { public class CTripOrderDataAdapter implements OrderDataAdapter {
@Override @Override
public OrderLegData adapt(SupplierCallbackData supplierData) { public Optional<OrderLegData> adapt(SupplierCallbackData supplierData) {
//这里的查询结果的订单查询 需要根据订单单号来进行查询的结果因此只会返回一个订单信息和对应的行程规划单 //这里的查询结果的订单查询 需要根据订单单号来进行查询的结果因此只会返回一个订单信息和对应的行程规划单
SearchOrderResponse searchOrderResponse = (SearchOrderResponse) supplierData.getData(); SearchOrderResponse searchOrderResponse = (SearchOrderResponse) supplierData.getData();
if (!searchOrderResponse.getItineraryList().isEmpty()) { List<ItineraryEntity> itineraryList = searchOrderResponse.getItineraryList();
ItineraryEntity itineraryEntity = searchOrderResponse.getItineraryList().get(0); if (!itineraryList.isEmpty()) {
ItineraryEntity itineraryEntity = itineraryList.get(0);
OrderLegData.Builder builder = OrderLegData.builder() OrderLegData.Builder builder = OrderLegData.builder()
.actualOrderNo(itineraryEntity.getJourneyNO()) .actualOrderNo(itineraryEntity.getJourneyNO())
.supplierName(SUPPLIER_C_TRIP); .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, private OrderLegData.Builder findSingleElementList(ItineraryEntity itineraryEntity,

View File

@ -2,12 +2,48 @@ package com.chint.domain.service.supplier;
import com.chint.domain.value_object.OrderLegData; import com.chint.domain.value_object.OrderLegData;
import com.chint.domain.value_object.SupplierCallbackData; 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 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 @Component
public class LYOrderDataAdapter implements OrderDataAdapter{ public class LYOrderDataAdapter implements OrderDataAdapter {
@Override @Override
public OrderLegData adapt(SupplierCallbackData supplierData) { public Optional<OrderLegData> adapt(SupplierCallbackData supplierData) {
return null;
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()
);
} }
} }

View File

@ -3,6 +3,8 @@ package com.chint.domain.service.supplier;
import com.chint.domain.value_object.OrderLegData; import com.chint.domain.value_object.OrderLegData;
import com.chint.domain.value_object.SupplierCallbackData; import com.chint.domain.value_object.SupplierCallbackData;
import java.util.Optional;
public interface OrderDataAdapter { public interface OrderDataAdapter {
OrderLegData adapt(SupplierCallbackData supplierData); Optional<OrderLegData> adapt(SupplierCallbackData supplierData);
} }

View File

@ -1,7 +1,6 @@
package com.chint.domain.service.supplier; package com.chint.domain.service.supplier;
import com.chint.application.commands.RouteAddOrderCommand; import com.chint.application.commands.RouteAddOrderCommand;
import com.chint.domain.value_object.OrderLegData;
import com.chint.domain.value_object.SupplierCallbackData; import com.chint.domain.value_object.SupplierCallbackData;
import com.chint.infrastructure.echo_framework.command.Command; import com.chint.infrastructure.echo_framework.command.Command;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -15,9 +14,10 @@ public class SupplierServiceImpl implements SupplierService {
@Override @Override
public void handleSupplierCallback(SupplierCallbackData callbackData) { public void handleSupplierCallback(SupplierCallbackData callbackData) {
OrderLegData data = orderDataAdapterSelector orderDataAdapterSelector
.of(callbackData.getSupplierName()) .of(callbackData.getSupplierName())
.adapt(callbackData); .adapt(callbackData)
Command.of(RouteAddOrderCommand.class).data(data).sendToQueue(); .ifPresent(data ->
Command.of(RouteAddOrderCommand.class).data(data).sendToQueue());
} }
} }

View File

@ -6,6 +6,7 @@ import lombok.Data;
public class SupplierCallbackData { public class SupplierCallbackData {
private String supplierName; private String supplierName;
private String employeeNo; private String employeeNo;
private Integer productType; //用于区分同程搜索数据
private Object data; private Object data;
public static SupplierCallbackData of(String supplierName) { public static SupplierCallbackData of(String supplierName) {

View File

@ -0,0 +1,4 @@
package com.chint.interfaces.rest.ctrip.dto.search;
public class CarOrderInfoEntity {
}

View File

@ -0,0 +1,4 @@
package com.chint.interfaces.rest.ctrip.dto.search;
public class FlightOrderInfoEntity {
}

View File

@ -0,0 +1,7 @@
package com.chint.interfaces.rest.ctrip.dto.search;
import lombok.Data;
@Data
public class HotelOrderInfoEntity {
}

View File

@ -0,0 +1,4 @@
package com.chint.interfaces.rest.ctrip.dto.search;
public class TrainOrderInfoEntity {
}