| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package com.fdkankan.ucenter.task;
- import com.fdkankan.common.constant.ConstantFilePath;
- import com.fdkankan.common.util.DateUtil;
- import com.fdkankan.common.util.FileUtil;
- import com.fdkankan.redis.util.RedisUtil;
- import com.fdkankan.ucenter.common.RedisKeyUtil;
- import com.fdkankan.ucenter.constant.QrCodeFilePath;
- import lombok.extern.slf4j.Slf4j;
- 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.Arrays;
- import java.util.Date;
- import java.util.List;
- @Component
- @Slf4j
- public class TaskService {
- @Autowired
- RedisUtil redisUtil;
- @Scheduled(cron = "0 */10 * * * ?")
- public void delLoginQrCode(){
- long startTime = new Date().getTime();
- log.info("delLoginQrCode:开始定时清理本地登录二维码" );
- String qrCodePath = QrCodeFilePath.LOGIN_QR_CODE_PATH;
- String aliQrCodePath = QrCodeFilePath.ALI_QRCODE_FOLDER;
- String wxCodePath = QrCodeFilePath.WEIXIN_QRCODE_FOLDER;
- File file = new File(qrCodePath);
- File file2 = new File(wxCodePath);
- File file3 = new File(aliQrCodePath);
- File[] files = file.listFiles();
- File[] files1 = file2.listFiles();
- File[] files2 = file3.listFiles();
- delFile(files);
- delFile(files1);
- delFile(files2);
- log.info("delLoginQrCode:结束定时清理本地登录二维码:耗时{}秒",(new Date().getTime() - startTime)/1000 );
- }
- private void delFile(File[] files){
- if(files == null && files.length >0){
- return;
- }
- for (File f : files) {
- if(f==null || !f.getName().contains(".")){
- continue;
- }
- String name = f.getName().substring(0,f.getName().lastIndexOf("."));
- if(!redisUtil.hasKey(RedisKeyUtil.QRCODE + name)){
- log.info("删除文件:{}",f.getPath());
- FileUtil.delFile(f.getPath());
- }
- }
- }
- }
|