package com.moral.api.service.impl; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.GovMonitorPoint; import com.moral.api.mapper.GovMonitorPointMapper; import com.moral.api.service.GovMonitorPointService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.Constants; import com.moral.constant.RedisConstants; import com.moral.util.RegionCodeUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author moral * @since 2021-09-16 */ @Service public class GovMonitorPointServiceImpl extends ServiceImpl implements GovMonitorPointService { @Autowired GovMonitorPointMapper govMonitorPointMapper; @Autowired RedisTemplate redisTemplate; @Override public List queryGovMonitorPointAndDataByRegionCode(Integer regionCode,String sensorCode) { String regionCodeStr = RegionCodeUtils.regionCodeConvertToName(regionCode); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(regionCodeStr,regionCode); wrapper.eq("is_delete", Constants.NOT_DELETE); wrapper.select("guid","name","longitude","latitude","station_level"); List govMonitorPoints = govMonitorPointMapper.selectList(wrapper); for (GovMonitorPoint govMonitorPoint : govMonitorPoints) { Object data = redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, govMonitorPoint.getGuid()); Map dataMap = (Map) data; if(data!=null&&dataMap.get(sensorCode)!=null) govMonitorPoint.setData(String.valueOf(dataMap.get(sensorCode))); } return govMonitorPoints; } }