//查询所有用户id
List<Integer> userIdList = userDao.getAllUserId();

//将用户id存储到redis中
for(int userId : userIdList){
    redisTemplate.opsForList().leftPush("report:userIds", userId);
}

//根据用户id查询未汇报列表内容
List<Report> reportList = reportDao.getUnreportedList(userIdList);

//填写工作汇报后,将填写用户id移除redis中
redisTemplate.opsForList().remove("report:userIds", 0, userId);

//点击未汇报时,取出用户id查询数据
List<Report> unreportedList = reportDao.getUnreportedList(redisTemplate.opsForList().range("report:userIds", 0, -1));

//晚上23点59分中将还存在redis中的用户id,使用insert插入到数据库中的work_record表中
String cronExpression = "0 59 23 * * ?";
scheduler.schedule(() -> {
    List<Integer> userIds = redisTemplate.opsForList().range("report:userIds", 0, -1);
    if(userIds != null && !userIds.isEmpty()){
        workRecordDao.insert(userIds);
        redisTemplate.delete("report:userIds");
    }
}, new CronTrigger(cronExpression));
``
如何用java实现 查询所有的用户id 存储到redis中根据这些id去查找未汇报列表的内容如果填写工作汇报后 将填写用户id移除redis中点击未汇报时取出用户id查询数据在晚上23点59分中将还存在redis中的用户id使用insetr插入到数据库中的work_record表中

原文地址: https://www.cveoy.top/t/topic/cOMX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录