123
whywhyo
2023-06-10 4d6feaf54c97f51cec105bb7c96831379f4f1efb
zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelPriceServiceImpl.java
@@ -21,6 +21,7 @@
import com.ruoyi.service.ZTravelBaseService;
import com.ruoyi.service.ZTravelPriceDetailService;
import com.ruoyi.service.ZTravelPriceService;
import org.apache.xmlbeans.impl.xb.xmlschema.LangAttribute;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -222,6 +223,7 @@
    }
    @Override
    @Transactional
    public AjaxResult myUpdate(PriceDto priceDto) {
        SysUser user = SecurityUtils.getLoginUser().getUser();
@@ -229,6 +231,17 @@
        List<ZTravelPriceDetail> detailList = priceDto.getDetailList();
        //先查数据库里面这一次费用所有的数据
        LambdaQueryWrapper<ZTravelPriceDetail> lqw = new LambdaQueryWrapper<>();
        lqw.eq(ZTravelPriceDetail::getFeeId,priceDto.getId());
        List<ZTravelPriceDetail> selectDetailList = zTravelPriceDetailService.list(lqw);
        //把传过来的数据中没有的id,在数据库中删掉
        List<Long> detailIdList = detailList.stream().filter(priceDetail -> priceDetail.getId() != null).map(ZTravelPriceDetail::getId).collect(Collectors.toList());
        List<Long> deleteIdList = selectDetailList.stream().filter(priceDetail -> !detailIdList.contains(priceDetail.getId())).map(ZTravelPriceDetail::getId).collect(Collectors.toList());
        zTravelPriceDetailService.removeBatchByIds(deleteIdList);
        //如果传过来的列表的数据里面没有id
        List<ZTravelPriceDetail> addPriceDetail = detailList.stream().filter(priceDetail -> priceDetail.getId() == null || priceDetail.getId() == 0 ).collect(Collectors.toList());
        addPriceDetail.forEach(priceDetail -> {