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

Commit b026947e authored by jiangxiulong's avatar jiangxiulong

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

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