| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.constant.CacheConstants; |
| | | import com.ruoyi.common.core.enums.StartStatusEnum; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.core.utils.page.BeanUtils; |
| | | import com.ruoyi.common.core.utils.page.PageDTO; |
| | |
| | | this.saveBatch(goodsSeckills); |
| | | |
| | | for (GoodsSeckill goodsSeckill : goodsSeckills) { |
| | | GoodsSku goodsSku = goodsSkuService.getById(goodsSeckill.getGoodsSkuId()); |
| | | if (StringUtils.isNull(goodsSku)) { |
| | | throw new ServiceException("商品不存在"); |
| | | } |
| | | Integer seckillStock = goodsSeckill.getSeckillStock(); |
| | | goodsSkuService.lambdaUpdate() |
| | | .set(GoodsSku::getStock, goodsSku.getStock() - seckillStock) |
| | | .ge(GoodsSku::getStock, seckillStock) |
| | | .eq(GoodsSku::getId, goodsSku.getId()); |
| | | asyncMethodService.seckillScheduleTask(goodsSeckill); |
| | | } |
| | | } |