|
@@ -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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|