From d4020168658efdee89a633083cd9c14b06c4d863 Mon Sep 17 00:00:00 2001 From: zhangf <1603559716@qq.com> Date: 星期三, 11 九月 2024 17:09:10 +0800 Subject: [PATCH] 修改消息推送时间间隔 --- src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java | 71 ++++++++++++++++++++++++++++++++++- 1 files changed, 68 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java index 0b80e0d..90fb63b 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasFluxServiceImpl.java @@ -1,6 +1,7 @@ package com.gkhy.fourierSpecialGasMonitor.service.impl; import com.gkhy.fourierSpecialGasMonitor.commons.enums.ResultCode; +import com.gkhy.fourierSpecialGasMonitor.commons.enums.StatusEnum; import com.gkhy.fourierSpecialGasMonitor.commons.exception.BusinessException; import com.gkhy.fourierSpecialGasMonitor.commons.model.PageQuery; import com.gkhy.fourierSpecialGasMonitor.entity.GasConcentration; @@ -8,6 +9,7 @@ import com.gkhy.fourierSpecialGasMonitor.entity.GasWarnLog; import com.gkhy.fourierSpecialGasMonitor.entity.query.GasFluxPageQuery; import com.gkhy.fourierSpecialGasMonitor.entity.query.GasPageQuery; +import com.gkhy.fourierSpecialGasMonitor.entity.req.GasFluxExportBO; import com.gkhy.fourierSpecialGasMonitor.repository.GasConcentrationRepository; import com.gkhy.fourierSpecialGasMonitor.repository.GasFluxRepository; import com.gkhy.fourierSpecialGasMonitor.service.GasConcentrationService; @@ -19,13 +21,12 @@ import org.springframework.data.domain.Sort; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.persistence.criteria.*; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; @Service public class GasFluxServiceImpl implements GasFluxService { @@ -120,4 +121,68 @@ List<GasFlux> gasFluxes = gasFluxRepository.findAll(specification); return gasFluxes; } + + @Override + public List<GasFlux> listYesterdayTenAmToSixPm() { + // 获取昨天的上午十点 + LocalDateTime yesterdayStart = LocalDateTime.now() + .minusDays(1) // 减去一天,获取昨天的日期 + .with(LocalTime.of(10, 0)); // 设置时间为上午十点 + // 获取昨天的下午6点 + LocalDateTime yesterdayEnd = LocalDateTime.now() + .minusDays(1) // 减去一天,获取昨天的日期 + .with(LocalTime.of(18, 0)); // 设置时间为下午6点 + Specification<GasFlux> specification = new Specification<GasFlux>() { + @Override + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { + Set<Predicate> predicateList = new HashSet<>(); + predicateList.add(criteriaBuilder.between(root.get("time").as(LocalDateTime.class),yesterdayStart,yesterdayEnd)); + return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()])); + } + }; + List<GasFlux> gasFluxes = gasFluxRepository.findAll(specification); + return gasFluxes; + } + + @Override + public List<GasFlux> gasFluxExport(GasFluxExportBO gasFluxExportBO) { + + if(gasFluxExportBO.getAreaId1() == null && gasFluxExportBO.getAreaId2() == null && gasFluxExportBO.getAreaId3() == null + && gasFluxExportBO.getAreaId4() == null && gasFluxExportBO.getAreaId5() == null && gasFluxExportBO.getAreaId5() == null){ + gasFluxExportBO.setAreaId1(1); + gasFluxExportBO.setAreaId2(2); + gasFluxExportBO.setAreaId3(3); + gasFluxExportBO.setAreaId4(4); + gasFluxExportBO.setAreaId5(5); + gasFluxExportBO.setAreaId6(6); + } + + //封装查询参数 + Specification<GasFlux> specification = new Specification<GasFlux>() { + @Override + public Predicate toPredicate(Root<GasFlux> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) { + List<Predicate> predicateList = new ArrayList<>(); + if (gasFluxExportBO.getStartTime() != null && !gasFluxExportBO.getStartTime().equals("")){ + predicateList.add(criteriaBuilder.greaterThanOrEqualTo(root.get("time"), gasFluxExportBO.getStartTime())); + } + if (gasFluxExportBO.getEndTime() != null && !gasFluxExportBO.getEndTime().equals("")){ + predicateList.add(criteriaBuilder.lessThanOrEqualTo(root.get("time"), gasFluxExportBO.getEndTime())); + } + predicateList.add(criteriaBuilder.or( + criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId1()), + criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId2()), + criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId3()), + criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId4()), + criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId5()), + criteriaBuilder.equal(root.get("areaId"), gasFluxExportBO.getAreaId6()) + ) + ); + query.orderBy(criteriaBuilder.asc(root.get("time")),criteriaBuilder.asc(root.get("areaId"))); + return criteriaBuilder.and(predicateList.toArray(new Predicate[0])); + } + }; + List<GasFlux> gasFluxList = gasFluxRepository.findAll(specification); + + return gasFluxList; + } } -- Gitblit v1.9.2