完成地理信息全量的dto

This commit is contained in:
Superdandan 2024-03-01 22:06:11 +08:00
parent a0626e722b
commit 6b3813fdef
22 changed files with 524 additions and 10 deletions

View File

@ -7,10 +7,17 @@ import lombok.Data;
@Data
public class BPMLegChangeCommand extends Command {
private Leg leg;
private Leg oldLeg;
private Leg newleg;
private Integer changeType; //0 is add, 1 is update
public BPMLegChangeCommand orderNo(Leg leg) {
this.leg = leg;
public BPMLegChangeCommand oldLeg(Leg leg) {
this.oldLeg = leg;
return this;
}
public BPMLegChangeCommand newleg(Leg leg) {
this.newleg = leg;
return this;
}
}

View File

@ -241,7 +241,8 @@ public class LegEventHandler implements LegEventService {
@Override
public void pushChangeLegToBpm(BPMLegChangeCommand command) {
Leg leg = command.getLeg();
Integer changeType = command.getChangeType();
Leg leg = command.getNewleg();
Long routeId = leg.getRouteId();
RouteOrder routeOrder = routeRepository.queryById(routeId);
String sysCode = routeOrder.getApproveOrderNo().getSysCode();
@ -250,11 +251,22 @@ public class LegEventHandler implements LegEventService {
switch (bpmCode) {
case H3_BPM -> {
JTH3ChangeDto jth3ChangeDto = new JTH3ChangeDto();
// jth3ChangeDto.set
if(changeType.equals(0)){
jth3ChangeDto.addLegNewTrip(leg);
} else {
jth3ChangeDto.addLegOldTrip(command.getOldLeg());
jth3ChangeDto.addLegChangeTrip(leg);
}
bpmRequest.change(jth3ChangeDto, sysCode);
}
case XNYS_BPM -> {
XNChangeDto xnChangeDto = new XNChangeDto();
if(changeType.equals(0)){
xnChangeDto.addLegNewTrip(leg);
} else {
xnChangeDto.addLegOldTrip(command.getOldLeg());
xnChangeDto.addLegChangeTrip(leg);
}
bpmRequest.change(xnChangeDto, sysCode);
}
// case ANYS_BPM -> {

View File

@ -0,0 +1,37 @@
package com.chint.interfaces.rest.bpm.dto;
import com.chint.domain.aggregates.order.Leg;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class BaseChangeDto {
private List<LegNewTrip> JT_FI_CLBGSQ_ITEM_NewTrip;//新增行程信息 是否必填
private List<LegOldTrip> JT_FI_CLBGSQ_ITEM_OldTrip;//原行程信息 是否必填
private List<LegChangeTrip> JT_FI_CLBGSQ_ITEM_ChangeTrip;//变更行程信息 是否必填
public BaseChangeDto addLegNewTrip(Leg leg) {
if (JT_FI_CLBGSQ_ITEM_NewTrip == null) {
JT_FI_CLBGSQ_ITEM_NewTrip = new ArrayList<>();
}
JT_FI_CLBGSQ_ITEM_NewTrip.add(LegNewTrip.of(leg));
return this;
}
public BaseChangeDto addLegOldTrip(Leg leg) {
if (JT_FI_CLBGSQ_ITEM_OldTrip == null) {
JT_FI_CLBGSQ_ITEM_OldTrip = new ArrayList<>();
}
JT_FI_CLBGSQ_ITEM_OldTrip.add(LegOldTrip.of(leg));
return this;
}
public BaseChangeDto addLegChangeTrip(Leg leg) {
if (JT_FI_CLBGSQ_ITEM_ChangeTrip == null) {
JT_FI_CLBGSQ_ITEM_ChangeTrip = new ArrayList<>();
}
JT_FI_CLBGSQ_ITEM_ChangeTrip.add(LegChangeTrip.of(leg));
return this;
}
}

View File

@ -1,8 +1,10 @@
package com.chint.interfaces.rest.bpm.dto;
import com.chint.domain.aggregates.order.Leg;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.ArrayList;
import java.util.List;
/**
@ -19,4 +21,27 @@ public class JTH3ChangeDto {
private List<LegChangeTrip> JT_FI_CLBGSQ_ITEM_ChangeTrip;//变更行程信息 是否必填
//新增行程信
public JTH3ChangeDto addLegNewTrip(Leg leg) {
if (JT_FI_CLBGSQ_ITEM_NewTrip == null) {
JT_FI_CLBGSQ_ITEM_NewTrip = new ArrayList<>();
}
JT_FI_CLBGSQ_ITEM_NewTrip.add(LegNewTrip.of(leg));
return this;
}
public JTH3ChangeDto addLegOldTrip(Leg leg) {
if (JT_FI_CLBGSQ_ITEM_OldTrip == null) {
JT_FI_CLBGSQ_ITEM_OldTrip = new ArrayList<>();
}
JT_FI_CLBGSQ_ITEM_OldTrip.add(LegOldTrip.of(leg));
return this;
}
public JTH3ChangeDto addLegChangeTrip(Leg leg) {
if (JT_FI_CLBGSQ_ITEM_ChangeTrip == null) {
JT_FI_CLBGSQ_ITEM_ChangeTrip = new ArrayList<>();
}
JT_FI_CLBGSQ_ITEM_ChangeTrip.add(LegChangeTrip.of(leg));
return this;
}
}

View File

@ -15,15 +15,14 @@ public class LegOldTrip {
private String bsDate;//开始时间 是否必填
private String edDate;//结束时间 是否必填
public static LegChangeTrip of(Leg leg) {
public static LegOldTrip of(Leg leg) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LegChangeTrip legChangeTrip = new LegChangeTrip();
LegOldTrip legChangeTrip = new LegOldTrip();
legChangeTrip.setAllowProductTypes(leg.getLegTypeName())
.setDepartCitiesName(leg.getOriginLocation().getLocationName())
.setArriveCitiesName(leg.getDestinationLocation().getLocationName())
.setBsDate(formatter.format(leg.getStartTime()))
.setEdDate(formatter.format(leg.getStartTime()))
.setReason(null);
.setEdDate(formatter.format(leg.getStartTime()));
return legChangeTrip;
}
}

View File

@ -1,8 +1,10 @@
package com.chint.interfaces.rest.bpm.dto;
import com.chint.domain.aggregates.order.Leg;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.ArrayList;
import java.util.List;
@Data
@Accessors(chain = true)
@ -15,4 +17,27 @@ public class XNChangeDto {
private List<LegChangeTrip> XN_AS_CLBGSQ_ITEM_ChangeTrip;//变更行程信息 是否必填
//新增行程信息
public XNChangeDto addLegNewTrip(Leg leg) {
if (XN_AS_CLBGSQ_ITEM_NewTrip == null) {
XN_AS_CLBGSQ_ITEM_NewTrip = new ArrayList<>();
}
XN_AS_CLBGSQ_ITEM_NewTrip.add(LegNewTrip.of(leg));
return this;
}
public XNChangeDto addLegOldTrip(Leg leg) {
if (XN_AS_CLBGSQ_ITEM_OldTrip == null) {
XN_AS_CLBGSQ_ITEM_OldTrip = new ArrayList<>();
}
XN_AS_CLBGSQ_ITEM_OldTrip.add(LegOldTrip.of(leg));
return this;
}
public XNChangeDto addLegChangeTrip(Leg leg) {
if (XN_AS_CLBGSQ_ITEM_ChangeTrip == null) {
XN_AS_CLBGSQ_ITEM_ChangeTrip = new ArrayList<>();
}
XN_AS_CLBGSQ_ITEM_ChangeTrip.add(LegChangeTrip.of(leg));
return this;
}
}

View File

@ -1,8 +1,10 @@
package com.chint.interfaces.rest.bpm.dto;
import com.chint.domain.aggregates.order.Leg;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.ArrayList;
import java.util.List;
@Data
@ -14,4 +16,28 @@ public class ZWChangeDto {
private List<LegNewTrip> ZW_AS_CLBGSQ_ITEM_NewTrip;//新增行程信息 是否必填
private List<LegOldTrip> ZW_AS_CLBGSQ_ITEM_OldTrip;//原行程信息 是否必填
private List<LegChangeTrip> ZW_AS_CLBGSQ_ITEM_ChangeTrip;//变更行程信息 是否必填
public ZWChangeDto addLegNewTrip(Leg leg) {
if (ZW_AS_CLBGSQ_ITEM_NewTrip == null) {
ZW_AS_CLBGSQ_ITEM_NewTrip = new ArrayList<>();
}
ZW_AS_CLBGSQ_ITEM_NewTrip.add(LegNewTrip.of(leg));
return this;
}
public ZWChangeDto addLegOldTrip(Leg leg) {
if (ZW_AS_CLBGSQ_ITEM_OldTrip == null) {
ZW_AS_CLBGSQ_ITEM_OldTrip = new ArrayList<>();
}
ZW_AS_CLBGSQ_ITEM_OldTrip.add(LegOldTrip.of(leg));
return this;
}
public ZWChangeDto addLegChangeTrip(Leg leg) {
if (ZW_AS_CLBGSQ_ITEM_ChangeTrip == null) {
ZW_AS_CLBGSQ_ITEM_ChangeTrip = new ArrayList<>();
}
ZW_AS_CLBGSQ_ITEM_ChangeTrip.add(LegChangeTrip.of(leg));
return this;
}
}

View File

@ -0,0 +1,50 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.request;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class POICondition {
private Boolean returnAirport;
private Boolean returnTrainStation;
private Boolean returnBusStation;
// Constructor, getters, and setters would be here
public static class Builder {
private Boolean returnAirport;
private Boolean returnTrainStation;
private Boolean returnBusStation;
private QueryAllPOIInfoRequestType.Builder parentBuilder;
public Builder(QueryAllPOIInfoRequestType.Builder parentBuilder) {
this.parentBuilder = parentBuilder;
}
public Builder setReturnAirport(Boolean returnAirport) {
this.returnAirport = returnAirport;
return this;
}
public Builder setReturnTrainStation(Boolean returnTrainStation) {
this.returnTrainStation = returnTrainStation;
return this;
}
public Builder setReturnBusStation(Boolean returnBusStation) {
this.returnBusStation = returnBusStation;
return this;
}
public POICondition build() {
return new POICondition(this.returnAirport,
this.returnTrainStation,
this.returnBusStation);
}
public QueryAllPOIInfoRequestType.Builder done() {
return parentBuilder;
}
}
}

View File

@ -0,0 +1,58 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.request;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class PrefectureLevelCityCondition {
private String prefectureLevelCityIds;
private String prefectureLevelCityNames;
private Boolean returnDistrict;
private Boolean returnCounty;
// Constructor, getters, and setters would be here
public static class Builder {
private String prefectureLevelCityIds;
private String prefectureLevelCityNames;
private Boolean returnDistrict;
private Boolean returnCounty;
private ProvinceCondition.Builder parentBuilder;
public Builder(ProvinceCondition.Builder parentBuilder) {
this.parentBuilder = parentBuilder;
}
public Builder setPrefectureLevelCityIds(String prefectureLevelCityIds) {
this.prefectureLevelCityIds = prefectureLevelCityIds;
return this;
}
public Builder setPrefectureLevelCityNames(String prefectureLevelCityNames) {
this.prefectureLevelCityNames = prefectureLevelCityNames;
return this;
}
public Builder setReturnDistrict(Boolean returnDistrict) {
this.returnDistrict = returnDistrict;
return this;
}
public Builder setReturnCounty(Boolean returnCounty) {
this.returnCounty = returnCounty;
return this;
}
public PrefectureLevelCityCondition build() {
return new PrefectureLevelCityCondition(this.prefectureLevelCityIds,
this.prefectureLevelCityNames,
this.returnDistrict,
this.returnCounty);
}
public ProvinceCondition.Builder done() {
return parentBuilder;
}
}
}

View File

@ -0,0 +1,49 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.request;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class ProvinceCondition {
private String provinceIds;
private String provinceNames;
private PrefectureLevelCityCondition prefectureLevelCityConditions;
// Constructor, getters, and setters would be here
public static class Builder {
private String provinceIds;
private String provinceNames;
private QueryAllPOIInfoRequestType.Builder parentBuilder;
private PrefectureLevelCityCondition.Builder prefectureLevelCityConditionsBuilder;
public Builder(QueryAllPOIInfoRequestType.Builder parentBuilder) {
this.parentBuilder = parentBuilder;
this.prefectureLevelCityConditionsBuilder = new PrefectureLevelCityCondition.Builder(this);
}
public Builder setProvinceIds(String provinceIds) {
this.provinceIds = provinceIds;
return this;
}
public Builder setProvinceNames(String provinceNames) {
this.provinceNames = provinceNames;
return this;
}
public PrefectureLevelCityCondition.Builder prefectureLevelCityConditions() {
return prefectureLevelCityConditionsBuilder;
}
public ProvinceCondition build() {
return new ProvinceCondition(this.provinceIds, this.provinceNames,
this.prefectureLevelCityConditionsBuilder.build());
}
public QueryAllPOIInfoRequestType.Builder done() {
return parentBuilder;
}
}
}

View File

@ -0,0 +1,73 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.request;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class QueryAllPOIInfoRequestType {
private String auth;
private Long countryId;
private ProvinceCondition provinceConditions;
private POICondition poiConditions;
// QueryAllPOIInfoRequestType request = QueryAllPOIInfoRequestType.builder()
// .setAuth("your_auth_token")
// .setCountryId(1L)
// .provinceConditions()
// .setProvinceIds("province_ids")
// .setProvinceNames("province_names")
// .prefectureLevelCityConditions()
// .setPrefectureLevelCityIds("city_ids")
// .setPrefectureLevelCityNames("city_names")
// .setReturnDistrict(true)
// .setReturnCounty(false)
// .done() // returns to ProvinceCondition.Builder
// .done() // returns to QueryAllPOIInfoRequestType.Builder
// .poiConditions()
// .setReturnAirport(true)
// .setReturnTrainStation(true)
// .setReturnBusStation(false)
// .done() // returns to QueryAllPOIInfoRequestType.Builder
// .build();
public static Builder builder() {
return new Builder();
}
public static class Builder {
private String auth;
private Long countryId;
private ProvinceCondition.Builder provinceConditionsBuilder;
private POICondition.Builder poiConditionsBuilder;
public Builder() {
this.provinceConditionsBuilder = new ProvinceCondition.Builder(this);
this.poiConditionsBuilder = new POICondition.Builder(this);
}
public Builder setAuth(String auth) {
this.auth = auth;
return this;
}
public Builder setCountryId(Long countryId) {
this.countryId = countryId;
return this;
}
public ProvinceCondition.Builder provinceConditions() {
return provinceConditionsBuilder;
}
public POICondition.Builder poiConditions() {
return poiConditionsBuilder;
}
public QueryAllPOIInfoRequestType build() {
return new QueryAllPOIInfoRequestType(this.auth, this.countryId,
this.provinceConditionsBuilder.build(),
this.poiConditionsBuilder.build());
}
}
}

View File

@ -0,0 +1,12 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
@Data
public class AirportBuildingPOIInfo {
private int buildingId;
private String buildingName;
private String buildingEnName;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,15 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
import java.util.List;
@Data
public class AirportPOIInfo {
private String airportCode;
private String airportName;
private String airportEnName;
private List<AirportBuildingPOIInfo> airportBuildingList;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,12 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
@Data
public class BusStationPOIInfo {
private Long busId;
private String busName;
private String busEnName;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,15 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
@Data
public class CountyLevelCityPOI {
private Long countyId;
private String countyName;
private String countyEnName;
private Short corpFlag;
private StationInfo stationInfo;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,12 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
@Data
public class DistrictPOIInfo {
private Long districtId;
private String districtName;
private String districtEnName;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,16 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
import java.util.List;
@Data
public class POIData {
private Long provinceId;
private String provinceName;
private String provinceEnName;
private List<PrefectureLevelCityInfo> prefectureLevelCityInfoList;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,19 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
import java.util.List;
@Data
public class PrefectureLevelCityInfo {
private Long cityId;
private String cityName;
private String cityEnName;
private Short corpFlag;
private StationInfo stationInfo;
private List<CountyLevelCityPOI> countyList;
private List<DistrictPOIInfo> districtList;
private String districtCode;//行政区划代码
// Constructors, getters, and setters
}

View File

@ -0,0 +1,13 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
import java.util.List;
@Data
public class QueryAllPOIInfoResponseType {
private ResponseStatus status;
private List<POIData> dataList;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,13 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
@Data
public class ResponseStatus {
private Boolean success;
private String message;
private int errorCode;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,14 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
import java.util.List;
@Data
public class StationInfo {
private List<AirportPOIInfo> airportList;
private List<TrainStationPOIInfo> trainStationList;
private List<BusStationPOIInfo> busStationList;
// Constructors, getters, and setters
}

View File

@ -0,0 +1,12 @@
package com.chint.interfaces.rest.ctrip.dto.location.full.response;
import lombok.Data;
@Data
public class TrainStationPOIInfo {
private String trainCode;
private String trainName;
private String trainEnName;
// Constructors, getters, and setters
}