| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo) { |
| | | Integer goodId = seckillActivityInfo.getGoodId(); |
| | | LocalDateTime startTime = seckillActivityInfo.getStartTime(); |
| | | LocalDateTime endTime = seckillActivityInfo.getEndTime(); |
| | | long count = this.count(new LambdaQueryWrapper<SeckillActivityInfo>().eq(SeckillActivityInfo::getGoodId, goodId).eq(SeckillActivityInfo::getDelFlag, 0) |
| | | .eq(SeckillActivityInfo::getIsShelves, 1).last(" and now() between start_time and end_time")); |
| | | .eq(SeckillActivityInfo::getIsShelves, 1).last(" and (" + startTime + " between start_time and end_time or " + endTime + " between start_time and end_time)")); |
| | | if(0 < count){ |
| | | throw new RuntimeException("该秒杀商品已在其他秒杀活动中存在"); |
| | | } |
| | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo) { |
| | | Integer goodId = seckillActivityInfo.getGoodId(); |
| | | LocalDateTime startTime = seckillActivityInfo.getStartTime(); |
| | | LocalDateTime endTime = seckillActivityInfo.getEndTime(); |
| | | long count = this.count(new LambdaQueryWrapper<SeckillActivityInfo>().eq(SeckillActivityInfo::getGoodId, goodId).eq(SeckillActivityInfo::getDelFlag, 0) |
| | | .eq(SeckillActivityInfo::getIsShelves, 1).last(" and now() between start_time and end_time")); |
| | | if(1 < count){ |
| | | .eq(SeckillActivityInfo::getIsShelves, 1).last(" and (" + startTime + " between start_time and end_time or " + endTime + " between start_time and end_time)")); |
| | | if(0 < count){ |
| | | throw new RuntimeException("该秒杀商品已在其他秒杀活动中存在"); |
| | | } |
| | | this.baseMapper.updateById(seckillActivityInfo); |