修复库存扣减问题

This commit is contained in:
zjf committed 2025-03-05 17:38:07 +08:00
1 parent 8e6d2c6f01
commit 2dd72291ce
2 files changed
+7 -5

No files matched your search

@@ -35,7 +35,7 @@ public class SupermarketSpuUpdateStockReqDTO {
/**
* 商品 SKU 编号
*/
@NotNull(message = "商品 SPU 编号不能为空")
@NotNull(message = "包装单位unit 编号不能为空")
private Long id;
/**
@@ -199,16 +199,18 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
public R updateSpuStock(SupermarketSpuUpdateStockReqDTO updateStockReqDTO) {
List<UpdateStockDTO> updateStockDTOS = new ArrayList<UpdateStockDTO>();
for (SupermarketSpuUpdateStockReqDTO.Item v : updateStockReqDTO.getItems()) {
SmErpUnitEntity smErpUnitEntity = smErpUnitService.getById(v.getId());
// 查询当前库存
SmErpSpuEntity spu = baseMapper.selectById(v.getId());
if (spu == null) {
Long spuId = smErpUnitEntity.getSpuId();
SmErpSpuEntity spu = baseMapper.selectById(spuId);
if (null==spu) {
return R.failed(spu.getProductName() + "商品不存在");
}
if (v.getIncrCount() == 0) {
return R.failed("扣减不能为0");
}
LambdaUpdateWrapper<SmErpStockEntity> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(SmErpStockEntity::getErpSpuId, v.getId());
lambdaUpdateWrapper.eq(SmErpStockEntity::getErpSpuId, spuId);
SmErpStockEntity smErpStockEntity = smErpStockMapper.selectOne(lambdaUpdateWrapper);
@@ -217,7 +219,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
return R.failed(spu.getProductName() + "库存不足,无法完成操作");
}
UpdateStockDTO updateStockDTO = new UpdateStockDTO(v.getId(), v.getIncrCount());
UpdateStockDTO updateStockDTO = new UpdateStockDTO(spuId, v.getIncrCount());
updateStockDTOS.add(updateStockDTO);
}
smErpStockService.updateStock(updateStockDTOS);