!137 修复更新秒杀活动时间,秒杀活动商品更新数据问题
Merge pull request !137 from OceansDeep/feature/pg
This commit is contained in:
commit
f4d7c07f57
@ -258,7 +258,7 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
|
|||||||
List<PromotionGoods> promotionGoodsList = new ArrayList<>();
|
List<PromotionGoods> promotionGoodsList = new ArrayList<>();
|
||||||
LambdaQueryWrapper<SeckillApply> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SeckillApply> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(SeckillApply::getSeckillId, seckill.getId());
|
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) {
|
for (SeckillApply seckillApply : list) {
|
||||||
//获取参与活动的商品信息
|
//获取参与活动的商品信息
|
||||||
GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(seckillApply.getSkuId());
|
GoodsSku goodsSku = goodsSkuService.getGoodsSkuByIdFromCache(seckillApply.getSkuId());
|
||||||
@ -270,13 +270,20 @@ public class SeckillApplyServiceImpl extends ServiceImpl<SeckillApplyMapper, Sec
|
|||||||
if (!promotionGoodsList.isEmpty()) {
|
if (!promotionGoodsList.isEmpty()) {
|
||||||
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
PromotionGoodsSearchParams searchParams = new PromotionGoodsSearchParams();
|
||||||
searchParams.setPromotionType(PromotionTypeEnum.SECKILL.name());
|
searchParams.setPromotionType(PromotionTypeEnum.SECKILL.name());
|
||||||
searchParams.setSkuIds(promotionGoodsList.stream().map(PromotionGoods::getSkuId).collect(Collectors.toList()));
|
searchParams.setPromotionId(seckill.getId());
|
||||||
promotionGoodsService.deletePromotionGoods(searchParams);
|
promotionGoodsService.deletePromotionGoods(searchParams);
|
||||||
//初始化促销商品
|
//初始化促销商品
|
||||||
PromotionTools.promotionGoodsInit(promotionGoodsList, seckill, PromotionTypeEnum.SECKILL);
|
List<PromotionGoods> promotionGoods = PromotionTools.promotionGoodsInit(promotionGoodsList, seckill, PromotionTypeEnum.SECKILL);
|
||||||
result = promotionGoodsService.saveBatch(promotionGoodsList);
|
result = promotionGoodsService.saveBatch(promotionGoods);
|
||||||
this.seckillService.updateEsGoodsSeckill(seckill, list);
|
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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,9 +144,10 @@ public class SeckillServiceImpl extends AbstractPromotionsServiceImpl<SeckillMap
|
|||||||
* @return 是否更新成功
|
* @return 是否更新成功
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean updatePromotions(Seckill promotions) {
|
public boolean updatePromotions(Seckill promotions) {
|
||||||
seckillApplyService.updateSeckillApplyTime(promotions);
|
seckillApplyService.updateSeckillApplyTime(promotions);
|
||||||
return super.updatePromotions(promotions);
|
return this.saveOrUpdate(promotions);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user