package com.moral.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.Sensor; import com.moral.api.mapper.SensorMapper; import com.moral.api.service.SensorService; 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; /** *

* 服务实现类 *

* * @author moral * @since 2021-06-28 */ @Service public class SensorServiceImpl extends ServiceImpl implements SensorService { @Autowired SensorMapper sensorMapper; @Autowired RedisTemplate redisTemplate; @Override public Sensor getSensorByCode(String code) { Sensor sensor = (Sensor) redisTemplate.opsForHash().get(RedisConstants.SENSOR_KEY, code); if(sensor==null) sensor = getSensorByCodeFromDb(code); return sensor; } private Sensor getSensorByCodeFromDb(String code) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("code",code); wrapper.eq("is_delete", Constants.NOT_DELETE); Sensor sensor = sensorMapper.selectOne(wrapper); redisTemplate.opsForHash().put(RedisConstants.SENSOR_KEY, code,sensor); return sensor; } }