ServiceImpl层
@Override
@Transactional
public void startAndEnd(Integer status, Long[] ids) {
Integer status1 = 0;
List<Long> list = new ArrayList<>();
for (Long id : ids) {
list.add(id);
}
LambdaUpdateWrapper<Setmeal> objectLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
objectLambdaUpdateWrapper.set(Setmeal::getStatus,status)
.in(Setmeal::getId,ids);
this.update(objectLambdaUpdateWrapper);
if (status == 1){
LambdaQueryWrapper<SetmealDish> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(SetmealDish::getSetmealId,ids);
List<SetmealDish> list1 = setmealDishService.list(lambdaQueryWrapper);
ArrayList<Long> objects = new ArrayList<>();
for (SetmealDish setmealDish : list1) {
objects.add(setmealDish.getDishId());
}
LambdaQueryWrapper<Dish> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
lambdaQueryWrapper1.eq(Dish::getStatus,status1)
.in(Dish::getId,objects);
List<Dish> list2 = dishService.list(lambdaQueryWrapper1);
if (list2 != null && list2.size()>0){
throw new CustomException("套餐关联菜品已停售,套餐无法起售");
}}
}