|
@@ -0,0 +1,56 @@
|
|
|
|
+package com.simuwang.daq.service;
|
|
|
|
+
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
|
+import com.simuwang.base.mapper.EmailFileInfoMapper;
|
|
|
|
+import com.simuwang.base.mapper.EmailParseInfoMapper;
|
|
|
|
+import com.simuwang.base.pojo.dos.EmailParseInfoDO;
|
|
|
|
+import com.simuwang.base.pojo.dto.MailboxInfoDTO;
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.List;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * @author mozuwen
|
|
|
|
+ * @date 2024-09-12
|
|
|
|
+ * @description 邮件解析服务对外接口实现层
|
|
|
|
+ */
|
|
|
|
+@Service
|
|
|
|
+public class EmailParseApiServiceImpl implements EmailParseApiService {
|
|
|
|
+
|
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(EmailParseApiServiceImpl.class);
|
|
|
|
+
|
|
|
|
+ private final EmailParseService emailParseService;
|
|
|
|
+ private final EmailParseInfoMapper emailParseInfoMapper;
|
|
|
|
+ private final EmailFileInfoMapper emailFileInfoMapper;
|
|
|
|
+
|
|
|
|
+ public EmailParseApiServiceImpl(EmailParseService emailParseService, EmailParseInfoMapper emailParseInfoMapper,
|
|
|
|
+ EmailFileInfoMapper emailFileInfoMapper) {
|
|
|
|
+ this.emailParseService = emailParseService;
|
|
|
|
+ this.emailParseInfoMapper = emailParseInfoMapper;
|
|
|
|
+ this.emailFileInfoMapper = emailFileInfoMapper;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void parseEmail(MailboxInfoDTO mailboxInfoDTO, Date startDate, Date endDate) {
|
|
|
|
+ emailParseService.parseEmail(mailboxInfoDTO, startDate, endDate);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void reparseEmail(Integer emailId) {
|
|
|
|
+ // 查询邮件信息
|
|
|
|
+ EmailParseInfoDO emailParseInfoDO = emailParseInfoMapper.queryById(emailId);
|
|
|
|
+ if (emailParseInfoDO == null) {
|
|
|
|
+ log.info("邮件不存在 ->邮件id:{}", emailId);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ List<EmailParseInfoDO> emailParseInfoDOList = emailFileInfoMapper.queryByEmailId(emailId);
|
|
|
|
+ if (CollUtil.isNotEmpty(emailParseInfoDOList)) {
|
|
|
|
+ log.info("该邮件不存在附件 -> 邮件id:{}", emailId);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ // todo 走解析流程
|
|
|
|
+ }
|
|
|
|
+}
|