记得上下班打卡 | git大法好,push需谨慎

Commit a34dbb3a authored by 张国柄's avatar 张国柄

~API:商品管理:库存变更逻辑处理;

parent afeacee9
......@@ -301,8 +301,8 @@ public class GoblinStoreMgtGoodsController {
Integer stock = mgtGoodsSkuInfoVo.getSkuStock();// 总库存
Integer skuStock = mgtGoodsSkuInfoVo.getSkuStock();// SKU总库存
int rtSkuStock = goblinRedisUtils.getSkuStock(null, paramSkuId);// 当前剩余库存
if (operStock < 0 && rtSkuStock >= operStockVal) {// SKU实时库存充足时允许扣减
int surplusStock = goblinRedisUtils.getSkuStock(null, paramSkuId);// 当前剩余库存
if (operStock < 0 && surplusStock > 0 && surplusStock >= operStockVal) {// SKU实时库存充足时允许扣减
if (goblinRedisUtils.decrSkuStock(null, paramSkuId, operStockVal) < 0) {// 过程中库存不足时,回滚库存,编辑无效
goblinRedisUtils.incrSkuStock(null, paramSkuId, operStockVal);
return ResponseDto.failure(ErrorMapping.get("149012"));
......@@ -314,6 +314,8 @@ public class GoblinStoreMgtGoodsController {
goblinRedisUtils.incrSkuStock(null, paramSkuId, operStockVal);
storeMgtGoodsEditSkuParam.setSkuStock(skuStock + operStockVal);
storeMgtGoodsEditSkuParam.setStock(stock + operStockVal);
} else {
return ResponseDto.failure(ErrorMapping.get("149012"));
}
}
......@@ -397,7 +399,9 @@ public class GoblinStoreMgtGoodsController {
}
}
if (goblinstoreMgtGoodsService.goodsEditSku(currentUid, storeMgtGoodsEditSkuParam, goodsInfoVo, delSpuSpecMap, beUpdateSpuSpecFlg)) {
return ResponseDto.success(goblinRedisUtils.getMgtGoodsSkuInfoVo(paramSkuId));
mgtGoodsSkuInfoVo = goblinRedisUtils.getMgtGoodsSkuInfoVo(paramSkuId);
mgtGoodsSkuInfoVo.setSurplusStock(goblinRedisUtils.getSkuStock(null, paramSkuId));
return ResponseDto.success(mgtGoodsSkuInfoVo);
} else {
if (null != operStock && operStock != 0) {// 处理库存:回滚
int operStockVal = Math.abs(operStock);
......
......@@ -441,6 +441,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
GoblinGoodsSkuInfoVo updateSkuInfoVo = storeMgtGoodsEditSkuParam.initEditGoodsSkuInfoVo();
updateSkuInfoVo.setUpdatedBy(uid);
updateSkuInfoVo.setUpdatedAt(now);
String skuId = updateSkuInfoVo.getSkuId();
if (goblinMongoUtils.updateGoodsSkuInfoVo(updateSkuInfoVo)) {
LinkedList<Object[]> updateGoodsSkuForMarketObjs = CollectionUtil.linkedListObjectArr();
// 参与活动的同一商品更新处理
......@@ -458,17 +459,7 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
});
}
String skuId = updateSkuInfoVo.getSkuId();
String spuId = goodsInfoVo.getSpuId();
Integer operStock = storeMgtGoodsEditSkuParam.getOperStock();
if (null != operStock && operStock != 0) {
if (operStock > 0) {
goblinRedisUtils.incrSkuStock(null, skuId, Math.abs(operStock));
} else {
goblinRedisUtils.decrSkuStock(null, skuId, Math.abs(operStock));
}
}
goblinRedisUtils.delGoodsSkuInfoVo(skuId);
LinkedList<Object[]> updateSkuSpecValueObjs = CollectionUtil.linkedListObjectArr();
......@@ -565,6 +556,14 @@ public class GoblinStoreMgtGoodsServiceImpl implements IGoblinstoreMgtGoodsServi
updateSkuSpecValueObjs, initSpuSpecValueObjs, delSpuSpecValueObjs, updateSpuSpecValueObjs, updateGoodsObjs));
return true;
}
Integer operStock = storeMgtGoodsEditSkuParam.getOperStock();
if (null != operStock && operStock != 0) {
if (operStock > 0) {
goblinRedisUtils.decrSkuStock(null, skuId, Math.abs(operStock));
} else {
goblinRedisUtils.incrSkuStock(null, skuId, Math.abs(operStock));
}
}
return false;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment