From c05a14bba4b86d83918d7cdc01635785bf5694c2 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 03 六月 2025 00:26:08 +0800 Subject: [PATCH] 拆分mongodb查询服务 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 48 insertions(+), 5 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..dfab1ea 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,25 +2,30 @@ 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; import com.ruoyi.chargingPile.api.query.ParkingRecordQuery; -import com.ruoyi.chargingPile.api.vo.TParkingLotVO; import com.ruoyi.chargingPile.api.vo.TParkingRecordPageInfoVO; import com.ruoyi.chargingPile.api.vo.TParkingRecordVO; -import com.ruoyi.chargingPile.domain.SiteMenu; import com.ruoyi.chargingPile.dto.ParkingRecordQueryDto; import com.ruoyi.chargingPile.mapper.SiteMapper; import com.ruoyi.chargingPile.mapper.TParkingLotMapper; 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.service.TokenService; +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,14 +46,36 @@ private SiteMapper siteMapper; @Autowired private TParkingLotMapper parkingLotMapper; + @Resource + private SiteClient siteClient; @Override - public BigDecimal getSum(LocalDate sixBefore) { - return this.baseMapper.getSum(sixBefore); + public BigDecimal getSum() { + return this.baseMapper.getSum(); } + @Autowired + private TokenService tokenService; @Override public TParkingRecordPageInfoVO pageList(ParkingRecordQuery query) { + Long userId = tokenService.getLoginUser().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()); + } + if (siteIds.isEmpty()){ + siteIds.add(-1); + } + 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 +83,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