同程新超标推送接口测试bug修复

This commit is contained in:
lulz1 2024-03-26 12:55:08 +08:00
parent 76c26c50f1
commit 59ed3cce53
9 changed files with 290 additions and 7 deletions

View File

@ -1,5 +1,9 @@
package com.chint.domain.aggregates.order;
import com.chint.domain.aggregates.order.order_record.OrderCarRecord;
import com.chint.domain.aggregates.order.order_record.OrderFlightRecord;
import com.chint.domain.aggregates.order.order_record.OrderHotelRecord;
import com.chint.domain.aggregates.order.order_record.OrderTrainRecord;
import com.chint.domain.exceptions.NotFoundException;
import com.chint.domain.value_object.enums.CurrencyType;
import com.chint.infrastructure.constant.LegConstant;
@ -56,15 +60,27 @@ public class OrderDetail implements Serializable {
@MappedCollection(idColumn = "order_id")
private CarOrderDetail carOrderDetail;
@Transient
private List<OrderCarRecord> orderCarRecordList;
@MappedCollection(idColumn = "order_id")
private FlightOrderDetail flightOrderDetail;
@Transient
private List<OrderFlightRecord> orderFlightRecordList;
@MappedCollection(idColumn = "order_id")
private HotelOrderDetail hotelOrderDetail;
@Transient
private List<OrderHotelRecord> orderHotelRecordList;
@MappedCollection(idColumn = "order_id")
private TrainOrderDetail trainOrderDetail;
@Transient
private List<OrderTrainRecord> orderTrainRecordList;
@MappedCollection(idColumn = "order_id")
private OtherOrderDetail otherOrderDetail;

View File

@ -0,0 +1,11 @@
package com.chint.domain.aggregates.order.order_record;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class OrderBaseRecord {
private LocalDateTime createTime;
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,53 @@
package com.chint.domain.aggregates.order.order_record;
import lombok.Data;
@Data
public class OrderCarRecord {
private Long id;
private String trvaleSysType; // 数据来源商旅平台 XC携程 TC同程
private String belongSysType; // 对应所属系统 GF_FK股份费控 XN_FK新能费控 AN_FK安能费控 JT_BPM集团BPM NOT无系统标识
private String detailId; // 结算明细唯一标识
private String accountCompanyId; // 核算企业code
private String accountCompanyName; // 核算企业名称
private String ticketClerk; // 票务员
private String accountPeriod; // 账期号
private String billNo; // 账单号
private String receiptsNum; // 关联申请单号
private String overStandard; // 是否违规超标 0否 1是
private String overStandardReason; // 违规原因超标原因
private String orderNo; // 订单号
private String parentOrderNo; // 父级订单号
private String originalOrderNo; // 原始订单号
private String orderStatus; // 订单状态
private String bookingUserCode; // 预订人Code
private String bookingName; // 预订人姓名
private String createTime; // 订单创建时间 格式2023-04-26 13:15:17
private String startTime; // 出发时间 格式2023-04-26 13:15:17
private String arriveTime; // 到达时间 格式2023-04-26 13:15:17
private String fromStationName; // 出发地
private String toStationName; // 到达地
private String carType; // 车型
private String fromCity; // 出发城市
private String toCity; // 到达城市
private String runTime; // 运行时长
private String miles; // 里程数
private String noTaxAmt; // 未税金额
private String taxAmt; // 税费
private String orderAmount; // 订单总额(含前收服务费)
private String openCharge; // 开票手续费
private String highSpeedAmt; // 额外费用
private String highSpeedName; // 额外费用名称
private String serviceCost; // 服务费
private String cancelCost; // 取消费
private String userName; // 用车人姓名
private String userCode; // 用车人code
private String comyPayAmt; // 公司统付金额
private String bookOrgCode1; // 用车人组织架构信息1
private String bookOrgCode2; // 用车人组织架构信息2
private String bookOrgCode3; // 用车人组织架构信息3
private String paymentType; // 付款方式 0公司统付 1个人付 2混付
private String projectOrderNo; // 项目订单号
private String offlineCcomyCode; // 成本中心
private String orderSource; // 预订来源线上/线下
}

View File

@ -0,0 +1,67 @@
package com.chint.domain.aggregates.order.order_record;
import lombok.Data;
@Data
public class OrderFlightRecord extends OrderBaseRecord{
private Long id;
private String trvaleSysType; // 数据来源商旅平台 XC携程 TC同程
private String belongSysType; // 对应所属系统 GF_FK股份费控 XN_FK新能费控 AN_FK安能费控 JT_BPM集团BPM NOT无系统标识
private String detailId; // 结算明细唯一标识
private String accountCompanyId; // 核算企业code
private String accountCompanyName; // 核算企业名称
private String ticketClerk; // 票务员
private String accountPeriod; // 账期号
private String billNo; // 账单号结算单号
private String orderNo; // 订单号
private String parentOrderNo; // 父级订单号
private String originalOrderNo; // 原始订单号
private String ticketNo; // 票号
private String scheduleNum; // 行程单号
private String receiptsNum; // 关联申请单号
private String bookingName; // 预订人姓名
private String bookingUserCode; // 预订人编码
private String userName; // 出行人姓名
private String userCode; // 出行人编码
private String overStandard; // 是否违规超标 0否 1是
private String overStandardReason; // 违规原因超标原因
private String distance; // 航程公里数
private String startAirportName; // 起飞机场名称
private String startCityCode; // 起飞城市编码
private String startCityName; // 起飞城市名称
private String startTime; // 起飞时间 yyyy-MM-dd HH:mm:ss
private String endAirportCode; // 到达机场三字码
private String endAirportName; // 到达机场名称
private String endCityCode; // 到达城市编码
private String endCityName; // 到达城市名称
private String endTerminal; // 到达航站楼
private String endTime; // 到达时间 yyyy-MM-dd HH:mm:ss
private String flightCompName; // 航空公司名称
private String flightLowestPrice; // 航班最低价
private String flightNum; // 航班号
private String orderAmount; // 订单总额
private String facePrice; // 票面价
private String noTaxAmt; // 未税金额
private String taxAmt; // 税额
private String preServiceFee; // 服务费
private String postServiceFee; // 配送服务费
private String airportTax; // 机建费
private String changeFee; // 改签手续费
private String fuelTax; // 燃油费
private String refundFee; // 退票手续费
private String upFee; // 改签差价
private String ycabinFullPrice; // 经济舱全价
private String issueTicketTime; // 出票时间 yyyy-MM-dd HH:mm:ss
private String policyLowestPrice; // 比价范围最低价
private String seatDiscount; // 折扣率
private String seatPoint; // 舱位
private String seatPointName; // 舱位名称
private String useStatus; // 机票使用情况
private String orderSource; // 预订来源线上/线下
private String notLowReason; // 未预订最低价原因
private String bookOrgCode1; // 出行人组织架构信息1
private String bookOrgCode2; // 出行人组织架构信息2
private String bookOrgCode3; // 出行人组织架构信息3
private String projectOrderNo; // 项目订单号
private String offlineCcomyCode; // 成本中心
}

View File

@ -0,0 +1,64 @@
package com.chint.domain.aggregates.order.order_record;
import lombok.Data;
@Data
public class OrderHotelRecord extends OrderBaseRecord{
private Long id;
private String trvaleSysType; // 数据来源商旅平台 XC携程 TC同程
private String belongSysType; // 对应所属系统 GF_FK股份费控 XN_FK新能费控 AN_FK安能费控 JT_BPM集团BPM NOT无系统标识
private String detailId; // 结算明细唯一标识
private String accountCompanyId; // 核算企业code
private String accountCompanyName; // 核算企业名称
private String ticketClerk; // 票务员
private String accountPeriod; // 账期号
private String billNo; // 账单号结算单号
private String orderNo; // 订单号
private String parentOrderNo; // 父级订单号
private String originalOrderNo; // 原始订单号
private String brandGroup; // 酒店品牌集团
private String brandName; // 酒店品牌
private int overStandard; // 是否违规超标 0否 1是
private String overStandardReason; // 违规原因超标原因
private String receiptsNum; // 关联申请单号
private String bookingName; // 预订人姓名
private String bookingUserCode; // 预订人编码
private String userName; // 入住人姓名
private String userCode; // 入住人编码
private String checkInCity; // 入住城市
private String checkInDate; // 入住日期yyyy-MM-dd
private String country; // 国家
private String customerServiceName; // 客服处理人
private String departureDate; // 离店日期yyyy-MM-dd
private String hotelAddress; // 酒店地址
private String hotelName; // 酒店名称
private String includeAmount; // 含早情况XX份
private int isAgreement; // 是否协议酒店0否1是
private int paymentType; // 付款方式 0-公司统付 1-个人付 2-混付
private String orderAmount; // 订单总额
private String companyAmount; // 企业统付总额
private String personalAmount; // 个人支付金额
private String unifiedPayAmt; // 统付服务费
private String personalPayAmt; // 个人服务费
private String province; // 省份
private int roomCount; // 房间数
private int roomNightCount; // 夜间数
private int nightCount; // 间夜数
private String roomPrice; // 房价房间单价不包含服务费
private String roomRate; // 房费订单总额减总服务费
private String noTaxAmt; // 不含税价
private String taxAmt; // 税费
private String invoiceType; // 供应商发票类型
private String invoiceFee; // 开票手续费
private String custodayFee; // 托管费
private String noTaxCusFee; // 托管费不含税
private String taxCusFee; // 托管费税费
private String roomTypeName; // 房型
private String starRate; // 星级
private String orderSource; // 预订来源线上/线下
private String bookOrgCode1; // 入住人组织架构信息1
private String bookOrgCode2; // 入住人组织架构信息2
private String bookOrgCode3; // 入住人组织架构信息3
private String projectOrderNo; // 项目订单号
private String offlineCcomyCode; // 成本中心
}

View File

@ -0,0 +1,63 @@
package com.chint.domain.aggregates.order.order_record;
import lombok.Data;
@Data
public class OrderTrainRecord extends OrderBaseRecord{
private Long id;
private String trvaleSysType; // 数据来源商旅平台 XC携程 TC同程
private String belongSysType; // 对应所属系统 GF_FK股份费控 XN_FK新能费控 AN_FK安能费控 JT_BPM集团BPM NOT无系统标识
private String detailId; // 结算明细唯一标识
private String accountCompanyId; // 核算企业code
private String accountCompanyName; // 核算企业名称
private String ticketClerk; // 票务员
private String accountPeriod; // 账期号
private String billNo; // 账单号
private String orderNo; // 订单号
private String parentOrderNo; // 父级订单号
private String originalOrderNo; // 原始订单号
private String receiptsNum; // 关联申请单号
private String startDate; // 出发日期
private String arriveDate; // 到达日期
private String overStandard; // 是否违规超标 0否 1是
private String overStandardReason; // 违规原因超标原因
private String changeAddAmount; // 改签收款
private String changeCost; // 改签手续费
private String changeReturnAmount; // 改签退款
private String returnCost; // 退款手续费
private String bookFee; // 订票手续费
private String collFee; // 取票手续费
private String noTaxFeeAmt; // 手续费未税金额
private String taxFeeAmt; // 手续费税费
private String returnRes; // 退票原因
private String returnFee; // 退票手续费
private String noTaxAmt; // 未税金额
private String taxAmt; // 税额
private String orderAmount; // 订单总额
private String fromCity; // 出发城市
private String fromStationName; // 出发站
private String toCity; // 到达城市
private String toStationName; // 到达站
private String issueTicketTime; // 出票时间 yyyy-MM-dd HH:mm:ss
private String runTime; // 时长
private String seatType; // 座位等级
private String trainNo; // 车次
private String bookingUserCode; // 预订人编码
private String bookingName; // 预订人姓名
private String userCode; // 出行人编码
private String userName; // 出行人姓名
private String orderSource; // 预订来源线上/线下
private String bookOrgCode1; // 出行人组织架构信息1
private String bookOrgCode2; // 出行人组织架构信息2
private String bookOrgCode3; // 出行人组织架构信息3
private String projectOrderNo; // 项目订单号
private String offlineCcomyCode; // 成本中心
private String travelUserBirthday; // 生日
private String travelUserPhone; // 出行人手机号
private String travelUserSex; // 性别 0保密不展示 1男 2女
private String travelUserType; // 乘客类型 成人(ADULT) 儿童(CHILDREN) 婴儿(BABY)
private String passportNo; // 乘客证件号
private String passportType; // 乘客证件类型
private String trainTime; // 发车时间 yyyy-MM-dd HH:mm:ss
private String yxId; // 影像比对ID
}

View File

@ -0,0 +1,8 @@
package com.chint.domain.factoriy.order_record;
import org.springframework.stereotype.Component;
@Component
public class OrderRecordFactory {
}

View File

@ -29,6 +29,7 @@ import java.util.List;
import java.util.concurrent.CompletableFuture;
import static com.chint.infrastructure.constant.CommonMessageConstant.NOT_FOUND;
import static com.chint.infrastructure.constant.LYConstant.*;
import static com.chint.infrastructure.constant.LegConstant.*;
import static com.chint.infrastructure.constant.OrderConstant.ORDER_EVENT_CHANGE;
import static com.chint.infrastructure.constant.OrderConstant.ORDER_EVENT_ETA;
@ -150,7 +151,7 @@ public class LYETAController {
LyETAPush.FlightOrderInfo flightOrderInfo = flightOrderInfos.get(0);
FlightOrderResponse.Data data = lySearchRequest
.getFlightOrderDetail(flightOrderInfo.getOrderNo()).getData();
supplierCallbackData.data(data).extension(getETAReason(flightOrderInfo)).productType(LEG_TYPE_AIRPLANE);
supplierCallbackData.data(data).extension(getETAReason(flightOrderInfo)).productType(L_Y_PRODUCT_TYPE_FLY);
}
}
case LEG_TYPE_TRAIN -> {
@ -159,7 +160,7 @@ public class LYETAController {
LyETAPush.TrainOrderInfo trainOrderInfo = trainOrderInfos.get(0);
TrainDetailResponse.TrainDetailData data = lySearchRequest
.getTrainOrderDetail(trainOrderInfo.getOrderNo()).getData();
supplierCallbackData.data(data).extension(getETAReason(trainOrderInfo)).productType(LEG_TYPE_TRAIN);
supplierCallbackData.data(data).extension(getETAReason(trainOrderInfo)).productType(L_Y_PRODUCT_TYPE_TRAIN);
}
}
case LEG_TYPE_HOTEL -> {
@ -168,7 +169,7 @@ public class LYETAController {
LyETAPush.HotelOrderInfo hotelOrderInfo = hotelOrderInfos.get(0);
HotelDetailResponse.Data data = lySearchRequest
.getHotelOrderDetail(hotelOrderInfo.getOrderNo()).getData();
supplierCallbackData.data(data).extension(getETAReason(hotelOrderInfo)).productType(LEG_TYPE_HOTEL);
supplierCallbackData.data(data).extension(getETAReason(hotelOrderInfo)).productType(L_Y_PRODUCT_TYPE_HOTEL);
}
}
default -> throw new NotFoundException(NOT_FOUND);

View File

@ -48,10 +48,10 @@ logging:
#正式
ly:
appId: zhengtai
account: ab9fe0c19dd64a99b936fded72c3bb94
password: glHRJJ9JMUwNfQ8OwAQi
secret: MnghmYJpM1U2RaLx
baseUrl: https://api.dttrip.cn/openapi
account: 4f9cb1080b564dd0a94aa95f7a19c8b5
password: 1fD3SutgzfS48qznYQiq
secret: WOHzCMvHd823iHgH
baseUrl: https://api.qa.dttrip.cn/openapi
ifForwardRequest: false
forwardRequestBaseUrl: https://secureqrdev-t.chint.com/llz