From 2dd2e7f54db7149965acaa11d933f85b31fbd59c Mon Sep 17 00:00:00 2001 From: huangzhen <867217663@qq.com> Date: 星期二, 19 十二月 2023 16:54:00 +0800 Subject: [PATCH] 解决验收过程中出现的问题 --- src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java | 33 +++++++++++++++++++++++++++++---- 1 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java index 0f93767..ace5444 100644 --- a/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java +++ b/src/main/java/com/gkhy/fourierSpecialGasMonitor/service/impl/GasWarnLogServiceImpl.java @@ -8,18 +8,20 @@ import com.gkhy.fourierSpecialGasMonitor.domain.account.entity.User; import com.gkhy.fourierSpecialGasMonitor.domain.account.enums.UserStatusEnum; import com.gkhy.fourierSpecialGasMonitor.domain.account.repository.jpa.UserRepository; +import com.gkhy.fourierSpecialGasMonitor.entity.GasConcentration; import com.gkhy.fourierSpecialGasMonitor.entity.GasWarnLog; import com.gkhy.fourierSpecialGasMonitor.entity.query.FindGasWarnLogPageQuery; import com.gkhy.fourierSpecialGasMonitor.entity.query.GasWarnTimesCountTimeSlotQuery; +import com.gkhy.fourierSpecialGasMonitor.entity.query.WindRoseTimeSlotQuery; import com.gkhy.fourierSpecialGasMonitor.entity.req.GasWarnLogCountByTimeReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.GasWarnLogInfoReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.HandleGasWarnLogReqDTO; -import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindGasWarnLogPageRespDTO; -import com.gkhy.fourierSpecialGasMonitor.entity.resp.FindGasWarnLogSmsUserPageRespDTO; -import com.gkhy.fourierSpecialGasMonitor.entity.resp.GasWarnLogCountByTimeRespDTO; -import com.gkhy.fourierSpecialGasMonitor.entity.resp.GasWarnLogInfoByTimeRespDTO; +import com.gkhy.fourierSpecialGasMonitor.entity.req.WindRoseByTimeReqDTO; +import com.gkhy.fourierSpecialGasMonitor.entity.resp.*; import com.gkhy.fourierSpecialGasMonitor.enums.GasWarnTimesCountEnum; import com.gkhy.fourierSpecialGasMonitor.enums.WarnHandleStatusEnum; +import com.gkhy.fourierSpecialGasMonitor.enums.WindRoseEnum; +import com.gkhy.fourierSpecialGasMonitor.repository.GasConcentrationRepository; import com.gkhy.fourierSpecialGasMonitor.repository.GasWarnLogRepository; import com.gkhy.fourierSpecialGasMonitor.service.GasWarnLogService; import com.gkhy.fourierSpecialGasMonitor.utils.ThreadLocalUtil; @@ -34,6 +36,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import javax.annotation.Resource; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; @@ -53,6 +56,9 @@ @Autowired private GasWarnLogRepository gasWarnLogRepository; + + @Resource + private GasConcentrationRepository gasConcentrationRepository; @Autowired private UserRepository userRepository; @@ -191,6 +197,25 @@ } @Override + public Result gasWindRoseByTime(WindRoseByTimeReqDTO reqDTO) { + if (reqDTO == null && reqDTO .getCountTime() == null) + throw new BusinessException(this.getClass(), ResultCode.PARAM_ERROR_NULL,"参数不能为空"); + Integer countTime = reqDTO.getCountTime(); + WindRoseTimeSlotQuery query = WindRoseEnum.getQueryObject(countTime).getTimeSlotByStrategy(); + Result result = Result.success(); + List<GasConcentration> gasConcentrations = gasConcentrationRepository.findAllByDataReceivingTimeBetweenOrderByDataReceivingTimeDesc(query.getStartTime(), query.getEndTime()); + if (CollectionUtils.isEmpty(gasConcentrations)) + return result; + List<WindRoseByTimeRespDTO> collect = gasConcentrations.stream().map(gasConcentration -> { + WindRoseByTimeRespDTO dto = new WindRoseByTimeRespDTO(); + BeanUtils.copyProperties(gasConcentration, dto); + return dto; + }).collect(Collectors.toList()); + result.setData(collect); + return result; + } + + @Override public Result gasWarnLogInfoByTime(GasWarnLogInfoReqDTO gasWarnLogInfoReqDTO) { LocalDateTime now = LocalDateTime.now(); LocalDateTime startTime = now.with(LocalTime.MIN); -- Gitblit v1.9.2