From f53c26884de8f3fd5b15a5a36c5743225d8b5628 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期五, 06 十二月 2024 16:45:22 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java | 41 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 40 insertions(+), 1 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java index 119f6ac..15a9d5b 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java @@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; +import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.Site; import com.ruoyi.chargingPile.api.model.TParkingLot; import com.ruoyi.chargingPile.api.model.TParkingRecord; @@ -16,11 +18,15 @@ import com.ruoyi.chargingPile.mapper.TParkingRecordMapper; import com.ruoyi.chargingPile.service.TParkingRecordService; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; @@ -41,6 +47,8 @@ private SiteMapper siteMapper; @Autowired private TParkingLotMapper parkingLotMapper; + @Resource + private SiteClient siteClient; @Override public BigDecimal getSum(LocalDate sixBefore) { @@ -49,6 +57,21 @@ @Override public TParkingRecordPageInfoVO pageList(ParkingRecordQuery query) { + Long userId = SecurityUtils.getUserId(); + //如果没传siteId,获取当前登陆人所有的siteIds + List<Integer> siteIds = new ArrayList<>(); + if (query.getSiteId()==null){ + if (userId != null){ + List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData(); + for (GetSiteListDTO datum : data) { + siteIds.add(datum.getId()); + } + } + }else { + siteIds.add(query.getSiteId()); + } + query.setSiteIds(siteIds); + PageInfo<TParkingRecordVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); // 查询站点的停车场id if(Objects.nonNull(query.getSiteId())){ Site site = siteMapper.selectById(query.getSiteId()); @@ -56,12 +79,28 @@ List<TParkingLot> tParkingLots = parkingLotMapper.selectList(Wrappers.lambdaQuery(TParkingLot.class) .eq(TParkingLot::getSiteId, site.getId())); List<Integer> lotIds = tParkingLots.stream().map(TParkingLot::getId).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(lotIds)){ + TParkingRecordPageInfoVO tParkingRecordPageInfoVO = new TParkingRecordPageInfoVO(); + tParkingRecordPageInfoVO.setParkingRecordVOS(new PageInfo<TParkingRecordVO>()); + return tParkingRecordPageInfoVO; + } query.setLotIds(lotIds); } } - PageInfo<TParkingRecordVO> pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); List<TParkingRecordVO> list = this.baseMapper.pageList(query,pageInfo); + for (TParkingRecordVO tParkingRecordVO : list) { + if (tParkingRecordVO.getParkingDuration()==null){ + tParkingRecordVO.setFeeDuration(0); + }else if(tParkingRecordVO.getFreeDuration()==null){ + tParkingRecordVO.setFeeDuration(tParkingRecordVO.getParkingDuration()); + }else{ + tParkingRecordVO.setFeeDuration(tParkingRecordVO.getParkingDuration()-tParkingRecordVO.getFreeDuration()); + } + tParkingRecordVO.setOrderAmount(tParkingRecordVO.getOrderAmount()!=null?tParkingRecordVO.getOrderAmount():new BigDecimal("0") + .add(tParkingRecordVO.getTimeoutAmount()!=null?tParkingRecordVO.getTimeoutAmount():new BigDecimal("0"))); + tParkingRecordVO.setParkingFee(tParkingRecordVO.getOrderAmount()); + } pageInfo.setRecords(list); // 查询总数 TParkingRecordPageInfoVO infoVO = this.baseMapper.getParkingRecordCount(query); -- Gitblit v1.7.1