From f991c73f56f35665bcbe8ce2252c04ea82032b10 Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期一, 27 五月 2024 18:06:31 +0800 Subject: [PATCH] feat: 修复登录bug;数据校验规则优化 --- ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java index 7bd0908..ab3061e 100644 --- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/TGoodsServiceImpl.java @@ -59,12 +59,12 @@ String key = String.format(RedisConstants.GOOD_STOCK, goods.getId()); RSemaphore semaphore = redissonClient.getSemaphore(key); semaphore.trySetPermits(goods.getSurplus()); - return new GoodDetailVO(goods,recipient); + return new GoodDetailVO(goods, recipient); } @Override @Transactional(rollbackFor = Exception.class) - public Object goodExchange(GoodExchangeDTO goodExchange, Recipient recipient) { + public Boolean goodExchange(GoodExchangeDTO goodExchange, Recipient recipient) { Integer number = goodExchange.getNumber(); Integer goodId = goodExchange.getGoodId(); TGoods good = this.getById(goodId); @@ -88,6 +88,8 @@ // redisson分布式锁,防止超卖 String key = String.format(RedisConstants.GOOD_STOCK, good.getId()); RSemaphore semaphore = redissonClient.getSemaphore(key); + // 请求超时时间 单位:毫秒 + semaphore.trySetPermits(1000); boolean tried = semaphore.tryAcquire(number); // 兑换失败,库存不足 if (!tried) { -- Gitblit v1.7.1