From 3f50e9e810b478dbbd3225d9e5cedf47f586b69b Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期二, 05 九月 2023 11:25:43 +0800 Subject: [PATCH] 45386 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelPriceServiceImpl.java | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelPriceServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelPriceServiceImpl.java index 64f1393..ad5769a 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZTravelPriceServiceImpl.java +++ b/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; @@ -67,8 +68,14 @@ LambdaQueryWrapper<ZTravelPrice> lqw = new LambdaQueryWrapper<>(); lqw.eq(ZTravelPrice::getMyId, userId) .eq(zTravelPrice.getTotalDay() != null, ZTravelPrice::getTotalDay, zTravelPrice.getTotalDay()) + .like(StringUtils.isNotEmpty(zTravelPrice.getTitle()),ZTravelPrice::getTitle,zTravelPrice.getTitle()) + .eq(zTravelPrice.getTotalCost()!=null,ZTravelPrice::getTotalCost,zTravelPrice.getTotalCost()) .le(zTravelPrice.getEnd() != null, ZTravelPrice::getEndTime, zTravelPrice.getEnd()) - .ge(zTravelPrice.getStart() != null, ZTravelPrice::getStartTime, zTravelPrice.getStart()); + .ge(zTravelPrice.getStart() != null, ZTravelPrice::getStartTime, zTravelPrice.getStart()) + .eq(zTravelPrice.getEat()!=null,ZTravelPrice::getEat,zTravelPrice.getEat()) + .eq(zTravelPrice.getStay()!=null,ZTravelPrice::getStay,zTravelPrice.getStay()) + .eq(zTravelPrice.getTraffic()!=null,ZTravelPrice::getTraffic,zTravelPrice.getTraffic()) + .eq(zTravelPrice.getShopping()!=null,ZTravelPrice::getShopping,zTravelPrice.getShopping()); lqw.orderBy(true, true, ZTravelPrice::getStartTime); return lqw; @@ -206,6 +213,10 @@ zTravelPrice.setEndTime(priceDto.getEndTime()); zTravelPrice.setTotalDay(totalDay); zTravelPrice.setTitle(priceDto.getTitle()); + zTravelPrice.setTableName(priceDto.getTableName()); + zTravelPrice.setProperty(priceDto.getProperty()); + zTravelPrice.setType(priceDto.getType()); + zTravelPrice.setDestination(priceDto.getDestination()); zTravelPrice.setEat(eatTotal); zTravelPrice.setStay(stayTotal); zTravelPrice.setTraffic(trafficTotal); @@ -222,12 +233,33 @@ } @Override + @Transactional public AjaxResult myUpdate(PriceDto priceDto) { SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); List<ZTravelPriceDetail> detailList = priceDto.getDetailList(); + + //鍏堟煡鏁版嵁搴撻噷闈㈣繖涓�娆¤垂鐢ㄦ墍鏈夌殑鏁版嵁 + LambdaQueryWrapper<ZTravelPriceDetail> lqw = new LambdaQueryWrapper<>(); + lqw.eq(ZTravelPriceDetail::getFeeId,priceDto.getId()); + List<ZTravelPriceDetail> selectDetailList = zTravelPriceDetailService.list(lqw); + + //鎶婁紶杩囨潵鐨勬暟鎹腑娌℃湁鐨刬d锛屽湪鏁版嵁搴撲腑鍒犳帀 + 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); + + + //濡傛灉浼犺繃鏉ョ殑鍒楄〃鐨勬暟鎹噷闈㈡病鏈塱d + List<ZTravelPriceDetail> addPriceDetail = detailList.stream().filter(priceDetail -> priceDetail.getId() == null || priceDetail.getId() == 0 ).collect(Collectors.toList()); + addPriceDetail.forEach(priceDetail -> { + priceDetail.setFeeId(priceDto.getId()); + }); + + //閭e氨鍏堝鍔犲埌鏁版嵁搴撲腑 + zTravelPriceDetailService.saveBatch(addPriceDetail); //寰楀埌鎬诲ぉ鏁� long count = detailList.stream().map(ZTravelPriceDetail::getHappenTime).distinct().count(); @@ -297,6 +329,10 @@ zTravelPrice.setEndTime(priceDto.getEndTime()); zTravelPrice.setTotalDay(totalDay); zTravelPrice.setTitle(priceDto.getTitle()); + zTravelPrice.setTableName(priceDto.getTableName()); + zTravelPrice.setProperty(priceDto.getProperty()); + zTravelPrice.setType(priceDto.getType()); + zTravelPrice.setDestination(priceDto.getDestination()); zTravelPrice.setEat(eatTotal); zTravelPrice.setStay(stayTotal); zTravelPrice.setTraffic(trafficTotal); -- Gitblit v1.9.1