提交代码
This commit is contained in:
parent
6e62a17d19
commit
86c90598ce
|
@ -22,6 +22,7 @@ import java.util.Optional;
|
||||||
|
|
||||||
import static com.chint.infrastructure.constant.CommonMessageConstant.NOT_FOUND;
|
import static com.chint.infrastructure.constant.CommonMessageConstant.NOT_FOUND;
|
||||||
import static com.chint.infrastructure.constant.LegConstant.*;
|
import static com.chint.infrastructure.constant.LegConstant.*;
|
||||||
|
import static com.chint.infrastructure.constant.OrderConstant.ORDER_EVENT_ETA;
|
||||||
import static com.chint.infrastructure.constant.OrderConstant.ORDER_EVENT_PREPARE_NAME;
|
import static com.chint.infrastructure.constant.OrderConstant.ORDER_EVENT_PREPARE_NAME;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@ -134,7 +135,7 @@ public class OrderDetail implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public OrderEvent getLastEvent() {
|
public OrderEvent getLastEvent() {
|
||||||
if(this.orderEventList == null){
|
if (this.orderEventList == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return this.orderEventList.isEmpty() ? null : this.orderEventList.get(this.orderEventList.size() - 1);
|
return this.orderEventList.isEmpty() ? null : this.orderEventList.get(this.orderEventList.size() - 1);
|
||||||
|
@ -143,6 +144,16 @@ public class OrderDetail implements Serializable {
|
||||||
// .orElseThrow(() -> new NotFoundException(NOT_FOUND));
|
// .orElseThrow(() -> new NotFoundException(NOT_FOUND));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Optional<OrderEvent> getETAEvent() {
|
||||||
|
if (this.orderEventList == null) {
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
|
return this.orderEventList
|
||||||
|
.stream()
|
||||||
|
.filter(it -> it.getEventType().equals(ORDER_EVENT_ETA))
|
||||||
|
.findFirst();
|
||||||
|
}
|
||||||
|
|
||||||
public OrderDetail price(String price) {
|
public OrderDetail price(String price) {
|
||||||
this.price = price;
|
this.price = price;
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.chint.domain.aggregates.order.order_record;
|
package com.chint.domain.aggregates.order.order_record;
|
||||||
|
|
||||||
|
import com.chint.domain.aggregates.order.OrderDetail;
|
||||||
|
import com.chint.domain.aggregates.order.OrderEvent;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
@ -7,6 +9,11 @@ import lombok.experimental.Accessors;
|
||||||
import org.springframework.data.annotation.Id;
|
import org.springframework.data.annotation.Id;
|
||||||
import org.springframework.data.relational.core.mapping.Table;
|
import org.springframework.data.relational.core.mapping.Table;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import static com.chint.infrastructure.constant.OrderConstant.ORDER_EVENT_ETA;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Table("order_car_record")
|
@Table("order_car_record")
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
@ -62,6 +69,7 @@ public class OrderCarRecord extends OrderBaseRecord {
|
||||||
private String projectOrderNo; // 项目订单号
|
private String projectOrderNo; // 项目订单号
|
||||||
private String offlineCcomyCode; // 成本中心
|
private String offlineCcomyCode; // 成本中心
|
||||||
private String orderSource; // 预订来源:线上/线下
|
private String orderSource; // 预订来源:线上/线下
|
||||||
|
private String payAmount;//支付总金额
|
||||||
|
|
||||||
|
|
||||||
//添加行程信息
|
//添加行程信息
|
||||||
|
@ -101,10 +109,12 @@ public class OrderCarRecord extends OrderBaseRecord {
|
||||||
// 加载财务信息
|
// 加载财务信息
|
||||||
public OrderCarRecord loadFinancialInfo(String accountPeriod,
|
public OrderCarRecord loadFinancialInfo(String accountPeriod,
|
||||||
String billNo,
|
String billNo,
|
||||||
String orderAmount) {
|
String orderAmount,
|
||||||
|
String payAmount) {
|
||||||
this.setAccountPeriod(accountPeriod);
|
this.setAccountPeriod(accountPeriod);
|
||||||
this.setBillNo(billNo);
|
this.setBillNo(billNo);
|
||||||
this.setOrderAmount(orderAmount);
|
this.setOrderAmount(orderAmount);
|
||||||
|
this.setPayAmount(payAmount);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,10 +161,14 @@ public class OrderCarRecord extends OrderBaseRecord {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载超标信息
|
// 加载超标信息
|
||||||
public OrderCarRecord loadComplianceInfo(String overStandard,
|
public OrderCarRecord loadComplianceInfo(OrderDetail orderDetail) {
|
||||||
String overStandardReason) {
|
orderDetail.getETAEvent().ifPresentOrElse(it->{
|
||||||
this.setOverStandard(overStandard);
|
this.setOverStandard("是");
|
||||||
this.setOverStandardReason(overStandardReason);
|
this.setOverStandardReason(overStandardReason);
|
||||||
|
},()->{
|
||||||
|
this.setOverStandard("否");
|
||||||
|
this.setOverStandardReason("");
|
||||||
|
});
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@ import org.springframework.data.relational.core.mapping.Table;
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
public class OrderHotelRecord extends OrderBaseRecord{
|
public class OrderHotelRecord extends OrderBaseRecord {
|
||||||
@Id
|
@Id
|
||||||
private Long id;
|
private Long id;
|
||||||
private Long orderDetailId;
|
private Long orderDetailId;
|
||||||
|
@ -83,14 +83,19 @@ public class OrderHotelRecord extends OrderBaseRecord{
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载酒店和入住信息
|
// 加载酒店和入住信息
|
||||||
public OrderHotelRecord loadHotelAndStayInfo(String hotelName, String hotelAddress, String checkInDate, String departureDate,
|
public OrderHotelRecord loadHotelInfo(String hotelName, String hotelAddress, String checkInDate, String departureDate,
|
||||||
int roomCount, String roomTypeName, String country, String province, String checkInCity) {
|
int roomCount, String roomTypeName) {
|
||||||
this.setHotelName(hotelName);
|
this.setHotelName(hotelName);
|
||||||
this.setHotelAddress(hotelAddress);
|
this.setHotelAddress(hotelAddress);
|
||||||
this.setCheckInDate(checkInDate);
|
this.setCheckInDate(checkInDate);
|
||||||
this.setDepartureDate(departureDate);
|
this.setDepartureDate(departureDate);
|
||||||
this.setRoomCount(roomCount);
|
this.setRoomCount(roomCount);
|
||||||
this.setRoomTypeName(roomTypeName);
|
this.setRoomTypeName(roomTypeName);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载地理信息位置
|
||||||
|
public OrderHotelRecord loadLocationInfo(String country, String province, String checkInCity) {
|
||||||
this.setCountry(country);
|
this.setCountry(country);
|
||||||
this.setProvince(province);
|
this.setProvince(province);
|
||||||
this.setCheckInCity(checkInCity);
|
this.setCheckInCity(checkInCity);
|
||||||
|
@ -199,5 +204,4 @@ public class OrderHotelRecord extends OrderBaseRecord{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,107 @@
|
||||||
|
package com.chint.domain.aggregates.order.order_record.ctrip_order_record;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.chint.interfaces.rest.ctrip.dto.order.OrderHotelResponse;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.data.annotation.Id;
|
||||||
|
import org.springframework.data.relational.core.mapping.Table;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Table("c_trip_hotel_order_detail")
|
||||||
|
public class CTripHotelOrderDetail implements Serializable {
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1027124557206346513L;
|
||||||
|
@Id
|
||||||
|
private Long id;
|
||||||
|
private Long cTripHotelRecordId;
|
||||||
|
private Long OrderId;
|
||||||
|
private String EmployeeName;
|
||||||
|
private String EmployeeID;
|
||||||
|
private String WorkCity;
|
||||||
|
private String OrderDate;
|
||||||
|
private String RoomName;
|
||||||
|
private String RoomNameEN;
|
||||||
|
private Integer RoomQuantity;
|
||||||
|
private String ClientName;
|
||||||
|
private String StartTime;
|
||||||
|
private String EndTime;
|
||||||
|
private Double PostAmount;
|
||||||
|
private String IsHasSpecialInvoice;
|
||||||
|
private String ServerFrom;
|
||||||
|
private String LowPriceRC;
|
||||||
|
private String LowPriceRC_VV;
|
||||||
|
private String LowPriceRCInfo;
|
||||||
|
private String LowPriceRCInfoEN;
|
||||||
|
private String AgreementRC;
|
||||||
|
private String AgreementRC_VV;
|
||||||
|
private String AgreementRCInfo;
|
||||||
|
private String AgreementRCInfoEN;
|
||||||
|
private String CostCenter;
|
||||||
|
private String CostCenter2;
|
||||||
|
private String CostCenter3;
|
||||||
|
private String CostCenter4;
|
||||||
|
private String CostCenter5;
|
||||||
|
private String CostCenter6;
|
||||||
|
private String JourneyReason;
|
||||||
|
private String Project;
|
||||||
|
private String DefineTitleContent;
|
||||||
|
private String DefineTitleContent2;
|
||||||
|
private String HotelRelatedJourneyNo;
|
||||||
|
private String Remarks;
|
||||||
|
private String PayType;
|
||||||
|
private String BalanceType;
|
||||||
|
private String IsMixPayment;
|
||||||
|
private Double SettlementACCNTAmt;
|
||||||
|
private Double SettlementPersonAmt;
|
||||||
|
private Double CouponAmount;
|
||||||
|
private String Dept1;
|
||||||
|
private String Dept2;
|
||||||
|
private String Dept3;
|
||||||
|
private String Dept4;
|
||||||
|
private String Dept5;
|
||||||
|
private String Dept6;
|
||||||
|
private String Dept7;
|
||||||
|
private String Dept8;
|
||||||
|
private String Dept9;
|
||||||
|
private String Dept10;
|
||||||
|
private String MinPriceRC;
|
||||||
|
private String MinPriceRC_VV;
|
||||||
|
private String RankName;
|
||||||
|
private String RankNameEn;
|
||||||
|
private String ConfirmType;
|
||||||
|
private String ConfirmType2;
|
||||||
|
private String ConfirmPerson;
|
||||||
|
private String ConfirmPerson2;
|
||||||
|
private String ConfirmPersonCC;
|
||||||
|
private String ConfirmPersonCC2;
|
||||||
|
private String ConfirmPersonName;
|
||||||
|
private String ConfirmPersonName2;
|
||||||
|
private String ConfirmPersonCCName;
|
||||||
|
private String ConfirmPersonCCName2;
|
||||||
|
private Double TPMaxPrice;
|
||||||
|
private String RoomType;
|
||||||
|
private Integer MealType;
|
||||||
|
private String ProjectCode;
|
||||||
|
private String CancelReason;
|
||||||
|
private String CancelReasonDesc;
|
||||||
|
private String ContractRoomExistedFlag;
|
||||||
|
private String RefundTime;
|
||||||
|
private String RepeatBookingRC;
|
||||||
|
private String RepeatBookingDesc;
|
||||||
|
private String RepeatBookingRC_VV;
|
||||||
|
private String UserNamePinyin;
|
||||||
|
private String ConfigCurrency;
|
||||||
|
private Double ConfigExchangeToSettlement;
|
||||||
|
private Double TPConfigMinPrice;
|
||||||
|
private Double TPConfigMaxPrice;
|
||||||
|
private String ReservationType;
|
||||||
|
private String PreEmail;
|
||||||
|
public static CTripHotelOrderDetail of(OrderHotelResponse.SettlementOrderDetail data) {
|
||||||
|
return BeanUtil.copyProperties(data, CTripHotelOrderDetail.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -20,12 +20,15 @@ public class CTripHotelRecord {
|
||||||
private CTripHotelRecordBase cTripHotelRecordBase;
|
private CTripHotelRecordBase cTripHotelRecordBase;
|
||||||
@MappedCollection(idColumn = "c_trip_hotel_record_id")
|
@MappedCollection(idColumn = "c_trip_hotel_record_id")
|
||||||
private CTripHotelInfo cTripHotelInfo;
|
private CTripHotelInfo cTripHotelInfo;
|
||||||
|
@MappedCollection(idColumn = "c_trip_hotel_record_id")
|
||||||
|
private CTripHotelOrderDetail cTripHotelOrderDetail;
|
||||||
|
|
||||||
public static CTripHotelRecord of(CTripHotelRecordBase cTripHotelRecordBase, CTripHotelInfo cTripHotelInfo) {
|
public static CTripHotelRecord of(CTripHotelRecordBase cTripHotelRecordBase, CTripHotelInfo cTripHotelInfo, CTripHotelOrderDetail cTripHotelOrderDetail) {
|
||||||
CTripHotelRecord cTripHotelRecord = new CTripHotelRecord();
|
CTripHotelRecord cTripHotelRecord = new CTripHotelRecord();
|
||||||
cTripHotelRecord.setRecordId(String.valueOf(cTripHotelRecordBase.getRecordId()));
|
cTripHotelRecord.setRecordId(String.valueOf(cTripHotelRecordBase.getRecordId()));
|
||||||
cTripHotelRecord.setCTripHotelRecordBase(cTripHotelRecordBase);
|
cTripHotelRecord.setCTripHotelRecordBase(cTripHotelRecordBase);
|
||||||
cTripHotelRecord.setCTripHotelInfo(cTripHotelInfo);
|
cTripHotelRecord.setCTripHotelInfo(cTripHotelInfo);
|
||||||
|
cTripHotelRecord.setCTripHotelOrderDetail(cTripHotelOrderDetail);
|
||||||
cTripHotelRecord.setCreateTime(DateTimeUtil.strToTimeMM(cTripHotelRecordBase.getCreateTime()));
|
cTripHotelRecord.setCreateTime(DateTimeUtil.strToTimeMM(cTripHotelRecordBase.getCreateTime()));
|
||||||
return cTripHotelRecord;
|
return cTripHotelRecord;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,25 @@
|
||||||
package com.chint.domain.factoriy.order_record;
|
package com.chint.domain.factoriy.order_record;
|
||||||
|
|
||||||
|
import com.chint.application.dtos.response.LocationRes;
|
||||||
|
import com.chint.domain.aggregates.order.CarOrderDetail;
|
||||||
|
import com.chint.domain.aggregates.order.Location;
|
||||||
|
import com.chint.domain.aggregates.order.OrderDetail;
|
||||||
import com.chint.domain.aggregates.order.RouteOrder;
|
import com.chint.domain.aggregates.order.RouteOrder;
|
||||||
import com.chint.domain.aggregates.order.order_record.OrderCarRecord;
|
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.OrderFlightRecord;
|
||||||
import com.chint.domain.aggregates.order.order_record.OrderHotelRecord;
|
import com.chint.domain.aggregates.order.order_record.OrderHotelRecord;
|
||||||
import com.chint.domain.aggregates.order.order_record.OrderTrainRecord;
|
import com.chint.domain.aggregates.order.order_record.OrderTrainRecord;
|
||||||
import com.chint.domain.aggregates.order.order_record.ctrip_order_record.CTripCarQuickInfo;
|
import com.chint.domain.aggregates.order.order_record.ctrip_order_record.*;
|
||||||
import com.chint.domain.aggregates.order.order_record.ctrip_order_record.CTripCarRecord;
|
import com.chint.domain.repository.LocationRepository;
|
||||||
import com.chint.domain.aggregates.order.order_record.ctrip_order_record.CTripCarRecordBase;
|
|
||||||
import com.chint.domain.repository.RouteRepository;
|
import com.chint.domain.repository.RouteRepository;
|
||||||
import com.chint.domain.service.OrderDetailDomainService;
|
import com.chint.domain.service.OrderDetailDomainService;
|
||||||
import com.chint.infrastructure.repository.jdbc.JdbcCtripHotelOrderDetailRepository;
|
import com.chint.infrastructure.repository.jdbc.JdbcCtripHotelOrderDetailRepository;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class CTripOrderRecordExtensionFactory implements OrderRecordExtensionFactory {
|
public class CTripOrderRecordExtensionFactory implements OrderRecordExtensionFactory {
|
||||||
|
|
||||||
|
@ -23,21 +29,25 @@ public class CTripOrderRecordExtensionFactory implements OrderRecordExtensionFac
|
||||||
private JdbcCtripHotelOrderDetailRepository jdbcCtripHotelOrderDetailRepository;
|
private JdbcCtripHotelOrderDetailRepository jdbcCtripHotelOrderDetailRepository;
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderRecordFactory orderRecordFactory;
|
private OrderRecordFactory orderRecordFactory;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RouteRepository routeRepository;
|
private RouteRepository routeRepository;
|
||||||
|
@Autowired
|
||||||
|
private LocationRepository locationRepository;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrderCarRecord createCarOrderRecord(Object orderCarRecordData) {
|
public OrderCarRecord createCarOrderRecord(Object orderCarRecordData) {
|
||||||
CTripCarRecord cTripCarRecord = (CTripCarRecord) orderCarRecordData;
|
CTripCarRecord cTripCarRecord = (CTripCarRecord) orderCarRecordData;
|
||||||
String routeOrderNo = cTripCarRecord.getRouteOrderNo();
|
String routeOrderNo = cTripCarRecord.getRouteOrderNo();
|
||||||
RouteOrder byOrderNo = routeRepository.findByOrderNo(routeOrderNo);
|
RouteOrder byOrderNo = routeRepository.findByOrderNo(routeOrderNo);
|
||||||
|
|
||||||
OrderCarRecord orderCarRecord = orderRecordFactory
|
OrderCarRecord orderCarRecord = orderRecordFactory
|
||||||
.buildWithRouteOrder(byOrderNo)
|
.buildWithRouteOrder(byOrderNo)
|
||||||
.carRecord();
|
.carRecord();
|
||||||
|
|
||||||
CTripCarRecordBase cTripCarRecordBase = cTripCarRecord.getCTripCarRecordBase();
|
CTripCarRecordBase cTripCarRecordBase = cTripCarRecord.getCTripCarRecordBase();
|
||||||
|
//携程的打车订单可以直接通过订单号获取对应的订单
|
||||||
|
Optional<OrderDetail> orderDetail = byOrderNo.getOrderDetails().stream().filter(it -> it.getOrderNo().equals(String.valueOf(
|
||||||
|
cTripCarRecordBase.getOrderId()
|
||||||
|
))).findFirst();
|
||||||
|
|
||||||
CTripCarQuickInfo cTripCarQuickInfo = cTripCarRecord.getCTripCarQuickInfo();
|
CTripCarQuickInfo cTripCarQuickInfo = cTripCarRecord.getCTripCarQuickInfo();
|
||||||
|
|
||||||
//添加行程信息
|
//添加行程信息
|
||||||
|
@ -62,7 +72,8 @@ public class CTripOrderRecordExtensionFactory implements OrderRecordExtensionFac
|
||||||
String batchNo = cTripCarRecordBase.getBatchNoStartDate().substring(0, 6);
|
String batchNo = cTripCarRecordBase.getBatchNoStartDate().substring(0, 6);
|
||||||
orderCarRecord.loadFinancialInfo(batchNo,
|
orderCarRecord.loadFinancialInfo(batchNo,
|
||||||
cTripCarRecordBase.getSubAccCheckBatchNo(),
|
cTripCarRecordBase.getSubAccCheckBatchNo(),
|
||||||
String.valueOf(cTripCarRecordBase.getAmount()));
|
String.valueOf(cTripCarRecordBase.getAmount()),
|
||||||
|
String.valueOf(cTripCarRecordBase.getRealAmountHasPost()));
|
||||||
|
|
||||||
// 加载费用细节, 未税金额,税费,服务费,取消费,额外费用,额外费用名称 , 携程马上用车产品没有税费和额外费用字段
|
// 加载费用细节, 未税金额,税费,服务费,取消费,额外费用,额外费用名称 , 携程马上用车产品没有税费和额外费用字段
|
||||||
orderCarRecord.loadFeeDetails(String.valueOf(cTripCarRecordBase.getAmount()),
|
orderCarRecord.loadFeeDetails(String.valueOf(cTripCarRecordBase.getAmount()),
|
||||||
|
@ -91,16 +102,27 @@ public class CTripOrderRecordExtensionFactory implements OrderRecordExtensionFac
|
||||||
orderCarRecord.loadPayment(paymentType,
|
orderCarRecord.loadPayment(paymentType,
|
||||||
String.valueOf(realAmountHasPost - personAmount),
|
String.valueOf(realAmountHasPost - personAmount),
|
||||||
String.valueOf(personAmount));
|
String.valueOf(personAmount));
|
||||||
|
if (cTripCarRecord.getRouteOrderNo() == null ||
|
||||||
if(cTripCarRecord.getRouteOrderNo() == null ||
|
|
||||||
cTripCarRecord.getRouteOrderNo().isEmpty() ||
|
cTripCarRecord.getRouteOrderNo().isEmpty() ||
|
||||||
cTripCarRecord.getRouteOrderNo().isBlank()){
|
cTripCarRecord.getRouteOrderNo().isBlank()) {
|
||||||
orderCarRecord.loadSource("N");
|
orderCarRecord.loadSource("N");
|
||||||
} else {
|
} else {
|
||||||
orderCarRecord.loadSource("Y");
|
orderCarRecord.loadSource("Y");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 加载超标信息, 加载订单关联信息 , 加载订单状态 ,单号,创建时间等信息
|
||||||
|
orderDetail.ifPresent(it -> {
|
||||||
|
CarOrderDetail carOrderDetail = it.getCarOrderDetail();
|
||||||
|
orderCarRecord.loadComplianceInfo(it)
|
||||||
|
.loadRelatedOrderInfo(it.getOrderId(),
|
||||||
|
carOrderDetail.getDetailId(),
|
||||||
|
carOrderDetail.getReceiptsNum(),
|
||||||
|
carOrderDetail.getParentOrderNo(),
|
||||||
|
carOrderDetail.getOriginalOrderNo())
|
||||||
|
.loadBasicOrderInfo(carOrderDetail.getOrderNo(),
|
||||||
|
carOrderDetail.getOrderStatus(),
|
||||||
|
carOrderDetail.getCreateTime());
|
||||||
|
});
|
||||||
|
|
||||||
return orderCarRecord;
|
return orderCarRecord;
|
||||||
}
|
}
|
||||||
|
@ -119,6 +141,38 @@ public class CTripOrderRecordExtensionFactory implements OrderRecordExtensionFac
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrderHotelRecord createHotelOrderRecord(Object orderHotelRecordData) {
|
public OrderHotelRecord createHotelOrderRecord(Object orderHotelRecordData) {
|
||||||
|
CTripHotelRecord cTripHotelRecord = (CTripHotelRecord) orderHotelRecordData;
|
||||||
|
CTripHotelOrderDetail cTripHotelOrderDetail = cTripHotelRecord.getCTripHotelOrderDetail();
|
||||||
|
String routeOrderNo = cTripHotelRecord.getRouteOrderNo();
|
||||||
|
RouteOrder byOrderNo = routeRepository.findByOrderNo(routeOrderNo);
|
||||||
|
OrderHotelRecord orderHotelRecord = orderRecordFactory
|
||||||
|
.buildWithRouteOrder(byOrderNo)
|
||||||
|
.hotelRecord();
|
||||||
|
|
||||||
|
CTripHotelInfo cTripHotelInfo = cTripHotelRecord.getCTripHotelInfo();
|
||||||
|
// 加载酒店和入住信息
|
||||||
|
orderHotelRecord.loadHotelInfo(cTripHotelInfo.getHotelName(),
|
||||||
|
cTripHotelInfo.getHotelName(),
|
||||||
|
cTripHotelOrderDetail.getStartTime(),
|
||||||
|
cTripHotelOrderDetail.getEndTime(),
|
||||||
|
cTripHotelOrderDetail.getRoomQuantity(),
|
||||||
|
cTripHotelOrderDetail.getRoomName());
|
||||||
|
|
||||||
|
// 加载地理信息位置
|
||||||
|
Integer cityID = cTripHotelInfo.getCityID();
|
||||||
|
List<Location> locations = locationRepository.findByCityId(Long.valueOf(cityID));
|
||||||
|
if (locations != null && !locations.isEmpty()) {
|
||||||
|
Location location = locations.get(0);
|
||||||
|
LocationRes locationRes = LocationRes.copyFrom(location);
|
||||||
|
orderHotelRecord.loadLocationInfo(locationRes.getCountry(), locationRes.getProvince(), cTripHotelInfo.getCityName());
|
||||||
|
} else {
|
||||||
|
//如果找不到该地区,那么只能先用空的
|
||||||
|
orderHotelRecord.loadLocationInfo("", "", cTripHotelInfo.getCityName());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载酒店品牌和星级信息
|
||||||
|
// orderHotelRecord.loadBrandAndStarRateInfo()
|
||||||
|
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ public interface LocationRepository {
|
||||||
Location findByCityIdAndLevelFour(Long cityId);
|
Location findByCityIdAndLevelFour(Long cityId);
|
||||||
|
|
||||||
List<Location> findByCityIdAndLocationType(Long cityId , Integer LocationType);
|
List<Location> findByCityIdAndLocationType(Long cityId , Integer LocationType);
|
||||||
|
List<Location> findByCityId(Long cityId);
|
||||||
List<Location> findByLocationType(Integer LocationType);
|
List<Location> findByLocationType(Integer LocationType);
|
||||||
|
|
||||||
List<Location> findAllLevelThreeAndFour();
|
List<Location> findAllLevelThreeAndFour();
|
||||||
|
@ -56,7 +57,6 @@ public interface LocationRepository {
|
||||||
|
|
||||||
List<Location> findChinaCityByLevel(String locationNames, Integer level);
|
List<Location> findChinaCityByLevel(String locationNames, Integer level);
|
||||||
|
|
||||||
|
|
||||||
List<Location> findNotChintCityByLevel(String locationNames, Integer level);
|
List<Location> findNotChintCityByLevel(String locationNames, Integer level);
|
||||||
|
|
||||||
}
|
}
|
|
@ -2,6 +2,7 @@ package com.chint.domain.service;
|
||||||
|
|
||||||
|
|
||||||
import com.chint.domain.aggregates.system.JTCompany;
|
import com.chint.domain.aggregates.system.JTCompany;
|
||||||
|
import com.chint.domain.exceptions.AuthException;
|
||||||
import com.chint.domain.repository.JTCompanyRepository;
|
import com.chint.domain.repository.JTCompanyRepository;
|
||||||
import com.chint.domain.repository.SystemCodeRepository;
|
import com.chint.domain.repository.SystemCodeRepository;
|
||||||
import jakarta.annotation.PostConstruct;
|
import jakarta.annotation.PostConstruct;
|
||||||
|
@ -57,6 +58,9 @@ public class JTCompanyDomainService {
|
||||||
|
|
||||||
public String findSystemCodeByCompanyCode(String companyCode) {
|
public String findSystemCodeByCompanyCode(String companyCode) {
|
||||||
JTCompany byCompanyCode = jtCompanyRepository.findByCompanyCode(companyCode);
|
JTCompany byCompanyCode = jtCompanyRepository.findByCompanyCode(companyCode);
|
||||||
|
if(byCompanyCode == null){
|
||||||
|
throw new AuthException("用户所在公司不在实施范围内");
|
||||||
|
}
|
||||||
return systemCodeRepository.findById(byCompanyCode.getSystemCodeId()).getSystemCode();
|
return systemCodeRepository.findById(byCompanyCode.getSystemCodeId()).getSystemCode();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.chint.domain.aggregates.system.JTCompany;
|
||||||
import com.chint.domain.repository.JTCompanyRepository;
|
import com.chint.domain.repository.JTCompanyRepository;
|
||||||
import com.chint.infrastructure.repository.jdbc.JdbcJTCompanyRepositoryImpl;
|
import com.chint.infrastructure.repository.jdbc.JdbcJTCompanyRepositoryImpl;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -23,6 +24,7 @@ public class JTCompanyRepositoryImpl implements JTCompanyRepository {
|
||||||
return all;
|
return all;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Cacheable(value = "JTCompanyByCompanyCode" , key = "#companyCode")
|
||||||
@Override
|
@Override
|
||||||
public JTCompany findByCompanyCode(String companyCode) {
|
public JTCompany findByCompanyCode(String companyCode) {
|
||||||
return jdbcJTCompanyRepository.findByCompanyCode(companyCode);
|
return jdbcJTCompanyRepository.findByCompanyCode(companyCode);
|
||||||
|
|
|
@ -80,6 +80,11 @@ public class LocationRepositoryImpl implements LocationRepository {
|
||||||
return jdbcLocationRepository.findByCityIdAndLocationType(cityId, LocationType);
|
return jdbcLocationRepository.findByCityIdAndLocationType(cityId, LocationType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Location> findByCityId(Long cityId) {
|
||||||
|
return jdbcLocationRepository.findByCityId(cityId);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Location> findByLocationType(Integer LocationType) {
|
public List<Location> findByLocationType(Integer LocationType) {
|
||||||
return jdbcLocationRepository.findByLocationType(LocationType);
|
return jdbcLocationRepository.findByLocationType(LocationType);
|
||||||
|
|
|
@ -16,6 +16,7 @@ public interface JdbcLocationRepository extends CrudRepository<Location, Long> {
|
||||||
List<Location> findByLocationType(Integer locationType);
|
List<Location> findByLocationType(Integer locationType);
|
||||||
|
|
||||||
List<Location> findByCityIdAndLocationType(Long cityId, Integer locationType);
|
List<Location> findByCityIdAndLocationType(Long cityId, Integer locationType);
|
||||||
|
List<Location> findByCityId(Long cityId);
|
||||||
|
|
||||||
Location findByLocationId(Long locationId);
|
Location findByLocationId(Long locationId);
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ public class CTripOrderRecordAutoSave {
|
||||||
String.valueOf(settlementDetail.getRecordId()));
|
String.valueOf(settlementDetail.getRecordId()));
|
||||||
if (record == null) {
|
if (record == null) {
|
||||||
record = CTripHotelRecord.of(CTripHotelRecordBase.changeInfo(settlementDetail),
|
record = CTripHotelRecord.of(CTripHotelRecordBase.changeInfo(settlementDetail),
|
||||||
CTripHotelInfo.of(it.getHotelDetail()));
|
CTripHotelInfo.of(it.getHotelDetail()),CTripHotelOrderDetail.of(it.getOrderDetail()));
|
||||||
}
|
}
|
||||||
//补充额外的字段
|
//补充额外的字段
|
||||||
OrderHotelResponse.SettlementOrderDetail orderDetail = it.getOrderDetail();
|
OrderHotelResponse.SettlementOrderDetail orderDetail = it.getOrderDetail();
|
||||||
|
|
|
@ -811,9 +811,9 @@ public class LYTest {
|
||||||
System.out.println(json);
|
System.out.println(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Test
|
@Test
|
||||||
void searchTrain() {
|
void searchTrain() {
|
||||||
TrainDetailResponse trainOrderDetail = lySearchRequest.getTrainOrderDetail("DT24032167537614664");
|
TrainDetailResponse trainOrderDetail = lySearchRequest.getTrainOrderDetail("DTC24032868398852849");
|
||||||
Gson gson = new Gson();
|
Gson gson = new Gson();
|
||||||
String json = gson.toJson(trainOrderDetail);
|
String json = gson.toJson(trainOrderDetail);
|
||||||
System.out.println(json);
|
System.out.println(json);
|
||||||
|
|
|
@ -1248,4 +1248,10 @@ class RouteApplicationTests {
|
||||||
void testInBlackList(){
|
void testInBlackList(){
|
||||||
orderDomainService.checkCompanyNameIfBlack("乐清正泰电器销售有限公司");
|
orderDomainService.checkCompanyNameIfBlack("乐清正泰电器销售有限公司");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Test
|
||||||
|
void testSplid(){
|
||||||
|
String str = "20240301";
|
||||||
|
System.out.println(str.substring(0, 5));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue