|
|
@@ -102,11 +102,11 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
//分销商下单只扣分销商库存,默认是OTA,默认OTC只能门店下单
|
|
|
//初定扣分销商库存
|
|
|
//先返还初定扣的库存,使用修改前一步订单的 ID
|
|
|
- preCancelReduceStockDistributor(reqDTO.getOrderId(), reqDTO.getType());
|
|
|
+ preCancelReduceStockDistributor(reqDTO.getOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
log.info("先还该订单的库存-orderId: {}", reqDTO.getOrderId());
|
|
|
if (reqDTO.getOldOrderId() != null && !reqDTO.getOldOrderId().equals(reqDTO.getOrderId())) {
|
|
|
log.info("如果是修改就还修改前的订单的库存-oldOrderId: {}", reqDTO.getOldOrderId());
|
|
|
- preCancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType());
|
|
|
+ preCancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
}
|
|
|
//再去扣初定的库存
|
|
|
preReduceStockDistributor(reqDTO);
|
|
|
@@ -135,9 +135,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
if (Objects.equals(type, DistributorOrStoreEnum.DISTRIBUTOR.getValue())) {
|
|
|
//分销商下单只扣分销商库存,默认是OTA,默认OTC只能门店下单
|
|
|
//初定扣分销商库存
|
|
|
- preCancelReduceStockDistributor(reqDTO.getOrderId(), reqDTO.getType());
|
|
|
+ preCancelReduceStockDistributor(reqDTO.getOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
if (reqDTO.getOldOrderId() != null && !reqDTO.getOldOrderId().equals(reqDTO.getOrderId())) {
|
|
|
- preCancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType());
|
|
|
+ preCancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
}
|
|
|
}
|
|
|
} finally {
|
|
|
@@ -165,12 +165,12 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
//分销商下单只扣分销商库存,默认是OTA,默认OTC只能门店下单
|
|
|
//初定扣分销商库存
|
|
|
//先返还初定扣的库存
|
|
|
- preCancelReduceStockDistributor(reqDTO.getOrderId(), reqDTO.getType());
|
|
|
+ preCancelReduceStockDistributor(reqDTO.getOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
if (reqDTO.getOldOrderStatus() != null && reqDTO.getOldOrderStatus().equals(TradeOrderStatusEnum.YD.getStatus()) &&reqDTO.getOldOrderId() != null && !reqDTO.getOldOrderId().equals(reqDTO.getOrderId())) {
|
|
|
- preCancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType());
|
|
|
+ preCancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
}
|
|
|
if(reqDTO.getOldOrderStatus() != null && (Objects.equals(reqDTO.getOldOrderStatus(), TradeOrderStatusEnum.UNPAID.getStatus())||Objects.equals(reqDTO.getOldOrderStatus(), TradeOrderStatusEnum.YD.getStatus()))){
|
|
|
- cancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType());
|
|
|
+ cancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
}
|
|
|
//再去扣确定的库存
|
|
|
reduceStockDistributor(reqDTO);
|
|
|
@@ -202,9 +202,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
if (Objects.equals(type, DistributorOrStoreEnum.DISTRIBUTOR.getValue())) {
|
|
|
//分销商下单只扣分销商库存,默认是OTA,默认OTC只能门店下单
|
|
|
//初定扣分销商库存
|
|
|
- cancelReduceStockDistributor(reqDTO.getOrderId(), reqDTO.getType());
|
|
|
+ cancelReduceStockDistributor(reqDTO.getOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
if (reqDTO.getOldOrderId() != null && !reqDTO.getOldOrderId().equals(reqDTO.getOrderId())) {
|
|
|
- cancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType());
|
|
|
+ cancelReduceStockDistributor(reqDTO.getOldOrderId(), reqDTO.getType(),reqDTO.getOrderRoomList());
|
|
|
}
|
|
|
}
|
|
|
} finally {
|
|
|
@@ -216,11 +216,13 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
|
|
|
/**
|
|
|
* 确定状态时取消订单还库存
|
|
|
+ * roomUseDTOList 需要退的房间
|
|
|
*/
|
|
|
- private void cancelReduceStockDistributor(Long orderId, Integer type) {
|
|
|
+ private void cancelReduceStockDistributor(Long orderId, Integer type,List<OrderRoomUseDTO> roomUseDTOList) {
|
|
|
if (orderId == null) {
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
//退还航次总库存
|
|
|
//找到确定时扣库存的记录
|
|
|
VoyageStockLogDO voyageStockLogDO = voyageStockLogMapper.selectByOrder(orderId);
|
|
|
@@ -606,7 +608,7 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
/**
|
|
|
* 初定取消还分销商库存
|
|
|
*/
|
|
|
- private void preCancelReduceStockDistributor(Long orderId, Integer type) {
|
|
|
+ private void preCancelReduceStockDistributor(Long orderId, Integer type,List<OrderRoomUseDTO> orderRoomUseDTOList) {
|
|
|
if (orderId == null) {
|
|
|
return;
|
|
|
}
|