package com.fdkankan.ucenter.task; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fdkankan.common.util.DateUtil; import com.fdkankan.common.util.FileUtils; import com.fdkankan.redis.util.RedisUtil; import com.fdkankan.ucenter.common.RedisKeyUtil; import com.fdkankan.ucenter.common.StatisticsUtil; import com.fdkankan.ucenter.common.constants.NacosProperty; import com.fdkankan.ucenter.common.utils.AuthLicenseUtil; import com.fdkankan.ucenter.config.UcenterConfig; import com.fdkankan.ucenter.constant.QrCodeFilePath; import com.fdkankan.ucenter.entity.IncrementAutoOrder; import com.fdkankan.ucenter.service.*; import com.fdkankan.ucenter.util.DateUserUtil; import com.fdkankan.ucenter.vo.response.AuthLicenseEntityVo; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.io.File; import java.util.*; @Component public class TaskService { public static final Logger log = LoggerFactory.getLogger("timeLogger"); @Autowired RedisUtil redisUtil; @Autowired private ISceneProService sceneProService; @Autowired private ISceneCleanService sceneCleanService; @Autowired UcenterConfig ucenterConfig; @Scheduled(cron = "${task.cron.del_qrCode:0 */10 * * * ?}") public void delLoginQrCode(){ this.updateSceneViewCount(); } private void updateSceneViewCount() { String redisKey = RedisKeyUtil.V4_SCENE_VISIT_CNT; Map hmget = redisUtil.hmget(redisKey); for (String key : hmget.keySet()) { //log.info("定时更新场景viewCount--num:{},viewCount:{}",key,hmget.get(key)); sceneProService.updateDbViewCount(key,hmget.get(key)); } } /** * 清理场景nas资源 * 执行时间:每天凌晨 * 删除条件:场景计算时间大于6个月且未删除过资源 */ @Scheduled(cron = "${task.cron.scene_clean_resource:0 0 0/2 * * ?}") public void sceneCleanResource() { log.info("每天凌晨12:00开始执行定时任务:清除场景计算目录"); try { sceneCleanService.sceneCleanResource(); } catch (Exception e) { log.error("清除失败", e); log.error(e.getMessage()); } log.info("清除场景计算目录任务执行完成"); } }