From 9dcca27f3e28febdf4d79c2b6017d15bb104cff2 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Thu, 10 Mar 2022 13:32:52 +0800 Subject: [PATCH] screen-api 增加五分钟弹窗数据接口 --- screen-api/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java index cfe384d..c00e72b 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java @@ -1,10 +1,19 @@ package com.moral.api.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.UnitConversion; import com.moral.api.mapper.UnitConversionMapper; import com.moral.api.service.UnitConversionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.constant.Constants; +import com.moral.constant.RedisConstants; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; /** * <p> @@ -17,4 +26,38 @@ @Service public class UnitConversionServiceImpl extends ServiceImpl<UnitConversionMapper, UnitConversion> implements UnitConversionService { + @Autowired + RedisTemplate redisTemplate; + @Autowired + UnitConversionMapper unitConversionMapper; + + @Override + public String getFormula(Integer srcUnitId, Integer posUnitId, String sensorCode) { + List<UnitConversion> unitConversions = redisTemplate.opsForList().range(RedisConstants.UNIT_CONVERSION, 0, -1); + if (unitConversions == null) { + QueryWrapper<UnitConversion> wrapper = new QueryWrapper(); + wrapper.eq("is_delete", Constants.NOT_DELETE); + unitConversions = unitConversionMapper.selectList(wrapper); + } + List<UnitConversion> sensorConversion = new ArrayList<>(); + Iterator<UnitConversion> iterator = unitConversions.iterator(); + while (iterator.hasNext()) { + UnitConversion unitConversion = iterator.next(); + if (unitConversion.getSensorCode() != null) { + sensorConversion.add(unitConversion); + iterator.remove(); + } + } + for (UnitConversion unitConversion : sensorConversion) { + if (unitConversion.getOriginalUnitKey().equals(srcUnitId) && unitConversion.getTargetUnitKey().equals(posUnitId) && unitConversion.getSensorCode().equals(sensorCode)) + return unitConversion.getFormula(); + } + + for (UnitConversion unitConversion : unitConversions) { + if (unitConversion.getOriginalUnitKey().equals(srcUnitId) && unitConversion.getTargetUnitKey().equals(posUnitId)) + return unitConversion.getFormula(); + } + + return null; + } } -- Gitblit v1.8.0