From 8f0aa3bc825ff47e256e2a8190e62b9cf24b4e8e Mon Sep 17 00:00:00 2001 From: dengwc Date: Tue, 26 Mar 2024 15:14:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E7=A8=8B=E7=BB=93=E7=AE=97=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=AD=97=E6=AE=B5=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../infrastructure/constant/LYConstant.java | 10 +- .../interfaces/rest/bpm/BPMController.java | 1 - .../reconciliation/dto/BaseDetailParam.java | 37 ++++++ .../ly/reconciliation/dto/BaseResponse.java | 14 +++ .../dto/BaseStatementDetail.java | 21 ++++ .../dto/DetailResponse/CarStatement.java | 87 ++++++++++++++ .../dto/DetailResponse/FlightStatement.java | 109 ++++++++++++++++++ .../dto/DetailResponse/HotelStatement.java | 94 +++++++++++++++ .../dto/DetailResponse/TrainStatement.java | 93 +++++++++++++++ .../DetailResponse/TripSubmitItemList.java | 17 +++ .../rest/ly/reconciliation/dto/PageInfo.java | 20 ++++ .../dto/statementList/ResStatementList.java | 41 +++++++ .../dto/statementList/StatementList.java | 30 +++++ .../reconciliation/request/ReqStatement.java | 64 ++++++++++ 14 files changed, 636 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseDetailParam.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseResponse.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseStatementDetail.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/CarStatement.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/FlightStatement.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/HotelStatement.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/TrainStatement.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/TripSubmitItemList.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/PageInfo.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/statementList/ResStatementList.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/statementList/StatementList.java create mode 100644 src/main/java/com/chint/interfaces/rest/ly/reconciliation/request/ReqStatement.java diff --git a/src/main/java/com/chint/infrastructure/constant/LYConstant.java b/src/main/java/com/chint/infrastructure/constant/LYConstant.java index ec700c4f..6f470cc9 100644 --- a/src/main/java/com/chint/infrastructure/constant/LYConstant.java +++ b/src/main/java/com/chint/infrastructure/constant/LYConstant.java @@ -35,6 +35,14 @@ public class LYConstant { public static final String L_Y_HOTEL_List = "/api/Hotel/GetHotelCityList"; //酒店城市列表 public static final String L_Y_HOTEL_MIN_PRICE = "/api/Hotel/GetHotelMinPrice";//酒店估算价格 + //结算 + public static final String L_Y_ORDER_LIST_STATEMENT = "/api/Order/QueryOnlineStatementPageList";//查询对账单列表 + public static final String L_Y_ORDER_FLIGHT_STATEMENT = "/api/Order/QueryOnlineStatementFlightDetailPageList";//查询机票账单详情 + public static final String L_Y_ORDER_HOTEL_STATEMENT = "/api/Order/QueryOnlineStatementHotelDetailPageList";//查询酒店账单详情 + public static final String L_Y_ORDER_TRAIN_STATEMENT = "/api/Order/QueryOnlineStatementTrainDetailPageList";//查询火车票账单详情 + public static final String L_Y_ORDER_CAR_STATEMENT = "/api/Order/QueryOnlineStatementCarDetailPageList";//查询用车账单详情 + + public static final Integer L_Y_IS_RULE_VIOLATE = 1; // 已超标 public static final Integer L_Y_IS_NOT_RULE_VIOLATE = 0; // 已超标 @@ -49,7 +57,7 @@ public class LYConstant { public static final int L_Y_CAR_FEE_TYPE_START = 1; //起步费 public static final int L_Y_CAR_FEE_TYPE_MILE = 2; //里程费 - public static final int L_Y_CAR_FEE_TYPE_TIME= 3; //时长费 + public static final int L_Y_CAR_FEE_TYPE_TIME = 3; //时长费 public static final int L_Y_CAR_FEE_TYPE_CANCEL = 4; //取消费 //同程订单推送类型 diff --git a/src/main/java/com/chint/interfaces/rest/bpm/BPMController.java b/src/main/java/com/chint/interfaces/rest/bpm/BPMController.java index 76d580b2..dd4fc93c 100644 --- a/src/main/java/com/chint/interfaces/rest/bpm/BPMController.java +++ b/src/main/java/com/chint/interfaces/rest/bpm/BPMController.java @@ -99,7 +99,6 @@ public class BPMController { )); } - } } return Result.Success(CommonMessageConstant.SUCCESS); diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseDetailParam.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseDetailParam.java new file mode 100644 index 00000000..401fdfbf --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseDetailParam.java @@ -0,0 +1,37 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 查询账单详情入参 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class BaseDetailParam { + //只有机票需要传 + private String tickerNo;//机票票号 + private String outEnterpriseId;//外部企业ID (企业在渠道放的唯一ID) + private Integer pageIndex;//当前页码 + private Integer pageSize;//页码大小 + private String statementCode;//对账单编码 + private List statementStatus;//账单状态 0-待确认、1-已确认、2-已提交开票 + private String orderSerialNo;//订单号 + private String passengerName;//差旅人姓名 + private String passengerDepartment;//差旅人部门 + private String passengerCostCenter;//差旅人成本中心 + private String reserveManName;//预定人姓名 + private String reserveManDepartment;//预定人部门 + private String reserveManCostCenter;//预定人成本中心 + private String enterAccountBegin;//入账时间开始 + private String enterAccountEnd;//入账时间结束 + private String bookingBegin;//预定时间开始 + private String bookingEnd;//预定时间结束 + private String outApplayOrderNo;//外部申请单号 +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseResponse.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseResponse.java new file mode 100644 index 00000000..16507fde --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseResponse.java @@ -0,0 +1,14 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto; + +import lombok.Data; + +/** + * 响应数据 + */ +@Data +public class BaseResponse { + private Boolean success;//成功:true,失败:false + private String errorCode;//状态码 + private String errorMessage;//消息 + private int errorType; //默认0 +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseStatementDetail.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseStatementDetail.java new file mode 100644 index 00000000..44dbc09f --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/BaseStatementDetail.java @@ -0,0 +1,21 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto; + +import com.chint.interfaces.rest.ly.dto.LYBaseRequest; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 查询订单账单详细入参 + */ + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class BaseStatementDetail extends LYBaseRequest { + + private BaseDetailParam param;//入参 + +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/CarStatement.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/CarStatement.java new file mode 100644 index 00000000..f0122d3f --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/CarStatement.java @@ -0,0 +1,87 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse; + +import com.chint.interfaces.rest.ly.reconciliation.dto.BaseResponse; +import com.chint.interfaces.rest.ly.reconciliation.dto.PageInfo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 查询用车账单详情响应 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CarStatement extends BaseResponse { + private Data data; //数据 + + @lombok.Data + public static class Data { + private List statementOrderList;//订单列表 + private PageInfo pageInfo;//分页信息 + private String statementCode;//对账单编码 + private Double toBeConfirmedAmount;//待确认金额 + private Double confirmedAmount;//已确认金额 + private String statementDateBegin;//对账周期开始 + private String statementDateEnd;//对账周期结束 + } + @lombok.Data + public static class StatementOrderList { + private String carStartPlaceActual;//实际上车地点 + private String carEndPlaceActual;//实际下车地点 + private String planBeginDate;//出发时间 + private String startCityName;//出发城市 + private int useCarAmount;//用车金额 + private String carScene;//用车场景 + private String subjectMatter;//用车事由 + private String subjectRemark;//用车事由备注 + + + private String passengerPositionLevelName;//出行人职级 + private String refundChangeReason;//退改原因 + private String productType;//产品类型名称 + private String statementCode;//对账单编码 + private String orderSerialNo;//订单编号 + private Double toBePayAmount;//待付款 + private String billOrderNo;//账单编号 + private String outApplayOrderNo;//外部申请单号 + private String enterAccount;//入账时间 + private String passengerName;//差旅人姓名 + private String passengerDepartment;//差旅人部门 + private String passengerCostCenter;//差旅人成本中心 + private String passengerExpand1;//差旅人扩展1 + private String passengerExpand2;//差旅人扩展2 + private String passengerExpand3;//差旅人扩展3 + private String passengerExpand4;//差旅人扩展4 + private String passengerId;//差旅人id + private String passengerExternalId;//差旅人外部员工id + private String passengerNo;//差旅人工号 + private String reserveManId;//预定人id + private String reserveManNo;//预定人工号 + private String reserveManName;//预定人姓名 + private String reserveManDepartment;//预定人部门 + private String reserveManCostCenter;//预定人成本中心 + private String statementOrderState;//对账单状态0-待确认、1-已确认、2-已提交开票 + private Integer statementOrderStateId;//对账单状态0-待确认、1-已确认、2-已提交开票 + private String bookingDate;//预定时间 + private Integer tripTypeId;//行程类型 国内/国外 + private Double ticketOutAmount;//票面 + private Double serviceAmount;//服务费 + private Double insuranceAmount;//保险 + private List tripSubmitItemList;//行程提交项 + private String orderOperType;//类型 预订/变更/退票 + private String payType;//支付类型(1:企业授信 / 2:个人支付 / 3:组合支付) + private Double totalShouldPay;//总计应付 + private String originOrderSerialNo;//原单号 + private String bookingPlat;//预订方式 + private String referStatementCode;//关联账单号 + private String reserveManExpand1;//预订人扩展1 + private String reserveManExpand2;//预订人扩展2 + private String reserveManExpand3;//预订人扩展3 + private String reserveManExpand4;//预订人扩展4 + private String travelRemark;//差旅备注 + } + +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/FlightStatement.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/FlightStatement.java new file mode 100644 index 00000000..423459a5 --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/FlightStatement.java @@ -0,0 +1,109 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse; + +import com.chint.interfaces.rest.ly.reconciliation.dto.BaseResponse; +import com.chint.interfaces.rest.ly.reconciliation.dto.PageInfo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 查询机票账单详情响应 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class FlightStatement extends BaseResponse { + + private Data data; //数据 + + @lombok.Data + public static class Data { + private List statementOrderList;//订单列表 + private PageInfo pageInfo;//分页信息 + private String statementCode;//对账单编码 + private Double toBeConfirmedAmount;//待确认金额 + private Double confirmedAmount;//已确认金额 + private String statementDateBegin;//对账周期开始 + private String statementDateEnd;//对账周期结束 + } + + @lombok.Data + public static class StatementOrderList { + private String airlineCompanyName;//航司 + private String discount;//折扣 + private Double nHoursMinPrice;//前后N小时内最低价 + private Double dayMinPrice;//全天最低价 + private Double fligthMinPrice;//当前航班最低价 + private Double upgradeFee;//升舱费 + private Double ticketTotalAmount;//机票金额 票面价+燃油费+升舱费 + private Double ticketDeductibleTax;//机票可抵税额 + private Double serviceDeductibleTax;//服务费税额 + private String tripName;//行程 + private String tripNo;//行程单号 + private String tripType;//行程类型 + private String fligthNo;//航班号 + private String planBeginDate;//起飞时间 + private String seatClass;//机舱等级 + private String ticketNo;//票号 + private Double capitalCost;//基建 + private Double fuelCost;//燃油税 + private Double changeFee;//改签费 + private Double refundFee;//退票费 + private Integer ticketStatusId;//机票状态 + private String ticketStatus;//机票状态描述 + private Double usedSegmentTicketAmount;//已用航段票面价 + private Double usedSegmentTax;//已用航段税金 + private Double taxDifference;//税差 改签单和 原单的 基建 燃油差 + private String planEndDate;//到达时间 + private String violationReason;//违规原因 + private String overStandardStatus;//是否超标 + + + private String passengerPositionLevelName;//出行人职级 + private String refundChangeReason;//退改原因 + private String productType;//产品类型名称 + private String statementCode;//对账单编码 + private String orderSerialNo;//订单编号 + private Double toBePayAmount;//待付款 + private String billOrderNo;//账单编号 + private String outApplayOrderNo;//外部申请单号 + private String enterAccount;//入账时间 + private String passengerName;//差旅人姓名 + private String passengerDepartment;//差旅人部门 + private String passengerCostCenter;//差旅人成本中心 + private String passengerExpand1;//差旅人扩展1 + private String passengerExpand2;//差旅人扩展2 + private String passengerExpand3;//差旅人扩展3 + private String passengerExpand4;//差旅人扩展4 + private String passengerId;//差旅人id + private String passengerExternalId;//差旅人外部员工id + private String passengerNo;//差旅人工号 + private String reserveManId;//预定人id + private String reserveManNo;//预定人工号 + private String reserveManName;//预定人姓名 + private String reserveManDepartment;//预定人部门 + private String reserveManCostCenter;//预定人成本中心 + private String statementOrderState;//对账单状态0-待确认、1-已确认、2-已提交开票 + private Integer statementOrderStateId;//对账单状态0-待确认、1-已确认、2-已提交开票 + private String bookingDate;//预定时间 + private Integer tripTypeId;//行程类型 国内/国外 + private Double ticketOutAmount;//票面 + private Double serviceAmount;//服务费 + private Double insuranceAmount;//保险 + private List tripSubmitItemList;//行程提交项 + private String orderOperType;//类型 预订/变更/退票 + private String payType;//支付类型(1:企业授信 / 2:个人支付 / 3:组合支付) + private Double totalShouldPay;//总计应付 + private String originOrderSerialNo;//原单号 + private String bookingPlat;//预订方式 + private String referStatementCode;//关联账单号 + private String reserveManExpand1;//预订人扩展1 + private String reserveManExpand2;//预订人扩展2 + private String reserveManExpand3;//预订人扩展3 + private String reserveManExpand4;//预订人扩展4 + private String travelRemark;//差旅备注 + } + +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/HotelStatement.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/HotelStatement.java new file mode 100644 index 00000000..33b0cf09 --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/HotelStatement.java @@ -0,0 +1,94 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse; + +import com.chint.interfaces.rest.ly.reconciliation.dto.BaseResponse; +import com.chint.interfaces.rest.ly.reconciliation.dto.PageInfo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 查询酒店账单详情响应 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class HotelStatement extends BaseResponse { + + private Data data; //数据 + + @lombok.Data + public static class Data { + private List statementOrderList;//订单列表 + private PageInfo pageInfo;//分页信息 + private String statementCode;//对账单编码 + private Double toBeConfirmedAmount;//待确认金额 + private Double confirmedAmount;//已确认金额 + private String statementDateBegin;//对账周期开始 + private String statementDateEnd;//对账周期结束 + } + + @lombok.Data + public static class StatementOrderList { + private Double supplierPoundage;//供应商手续费 + private String hotelName;//酒店名称 + private String countryName;//国家 + private String cityName;//所在城市 + private Integer hotelNights;//间夜数 + private String bedType;//房型 + private String checkInTime;//入住时间 + private String leaveTime;//离店时间 + private Double totalRoomPrice;//总房费 + private Integer customerInvoiceType;//开票类型(0.普票;1.专票) + private String customerInvoiceTypeDesc;//开票类型描述(普票,专票) + private String roomName;//房型(bedType存在空得情况) + private String violationReason;//违规原因 + private String overStandardStatus;//是否超标 + + + private String passengerPositionLevelName;//出行人职级 + private String refundChangeReason;//退改原因 + private String productType;//产品类型名称 + private String statementCode;//对账单编码 + private String orderSerialNo;//订单编号 + private Double toBePayAmount;//待付款 + private String billOrderNo;//账单编号 + private String outApplayOrderNo;//外部申请单号 + private String enterAccount;//入账时间 + private String passengerName;//差旅人姓名 + private String passengerDepartment;//差旅人部门 + private String passengerCostCenter;//差旅人成本中心 + private String passengerExpand1;//差旅人扩展1 + private String passengerExpand2;//差旅人扩展2 + private String passengerExpand3;//差旅人扩展3 + private String passengerExpand4;//差旅人扩展4 + private String passengerId;//差旅人id + private String passengerExternalId;//差旅人外部员工id + private String passengerNo;//差旅人工号 + private String reserveManId;//预定人id + private String reserveManNo;//预定人工号 + private String reserveManName;//预定人姓名 + private String reserveManDepartment;//预定人部门 + private String reserveManCostCenter;//预定人成本中心 + private String statementOrderState;//对账单状态0-待确认、1-已确认、2-已提交开票 + private Integer statementOrderStateId;//对账单状态0-待确认、1-已确认、2-已提交开票 + private String bookingDate;//预定时间 + private Integer tripTypeId;//行程类型 国内/国外 + private Double ticketOutAmount;//票面 + private Double serviceAmount;//服务费 + private Double insuranceAmount;//保险 + private List tripSubmitItemList;//行程提交项 + private String orderOperType;//类型 预订/变更/退票 + private String payType;//支付类型(1:企业授信 / 2:个人支付 / 3:组合支付) + private Double totalShouldPay;//总计应付 + private String originOrderSerialNo;//原单号 + private String bookingPlat;//预订方式 + private String referStatementCode;//关联账单号 + private String reserveManExpand1;//预订人扩展1 + private String reserveManExpand2;//预订人扩展2 + private String reserveManExpand3;//预订人扩展3 + private String reserveManExpand4;//预订人扩展4 + private String travelRemark;//差旅备注 + } +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/TrainStatement.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/TrainStatement.java new file mode 100644 index 00000000..d4387491 --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/TrainStatement.java @@ -0,0 +1,93 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse; + +import com.chint.interfaces.rest.ly.reconciliation.dto.BaseResponse; +import com.chint.interfaces.rest.ly.reconciliation.dto.PageInfo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 查询火车账单详情响应 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TrainStatement extends BaseResponse { + + private Data data; //数据 + + @lombok.Data + public static class Data { + private List statementOrderList;//订单列表 + private PageInfo pageInfo;//分页信息 + private String statementCode;//对账单编码 + private Double toBeConfirmedAmount;//待确认金额 + private Double confirmedAmount;//已确认金额 + private String statementDateBegin;//对账周期开始 + private String statementDateEnd;//对账周期结束 + } + + @lombok.Data + public static class StatementOrderList { + + private Double changeFee;//改签费 + private Double refundFee;//退票费 + private Double dealTicketPrice;//真实票根价 火车票 + private String trainNo;//车次号 + private String seatClass;//座位类型 + private String tripName;//行程名称 + private String planBeginDate;//出发时间 + private Double totalAmount;//票面总价(不含手续费) + private String planEndDate;//到达时间 + private String violationReason;//违规原因 + private String overStandardStatus;//是否超标 + + + private String passengerPositionLevelName;//出行人职级 + private String refundChangeReason;//退改原因 + private String productType;//产品类型名称 + private String statementCode;//对账单编码 + private String orderSerialNo;//订单编号 + private Double toBePayAmount;//待付款 + private String billOrderNo;//账单编号 + private String outApplayOrderNo;//外部申请单号 + private String enterAccount;//入账时间 + private String passengerName;//差旅人姓名 + private String passengerDepartment;//差旅人部门 + private String passengerCostCenter;//差旅人成本中心 + private String passengerExpand1;//差旅人扩展1 + private String passengerExpand2;//差旅人扩展2 + private String passengerExpand3;//差旅人扩展3 + private String passengerExpand4;//差旅人扩展4 + private String passengerId;//差旅人id + private String passengerExternalId;//差旅人外部员工id + private String passengerNo;//差旅人工号 + private String reserveManId;//预定人id + private String reserveManNo;//预定人工号 + private String reserveManName;//预定人姓名 + private String reserveManDepartment;//预定人部门 + private String reserveManCostCenter;//预定人成本中心 + private String statementOrderState;//对账单状态0-待确认、1-已确认、2-已提交开票 + private Integer statementOrderStateId;//对账单状态0-待确认、1-已确认、2-已提交开票 + private String bookingDate;//预定时间 + private Integer tripTypeId;//行程类型 国内/国外 + private Double ticketOutAmount;//票面 + private Double serviceAmount;//服务费 + private Double insuranceAmount;//保险 + private List tripSubmitItemList;//行程提交项 + private String orderOperType;//类型 预订/变更/退票 + private String payType;//支付类型(1:企业授信 / 2:个人支付 / 3:组合支付) + private Double totalShouldPay;//总计应付 + private String originOrderSerialNo;//原单号 + private String bookingPlat;//预订方式 + private String referStatementCode;//关联账单号 + private String reserveManExpand1;//预订人扩展1 + private String reserveManExpand2;//预订人扩展2 + private String reserveManExpand3;//预订人扩展3 + private String reserveManExpand4;//预订人扩展4 + private String travelRemark;//差旅备注 + } + +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/TripSubmitItemList.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/TripSubmitItemList.java new file mode 100644 index 00000000..154e7de7 --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/DetailResponse/TripSubmitItemList.java @@ -0,0 +1,17 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 行程提交项 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TripSubmitItemList { + private String code;//code + private String name;//名称 + private String content;//内容 +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/PageInfo.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/PageInfo.java new file mode 100644 index 00000000..942a5ee6 --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/PageInfo.java @@ -0,0 +1,20 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 分页信息 + */ + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PageInfo { + private Integer pageIndex;//当前页 + private Integer pageSize;//显示条数 + private Integer pageCount;//总页数 + private Integer dataCount;//总结果数 + +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/statementList/ResStatementList.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/statementList/ResStatementList.java new file mode 100644 index 00000000..0c1cc3d7 --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/statementList/ResStatementList.java @@ -0,0 +1,41 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto.statementList; + +import com.chint.interfaces.rest.ly.reconciliation.dto.BaseResponse; +import com.chint.interfaces.rest.ly.reconciliation.dto.PageInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; + +/** + * 查询对账单列表响应数据 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class ResStatementList extends BaseResponse { + + private Data data; //数据 + + @lombok.Data + public static class Data { + private PageInfo pageInfo;//分页信息 + private Double totalPayAmount;//总付款 + private ArrayList onlineStatementList;//对账单列表 + } + + @lombok.Data + public static class OnlineStatementList { + private String statementCode;//对账单编码 + private String beginDate;//开始时间 + private String endDate;//结束时间 + private String latestCheckDate;//最晚核对时间 + private String overDueRemark;//是否过期说明 离付款日还剩xxx天/已过期xxx天 + private Double payAmount;//待付款 + } + + +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/statementList/StatementList.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/statementList/StatementList.java new file mode 100644 index 00000000..5e158af8 --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/dto/statementList/StatementList.java @@ -0,0 +1,30 @@ +package com.chint.interfaces.rest.ly.reconciliation.dto.statementList; + +import com.chint.interfaces.rest.ly.dto.LYBaseRequest; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 查询对账单列表入参 + */ + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class StatementList extends LYBaseRequest { + + private StatementPageList param; + + @lombok.Data + public static class StatementPageList { + private String outEnterpriseId;//外部企业ID (企业在渠道放的唯一ID) + private Integer pageIndex;//当前页码 + private Integer pageSize;//页码大小 + private String beginDate;//结算周期开始时间 + private String endDate;//结算周期结束时间 + } + +} diff --git a/src/main/java/com/chint/interfaces/rest/ly/reconciliation/request/ReqStatement.java b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/request/ReqStatement.java new file mode 100644 index 00000000..0564366b --- /dev/null +++ b/src/main/java/com/chint/interfaces/rest/ly/reconciliation/request/ReqStatement.java @@ -0,0 +1,64 @@ +package com.chint.interfaces.rest.ly.reconciliation.request; + +import com.chint.infrastructure.constant.LYConstant; +import com.chint.interfaces.rest.ly.LYPostRequest; +import com.chint.interfaces.rest.ly.reconciliation.dto.BaseStatementDetail; +import com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse.CarStatement; +import com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse.FlightStatement; +import com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse.HotelStatement; +import com.chint.interfaces.rest.ly.reconciliation.dto.DetailResponse.TrainStatement; +import com.chint.interfaces.rest.ly.reconciliation.dto.statementList.ResStatementList; +import com.chint.interfaces.rest.ly.reconciliation.dto.statementList.StatementList; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +@Component +public class ReqStatement { + + @Autowired + private LYPostRequest postRequest; + + @Value("${ly.baseUrl}") + private String lyBaseUrl; + + /** + * 查询对账单列表 + */ + public ResStatementList queryStatementList(StatementList statementList) { + String url = lyBaseUrl + LYConstant.L_Y_ORDER_LIST_STATEMENT; + return postRequest.post(url, statementList, ResStatementList.class); + } + + /** + * 查询机票账单详情 + */ + public FlightStatement queryFlightStatement(BaseStatementDetail statementDetail) { + String url = lyBaseUrl + LYConstant.L_Y_ORDER_FLIGHT_STATEMENT; + return postRequest.post(url, statementDetail, FlightStatement.class); + } + + /** + * 查询酒店账单详情 + */ + public HotelStatement queryHotelStatement(BaseStatementDetail statementDetail) { + String url = lyBaseUrl + LYConstant.L_Y_ORDER_HOTEL_STATEMENT; + return postRequest.post(url, statementDetail, HotelStatement.class); + } + + /** + * 查询火车票账单详情 + */ + public TrainStatement queryTrainStatement(BaseStatementDetail statementDetail) { + String url = lyBaseUrl + LYConstant.L_Y_ORDER_TRAIN_STATEMENT; + return postRequest.post(url, statementDetail, TrainStatement.class); + } + + /** + * 查询用车账单详情 + */ + public CarStatement queryCarStatement(BaseStatementDetail statementDetail) { + String url = lyBaseUrl + LYConstant.L_Y_ORDER_CAR_STATEMENT; + return postRequest.post(url, statementDetail, CarStatement.class); + } +}