|
|
@@ -1655,28 +1655,38 @@ public class KwcContractTradeService {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
//物流订单合id
|
|
|
- Set<Long> logTradeContractIds =
|
|
|
- contractLogistics.stream().map(KwcContractLogisticsUnit::getContractId).collect(Collectors.toSet());
|
|
|
+ Set<Long> logTradeContractIds = contractLogistics.stream()
|
|
|
+ .map(KwcContractLogisticsUnit::getContractId).collect(Collectors.toSet());
|
|
|
|
|
|
//查询商品信息
|
|
|
List<KwcContractLogisticsGoods> kwcContractLogisticsGoods = kwcContractLogisticsGoodsRepository.queryByLogIdsAndGoodsId(logTradeContractIds,
|
|
|
logisticsOrderDto.getGoodsId());
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractLogisticsGoods)){
|
|
|
- return Collections.emptyList();
|
|
|
+ Map<Long, KwcContractLogisticsGoods> contractLogisticsGoodsMap = Maps.newHashMap();
|
|
|
+
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsGoods)){
|
|
|
+ contractLogisticsGoodsMap = kwcContractLogisticsGoods.stream()
|
|
|
+ .collect(Collectors.toMap(KwcContractLogisticsGoods::getContractId,
|
|
|
+ Function.identity(), (x, y) -> x));
|
|
|
+ logTradeContractIds = kwcContractLogisticsGoods.stream()
|
|
|
+ .map(KwcContractLogisticsGoods::getContractId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
}
|
|
|
- //合同id和商品映射
|
|
|
- Map<Long, KwcContractLogisticsGoods> contractLogisticsGoodsMap =
|
|
|
- kwcContractLogisticsGoods.stream().collect(Collectors.toMap(KwcContractLogisticsGoods::getContractId,
|
|
|
- Function.identity(), (x, y) -> x));
|
|
|
- Set<Long> logTradeContractIdList =
|
|
|
- kwcContractLogisticsGoods.stream().map(KwcContractLogisticsGoods::getContractId).collect(Collectors.toSet());
|
|
|
+
|
|
|
//查询物流订单
|
|
|
- List<KwcContractLogistics> logistics = contractLogisticsRepository.queryByLogisticContractIds(logTradeContractIdList);
|
|
|
+ List<KwcContractLogistics> logistics = contractLogisticsRepository.queryByLogisticContractIds(logTradeContractIds);
|
|
|
if (CollectionUtils.isEmpty( logistics)){
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
+ Date date = new Date();
|
|
|
+ logistics = logistics.stream()
|
|
|
+ .filter(log -> Objects.equals(log.getStatus(),ContractStatusEnum.SIGNED.getCode())
|
|
|
+ && log.getStartTime().before(date) && log.getEndTime().after( date))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (CollectionUtils.isEmpty(logistics)){
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
//查询企业
|
|
|
- List<KwcContractLogisticsUnit> units = kwcContractLogisticsUnitRepository.queryByContractIds(logTradeContractIdList);
|
|
|
+ List<KwcContractLogisticsUnit> units = kwcContractLogisticsUnitRepository.queryByContractIds(logTradeContractIds);
|
|
|
//物流订单和类型组成唯一key
|
|
|
Map<String, KwcContractLogisticsUnit> contractLogisticsMap = Maps.newHashMap();
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(units)){
|
|
|
@@ -1685,9 +1695,9 @@ public class KwcContractTradeService {
|
|
|
Function.identity(), (x, y) -> x));
|
|
|
}
|
|
|
Map<String, KwcContractLogisticsUnit> finalContractLogisticsMap = contractLogisticsMap;
|
|
|
+ Map<Long, KwcContractLogisticsGoods> finalContractLogisticsGoodsMap = contractLogisticsGoodsMap;
|
|
|
return logistics.stream()
|
|
|
- .filter(log -> Objects.equals(log.getStatus(),ContractStatusEnum.SIGNED.getCode()))
|
|
|
- .map(log -> getContractLogisticsOrderResDto(log, finalContractLogisticsMap, contractLogisticsGoodsMap))
|
|
|
+ .map(log -> getContractLogisticsOrderResDto(log, finalContractLogisticsMap, finalContractLogisticsGoodsMap))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
}
|
|
|
@@ -1710,7 +1720,7 @@ public class KwcContractTradeService {
|
|
|
contractLogisticsOrderResDto.setAcceptCarriageEntName(acceptCarriageEnt.getFirmName());
|
|
|
KwcContractLogisticsGoods goods = contractLogisticsGoodsMap.getOrDefault(log.getId(),
|
|
|
new KwcContractLogisticsGoods());
|
|
|
- contractLogisticsOrderResDto.setPrice(goods.getPrice());
|
|
|
+ contractLogisticsOrderResDto.setPrice(StringUtils.isNotBlank(goods.getPrice()) ? goods.getPrice() : log.getCommonPrice());
|
|
|
return contractLogisticsOrderResDto;
|
|
|
}
|
|
|
|