同程结算接口字段添加

This commit is contained in:
dengwc 2024-03-26 15:14:51 +08:00
parent 59ed3cce53
commit 8f0aa3bc82
14 changed files with 636 additions and 2 deletions

View File

@ -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; // 已超标

View File

@ -99,7 +99,6 @@ public class BPMController {
));
}
}
}
return Result.Success(CommonMessageConstant.SUCCESS);

View File

@ -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<Integer> 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;//外部申请单号
}

View File

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

View File

@ -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;//入参
}

View File

@ -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> 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> 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;//差旅备注
}
}

View File

@ -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> 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> 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;//差旅备注
}
}

View File

@ -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> 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> 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;//差旅备注
}
}

View File

@ -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> 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> 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;//差旅备注
}
}

View File

@ -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;//内容
}

View File

@ -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;//总结果数
}

View File

@ -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> 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;//待付款
}
}

View File

@ -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;//结算周期结束时间
}
}

View File

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