| | |
| | | AppUser appUser = appUserClient.getAppUserById(userid); |
| | | vipId = appUser.getVipId(); |
| | | } |
| | | SeckillActivityInfo activityInfo = this.getById(seckillActivityId); |
| | | if(null == activityInfo || activityInfo.getDelFlag() == 1){ |
| | | throw new RuntimeException("活动不存在"); |
| | | } |
| | | if(activityInfo.getIsShelves() == 0){ |
| | | throw new RuntimeException("活动已下架"); |
| | | } |
| | | if(!activityInfo.getVipIds().contains(vipId.toString())){ |
| | | throw new RuntimeException("权限不足"); |
| | | } |
| | | SeckillActivityDetailVO seckillActivityDetailVO = seckillActivityInfoMapper.selectDetail(seckillActivityId, vipId); |
| | | Integer goodsId = seckillActivityDetailVO.getGoodsId(); |
| | | |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo) { |
| | | Integer goodId = seckillActivityInfo.getGoodId(); |
| | | 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(0 < count){ |
| | | throw new RuntimeException("该秒杀商品已在其他秒杀活动中存在"); |
| | | } |
| | | this.baseMapper.insert(seckillActivityInfo); |
| | | List<GoodsSeckill> goodsSeckills = seckillActivityInfo.getGoodsSeckills(); |
| | | for (GoodsSeckill goodsSeckill : goodsSeckills) { |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void updateSeckillActivityInfo(SeckillActivityInfo seckillActivityInfo) { |
| | | Integer goodId = seckillActivityInfo.getGoodId(); |
| | | 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){ |
| | | throw new RuntimeException("该秒杀商品已在其他秒杀活动中存在"); |
| | | } |
| | | this.baseMapper.updateById(seckillActivityInfo); |
| | | goodsSeckillService.remove(new LambdaQueryWrapper<GoodsSeckill>().eq(GoodsSeckill::getSeckillActivityInfoId, seckillActivityInfo.getId())); |
| | | List<GoodsSeckill> goodsSeckills = seckillActivityInfo.getGoodsSeckills(); |