From c635d78b479510ebe2556a420948effcd30a0731 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期六, 21 十二月 2024 18:40:43 +0800 Subject: [PATCH] 新建德森项目分支 --- zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java | 144 ++++++++++++++++++++++++------------------------ 1 files changed, 72 insertions(+), 72 deletions(-) diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java index 2dd0ccf..f477a5c 100644 --- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java +++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/CacheStatisticsTimer.java @@ -1,72 +1,72 @@ -package com.zy.asrs.wms.asrs.timer; - -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.zy.asrs.wms.asrs.entity.CacheStatistics; -import com.zy.asrs.wms.asrs.service.CacheStatisticsService; -import com.zy.asrs.wms.common.constant.RedisConstants; -import com.zy.asrs.wms.common.domain.CacheHitDto; -import com.zy.asrs.wms.utils.RedisUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Set; - -@Component -public class CacheStatisticsTimer { - - @Autowired - private RedisUtil redisUtil; - @Autowired - private CacheStatisticsService cacheStatisticsService; - - /** - * 灏嗙紦瀛樼粺璁′繚瀛樿嚦鏁版嵁搴� - * 姣�30鍒嗛挓鎵弿涓�娆� - */ - @Scheduled(cron = "0 30 * * * ? ") - public void run() { - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); - String now = format.format(new Date()); - Set<String> keys = redisUtil.searchRedisKeys(RedisConstants.STATISTICS_CACHE_DATA); - for (String key : keys) { - if(key.contains(now)){ - continue; - } - - try { - String[] split = key.split(":"); - String ymd = split[1]; - String cacheKey = split[2]; - Object object = redisUtil.get(key); - if(object == null){ - continue; - } - - CacheHitDto cacheHitDto = JSON.parseObject(object.toString(), CacheHitDto.class); - CacheStatistics cacheStatistics = cacheStatisticsService.getOne(new LambdaQueryWrapper<CacheStatistics>().eq(CacheStatistics::getYmd, ymd).eq(CacheStatistics::getCacheKey, cacheKey)); - if (cacheStatistics == null) { - cacheStatistics = new CacheStatistics(); - cacheStatistics.setYmd(ymd); - cacheStatistics.setCacheKey(cacheKey); - cacheStatistics.setHit(0); - cacheStatistics.setMiss(0); - cacheStatisticsService.save(cacheStatistics); - } - - cacheStatistics.setHit(cacheStatistics.getHit() + cacheHitDto.getHit()); - cacheStatistics.setMiss(cacheStatistics.getMiss() + cacheHitDto.getMiss()); - cacheStatisticsService.updateById(cacheStatistics); - - redisUtil.del(key); - } catch (Exception e) { - e.printStackTrace(); - } - } - - } - -} +package com.zy.asrs.wms.asrs.timer; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.zy.asrs.wms.asrs.entity.CacheStatistics; +import com.zy.asrs.wms.asrs.service.CacheStatisticsService; +import com.zy.asrs.wms.common.constant.RedisConstants; +import com.zy.asrs.wms.common.domain.CacheHitDto; +import com.zy.asrs.wms.utils.RedisUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Set; + +@Component +public class CacheStatisticsTimer { + + @Autowired + private RedisUtil redisUtil; + @Autowired + private CacheStatisticsService cacheStatisticsService; + + /** + * 灏嗙紦瀛樼粺璁′繚瀛樿嚦鏁版嵁搴� + * 姣�30鍒嗛挓鎵弿涓�娆� + */ +// @Scheduled(cron = "0 30 * * * ? ") + public void run() { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + String now = format.format(new Date()); + Set<String> keys = redisUtil.searchRedisKeys(RedisConstants.STATISTICS_CACHE_DATA); + for (String key : keys) { + if(key.contains(now)){ + continue; + } + + try { + String[] split = key.split(":"); + String ymd = split[1]; + String cacheKey = split[2]; + Object object = redisUtil.get(key); + if(object == null){ + continue; + } + + CacheHitDto cacheHitDto = JSON.parseObject(object.toString(), CacheHitDto.class); + CacheStatistics cacheStatistics = cacheStatisticsService.getOne(new LambdaQueryWrapper<CacheStatistics>().eq(CacheStatistics::getYmd, ymd).eq(CacheStatistics::getCacheKey, cacheKey)); + if (cacheStatistics == null) { + cacheStatistics = new CacheStatistics(); + cacheStatistics.setYmd(ymd); + cacheStatistics.setCacheKey(cacheKey); + cacheStatistics.setHit(0); + cacheStatistics.setMiss(0); + cacheStatisticsService.save(cacheStatistics); + } + + cacheStatistics.setHit(cacheStatistics.getHit() + cacheHitDto.getHit()); + cacheStatistics.setMiss(cacheStatistics.getMiss() + cacheHitDto.getMiss()); + cacheStatisticsService.updateById(cacheStatistics); + + redisUtil.del(key); + } catch (Exception e) { + e.printStackTrace(); + } + } + + } + +} -- Gitblit v1.9.1