!137 修复更新秒杀活动时间,秒杀活动商品更新数据问题

Merge pull request !137 from OceansDeep/feature/pg
This commit is contained in:
OceansDeep 2022-03-03 03:27:08 +00:00 committed by Gitee
commit f4d7c07f57
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 14 additions and 6 deletions

View File

@ -258,7 +258,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
List<PromotionGoods> promotionGoodsList = new ArrayList<>();
LambdaQueryWrapper<SeckillApply> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SeckillApply::getSeckillId, seckill.getId());
List<SeckillApply> list = this.list(queryWrapper);
List<SeckillApply> list = this.list(queryWrapper).stream().filter(i -> i.getTimeLine() != null && seckill.getHours().contains(i.getTimeLine().toString())).collect(Collectors.toList());
for (SeckillApply seckillApply : list) {
//获取参与活动的商品信息
GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(seckillApply.getSkuId());
@ -270,13 +270,20 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
if (!promotionGoodsList.isEmpty()) {
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
searchParams.setPromotionType(PromotionTypeEnum.SECKILL.name());
searchParams.setSkuIds(promotionGoodsList.stream().map(PromotionGoods::getSkuId).collect(Collectors.toList()));
searchParams.setPromotionId(seckill.getId());
promotionGoodsService.deletePromotionGoods(searchParams);
//初始化促销商品
PromotionTools.promotionGoodsInit(promotionGoodsList, seckill, PromotionTypeEnum.SECKILL);
result = promotionGoodsService.saveBatch(promotionGoodsList);
List<PromotionGoods> promotionGoods = PromotionTools.promotionGoodsInit(promotionGoodsList, seckill, PromotionTypeEnum.SECKILL);
result = promotionGoodsService.saveBatch(promotionGoods);
this.seckillService.updateEsGoodsSeckill(seckill, list);
}
LambdaQueryWrapper<SeckillApply> deleteWrapper = new LambdaQueryWrapper<>();
deleteWrapper.eq(SeckillApply::getSeckillId, seckill.getId());
deleteWrapper.notIn(SeckillApply::getSkuId, promotionGoodsList.stream().map(PromotionGoods::getSkuId).collect(Collectors.toList()));
this.remove(deleteWrapper);
seckillService.updateSeckillGoodsNum(seckill.getId());
return result;
}

View File

@ -144,9 +144,10 @@ public class SeckillServiceImpl extends AbstractPromotionsServiceImpl<SeckillMap
* @return 是否更新成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updatePromotions(Seckill promotions) {
seckillApplyService.updateSeckillApplyTime(promotions);
return super.updatePromotions(promotions);
return this.saveOrUpdate(promotions);
}
/**