初始化代码

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 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 null;
return Optional.of(elementList.build());
}
return Optional.empty();
}
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.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()
);
}
}

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.SupplierCallbackData;
import java.util.Optional;
public interface OrderDataAdapter {
OrderLegData adapt(SupplierCallbackData supplierData);
Optional<OrderLegData> adapt(SupplierCallbackData supplierData);
}

View File

@ -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());
}
}

View File

@ -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) {

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 {
}