Pu Zhibing
2024-12-12 cc6ef4d39b154077445fa1e4e84c1b0ca9674b60
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TParkingRecordServiceImpl.java
@@ -2,26 +2,29 @@
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.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;
@@ -42,6 +45,8 @@
    private SiteMapper siteMapper;
    @Autowired
    private TParkingLotMapper parkingLotMapper;
    @Resource
    private SiteClient siteClient;
    @Override
    public BigDecimal getSum(LocalDate sixBefore) {
@@ -50,6 +55,20 @@
    @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())){
@@ -76,7 +95,8 @@
            }else{
                tParkingRecordVO.setFeeDuration(tParkingRecordVO.getParkingDuration()-tParkingRecordVO.getFreeDuration());
            }
            tParkingRecordVO.setOrderAmount(tParkingRecordVO.getOrderAmount().add(tParkingRecordVO.getTimeoutAmount()));
            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);