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

Commit b026947e authored by jiangxiulong's avatar jiangxiulong

超时关闭订单 回滚库存和购买数量问题

parent fe044358
...@@ -35,12 +35,10 @@ public class GoblinNftUtils { ...@@ -35,12 +35,10 @@ public class GoblinNftUtils {
return (int) redisUtil.incr(redisKey, stock); return (int) redisUtil.incr(redisKey, stock);
} }
// 回滚用户sku购买个数和库存 // 减少 用户sku购买个数
public void backSkuCountAndStock(String uid, String skuId, int number) { public int decrSkuCountByUid(String uid, String skuId, int number) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_BUY_COUNT.concat(uid + ":skuId:" + skuId); String redisKey = GoblinRedisConst.REDIS_GOBLIN_BUY_COUNT.concat(uid + ":skuId:" + skuId);
long decr = redisUtil.decr(redisKey, number); return (int) redisUtil.decr(redisKey, number);
String redisKey2 = GoblinRedisConst.REAL_STOCK_SKU.concat(skuId);
long incr = redisUtil.incr(redisKey2, number);
} }
// 订单详情vo // 订单详情vo
......
...@@ -171,10 +171,11 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin ...@@ -171,10 +171,11 @@ public abstract class AbstractOrderCloseReceiver implements StreamListener<Strin
GoblinNftOrderVo nftOrder = goblinNftUtils.getNftOrder(orderId); GoblinNftOrderVo nftOrder = goblinNftUtils.getNftOrder(orderId);
if (nftOrder.getStatus().equals(GoblinStatusConst.NftStatus.ORDER_STATUS_1.getValue())) { if (nftOrder.getStatus().equals(GoblinStatusConst.NftStatus.ORDER_STATUS_1.getValue())) {
// 库存购买数量回滚 // 库存购买数量回滚
if (StringUtils.isEmpty(nftOrder.getBoxSkuId())) { goblinNftUtils.decrSkuCountByUid(nftOrder.getUserId(), nftOrder.getSkuId(), nftOrder.getNum());
goblinNftUtils.backSkuCountAndStock(nftOrder.getUserId(), nftOrder.getSkuId(), nftOrder.getNum()); if (StringUtils.isEmpty(nftOrder.getBoxSkuId())) {// 购买藏品
} else { goblinNftUtils.incrSkuStock(nftOrder.getSkuId(), nftOrder.getNum());
goblinNftUtils.decrSkuStock(nftOrder.getBoxSkuId(), nftOrder.getNum()); } else {// 购买盲盒
goblinNftUtils.incrSkuStock(nftOrder.getBoxSkuId(), nftOrder.getNum());
} }
// 订单状态 // 订单状态
......
...@@ -115,7 +115,7 @@ public class GoblinNftOrderServiceImpl implements IGoblinNftOrderService { ...@@ -115,7 +115,7 @@ public class GoblinNftOrderServiceImpl implements IGoblinNftOrderService {
return ResponseDto.failure("平台券与店铺券不可一起使用哦~"); return ResponseDto.failure("平台券与店铺券不可一起使用哦~");
}*/ }*/
String boxSkuId = ""; String boxSkuId = "";
// 盲盒回滚抽到的库存 购买回滚购买的库存 // 购买盲盒回滚抽到的库存 购买藏品回滚购买的库存
String backSkuId = skuId; String backSkuId = skuId;
if (skuVo.getUnbox().equals("1")) {// 盲盒逻辑 if (skuVo.getUnbox().equals("1")) {// 盲盒逻辑
GoblinGoodsInfoVo spuInfoVo = goblinRedisUtils.getGoodsInfoVo(spuId); GoblinGoodsInfoVo spuInfoVo = goblinRedisUtils.getGoodsInfoVo(spuId);
......
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