Compare commits

..

No commits in common. "3ec2668433196d745cff21a33be07b96dd5c96f8" and "0c7d51fdaa2da7c2a514c1fb859df03e16a58b4a" have entirely different histories.

4 changed files with 33 additions and 23 deletions

View File

@ -42,8 +42,8 @@ public class LegRes {
private String originDescription; private String originDescription;
@ApiModelProperty("目的地详细") @ApiModelProperty("目的地详细")
private String destinationDescription; private String destinationDescription;
private List<String> supplierList; private String supplier;
private List<String> supplierNameList; private String supplierName;
private Integer legStatus; private Integer legStatus;
private String changeReason; private String changeReason;
@ -85,14 +85,6 @@ public class LegRes {
} }
legRes.setOriginLocation(LocationRes.copyFrom(leg.getOriginLocation())); legRes.setOriginLocation(LocationRes.copyFrom(leg.getOriginLocation()));
legRes.setDestinationLocation(LocationRes.copyFrom(leg.getDestinationLocation())); legRes.setDestinationLocation(LocationRes.copyFrom(leg.getDestinationLocation()));
if (legRes.getSupplierList() == null) {
legRes.setSupplierList(new ArrayList<>());
}
if (legRes.getSupplierNameList() == null) {
legRes.setSupplierNameList(new ArrayList<>());
}
return legRes; return legRes;
} }
} }

View File

@ -17,6 +17,5 @@ public interface OrderDetailFactory {
TrainOrderDetail buildTrainWithRouteOrderAndOrderDetail(RouteOrder routeOrder, Optional<OrderDetail> orderDetail); TrainOrderDetail buildTrainWithRouteOrderAndOrderDetail(RouteOrder routeOrder, Optional<OrderDetail> orderDetail);
HotelOrderDetail buildHotelWithRouteOrderAndOrderDetail(RouteOrder routeOrder, OrderDetail orderDetail); HotelOrderDetail buildHotelWithRouteOrderAndOrderDetail(RouteOrder routeOrder, OrderDetail orderDetail);
CarOrderDetail buildCarWithRouteOrderAndOrderDetail(RouteOrder routeOrder, OrderDetail orderDetail); CarOrderDetail buildCarWithRouteOrderAndOrderDetail(RouteOrder routeOrder, OrderDetail orderDetail);
} }

View File

@ -2,6 +2,8 @@ package com.chint.domain.service;
import com.chint.application.dtos.response.LegRes; import com.chint.application.dtos.response.LegRes;
import com.chint.domain.aggregates.order.*; import com.chint.domain.aggregates.order.*;
import com.chint.domain.aggregates.supplier.Supplier;
import com.chint.domain.aggregates.supplier.SupplierProduct;
import com.chint.domain.exceptions.LegEventException; import com.chint.domain.exceptions.LegEventException;
import com.chint.domain.factoriy.leg_event.LegEventFactory; import com.chint.domain.factoriy.leg_event.LegEventFactory;
import com.chint.domain.repository.*; import com.chint.domain.repository.*;
@ -10,6 +12,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
import static com.chint.infrastructure.constant.CommonMessageConstant.LEG_CHANGE_MAX_ERROR; import static com.chint.infrastructure.constant.CommonMessageConstant.LEG_CHANGE_MAX_ERROR;
import static com.chint.infrastructure.constant.LegConstant.*; import static com.chint.infrastructure.constant.LegConstant.*;
@ -168,13 +171,6 @@ public class LegDomainService {
//通过查看供应商的商品类型来进行同步 //通过查看供应商的商品类型来进行同步
legItems = supplierDomainService.ifCanSync(legItems, supplierName); legItems = supplierDomainService.ifCanSync(legItems, supplierName);
legItems.forEach(Leg::reloadStatus);
queryLocation(legItems);
return legItems;
}
public List<Leg> syncLegExclusive(RouteOrder routeOrder, List<Leg> legItems, String supplierName) {
List<Long> alreadySyncLegs = routeOrder.getRouteRequestList() List<Long> alreadySyncLegs = routeOrder.getRouteRequestList()
.stream() .stream()
.filter(it -> it.reloadStatus().getStatus().equals(ROUTE_REQUEST_STATUS_SYNC)) .filter(it -> it.reloadStatus().getStatus().equals(ROUTE_REQUEST_STATUS_SYNC))
@ -200,6 +196,7 @@ public class LegDomainService {
List<Leg> res = new ArrayList<>(needSyncLegs); List<Leg> res = new ArrayList<>(needSyncLegs);
res.addAll(belongLegsAndSync); res.addAll(belongLegsAndSync);
res.forEach(Leg::reloadStatus); res.forEach(Leg::reloadStatus);
queryLocation(res);
return res; return res;
} }
@ -219,8 +216,8 @@ public class LegDomainService {
.map(RouteRequestLeg::getLegId) .map(RouteRequestLeg::getLegId)
.toList(); .toList();
if (legIds.contains(legRes.getLegId())) { if (legIds.contains(legRes.getLegId())) {
legRes.getSupplierList().add(routeRequest.getSupplier()); legRes.setSupplier(routeRequest.getSupplier());
legRes.getSupplierNameList().add(routeRequest.getSupplierName()); legRes.setSupplierName(routeRequest.getSupplierName());
} }
} }
} }

