mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-08-01 03:44:07 +08:00
trade:增加优惠劵使用、商品库存的扣减
This commit is contained in:
@@ -60,7 +60,7 @@ public interface ProductSkuConvert {
|
||||
if (spuId == null) {
|
||||
return;
|
||||
}
|
||||
Integer stock = spuIdAndStockMap.getOrDefault(spuId, 0) + item.getIncCount();
|
||||
Integer stock = spuIdAndStockMap.getOrDefault(spuId, 0) + item.getIncrCount();
|
||||
spuIdAndStockMap.put(spuId, stock);
|
||||
});
|
||||
return spuIdAndStockMap;
|
||||
|
@@ -203,10 +203,10 @@ public class ProductSkuServiceImpl implements ProductSkuService {
|
||||
public void updateSkuStock(ProductSkuUpdateStockReqDTO updateStockReqDTO) {
|
||||
// 更新 SKU 库存
|
||||
updateStockReqDTO.getItems().forEach(item -> {
|
||||
if (item.getIncCount() > 0) {
|
||||
productSkuMapper.updateStockIncr(item.getId(), item.getIncCount());
|
||||
} else if (item.getIncCount() < 0) {
|
||||
int updateStockIncr = productSkuMapper.updateStockDecr(item.getId(), item.getIncCount());
|
||||
if (item.getIncrCount() > 0) {
|
||||
productSkuMapper.updateStockIncr(item.getId(), item.getIncrCount());
|
||||
} else if (item.getIncrCount() < 0) {
|
||||
int updateStockIncr = productSkuMapper.updateStockDecr(item.getId(), item.getIncrCount());
|
||||
if (updateStockIncr == 0) {
|
||||
throw exception(SKU_STOCK_NOT_ENOUGH);
|
||||
}
|
||||
|
@@ -46,7 +46,7 @@ public class ProductSkuServiceTest extends BaseDbUnitTest {
|
||||
public void testUpdateSkuStock_incrSuccess() {
|
||||
// 准备参数
|
||||
ProductSkuUpdateStockReqDTO updateStockReqDTO = new ProductSkuUpdateStockReqDTO()
|
||||
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncCount(10)));
|
||||
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncrCount(10)));
|
||||
// mock 数据
|
||||
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> o.setId(1L).setSpuId(10L).setStock(20)));
|
||||
|
||||
@@ -66,7 +66,7 @@ public class ProductSkuServiceTest extends BaseDbUnitTest {
|
||||
public void testUpdateSkuStock_decrSuccess() {
|
||||
// 准备参数
|
||||
ProductSkuUpdateStockReqDTO updateStockReqDTO = new ProductSkuUpdateStockReqDTO()
|
||||
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncCount(-10)));
|
||||
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncrCount(-10)));
|
||||
// mock 数据
|
||||
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> o.setId(1L).setSpuId(10L).setStock(20)));
|
||||
|
||||
@@ -86,7 +86,7 @@ public class ProductSkuServiceTest extends BaseDbUnitTest {
|
||||
public void testUpdateSkuStock_decrFail() {
|
||||
// 准备参数
|
||||
ProductSkuUpdateStockReqDTO updateStockReqDTO = new ProductSkuUpdateStockReqDTO()
|
||||
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncCount(-30)));
|
||||
.setItems(singletonList(new ProductSkuUpdateStockReqDTO.Item().setId(1L).setIncrCount(-30)));
|
||||
// mock 数据
|
||||
productSkuMapper.insert(randomPojo(ProductSkuDO.class, o -> o.setId(1L).setSpuId(10L).setStock(20)));
|
||||
|
||||
|
Reference in New Issue
Block a user