CacheRedisManagerImpl.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.poyee.manager.impl;
  2. import com.alibaba.fastjson.JSON;
  3. import com.poyee.common.constant.Constants;
  4. import com.poyee.common.constant.RedisKeyConstants;
  5. import com.poyee.common.domain.entity.AppActConfig;
  6. import com.poyee.common.domain.entity.TzyCardTaskRemind;
  7. import com.poyee.dao.mapper.BaseApiMapper;
  8. import com.poyee.dao.mapper.TzyCardTaskRemindMapper;
  9. import com.poyee.manager.CacheRedisManager;
  10. import com.poyee.manager.RedisManager;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.stereotype.Component;
  13. import javax.annotation.Resource;
  14. import java.util.Collections;
  15. import java.util.List;
  16. import java.util.Objects;
  17. @Slf4j
  18. @Component
  19. public class CacheRedisManagerImpl implements CacheRedisManager {
  20. @Resource
  21. private RedisManager redisManager;
  22. @Resource
  23. private TzyCardTaskRemindMapper taskRemindMapper;
  24. @Resource
  25. private BaseApiMapper baseApiMapper;
  26. @Override
  27. public List<TzyCardTaskRemind> getTaskRemind(Integer userId) {
  28. Object o = redisManager.get(RedisKeyConstants.REMINDER_TASK + userId);
  29. if (Objects.nonNull(o)) {
  30. return JSON.parseArray(o.toString(), TzyCardTaskRemind.class);
  31. }
  32. List<TzyCardTaskRemind> taskReminds = taskRemindMapper.getRemindByUserId(userId);
  33. redisManager.set(RedisKeyConstants.REMINDER_TASK + userId,
  34. JSON.toJSONString(taskReminds), RedisKeyConstants.REMINDER_TASK_TIMEOUT);
  35. return taskReminds;
  36. }
  37. @Override
  38. public void updateTaskRemind(Integer userId, List<Long> ids) {
  39. int i = taskRemindMapper.updateRemind(ids);
  40. redisManager.set(RedisKeyConstants.REMINDER_TASK + userId,
  41. JSON.toJSONString(Collections.emptyList()));
  42. log.info("更新任务提醒成功,userId={},ids={}, count={}", userId, ids, i);
  43. }
  44. @Override
  45. public List<AppActConfig> getAppActConfigs() {
  46. Object o = redisManager.get(Constants.APP_ACT_CACHE);
  47. if (Objects.nonNull(o)) {
  48. return JSON.parseArray(o.toString(), AppActConfig.class);
  49. }
  50. List<AppActConfig> appActConfigs = baseApiMapper.selectAppActConfig();
  51. redisManager.set(Constants.APP_ACT_CACHE,
  52. JSON.toJSONString(appActConfigs), RedisKeyConstants.COMMON_DAY_TIMEOUT);
  53. return appActConfigs;
  54. }
  55. }