View File

@ -2,6 +2,7 @@ package com.chint.domain.service;
import com.chint.domain.aggregates.order.*; import com.chint.domain.aggregates.order.*;
import com.chint.domain.aggregates.supplier.Supplier; import com.chint.domain.aggregates.supplier.Supplier;
import com.chint.domain.aggregates.supplier.SupplierProduct;
import com.chint.domain.exceptions.CommandException; import com.chint.domain.exceptions.CommandException;
import com.chint.domain.factoriy.leg_event.LegEventFactory; import com.chint.domain.factoriy.leg_event.LegEventFactory;
import com.chint.domain.factoriy.order.RouteOrderFactory; import com.chint.domain.factoriy.order.RouteOrderFactory;
@ -14,7 +15,6 @@ import com.chint.domain.value_object.SyncLegData;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
@ -109,7 +109,6 @@ public class RouteRequestDomainService {
public void cancelRouteRequest(SyncLegData syncLegData) { public void cancelRouteRequest(SyncLegData syncLegData) {
List<Long> legIds = syncLegData.getLegIds();
Long routeId = syncLegData.getRouteId(); Long routeId = syncLegData.getRouteId();
RouteOrder routeOrder = routeRepository.queryById(routeId); RouteOrder routeOrder = routeRepository.queryById(routeId);
Optional<RouteRequest> optionalRouteRequest; Optional<RouteRequest> optionalRouteRequest;
@ -139,7 +138,7 @@ public class RouteRequestDomainService {
if (supplierOptional.isPresent()) { if (supplierOptional.isPresent()) {
collect = legs collect = legs
.stream() .stream()
.collect(Collectors.partitioningBy(leg -> supplierDomainService.ifCanCancel(leg, it.getSupplier()) || legIds.contains(leg.getLegId()))); .collect(Collectors.partitioningBy(leg -> supplierDomainService.ifCanCancel(leg,it.getSupplier())));
List<Leg> orderedLegs = collect.get(false); List<Leg> orderedLegs = collect.get(false);
if (!orderedLegs.isEmpty()) { if (!orderedLegs.isEmpty()) {
it.reloadGenerateRequestLegs(orderedLegs); it.reloadGenerateRequestLegs(orderedLegs);
@ -161,6 +160,29 @@ public class RouteRequestDomainService {
it.getRouteRequestLegList() it.getRouteRequestLegList()
.forEach(requestLeg -> requestLeg.getLeg().addEvent(legEventFactory.creatLegEvent(LEG_EVENT_APPROVAL))); .forEach(requestLeg -> requestLeg.getLeg().addEvent(legEventFactory.creatLegEvent(LEG_EVENT_APPROVAL)));
} }
// Map<Boolean, List<Leg>> collect = legs
// .stream()
// .collect(Collectors.partitioningBy(leg -> {
// Integer legStatus = leg.reloadStatus().getLegStatus();
// return (legStatus.equals(LEG_STATUS_ORDERED) || legStatus.equals(LEG_STATUS_PAYED) || legStatus.equals(LEG_STATUS_FINISH))
// && leg.getLegType().equals(LEG_TYPE_AIRPLANE);
// }));
// List<Leg> orderedLegs = collect.get(true);
// if (!orderedLegs.isEmpty()) {
// it.reloadGenerateRequestLegs(orderedLegs);
// syncAdapter.of(it.getSupplier()).syncRouteRequest(it);
// it.addEvent(RouteRequestEvent.sync(it.getSupplier()));
// List<Leg> notOrderLegs = collect.get(false);
// notOrderLegs.forEach(leg -> leg.addEvent(legEventFactory.creatLegEvent(LEG_EVENT_APPROVAL)));
// } else {
// it.addEvent(RouteRequestEvent.cancel(it.getSupplier()));
// getLegInfoFromRouteOrder(it, routeOrder);
// syncAdapter.of(it.getSupplier()).cancelRouteRequest(it);
// it.getRouteRequestLegList()
// .forEach(requestLeg -> requestLeg.getLeg().addEvent(legEventFactory.creatLegEvent(LEG_EVENT_APPROVAL)));
// }
}); });
routeRepository.save(routeOrder); routeRepository.save(routeOrder);
} }