Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
dengwc 2024-03-18 15:39:50 +08:00
commit 6f8aae90e4
10 changed files with 781 additions and 11 deletions

View File

@ -7,7 +7,6 @@ import lombok.Data;
@Data
public class AuthenticationSignDto extends BaseQuery {
// private String orderNo; //订单号
private Integer productType; //机票1 酒店2火车3打车4
private String systemType;
private String startTime;

View File

@ -12,6 +12,10 @@ import com.chint.domain.repository.RouteRepository;
import com.chint.infrastructure.util.BaseContext;
import com.chint.infrastructure.util.PageResult;
import com.chint.infrastructure.util.Result;
import com.chint.interfaces.rest.bpm.dto.orderdetail.CarOrderDetailDto;
import com.chint.interfaces.rest.bpm.dto.orderdetail.FlightOrderDetailDto;
import com.chint.interfaces.rest.bpm.dto.orderdetail.HotelOrderDetailDto;
import com.chint.interfaces.rest.bpm.dto.orderdetail.TrainOrderDetailDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -36,6 +40,9 @@ public class OrderDetailQuery {
private RouteRepository routeRepository;
// public Result<PageResult<Object>> orderDetailInfoPageQuery(AuthenticationSignDto authenticationDto) {
// Integer productType = authenticationDto.getProductType();
// String systemType = authenticationDto.getSystemType();
@ -156,7 +163,14 @@ public class OrderDetailQuery {
Double.parseDouble(hotelOrderDetail.getOrderAmount()) == 0) {
return null;
}
return hotelOrderDetail;
HotelOrderDetailDto orderDetailDto = HotelOrderDetailDto.copyFrom(hotelOrderDetail);
RouteOrder routeOrder = routeRepository.queryById(orderDetail.getRouteId());
orderDetailDto.setApplicantId(routeOrder.getCreateUser());
return orderDetailDto;
}
return null;
}
@ -170,7 +184,14 @@ public class OrderDetailQuery {
if (receiptsNum != null) {
trainOrderDetail.setReceiptsNum(regetReceiptsNum(receiptsNum));
}
return trainOrderDetail;
TrainOrderDetailDto orderDetailDto = TrainOrderDetailDto.copyFrom(trainOrderDetail);
RouteOrder routeOrder = routeRepository.queryById(orderDetail.getRouteId());
orderDetailDto.setApplicantId(routeOrder.getCreateUser());
return orderDetailDto;
}
return null;
}
@ -184,13 +205,21 @@ public class OrderDetailQuery {
if (receiptsNum != null) {
carOrderDetail.setReceiptsNum(regetReceiptsNum(receiptsNum));
}
return carOrderDetail;
CarOrderDetailDto orderDetailDto = CarOrderDetailDto.copyFrom(carOrderDetail);
RouteOrder routeOrder = routeRepository.queryById(orderDetail.getRouteId());
orderDetailDto.setApplicantId(routeOrder.getCreateUser());
return orderDetailDto;
}
return null;
}
private Object processFlightOrderDetail(OrderDetail orderDetail, String systemType) {
FlightOrderDetail flightOrderDetail = orderDetail.getFlightOrderDetail();
if (flightOrderDetail != null &&
!flightOrderDetail.getOrderStatus().equals(FSSC_ORDER_STATUS_CANCEL) &&
systemType.equals(flightOrderDetail.getBelongSysType())) {
@ -198,7 +227,14 @@ public class OrderDetailQuery {
if (receiptsNum != null) {
flightOrderDetail.setReceiptsNum(regetReceiptsNum(receiptsNum));
}
return flightOrderDetail;
FlightOrderDetailDto orderDetailDto = FlightOrderDetailDto.copyFrom(flightOrderDetail);
RouteOrder routeOrder = routeRepository.queryById(orderDetail.getRouteId());
orderDetailDto.setApplicantId(routeOrder.getCreateUser());
return orderDetailDto;
}
return null;
}

View File

@ -128,6 +128,7 @@ public class CTripOrderExtensionFactoryImpl implements OrderExtensionFactory {
carOrderDetail.setCompanyPaymentAmount(String.valueOf(carBasicInfo.getPersonAmount()));
carOrderDetail.setPersonalPaymentAmount(String.valueOf(carBasicInfo.getAccntAmount()));
if (!carQuickOrderInfoEntity.getOrderFeeList().isEmpty()) {
OrderFee orderFee = carQuickOrderInfoEntity.getOrderFeeList().get(0);

View File

@ -654,9 +654,15 @@ public class LYOrderExtensionFactoryImpl implements OrderExtensionFactory {
carOrderDetail.setUserName(carOrderDetailInfo.getContactName());
carOrderDetail.setUserCode(carOrderDetailInfo.getOutEmployeeId());
carOrderDetail.setPhone(carOrderDetailInfo.getContactPhone());
carOrderDetail.setPersonalPaymentAmount(String.valueOf(carOrderDetailInfo.getPersonalPrice()));
carOrderDetail.setCompanyPaymentAmount(String.valueOf(carOrderDetailInfo.getCompanyPrice()));
carOrderDetail.setPaymentType(String.valueOf(carOrderDetailInfo.getPayType())); //
if (Double.valueOf(carOrderDetail.getCompanyPaymentAmount()) > 0){
carOrderDetail.setPaymentType("0"); //
}else {
carOrderDetail.setPaymentType("1"); //
}
}
carOrderDetail.setReceiptsNum(routeOrder.getRouteOrderNo());

View File

@ -0,0 +1,153 @@
package com.chint.interfaces.rest.bpm.dto.orderdetail;
import cn.hutool.core.bean.BeanUtil;
import com.chint.domain.aggregates.order.CarOrderDetail;
import lombok.Data;
import java.io.Serializable;
@Data
public class CarOrderDetailDto implements Serializable {
private Long id;
// 数据来源商旅平台
private String trvaleSysType;
// 对应所属系统
private String belongSysType;
// 订单号
private String orderNo;
// 消费明细唯一标识
private String detailId;
// 是否超标
private String overStandard;
// 父级订单号
private String parentOrderNo;
// 原始订单号
private String originalOrderNo;
// 订单状态
private String orderStatus;
// 核算企业id
private String accountCompanyId;
// 核算企业名称
private String accountCompanyName;
// 申请单号
private String receiptsNum;
// 行程编号
private String scheduleNum;
// 预订人Code
private String bookingUserCode;
// 预订人姓名
private String bookingName;
// 预订人电话
private String bookingUserPhone;
// 订单创建时间 格式2023-04-26 13:15:17
private String createTime;
// 出发时间 格式2023-04-26 13:15:17
private String startTime;
// 到达时间 格式2023-04-26 13:15:17
private String arriveTime;
// 出发地
private String fromStationName;
// 到达地
private String toStationName;
// 车型
private String carModel;
// 出发城市
private String fromCity;
// 到达城市
private String toCity;
// 运行时长 01:08 表示 1小时8分钟
private String runTime;
// 里程数
private String mileage;
// 订单总额(含前收服务费)
private String orderAmount;
// 取消费
private String cancellationFee;
// 差标
private String standardItems;
// 用车人姓名
private String userName;
// 用车人code
private String userCode;
// 用车人手机号
private String phone;
// 资源供应商
private String supplier;
// 个人支付金额
private String personalPaymentAmount;
// 公司统付金额
private String companyPaymentAmount;
// 超标原因
private String overStandardReason;
// 用车人组织架构信息1
private String BOOK_ORG_STRUCT_1;
// 用车人组织架构信息2
private String BOOK_ORG_STRUCT_2;
// 用车人组织架构信息3
private String BOOK_ORG_STRUCT_3;
// 付款方式 0公司统付 1个人付 2混付
private String paymentType;
// 项目订单号
private String projectOrderNo;
// 成本中心
private String costCenter;
// 高速费
private String tollFee;
private String applicantId;
public static CarOrderDetailDto copyFrom(CarOrderDetail carOrderDetail) {
if (carOrderDetail == null) {
return null;
}
CarOrderDetailDto carOrderDetailDto = BeanUtil.copyProperties(carOrderDetail, CarOrderDetailDto.class);
return carOrderDetailDto;
}
}

View File

@ -0,0 +1,219 @@
package com.chint.interfaces.rest.bpm.dto.orderdetail;
import cn.hutool.core.bean.BeanUtil;
import com.chint.domain.aggregates.order.FlightOrderDetail;
import lombok.Data;
import java.io.Serializable;
@Data
public class FlightOrderDetailDto implements Serializable {
private Long id;
// 数据来源商旅平台
private String trvaleSysType;
// 对应所属系统
private String belongSysType;
// 飞机型号
private String flightModel;
// 订单号
private String orderNo;
// 消费明细唯一标识
private String detailId;
// 是否超标
private String overStandard;
// 父级订单号
private String parentOrderNo;
// 原始订单号
private String originalOrderNo;
// 订单状态1-出票成功2-改签成功3-退票成功
private String orderStatus;
// 核算企业id
private String accountCompanyId;
// 核算企业名称
private String accountCompanyName;
// 差旅申请单
private String receiptsNum;
// 行程编号
private String scheduleNum;
// 改签后行程编号
private String changedScheduleNum;
// 预订人code
private String bookingUserCode;
// 预订人姓名
private String bookingName;
// 预订人电话
private String bookingUserPhone;
// 订单创建时间 格式2023-04-26 13:15:17
private String createTime;
// 起飞时间 格式2023-04-26 13:15:17
private String startTime;
// 到达时间 格式2023-04-26 13:15:17
private String arriveTime;
// 起飞城市名称
private String startCityName;
// 起飞城市编码
private String startCityCode;
// 起飞机场名称
private String startAirportName;
// 起飞机场三字码
private String startAirportCode;
// 起飞航站楼
private String startTerminal;
// 到达城市名称
private String endCityName;
// 到达城市编码
private String endCityCode;
// 到达机场名称
private String endAirportName;
// 到达机场三字码
private String endAirportCode;
// 到达航站楼
private String endTerminal;
// 航程公里数
private String distance;
// 航空公司名称
private String flightCompName;
// 航班号
private String flightNum;
// 舱位
private String seatPoint;
// 舱位名称
private String seatPointName;
// 订单总额
private String orderAmount;
// 前收服务费
private String preServiceFee;
// 后收服务费
private String postServiceFee;
// 退款总额
private String refundAmount;
// 机票信息
private String tickets;
// 燃油费
private String fuelTax;
// 机建费
private String airportTax;
// 票面价
private String facePrice;
// 改签费
private String changeFee;
// 退票手续费
private String refundFee;
// 升舱费
private String upFee;
// 舱位及折扣
private String standard;
// 票号
private String ticketNo;
// 改签后票号
private String changedTicketNo;
// 出行人姓名
private String userName;
// 出行人code
private String userCode;
// 是否超标
private String isOverStandard;
// 出行人手机号
private String phone;
// 付款方式 0公司统付 1个人付 2混付
private String paymentType;
// 未预订最低价原因
private String notBookedLowestPriceReason;
// 资源供应商
private String supplier;
// 个人支付金额
private String personalPaymentAmount;
// 公司统付金额
private String companyPaymentAmount;
// 超标原因
private String overStandardReason;
// 出行人组织架构信息1
private String BOOK_ORG_STRUCT_1;
// 出行人组织架构信息2
private String BOOK_ORG_STRUCT_2;
// 出行人组织架构信息3
private String BOOK_ORG_STRUCT_3;
// 保险费
private String insuranceFee;
// 项目订单号
private String projectOrderNo;
// 成本中心
private String costCenter;
private String applicantId;
public static FlightOrderDetailDto copyFrom(FlightOrderDetail flightOrderDetail) {
if (flightOrderDetail == null) {
return null;
}
FlightOrderDetailDto flightOrderDetailDto = BeanUtil.copyProperties(flightOrderDetail, FlightOrderDetailDto.class);
return flightOrderDetailDto;
}
}

View File

@ -0,0 +1,171 @@
package com.chint.interfaces.rest.bpm.dto.orderdetail;
import cn.hutool.core.bean.BeanUtil;
import com.chint.domain.aggregates.order.HotelOrderDetail;
import com.chint.domain.aggregates.order.HotelOrderDetailCustomer;
import com.chint.domain.aggregates.order.OrderDetail;
import com.chint.domain.aggregates.order.TrainOrderDetail;
import lombok.Data;
import org.springframework.data.relational.core.mapping.MappedCollection;
import java.io.Serializable;
import java.util.List;
@Data
public class HotelOrderDetailDto implements Serializable {
private Long id;
// 数据来源商旅平台
private String trvaleSysType;
// 对应所属系统
private String belongSysType;
// 订单号
private String orderNo;
// 消费明细唯一标识
private String detailId;
// 是否超标
private String overStandard;
// 订单状态1-预订成功3-全部退订成功4-部分退订成功
private String orderStatus;
// 核算企业id
private String accountCompanyId;
// 核算企业名称
private String accountCompanyName;
// 申请单号
private String receiptsNum;
// 行程编号
private String scheduleNum;
// 预订人Code
private String bookingUserCode;
// 预订人姓名
private String bookingName;
// 预订人电话
private String bookingUserPhone;
// 订单创建时间 格式2023-04-26 13:15:17
private String createTime;
// 入住城市
private String checkInCity;
// 酒店名称
private String hotelName;
// 酒店电话
private String contactPhone;
// 酒店地址
private String hotelAddress;
// 星级
private String starRate;
// 入住日期 格式2022-09-10
private String checkInDate;
// 离店日期 格式2022-09-10
private String departureDate;
// 夜晚数
private String nightCount;
// 房间数
private String roomCount;
// 退订夜间数
private String refundRoomNightCount;
// 房型
private String roomTypeName;
// 付款方式 0公司统付 1个人付 2混付
private String paymentType;
// 企业统付总额
private String companyAmount;
// 个人支付总额
private String personalAmount;
// 企业退款金额
private String companyRefundAmount;
// 个人退款金额
private String personalRefundAmount;
// 订单总额
private String orderAmount;
// 前收服务费
private String preServiceFee;
// 后收服务费
private String postServiceFee;
// 退款总额
private String refundAmount;
// 入住人信息
// @MappedCollection(idColumn = "hotel_order_detail_id", keyColumn = "hotel_order_detail_key")
private List<HotelOrderDetailCustomer> customers;
// 入离日期内差标
private String standardItems;
// 间夜信息
private String nightRates;
// 资源供应商
private String supplier;
// 涉及金额字段都要取回
private String amountFields;
// 超标原因
private String overStandardReason;
// 是否协议酒店
private String agreementHotel;
// 入住人组织架构信息1
private String BOOK_ORG_STRUCT_1;
// 入住人组织架构信息2
private String BOOK_ORG_STRUCT_2;
// 入住人组织架构信息3
private String BOOK_ORG_STRUCT_3;
// 项目订单号
private String projectOrderNo;
// 成本中心
private String costCenter;
private String applicantId;
public static HotelOrderDetailDto copyFrom(HotelOrderDetail hotelOrderDetail) {
if (hotelOrderDetail == null) {
return null;
}
HotelOrderDetailDto hotelOrderDetailDto = BeanUtil.copyProperties(hotelOrderDetail, HotelOrderDetailDto.class);
return hotelOrderDetailDto;
}
}

View File

@ -0,0 +1,182 @@
package com.chint.interfaces.rest.bpm.dto.orderdetail;
import cn.hutool.core.bean.BeanUtil;
import com.chint.domain.aggregates.order.FlightOrderDetail;
import com.chint.domain.aggregates.order.OrderDetail;
import com.chint.domain.aggregates.order.TrainOrderDetail;
import lombok.Data;
import java.io.Serializable;
@Data
public class TrainOrderDetailDto implements Serializable {
private Long id;
// 数据来源商旅平台
private String trvaleSysType;
// 对应所属系统
private String belongSysType;
// 订单号
private String orderNo;
// 消费明细唯一标识
private String detailId;
// 是否超标
private String overStandard;
// 父级订单号
private String parentOrderNo;
// 原始订单号
private String originalOrderNo;
// 订单状态1-出票成功2-改签成功3-退票成功
private String orderStatus;
// 核算企业id
private String accountCompanyId;
// 核算企业名称
private String accountCompanyName;
// 申请单号
private String receiptsNum;
// 行程编号
private String scheduleNum;
// 预订人Code
private String bookingUserCode;
// 预订人姓名
private String bookingName;
// 预订人电话
private String bookingUserPhone;
// 订单创建时间 格式2023-04-26 13:15:17
private String createTime;
// 出发时间 格式2023-04-26 13:15:17
private String startTime;
// 到达时间 格式2023-04-26 13:15:17
private String arriveTime;
// 出发站
private String fromStationName;
// 到达站
private String toStationName;
// 车次
private String trainNo;
// 出发城市
private String fromCity;
// 到达城市
private String toCity;
// 运行时长 01:08 表示 1小时8分钟
private String runTime;
// 订单总额(含前收服务费)
private String orderAmount;
// 前收服务费
private String preServiceFee;
// 后收服务费
private String postServiceFee;
// 退款总额
private String refundAmount;
// 改签差额 高改低时为负数平改时为0低改高为正数
private String changeDifference;
// 改签手续费
private String changeCost;
// 火车票信息
private String tickets;
// 座位等级
private String seatType;
// 座位
private String seatName;
// 票价
private String ticketPrice;
// 退款手续费
private String refundCost;
// 退款金额
private String refundPrice;
// 差标
private String standardItems;
// 出行人姓名
private String userName;
// 出行人code
private String userCode;
// 出行人手机号
private String phone;
// 资源供应商
private String supplier;
// 个人支付金额
private String personalAmount;
// 公司统付金额
private String companyAmount;
// 超标原因
private String overStandardReason;
// 出行人组织架构信息1
private String BOOK_ORG_STRUCT_1;
// 出行人组织架构信息2
private String BOOK_ORG_STRUCT_2;
// 出行人组织架构信息3
private String BOOK_ORG_STRUCT_3;
// 付款方式 0公司统付 1个人付 2混付
private String paymentType;
// 保险费
private String insuranceFee;
// 项目订单号
private String projectOrderNo;
// 成本中心
private String costCenter;
private String applicantId;
public static TrainOrderDetailDto copyFrom(TrainOrderDetail trainOrderDetail) {
if (trainOrderDetail == null) {
return null;
}
TrainOrderDetailDto trainOrderDetailDto = BeanUtil.copyProperties(trainOrderDetail, TrainOrderDetailDto.class);
return trainOrderDetailDto;
}
}

View File

@ -12,7 +12,7 @@ public class CarQuickOrderInfoEntity {
private OrderInsurance OrderInsurance; // 订单保险信息
private OrderInvoice OrderInvoice; // 订单发票信息
private CarPassengerInfo PassengerInfo; // 乘客信息
// private List<PaymentInfo> PaymentInfoList; // 支付信息列表
private List<PaymentInfo> PaymentInfoList; // 支付信息列表
// private List<PaymentSettlement> PaymentSettlementList; // 支付结算列表
private List<ChoosedVehicle> ChoosedVehicleList; // 选择的车辆列表
// private OrderConfigInfo OrderConfigInfo; // 订单配置信息

View File

@ -5,9 +5,12 @@ import lombok.Data;
// 支付信息类
@Data
public class PaymentInfo {
private String amount; // 金额
private String billNo; // 账单号
private String paidTime; // 支付时间
private String paymentCategory; // 支付类别
private Double Amount; // 金额
private String BillNo; // 账单号
private String PaidTime; // 支付时间
private String PaymentCategory; // 支付类别
private String PaymentId; // 账单号
private String PaymentRemark; // 支付时间
private String PaymentType; // 支付类别
// Other fields and getters/setters
}