|
|
@@ -28,11 +28,11 @@ import com.yc.ship.module.product.framework.lock.ProductRedisKeyConstants;
|
|
|
import com.yc.ship.module.product.service.voyagestockdistribute.VoyageStockDistributeNewService;
|
|
|
import com.yc.ship.module.product.utils.ProductRedisUtils;
|
|
|
import com.yc.ship.module.resource.api.room.RoomApi;
|
|
|
-import com.yc.ship.module.trade.enums.TradeOrderStatusEnum;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.redisson.api.RLock;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
@@ -82,6 +82,7 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
private VoyageStockDetailLogMapper voyageStockDetailLogMapper;
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void preReduceStock(ReduceStockReqDTO reqDTO) {
|
|
|
//TODO: 当前阶段不考虑门店库存
|
|
|
log.info("开始初定订单扣库存:订单ID:"+reqDTO.getOrderId()+"old订单ID:"+reqDTO.getOldOrderId());
|
|
|
@@ -121,6 +122,7 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void preCancelReduceStock(ReduceStockReqDTO reqDTO) {
|
|
|
//TODO: 当前阶段不考虑门店库存
|
|
|
@@ -147,6 +149,7 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void reduceStock(ReduceStockReqDTO reqDTO) {
|
|
|
//TODO: 当前阶段不考虑门店库存
|
|
|
@@ -176,6 +179,7 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void cancelReduceStock(ReduceStockReqDTO reqDTO) {
|
|
|
//TODO: 当前阶段不考虑门店库存
|
|
|
@@ -220,7 +224,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
VoyageStockDO stockDO = voyageStockMapper.selectById(voyageId);
|
|
|
//还航次总库存
|
|
|
BigDecimal totalNum = voyageStockLogDO.getVirtualNum().add(voyageStockLogDO.getRealNum());
|
|
|
- stockDO.setShareNum(stockDO.getShareNum().add(voyageStockLogDO.getShareNum())); //退回共享库存
|
|
|
+ if(voyageStockLogDO.getStockType() != null && voyageStockLogDO.getStockType() == 1) {
|
|
|
+ stockDO.setShareNum(stockDO.getShareNum().add(voyageStockLogDO.getShareNum())); //退回共享库存
|
|
|
+ }
|
|
|
stockDO.setVirtualNum(stockDO.getVirtualNum().add(voyageStockLogDO.getVirtualNum())); //退回虚拟库存
|
|
|
stockDO.setRealTotalNum(stockDO.getRealTotalNum().add(voyageStockLogDO.getRealNum())); //退回真实库存
|
|
|
stockDO.setCanSellNum(stockDO.getCanSellNum().add(totalNum)); //退回可售库存
|
|
|
@@ -596,7 +602,9 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
//还航次总库存
|
|
|
BigDecimal totalNum = voyageStockLogDO.getVirtualNum().add(voyageStockLogDO.getRealNum());
|
|
|
//退回共享库存
|
|
|
- stockDO.setShareNum(stockDO.getShareNum().add(voyageStockLogDO.getShareNum()));
|
|
|
+ if(voyageStockLogDO.getStockType() != null && voyageStockLogDO.getStockType() == 1) {
|
|
|
+ stockDO.setShareNum(stockDO.getShareNum().add(voyageStockLogDO.getShareNum()));
|
|
|
+ }
|
|
|
//退回虚拟库存
|
|
|
stockDO.setVirtualNum(stockDO.getVirtualNum().add(voyageStockLogDO.getVirtualNum()));
|
|
|
//退回真实库存
|
|
|
@@ -684,6 +692,7 @@ public class VoyageApiImpl implements VoyageApi {
|
|
|
* 初定扣分销商库存
|
|
|
*
|
|
|
*/
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
private void preReduceStockDistributor(ReduceStockReqDTO reqDTO) {
|
|
|
log.info("进入初定扣库存操作-orderId:"+reqDTO.getOrderId());
|
|
|
//航次库存操作日志
|