Browse Source

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu 6 months ago
parent
commit
a4968e4af6

+ 2 - 0
mall-server-api/src/main/java/com/gree/mall/manager/controller/policy/MailboxController.java

@@ -132,6 +132,8 @@ public class MailboxController {
     @PostMapping("test")
     public ResponseHelper send(){
         agreementLogic.sendEmailSche();
+        agreementLogic.sendEmailScheEM();
+        agreementLogic.sendEmailScheIN();
         return ResponseHelper.success();
     }
 

+ 215 - 146
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/AgreementLogic.java

@@ -22,6 +22,7 @@ import lombok.SneakyThrows;
 import org.apache.http.client.utils.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -230,11 +231,15 @@ public class AgreementLogic {
         List<MailboxReceive> mailboxReceives = mailboxReceiveService.lambdaQuery().eq(MailboxReceive::getMailboxId, "1").list();
 
 
+        //发送邮箱
+        EmailUtilsNew emailUtilsNew = new EmailUtilsNew(mailboxSendRecord.getSendMailbox(), mailbox.getSendPassword());
+
+
         if (mailboxSendRecord.getPolicyType().equals("AC")) {
 
             //发邮件
             try {
-                this.sendEmailFile(mailboxSendRecordPolicies, mailboxSendRecord, mailbox);
+                this.sendEmailFile(mailboxSendRecordPolicies, mailboxSendRecord, mailbox,emailUtilsNew);
                 mailboxSendRecord.setSendStatus("OK");
                 mailboxSendRecord.updateById();
             } catch (Exception e) {
@@ -247,7 +252,7 @@ public class AgreementLogic {
 
             //发邮件
             try {
-                this.sendEmailFileEm(mailboxSendRecordPolicies, mailboxSendRecord, mailbox);
+                this.sendEmailFileEm(mailboxSendRecordPolicies, mailboxSendRecord, mailbox,emailUtilsNew);
                 mailboxSendRecord.setSendStatus("OK");
                 mailboxSendRecord.updateById();
             } catch (Exception e) {
@@ -261,7 +266,7 @@ public class AgreementLogic {
 
             //发邮件
             try {
-                this.sendEmailFileIn(mailboxSendRecordPolicies, mailboxSendRecord, mailbox);
+                this.sendEmailFileIn(mailboxSendRecordPolicies, mailboxSendRecord, mailbox,emailUtilsNew);
                 mailboxSendRecord.setSendStatus("OK");
                 mailboxSendRecord.updateById();
             } catch (Exception e) {
@@ -273,7 +278,7 @@ public class AgreementLogic {
 
     }
 
-    private void sendEmailFileIn(List<MailboxSendRecordPolicy> mailboxSendRecordPolicies, MailboxSendRecord mailboxSendRecord, Mailbox mailbox) throws IOException {
+    private void sendEmailFileIn(List<MailboxSendRecordPolicy> mailboxSendRecordPolicies, MailboxSendRecord mailboxSendRecord, Mailbox mailbox,EmailUtilsNew emailUtilsNew) throws IOException {
         String[] titles = new String[]{"序号", "网点编号", "网点名称", "服务人员编号", "服务人员名称", "联系电话", "身份证号码", "保单名称", "缴费金额",
                 "生效日期", "截止日期", "所属一级网点编号", "所属一级网点编号", "代买单位"};
         List<List<Object>> rows = new ArrayList<>();
@@ -299,11 +304,11 @@ public class AgreementLogic {
         String filePath = String.format("%s-%s.xlsx", path, mailboxSendRecord.getSendBatch() + "-工伤险");
         ExcelData excelData = new ExcelData();
         excelData.setTitles(Arrays.asList(titles));
+        excelData.setRows(rows);
         ExcelUtils.createExcel(filePath, excelData);
         File excel = new File(filePath);
 
         //发送邮箱
-        EmailUtilsNew emailUtilsNew = new EmailUtilsNew(mailboxSendRecord.getSendMailbox(), mailbox.getSendPassword());
 
         //分发邮件
 
@@ -317,7 +322,7 @@ public class AgreementLogic {
         excel.delete();
     }
 
-    private void sendEmailFileEm(List<MailboxSendRecordPolicy> mailboxSendRecordPolicies, MailboxSendRecord mailboxSendRecord, Mailbox mailbox) throws IOException {
+    private void sendEmailFileEm(List<MailboxSendRecordPolicy> mailboxSendRecordPolicies, MailboxSendRecord mailboxSendRecord, Mailbox mailbox,EmailUtilsNew emailUtilsNew) throws IOException {
 
         String[] titles = new String[]{"序号", "网点编号", "网点名称", "保险类型", "被保险人姓名", "被保险人证件类型", "被保险人证件号码",
                 "被替换人姓名", "被替换人证件类型", "被替换人证件号码"};
@@ -351,11 +356,10 @@ public class AgreementLogic {
         String filePath = String.format("%s-%s.xlsx", path, mailboxSendRecord.getSendBatch() + "-雇主险");
         ExcelData excelData = new ExcelData();
         excelData.setTitles(Arrays.asList(titles));
+        excelData.setRows(rows);
         ExcelUtils.createExcel(filePath, excelData);
         File excel = new File(filePath);
 
-        //发送邮箱
-        EmailUtilsNew emailUtilsNew = new EmailUtilsNew(mailboxSendRecord.getSendMailbox(), mailbox.getSendPassword());
 
         //分发邮件
 
@@ -377,7 +381,7 @@ public class AgreementLogic {
      * @param mailboxSendRecord
      * @param mailbox
      */
-    private void sendEmailFile(List<MailboxSendRecordPolicy> mailboxSendRecordPolicies, MailboxSendRecord mailboxSendRecord, Mailbox mailbox) throws IOException {
+    private void sendEmailFile(List<MailboxSendRecordPolicy> mailboxSendRecordPolicies, MailboxSendRecord mailboxSendRecord, Mailbox mailbox,EmailUtilsNew emailUtilsNew) throws IOException {
 
         String[] titles = new String[]{"序号", "投保人", "保单号", "网点编号", "网点名称", "保险类型", "被保险人姓名", "被保险人证件类型", "被保险人证件号码"};
         List<List<Object>> rows = new ArrayList<>();
@@ -408,8 +412,7 @@ public class AgreementLogic {
         ExcelUtils.createExcel(filePath, excelData);
         File excel = new File(filePath);
 
-        //发送邮箱
-        EmailUtilsNew emailUtilsNew = new EmailUtilsNew(mailboxSendRecord.getSendMailbox(), mailbox.getSendPassword());
+
 
         //分发邮件
 
@@ -419,6 +422,7 @@ public class AgreementLogic {
         }
 
 
+
         //删除该文件
         excel.delete();
     }
@@ -427,6 +431,8 @@ public class AgreementLogic {
         agreementService.removeById(id);
     }
 
+
+    @Async
     @Transactional(rollbackFor = Exception.class)
     public void sendEmailSche() {
 
@@ -446,6 +452,8 @@ public class AgreementLogic {
         }*/
 
 
+
+
         List<MailboxReceive> mailboxReceives = mailboxReceiveService.lambdaQuery().eq(MailboxReceive::getMailboxId, mailbox.getId()).list();
 
 
@@ -456,6 +464,9 @@ public class AgreementLogic {
 
 
         if (!CollectionUtils.isEmpty(policyOrders)) {
+
+            EmailUtilsNew emailUtilsNew = new EmailUtilsNew(mailbox.getSendMailbox(), mailbox.getSendPassword());
+
             MailboxSendRecord mailboxSendRecord = new MailboxSendRecord();
             mailboxSendRecord.setId(IdWorker.getIdStr());
             mailboxSendRecord.setPolicyType(PolicyTypeEnum.AC.getKey());
@@ -498,7 +509,7 @@ public class AgreementLogic {
 
             //发邮件
             try {
-                this.sendEmailFile(mailboxSendRecordPolicies, mailboxSendRecord, mailbox);
+                this.sendEmailFile(mailboxSendRecordPolicies, mailboxSendRecord, mailbox,emailUtilsNew);
                 mailboxSendRecord.setSendStatus("OK");
                 mailboxSendRecord.setSendTime(new Date());
                 mailboxSendRecord.updateById();
@@ -510,140 +521,6 @@ public class AgreementLogic {
         }
 
 
-        //雇主保险发送邮件
-        List<PolicyOrder> policyOrdersEm = policyOrderService.lambdaQuery()
-                .eq(PolicyOrder::getType, PolicyTypeEnum.EM.getKey())
-                .eq(PolicyOrder::getIsImport, IsYesNoEnum.NO.getKey())
-                .eq(PolicyOrder::getIsSend, IsYesNoEnum.NO.getKey()).list();
-
-        if (!CollectionUtils.isEmpty(policyOrdersEm)) {
-            MailboxSendRecord mailboxSendRecord = new MailboxSendRecord();
-            mailboxSendRecord.setId(IdWorker.getIdStr());
-            mailboxSendRecord.setPolicyType(PolicyTypeEnum.EM.getKey());
-            mailboxSendRecord.setSendBatch(mailboxSendRecord.getId());
-            mailboxSendRecord.setSendMailbox(mailbox.getSendMailbox());
-            mailboxSendRecord.setReceiveMailbox(mailbox.getEmployerMailbox());
-            mailboxSendRecord.setReceiptStatus(IsYesNoEnum.NO.getKey());
-            mailboxSendRecord.setCompanyWechatId(mailbox.getCompanyWechatId());
-            mailboxSendRecord.setCompanyWechatName(mailbox.getCompanyWechatName());
-
-            List<MailboxSendRecordPolicy> mailboxSendRecordPolicies = new ArrayList<>();
-
-            for (PolicyOrder policyOrder : policyOrdersEm) {
-                MailboxSendRecordPolicy mailboxSendRecordPolicy = new MailboxSendRecordPolicy();
-
-                mailboxSendRecordPolicy.setCompanyWechatId(mailboxSendRecord.getCompanyWechatId());
-                mailboxSendRecordPolicy.setCompanyWechatId(mailboxSendRecord.getCompanyWechatName());
-                mailboxSendRecordPolicy.setPolicyNumber(policyOrder.getPolicyId());
-                mailboxSendRecordPolicy.setPolicyName(policyOrder.getWorkerName());
-                mailboxSendRecordPolicy.setPolicyOrderId(policyOrder.getId());
-                mailboxSendRecordPolicy.setWebsitName(policyOrder.getWebsitName());
-                mailboxSendRecordPolicy.setWebsitId(policyOrder.getWebsitId());
-                mailboxSendRecordPolicy.setPolicyMobile(policyOrder.getWorkerMobile());
-                mailboxSendRecordPolicy.setPolicyNumber(policyOrder.getWorkerNumber());
-                mailboxSendRecordPolicy.setPolicyIdcard(policyOrder.getWorkerIdcard());
-                mailboxSendRecordPolicy.setPolicyIdcard(policyOrder.getWorkerIdcard());
-                mailboxSendRecordPolicy.setType("IN");
-                mailboxSendRecordPolicy.setSendBatch(mailboxSendRecord.getSendBatch());
-                mailboxSendRecordPolicy.setPolicyType(PolicyTypeEnum.EM.getKey());
-
-                if (!StringUtil.isEmpty(policyOrder.getReplaceName())) {
-                    mailboxSendRecordPolicy.setType("RE");
-                    mailboxSendRecordPolicy.setReplaceName(policyOrder.getReplaceName());
-                    mailboxSendRecordPolicy.setReplaceIdcard(policyOrder.getReplaceIdcard());
-                }
-
-
-                mailboxSendRecordPolicies.add(mailboxSendRecordPolicy);
-
-                policyOrder.setIsSend(IsYesNoEnum.YES.getKey());
-                policyOrder.setSendTime(new Date());
-                policyOrder.setSendBatch(mailboxSendRecord.getSendBatch());
-                policyOrder.updateById();
-            }
-
-            mailboxSendRecord.insert();
-            mailboxSendRecordPolicyService.saveBatch(mailboxSendRecordPolicies);
-
-            //发邮件
-            try {
-                this.sendEmailFileEm(mailboxSendRecordPolicies, mailboxSendRecord, mailbox);
-                mailboxSendRecord.setSendStatus("OK");
-                mailboxSendRecord.setSendTime(new Date());
-                mailboxSendRecord.updateById();
-            } catch (Exception e) {
-                mailboxSendRecord.setSendStatus("NO");
-                mailboxSendRecord.setSendTime(new Date());
-                mailboxSendRecord.updateById();
-            }
-        }
-        //工伤保险发送邮件
-        for (MailboxReceive mailboxReceive : mailboxReceives) {
-            List<PolicyOrder> policyOrdersIn = policyOrderService.lambdaQuery()
-                    .eq(PolicyOrder::getType, PolicyTypeEnum.IN.getKey())
-                    .eq(PolicyOrder::getIsImport, IsYesNoEnum.NO.getKey())
-                    .eq(PolicyOrder::getBuyUnitId, mailboxReceive.getDictId())
-                    .eq(PolicyOrder::getIsSend, IsYesNoEnum.NO.getKey()).list();
-
-            if (!CollectionUtils.isEmpty(policyOrdersIn)) {
-
-
-                MailboxSendRecord mailboxSendRecord = new MailboxSendRecord();
-                mailboxSendRecord.setId(IdWorker.getIdStr());
-                mailboxSendRecord.setPolicyType(PolicyTypeEnum.IN.getKey());
-                mailboxSendRecord.setSendBatch(mailboxSendRecord.getId());
-                mailboxSendRecord.setSendMailbox(mailbox.getSendMailbox());
-                mailboxSendRecord.setReceiveMailbox(mailboxReceive.getReceiveMailbox());
-                mailboxSendRecord.setReceiptStatus(IsYesNoEnum.NO.getKey());
-                mailboxSendRecord.setCompanyWechatId(mailbox.getCompanyWechatId());
-                mailboxSendRecord.setCompanyWechatName(mailbox.getCompanyWechatName());
-
-                List<MailboxSendRecordPolicy> mailboxSendRecordPolicies = new ArrayList<>();
-
-                for (PolicyOrder policyOrder : policyOrdersIn) {
-                    MailboxSendRecordPolicy mailboxSendRecordPolicy = new MailboxSendRecordPolicy();
-
-                    mailboxSendRecordPolicy.setCompanyWechatId(mailboxSendRecord.getCompanyWechatId());
-                    mailboxSendRecordPolicy.setCompanyWechatId(mailboxSendRecord.getCompanyWechatName());
-                    mailboxSendRecordPolicy.setPolicyNumber(policyOrder.getPolicyId());
-                    mailboxSendRecordPolicy.setPolicyOrderId(policyOrder.getId());
-                    mailboxSendRecordPolicy.setPolicyName(policyOrder.getWorkerName());
-                    mailboxSendRecordPolicy.setWebsitName(policyOrder.getWebsitName());
-                    mailboxSendRecordPolicy.setWebsitId(policyOrder.getWebsitId());
-                    mailboxSendRecordPolicy.setPolicyMobile(policyOrder.getWorkerMobile());
-                    mailboxSendRecordPolicy.setPolicyNumber(policyOrder.getWorkerNumber());
-                    mailboxSendRecordPolicy.setPolicyIdcard(policyOrder.getWorkerIdcard());
-                    mailboxSendRecordPolicy.setType("IN");
-                    mailboxSendRecordPolicy.setSendBatch(mailboxSendRecord.getSendBatch());
-                    mailboxSendRecordPolicy.setPolicyType(PolicyTypeEnum.IN.getKey());
-
-
-                    mailboxSendRecordPolicies.add(mailboxSendRecordPolicy);
-
-                    policyOrder.setIsSend(IsYesNoEnum.YES.getKey());
-                    policyOrder.setSendTime(new Date());
-                    policyOrder.setSendBatch(mailboxSendRecord.getSendBatch());
-                    policyOrder.updateById();
-                }
-
-                mailboxSendRecord.insert();
-                mailboxSendRecordPolicyService.saveBatch(mailboxSendRecordPolicies);
-
-                //发邮件
-                try {
-                    this.sendEmailFileIn(mailboxSendRecordPolicies, mailboxSendRecord, mailbox);
-                    mailboxSendRecord.setSendStatus("OK");
-                    mailboxSendRecord.setSendTime(new Date());
-                    mailboxSendRecord.updateById();
-                } catch (Exception e) {
-                    mailboxSendRecord.setSendStatus("NO");
-                    mailboxSendRecord.setSendTime(new Date());
-                    mailboxSendRecord.updateById();
-                }
-            }
-        }
-
-
     }
 
     public void receEmail() throws IOException, MessagingException {
@@ -899,4 +776,196 @@ public class AgreementLogic {
 
 
     }
+
+
+
+    @Async
+    @Transactional(rollbackFor = Exception.class)
+    public void sendEmailScheEM() {
+
+
+        Mailbox mailbox = mailboxService.getById("1");
+
+        //今天要发送的保单
+        //Date startTime = DateUtil.beginOfDay(new Date());
+/*        Date endTime = DateUtil.parseDateTime(DateUtils.formatDate(new Date(),"yyyy-MM-dd") +" "+ mailbox.getSendTime()+":00");
+        if(new Date().getTime() < endTime.getTime()){
+            //还没到可发邮件的时间
+            return;
+        }
+
+        if (mailboxSendRecordService.lambdaQuery().gt(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(new Date())).count() > 0) {
+            return;
+        }*/
+
+
+
+
+        List<MailboxReceive> mailboxReceives = mailboxReceiveService.lambdaQuery().eq(MailboxReceive::getMailboxId, mailbox.getId()).list();
+
+
+        //雇主保险发送邮件
+        List<PolicyOrder> policyOrdersEm = policyOrderService.lambdaQuery()
+                .eq(PolicyOrder::getType, PolicyTypeEnum.EM.getKey())
+                .eq(PolicyOrder::getIsImport, IsYesNoEnum.NO.getKey())
+                .eq(PolicyOrder::getIsSend, IsYesNoEnum.NO.getKey()).list();
+
+        if (!CollectionUtils.isEmpty(policyOrdersEm)) {
+
+            EmailUtilsNew emailUtilsNew = new EmailUtilsNew(mailbox.getSendMailbox(), mailbox.getSendPassword());
+            MailboxSendRecord mailboxSendRecord = new MailboxSendRecord();
+            mailboxSendRecord.setId(IdWorker.getIdStr());
+            mailboxSendRecord.setPolicyType(PolicyTypeEnum.EM.getKey());
+            mailboxSendRecord.setSendBatch(mailboxSendRecord.getId());
+            mailboxSendRecord.setSendMailbox(mailbox.getSendMailbox());
+            mailboxSendRecord.setReceiveMailbox(mailbox.getEmployerMailbox());
+            mailboxSendRecord.setReceiptStatus(IsYesNoEnum.NO.getKey());
+            mailboxSendRecord.setCompanyWechatId(mailbox.getCompanyWechatId());
+            mailboxSendRecord.setCompanyWechatName(mailbox.getCompanyWechatName());
+
+            List<MailboxSendRecordPolicy> mailboxSendRecordPolicies = new ArrayList<>();
+
+            for (PolicyOrder policyOrder : policyOrdersEm) {
+                MailboxSendRecordPolicy mailboxSendRecordPolicy = new MailboxSendRecordPolicy();
+
+                mailboxSendRecordPolicy.setCompanyWechatId(mailboxSendRecord.getCompanyWechatId());
+                mailboxSendRecordPolicy.setCompanyWechatId(mailboxSendRecord.getCompanyWechatName());
+                mailboxSendRecordPolicy.setPolicyNumber(policyOrder.getPolicyId());
+                mailboxSendRecordPolicy.setPolicyName(policyOrder.getWorkerName());
+                mailboxSendRecordPolicy.setPolicyOrderId(policyOrder.getId());
+                mailboxSendRecordPolicy.setWebsitName(policyOrder.getWebsitName());
+                mailboxSendRecordPolicy.setWebsitId(policyOrder.getWebsitId());
+                mailboxSendRecordPolicy.setPolicyMobile(policyOrder.getWorkerMobile());
+                mailboxSendRecordPolicy.setPolicyNumber(policyOrder.getWorkerNumber());
+                mailboxSendRecordPolicy.setPolicyIdcard(policyOrder.getWorkerIdcard());
+                mailboxSendRecordPolicy.setPolicyIdcard(policyOrder.getWorkerIdcard());
+                mailboxSendRecordPolicy.setType("IN");
+                mailboxSendRecordPolicy.setSendBatch(mailboxSendRecord.getSendBatch());
+                mailboxSendRecordPolicy.setPolicyType(PolicyTypeEnum.EM.getKey());
+
+                if (!StringUtil.isEmpty(policyOrder.getReplaceName())) {
+                    mailboxSendRecordPolicy.setType("RE");
+                    mailboxSendRecordPolicy.setReplaceName(policyOrder.getReplaceName());
+                    mailboxSendRecordPolicy.setReplaceIdcard(policyOrder.getReplaceIdcard());
+                }
+
+
+                mailboxSendRecordPolicies.add(mailboxSendRecordPolicy);
+
+                policyOrder.setIsSend(IsYesNoEnum.YES.getKey());
+                policyOrder.setSendTime(new Date());
+                policyOrder.setSendBatch(mailboxSendRecord.getSendBatch());
+                policyOrder.updateById();
+            }
+
+
+            //发邮件
+            try {
+                this.sendEmailFileEm(mailboxSendRecordPolicies, mailboxSendRecord, mailbox, emailUtilsNew);
+                mailboxSendRecord.setSendStatus("OK");
+                mailboxSendRecord.setSendTime(new Date());
+                mailboxSendRecord.updateById();
+            } catch (Exception e) {
+                mailboxSendRecord.setSendStatus("NO");
+                mailboxSendRecord.setSendTime(new Date());
+                mailboxSendRecord.updateById();
+            }
+
+            mailboxSendRecord.insert();
+            mailboxSendRecordPolicyService.saveBatch(mailboxSendRecordPolicies);
+    }
+
+
 }
+    @Async
+    @Transactional(rollbackFor = Exception.class)
+    public void sendEmailScheIN() {
+
+        Mailbox mailbox = mailboxService.getById("1");
+
+        //今天要发送的保单
+        //Date startTime = DateUtil.beginOfDay(new Date());
+/*        Date endTime = DateUtil.parseDateTime(DateUtils.formatDate(new Date(),"yyyy-MM-dd") +" "+ mailbox.getSendTime()+":00");
+        if(new Date().getTime() < endTime.getTime()){
+            //还没到可发邮件的时间
+            return;
+        }
+
+        if (mailboxSendRecordService.lambdaQuery().gt(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(new Date())).count() > 0) {
+            return;
+        }*/
+
+
+
+
+        List<MailboxReceive> mailboxReceives = mailboxReceiveService.lambdaQuery().eq(MailboxReceive::getMailboxId, mailbox.getId()).list();
+        //工伤保险发送邮件
+        for (MailboxReceive mailboxReceive : mailboxReceives) {
+
+            EmailUtilsNew emailUtilsNew = new EmailUtilsNew(mailbox.getSendMailbox(), mailbox.getSendPassword());
+            List<PolicyOrder> policyOrdersIn = policyOrderService.lambdaQuery()
+                    .eq(PolicyOrder::getType, PolicyTypeEnum.IN.getKey())
+                    .eq(PolicyOrder::getIsImport, IsYesNoEnum.NO.getKey())
+                    .eq(PolicyOrder::getBuyUnitId, mailboxReceive.getDictId())
+                    .eq(PolicyOrder::getIsSend, IsYesNoEnum.NO.getKey()).list();
+
+            if (!CollectionUtils.isEmpty(policyOrdersIn)) {
+
+
+                MailboxSendRecord mailboxSendRecord = new MailboxSendRecord();
+                mailboxSendRecord.setId(IdWorker.getIdStr());
+                mailboxSendRecord.setPolicyType(PolicyTypeEnum.IN.getKey());
+                mailboxSendRecord.setSendBatch(mailboxSendRecord.getId());
+                mailboxSendRecord.setSendMailbox(mailbox.getSendMailbox());
+                mailboxSendRecord.setReceiveMailbox(mailboxReceive.getReceiveMailbox());
+                mailboxSendRecord.setReceiptStatus(IsYesNoEnum.NO.getKey());
+                mailboxSendRecord.setCompanyWechatId(mailbox.getCompanyWechatId());
+                mailboxSendRecord.setCompanyWechatName(mailbox.getCompanyWechatName());
+
+                List<MailboxSendRecordPolicy> mailboxSendRecordPolicies = new ArrayList<>();
+
+                for (PolicyOrder policyOrder : policyOrdersIn) {
+                    MailboxSendRecordPolicy mailboxSendRecordPolicy = new MailboxSendRecordPolicy();
+
+                    mailboxSendRecordPolicy.setCompanyWechatId(mailboxSendRecord.getCompanyWechatId());
+                    mailboxSendRecordPolicy.setCompanyWechatId(mailboxSendRecord.getCompanyWechatName());
+                    mailboxSendRecordPolicy.setPolicyNumber(policyOrder.getPolicyId());
+                    mailboxSendRecordPolicy.setPolicyOrderId(policyOrder.getId());
+                    mailboxSendRecordPolicy.setPolicyName(policyOrder.getWorkerName());
+                    mailboxSendRecordPolicy.setWebsitName(policyOrder.getWebsitName());
+                    mailboxSendRecordPolicy.setWebsitId(policyOrder.getWebsitId());
+                    mailboxSendRecordPolicy.setPolicyMobile(policyOrder.getWorkerMobile());
+                    mailboxSendRecordPolicy.setPolicyNumber(policyOrder.getWorkerNumber());
+                    mailboxSendRecordPolicy.setPolicyIdcard(policyOrder.getWorkerIdcard());
+                    mailboxSendRecordPolicy.setType("IN");
+                    mailboxSendRecordPolicy.setSendBatch(mailboxSendRecord.getSendBatch());
+                    mailboxSendRecordPolicy.setPolicyType(PolicyTypeEnum.IN.getKey());
+
+
+                    mailboxSendRecordPolicies.add(mailboxSendRecordPolicy);
+
+                    policyOrder.setIsSend(IsYesNoEnum.YES.getKey());
+                    policyOrder.setSendTime(new Date());
+                    policyOrder.setSendBatch(mailboxSendRecord.getSendBatch());
+                    policyOrder.updateById();
+                }
+
+                mailboxSendRecord.insert();
+                mailboxSendRecordPolicyService.saveBatch(mailboxSendRecordPolicies);
+
+                //发邮件
+                try {
+                    this.sendEmailFileIn(mailboxSendRecordPolicies, mailboxSendRecord, mailbox, emailUtilsNew);
+                    mailboxSendRecord.setSendStatus("OK");
+                    mailboxSendRecord.setSendTime(new Date());
+                    mailboxSendRecord.updateById();
+                } catch (Exception e) {
+                    mailboxSendRecord.setSendStatus("NO");
+                    mailboxSendRecord.setSendTime(new Date());
+                    mailboxSendRecord.updateById();
+                }
+            }
+        }
+
+    }
+}