修改参数
parent
67d821789a
commit
7185cf3db8
@ -0,0 +1,64 @@
|
||||
package com.baiye.task;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.text.StrPool;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baiye.config.properties.DeliveryProperties;
|
||||
import com.baiye.constant.DefaultNumberConstants;
|
||||
import com.baiye.constant.FileConstant;
|
||||
import com.baiye.util.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* @author Enzo
|
||||
* @date : 2023/4/22
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class ZipFileSendMailTask {
|
||||
|
||||
private final DeliveryProperties deliveryProperties;
|
||||
|
||||
private final RedisUtils redisUtils;
|
||||
|
||||
/**
|
||||
* 凌晨一点发送邮件
|
||||
*/
|
||||
@SneakyThrows
|
||||
@Scheduled(cron = "0 0 1 * * ? ")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void receiveMail() {
|
||||
String format = DateUtil.format(DateUtil.date(), DatePattern.PURE_DATE_PATTERN);
|
||||
|
||||
log.info("");
|
||||
for (File file : FileUtil.getAllFile("/home/mail")) {
|
||||
Integer num = (Integer) redisUtils.get(CacheKey.DMP_MANUAL_ID.concat(format));
|
||||
Integer batch = ObjectUtil.isNull(num) ? DefaultNumberConstants.ONE_NUMBER : num + DefaultNumberConstants.ONE_NUMBER;
|
||||
String taskImeiName = FileConstant.MM.concat(StrPool.UNDERLINE).concat(format).concat(StrPool.UNDERLINE).concat(String.valueOf(batch));
|
||||
// 保存文件
|
||||
String zipPath = file.getPath().replace(".csv", FileConstant.ZIP_FILE_SUB_NAME);
|
||||
|
||||
// 设置压缩文件
|
||||
CompressUtil.decryptionCompression
|
||||
(zipPath, file.getPath(), deliveryProperties.getZipPassword());
|
||||
// 发送邮件
|
||||
MailUtil.sendMail(deliveryProperties.getEmailAddress(),
|
||||
deliveryProperties.getEmailPassword(), deliveryProperties.getToEmailAddress(), zipPath, taskImeiName);
|
||||
// 保存批次号
|
||||
redisUtils.set(CacheKey.DMP_MANUAL_ID.concat(format), batch, DefaultNumberConstants.ONE_NUMBER, TimeUnit.DAYS);
|
||||
FileUtil.del(file);
|
||||
FileUtil.del(zipPath);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue