|
@@ -84,6 +84,7 @@ import com.sckw.system.api.model.dto.res.*;
|
|
|
import com.sckw.transport.api.dubbo.TransportRemoteStatisticsService;
|
|
import com.sckw.transport.api.dubbo.TransportRemoteStatisticsService;
|
|
|
import com.sckw.transport.api.dubbo.TransportRemoteService;
|
|
import com.sckw.transport.api.dubbo.TransportRemoteService;
|
|
|
import com.sckw.transport.api.feign.ParkingWalletFeeFeignService;
|
|
import com.sckw.transport.api.feign.ParkingWalletFeeFeignService;
|
|
|
|
|
+import com.sckw.transport.api.feign.TransportStatisticsFeignService;
|
|
|
import com.sckw.transport.api.model.param.AddLogisticOrderParam;
|
|
import com.sckw.transport.api.model.param.AddLogisticOrderParam;
|
|
|
import com.sckw.transport.api.model.param.LogisticInfo;
|
|
import com.sckw.transport.api.model.param.LogisticInfo;
|
|
|
import com.sckw.transport.api.model.param.OrderFinishParam;
|
|
import com.sckw.transport.api.model.param.OrderFinishParam;
|
|
@@ -190,6 +191,7 @@ public class KwoTradeOrderService {
|
|
|
private final KwoTradeOrderAmountService tradeOrderAmountService;
|
|
private final KwoTradeOrderAmountService tradeOrderAmountService;
|
|
|
private final KwoTradeOrderTransportService kwoTradeOrderTransportService;
|
|
private final KwoTradeOrderTransportService kwoTradeOrderTransportService;
|
|
|
private final KwoTradeOrderUnitRepository kwoTradeOrderUnitRepository;
|
|
private final KwoTradeOrderUnitRepository kwoTradeOrderUnitRepository;
|
|
|
|
|
+ private final TransportStatisticsFeignService transportStatisticsFeignService;
|
|
|
@Resource
|
|
@Resource
|
|
|
private KwoTradeOrderGoodsMapper kwoTradeOrderGoodsMapper;
|
|
private KwoTradeOrderGoodsMapper kwoTradeOrderGoodsMapper;
|
|
|
@Resource
|
|
@Resource
|
|
@@ -2166,9 +2168,10 @@ public class KwoTradeOrderService {
|
|
|
private BigDecimal getCompletedWaybillVolume(Long tOrderId, Integer chargeType,
|
|
private BigDecimal getCompletedWaybillVolume(Long tOrderId, Integer chargeType,
|
|
|
LocalDateTime startTime, LocalDateTime endTime) {
|
|
LocalDateTime startTime, LocalDateTime endTime) {
|
|
|
try {
|
|
try {
|
|
|
- return Optional.ofNullable(transportRemoteStatisticsService.sumCompletedWaybillVolumeByTimeRange(
|
|
|
|
|
- tOrderId, chargeType, startTime, endTime))
|
|
|
|
|
- .orElse(BigDecimal.ZERO);
|
|
|
|
|
|
|
+ return resolveTransportStatisticsFeignResult(
|
|
|
|
|
+ transportStatisticsFeignService.sumCompletedWaybillVolumeByTimeRange(
|
|
|
|
|
+ tOrderId, chargeType, startTime, endTime),
|
|
|
|
|
+ "查询贸易订单运单完成量");
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
log.error("查询贸易订单运单完成量失败,tOrderId={}, chargeType={}, startTime={}, endTime={}",
|
|
log.error("查询贸易订单运单完成量失败,tOrderId={}, chargeType={}, startTime={}, endTime={}",
|
|
|
tOrderId, chargeType, startTime, endTime, e);
|
|
tOrderId, chargeType, startTime, endTime, e);
|
|
@@ -3446,6 +3449,22 @@ public class KwoTradeOrderService {
|
|
|
return result.getData();
|
|
return result.getData();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 解析运输统计 Feign 调用结果,完成量为 0 时按 0 处理。
|
|
|
|
|
+ */
|
|
|
|
|
+ private BigDecimal resolveTransportStatisticsFeignResult(BaseResult<BigDecimal> result, String operationName) {
|
|
|
|
|
+ if (result == null) {
|
|
|
|
|
+ log.error("{}失败,运输统计Feign响应为空", operationName);
|
|
|
|
|
+ throw new BusinessException(operationName + "失败,运输统计响应为空");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (result.getCode() != HttpStatus.SUCCESS_CODE) {
|
|
|
|
|
+ log.error("{}失败,运输统计Feign返回失败,code:{},message:{}",
|
|
|
|
|
+ operationName, result.getCode(), result.getMessage());
|
|
|
|
|
+ throw new BusinessException(operationName + "失败:" + result.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ return Optional.ofNullable(result.getData()).orElse(BigDecimal.ZERO);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@NotNull
|
|
@NotNull
|
|
|
private List<LogisticsEntDtoVO> checkAutoContractLogOrder(Map<String, KwoTradeOrderUnit> unitMap, KwoTradeOrderGoods byOrderId, TradeContractResDto tradeContractResDto) {
|
|
private List<LogisticsEntDtoVO> checkAutoContractLogOrder(Map<String, KwoTradeOrderUnit> unitMap, KwoTradeOrderGoods byOrderId, TradeContractResDto tradeContractResDto) {
|
|
|
KwoTradeOrderUnit tradeOrderUnit = unitMap.get(String.valueOf(Global.NUMERICAL_TWO));
|
|
KwoTradeOrderUnit tradeOrderUnit = unitMap.get(String.valueOf(Global.NUMERICAL_TWO));
|
|
@@ -3674,9 +3693,10 @@ public class KwoTradeOrderService {
|
|
|
*/
|
|
*/
|
|
|
private BigDecimal queryTransportNetWeight(KwoTradeOrder order) {
|
|
private BigDecimal queryTransportNetWeight(KwoTradeOrder order) {
|
|
|
try {
|
|
try {
|
|
|
- return Optional.ofNullable(transportRemoteStatisticsService.sumCompletedWaybillVolumeByTimeRange(
|
|
|
|
|
- order.getId(), order.getChargeType(), null, null))
|
|
|
|
|
- .orElse(BigDecimal.ZERO);
|
|
|
|
|
|
|
+ return resolveTransportStatisticsFeignResult(
|
|
|
|
|
+ transportStatisticsFeignService.sumCompletedWaybillVolumeByTimeRange(
|
|
|
|
|
+ order.getId(), order.getChargeType(), null, null),
|
|
|
|
|
+ "查询贸易订单运输净重量");
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
log.error("查询贸易订单运输净重量失败,订单ID:{}, 订单号:{}, 计费方式:{}",
|
|
log.error("查询贸易订单运输净重量失败,订单ID:{}, 订单号:{}, 计费方式:{}",
|
|
|
order.getId(), order.getTOrderNo(), order.getChargeType(), e);
|
|
order.getId(), order.getTOrderNo(), order.getChargeType(), e);
|