瀏覽代碼

fix: 缺失邮箱发送失败原因排查修复

chenjianhua 5 月之前
父節點
當前提交
cba07bfc2f

+ 19 - 14
service-manage/src/main/java/com/simuwang/manage/service/impl/CompanyEmailConfigServiceImpl.java

@@ -18,6 +18,7 @@ import com.simuwang.base.pojo.dos.EmailDeletionInfoDO;
 import com.simuwang.base.pojo.dto.ExcelDeletionInfoDTO;
 import com.simuwang.base.pojo.dto.MailboxInfoDTO;
 import com.simuwang.base.pojo.vo.CompanyEmailConfigVO;
+import com.simuwang.manage.init.CompleteScheduleConfig;
 import com.simuwang.manage.service.CompanyEmailConfigService;
 import com.simuwang.shiro.utils.UserUtils;
 import com.smppw.common.pojo.ResultVo;
@@ -26,6 +27,8 @@ import jakarta.mail.Message;
 import jakarta.mail.Store;
 import jakarta.mail.internet.MimeMessage;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.mail.javamail.JavaMailSender;
@@ -57,6 +60,8 @@ public class CompanyEmailConfigServiceImpl implements CompanyEmailConfigService
     @Autowired
     private SysConfigMapper sysConfigMapper;
 
+    private static Logger logger = LoggerFactory.getLogger(CompanyEmailConfigServiceImpl.class);
+
     @Value("${email.file.path}")
     private String path;
     @Override
@@ -157,30 +162,30 @@ public class CompanyEmailConfigServiceImpl implements CompanyEmailConfigService
             infoDO.setDeletionType(DeletionType.getDeletionTypeByCode(Integer.valueOf(infoDO.getDeletionType())).getInfo());
         }
         if(emailDeletionInfoDOS.size() > 0){
+            try {
             //将数据写入excel文件
             File file = writeExcelFile(emailDeletionInfoDOS);
             file.setWritable(true);
             file.setReadable(true);
             file.setExecutable(true);
-            try {
-                MailboxInfoDTO dto = getFromEmailInfo();
-                // "<p>您好,附件为产品的数据未发送到最新,麻烦尽快发送缺失的数据。若是产品清算或者有其他原因不再发送数据,还请将产品的清算日期或者不再发送数据的原因发送给我们,非常感谢~\n</p>";
-                String htmlText = sysConfigMapper.selectConfigByKey("deletion_email_body");
-                String emailTitle = sysConfigMapper.selectConfigByKey("deletion_email_title");
-                EmailUtil.senEmail(dto,emails,file,htmlText,sysConfigMapper.selectConfigByKey("email.host")==null?"":sysConfigMapper.selectConfigByKey("email.host"),emailTitle);
-                //发送成功之后修改数据为已发送
-                deletionInfoMapper.updateSendStatusByFundId(fundIdList);
-                //写入发送历史
-                String[] emailList = emails.split(";");
-                for(String email : emailList){
-                    saveCompanyEmailSendHistory(companyId,email,1,ResultCode.SEND_SUCCESS.getMsg());
-                }
+            MailboxInfoDTO dto = getFromEmailInfo();
+            // "<p>您好,附件为产品的数据未发送到最新,麻烦尽快发送缺失的数据。若是产品清算或者有其他原因不再发送数据,还请将产品的清算日期或者不再发送数据的原因发送给我们,非常感谢~\n</p>";
+            String htmlText = sysConfigMapper.selectConfigByKey("deletion_email_body");
+            String emailTitle = sysConfigMapper.selectConfigByKey("deletion_email_title");
+            EmailUtil.senEmail(dto,emails,file,htmlText,sysConfigMapper.selectConfigByKey("email.host")==null?"":sysConfigMapper.selectConfigByKey("email.host"),emailTitle);
+            //发送成功之后修改数据为已发送
+            deletionInfoMapper.updateSendStatusByFundId(fundIdList);
+            //写入发送历史
+            String[] emailList = emails.split(";");
+            for(String email : emailList){
+                saveCompanyEmailSendHistory(companyId,email,1,ResultCode.SEND_SUCCESS.getMsg());
+            }
             } catch (Exception e) {
                 String[] emailList = emails.split(";");
                 for(String email : emailList){
                     saveCompanyEmailSendHistory(companyId,email,0,e.getMessage());
                 }
-                throw new RuntimeException(e);
+                logger.error(e.getMessage(),e);
             }
         }
     }