TaskService.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.fdkankan.ucenter.task;
  2. import cn.hutool.json.JSONObject;
  3. import cn.hutool.json.JSONUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.fdkankan.common.util.DateUtil;
  6. import com.fdkankan.common.util.FileUtils;
  7. import com.fdkankan.redis.util.RedisUtil;
  8. import com.fdkankan.ucenter.common.RedisKeyUtil;
  9. import com.fdkankan.ucenter.common.StatisticsUtil;
  10. import com.fdkankan.ucenter.common.constants.NacosProperty;
  11. import com.fdkankan.ucenter.common.utils.AuthLicenseUtil;
  12. import com.fdkankan.ucenter.config.UcenterConfig;
  13. import com.fdkankan.ucenter.constant.QrCodeFilePath;
  14. import com.fdkankan.ucenter.entity.IncrementAutoOrder;
  15. import com.fdkankan.ucenter.service.*;
  16. import com.fdkankan.ucenter.util.DateUserUtil;
  17. import com.fdkankan.ucenter.vo.response.AuthLicenseEntityVo;
  18. import org.apache.commons.lang3.StringUtils;
  19. import org.slf4j.Logger;
  20. import org.slf4j.LoggerFactory;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.scheduling.annotation.Scheduled;
  23. import org.springframework.stereotype.Component;
  24. import java.io.File;
  25. import java.util.*;
  26. @Component
  27. public class TaskService {
  28. public static final Logger log = LoggerFactory.getLogger("timeLogger");
  29. @Autowired
  30. RedisUtil redisUtil;
  31. @Autowired
  32. private ISceneProService sceneProService;
  33. @Autowired
  34. private ISceneCleanService sceneCleanService;
  35. @Autowired
  36. UcenterConfig ucenterConfig;
  37. @Scheduled(cron = "${task.cron.del_qrCode:0 */10 * * * ?}")
  38. public void delLoginQrCode(){
  39. this.updateSceneViewCount();
  40. }
  41. private void updateSceneViewCount() {
  42. String redisKey = RedisKeyUtil.V4_SCENE_VISIT_CNT;
  43. Map<String,String> hmget = redisUtil.hmget(redisKey);
  44. for (String key : hmget.keySet()) {
  45. //log.info("定时更新场景viewCount--num:{},viewCount:{}",key,hmget.get(key));
  46. sceneProService.updateDbViewCount(key,hmget.get(key));
  47. }
  48. }
  49. /**
  50. * 清理场景nas资源
  51. * 执行时间:每天凌晨
  52. * 删除条件:场景计算时间大于6个月且未删除过资源
  53. */
  54. @Scheduled(cron = "${task.cron.scene_clean_resource:0 0 0/2 * * ?}")
  55. public void sceneCleanResource() {
  56. log.info("每天凌晨12:00开始执行定时任务:清除场景计算目录");
  57. try {
  58. sceneCleanService.sceneCleanResource();
  59. } catch (Exception e) {
  60. log.error("清除失败", e);
  61. log.error(e.getMessage());
  62. }
  63. log.info("清除场景计算目录任务执行完成");
  64. }
  65. }