package com.poyee.manager.impl; import com.alibaba.fastjson.JSON; import com.poyee.common.constant.Constants; import com.poyee.common.constant.RedisKeyConstants; import com.poyee.common.domain.entity.AppActConfig; import com.poyee.common.domain.entity.TzyCardTaskRemind; import com.poyee.dao.mapper.BaseApiMapper; import com.poyee.dao.mapper.TzyCardTaskRemindMapper; import com.poyee.manager.CacheRedisManager; import com.poyee.manager.RedisManager; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Collections; import java.util.List; import java.util.Objects; @Slf4j @Component public class CacheRedisManagerImpl implements CacheRedisManager { @Resource private RedisManager redisManager; @Resource private TzyCardTaskRemindMapper taskRemindMapper; @Resource private BaseApiMapper baseApiMapper; @Override public List getTaskRemind(Integer userId) { Object o = redisManager.get(RedisKeyConstants.REMINDER_TASK + userId); if (Objects.nonNull(o)) { return JSON.parseArray(o.toString(), TzyCardTaskRemind.class); } List taskReminds = taskRemindMapper.getRemindByUserId(userId); redisManager.set(RedisKeyConstants.REMINDER_TASK + userId, JSON.toJSONString(taskReminds), RedisKeyConstants.REMINDER_TASK_TIMEOUT); return taskReminds; } @Override public void updateTaskRemind(Integer userId, List ids) { int i = taskRemindMapper.updateRemind(ids); redisManager.set(RedisKeyConstants.REMINDER_TASK + userId, JSON.toJSONString(Collections.emptyList())); log.info("更新任务提醒成功,userId={},ids={}, count={}", userId, ids, i); } @Override public List getAppActConfigs() { Object o = redisManager.get(Constants.APP_ACT_CACHE); if (Objects.nonNull(o)) { return JSON.parseArray(o.toString(), AppActConfig.class); } List appActConfigs = baseApiMapper.selectAppActConfig(); redisManager.set(Constants.APP_ACT_CACHE, JSON.toJSONString(appActConfigs), RedisKeyConstants.COMMON_DAY_TIMEOUT); return appActConfigs; } }