xiaohanzi 5 лет назад
Родитель
Сommit
1219e317f9
1 измененных файлов: 16 добавлений и 1 удалений
  1. +16
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java

+ 16
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java Просмотреть файл

@@ -123,7 +123,22 @@ public class WxOrderController extends BaseController {
//此处判断是否存在绝对保证库存不超卖的缓存,如果没有,则把当前的库存设置为最大值。如果有,则是后台设置的时候保存的,以那个为准。
boolean hascache = redisLock.hasCouponStockCache(wxCouponCVo.getCouponId());
if (!hascache) {
redisLock.setCouponStock(wxCouponCVo.getCouponId(), coupon.getRemainInventory());
long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
String timeStr = String.valueOf(time);
boolean stocksetlock = redisLock.lock("couponLockStockSetByOrder_"+coupon.getId(), timeStr);
if (stocksetlock) {
try {
if (!redisLock.hasCouponStockCache(wxCouponCVo.getCouponId())) {
redisLock.setCouponStock(wxCouponCVo.getCouponId(), coupon.getRemainInventory());
}
}catch(Exception e) {
logger.error("save order stock cache error.",e);
}finally {
redisLock.unlock("couponLockStockSetByOrder_"+coupon.getId(), timeStr);
}
}else {
redisLock.unlock("couponLockStockSetByOrder_"+coupon.getId(), timeStr);
}
}
resultData = couponUserCheck(user, wxCouponCVo);


Загрузка…
Отмена
Сохранить