package com.fzzy.igds.grain.service; import com.fzzy.igds.dzhwk.constant.RedisConst; import com.fzzy.igds.grain.dto.GrainData; import com.fzzy.igds.grain.dto.GrainParam; import com.fzzy.igds.grain.mapper.GrainServiceMapper; import com.ruoyi.common.core.redis.RedisCache; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * @Description 粮情模块核心接口 * @Author CZT * @Date 2024/12/02 15:33 */ @Slf4j @Service("dzhwk.grainService") public class GrainService { @Resource private RedisCache redisCache; @Resource private GrainServiceMapper grainServiceMapper; /** * 获取缓存中最新的粮情检测数据 * * @param companyId * @return key=参考编码 */ public GrainData getCacheGrainDate(String companyId, String depotId) { if (null == companyId || null == depotId) { return null; } String key = RedisConst.buildKey(companyId, RedisConst.KEY_GRAIN, depotId); GrainData grainData = redisCache.getCacheObject(key); if (null == grainData) { GrainParam param = new GrainParam();; param.setCompanyId(companyId); param.setDepotId(depotId); List list = grainServiceMapper.getGrainData(param); if (list != null && !list.isEmpty()) { grainData = list.get(0); redisCache.setCacheObject(key, grainData); } } return grainData; } }