Commit fdbebc406cb9d593e4c9fffc4c136eedc85270af

Authored by puhui999
1 parent 42fcbe05

秒杀活动:纠正秒杀库存和秒杀总库存扣减错误的问题

yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/seckill/SeckillActivityDO.java
@@ -77,8 +77,7 @@ public class SeckillActivityDO extends BaseDO { @@ -77,8 +77,7 @@ public class SeckillActivityDO extends BaseDO {
77 private Integer singleLimitCount; 77 private Integer singleLimitCount;
78 78
79 /** 79 /**
80 - * 秒杀库存-秒杀下单时怎加,恢复库存是减少  
81 - * 也就是说这个是记录当前秒杀活动用户购买的商品数量和 80 + * 秒杀库存(剩余库存秒杀时扣减)
82 */ 81 */
83 private Integer stock; 82 private Integer stock;
84 /** 83 /**
yudao-module-mall/yudao-module-promotion-biz/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/seckill/seckillactivity/SeckillActivityMapper.java
@@ -50,9 +50,8 @@ public interface SeckillActivityMapper extends BaseMapperX<SeckillActivityDO> { @@ -50,9 +50,8 @@ public interface SeckillActivityMapper extends BaseMapperX<SeckillActivityDO> {
50 Assert.isTrue(count > 0); 50 Assert.isTrue(count > 0);
51 return update(null, new LambdaUpdateWrapper<SeckillActivityDO>() 51 return update(null, new LambdaUpdateWrapper<SeckillActivityDO>()
52 .eq(SeckillActivityDO::getId, id) 52 .eq(SeckillActivityDO::getId, id)
53 - .gt(SeckillActivityDO::getTotalStock, 0)  
54 - .setSql("stock = stock + " + count)  
55 - .setSql("total_stock = total_stock - " + count)); 53 + .gt(SeckillActivityDO::getStock, count)
  54 + .setSql("stock = stock - " + count));
56 } 55 }
57 56
58 /** 57 /**
@@ -66,8 +65,7 @@ public interface SeckillActivityMapper extends BaseMapperX&lt;SeckillActivityDO&gt; { @@ -66,8 +65,7 @@ public interface SeckillActivityMapper extends BaseMapperX&lt;SeckillActivityDO&gt; {
66 Assert.isTrue(count > 0); 65 Assert.isTrue(count > 0);
67 return update(null, new LambdaUpdateWrapper<SeckillActivityDO>() 66 return update(null, new LambdaUpdateWrapper<SeckillActivityDO>()
68 .eq(SeckillActivityDO::getId, id) 67 .eq(SeckillActivityDO::getId, id)
69 - .setSql("stock = stock - " + count)  
70 - .setSql("total_stock = total_stock + " + count)); 68 + .setSql("stock = stock + " + count));
71 } 69 }
72 70
73 default PageResult<SeckillActivityDO> selectPage(AppSeckillActivityPageReqVO pageReqVO, Integer status) { 71 default PageResult<SeckillActivityDO> selectPage(AppSeckillActivityPageReqVO pageReqVO, Integer status) {