Przeglądaj źródła

fix bug

release_toaliyun_real
xiaohanzi 5 lat temu
rodzic
commit
1219e317f9
1 zmienionych plików z 16 dodań i 1 usunięć
  1. +16
    -1
      mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java

+ 16
- 1
mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java Wyświetl plik

@@ -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);


Ładowanie…
Anuluj
Zapisz