|
@@ -1,6 +1,8 @@
|
|
package com.simuwang.manage.service.impl;
|
|
package com.simuwang.manage.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
+import cn.hutool.crypto.asymmetric.KeyType;
|
|
|
|
+import cn.hutool.crypto.asymmetric.RSA;
|
|
import com.alibaba.excel.EasyExcel;
|
|
import com.alibaba.excel.EasyExcel;
|
|
import com.alibaba.excel.read.listener.PageReadListener;
|
|
import com.alibaba.excel.read.listener.PageReadListener;
|
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
|
@@ -9,12 +11,11 @@ import com.simuwang.base.common.support.MybatisPage;
|
|
import com.simuwang.base.common.util.DateUtils;
|
|
import com.simuwang.base.common.util.DateUtils;
|
|
import com.simuwang.base.common.util.EmailUtil;
|
|
import com.simuwang.base.common.util.EmailUtil;
|
|
import com.simuwang.base.common.util.StringUtil;
|
|
import com.simuwang.base.common.util.StringUtil;
|
|
-import com.simuwang.base.mapper.daq.CompanyContactInfoMapper;
|
|
|
|
-import com.simuwang.base.mapper.daq.CompanyEmailSendHistoryMapper;
|
|
|
|
-import com.simuwang.base.mapper.daq.ContactInformationMapper;
|
|
|
|
-import com.simuwang.base.mapper.daq.SendEmailMapper;
|
|
|
|
|
|
+import com.simuwang.base.config.DaqProperties;
|
|
|
|
+import com.simuwang.base.mapper.daq.*;
|
|
import com.simuwang.base.mapper.daq.system.SysConfigMapper;
|
|
import com.simuwang.base.mapper.daq.system.SysConfigMapper;
|
|
import com.simuwang.base.pojo.dos.CompanyEmailSendHistoryDO;
|
|
import com.simuwang.base.pojo.dos.CompanyEmailSendHistoryDO;
|
|
|
|
+import com.simuwang.base.pojo.dos.MailboxInfoDO;
|
|
import com.simuwang.base.pojo.dos.SendEmailInfoDO;
|
|
import com.simuwang.base.pojo.dos.SendEmailInfoDO;
|
|
import com.simuwang.base.pojo.dto.ContactExcelData;
|
|
import com.simuwang.base.pojo.dto.ContactExcelData;
|
|
import com.simuwang.base.pojo.dos.ContactInformationDO;
|
|
import com.simuwang.base.pojo.dos.ContactInformationDO;
|
|
@@ -61,6 +62,11 @@ public class ContactInformationServiceImpl implements ContactInformationService
|
|
private SysConfigMapper sysConfigMapper;
|
|
private SysConfigMapper sysConfigMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private SendEmailMapper sendEmailMapper;
|
|
private SendEmailMapper sendEmailMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private MailboxInfoMapper emailConfigMapper;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private DaqProperties properties;
|
|
|
|
|
|
@Value("${email.file.path}")
|
|
@Value("${email.file.path}")
|
|
private String path;
|
|
private String path;
|
|
@@ -148,13 +154,14 @@ public class ContactInformationServiceImpl implements ContactInformationService
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public ResultVo sendEmail(List<MultipartFile> files, String contractId, String emailTitle, String templateCode, String emailBody) {
|
|
|
|
|
|
+ public ResultVo sendEmail(List<MultipartFile> files, String contractId, String emailTitle, String templateCode, String emailBody,String emailId) {
|
|
ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
|
|
ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
|
|
SendEmailInfoDO sendEmailInfoDO = new SendEmailInfoDO();
|
|
SendEmailInfoDO sendEmailInfoDO = new SendEmailInfoDO();
|
|
sendEmailInfoDO.setEmailTitle(emailTitle);
|
|
sendEmailInfoDO.setEmailTitle(emailTitle);
|
|
sendEmailInfoDO.setTemplateCode(templateCode);
|
|
sendEmailInfoDO.setTemplateCode(templateCode);
|
|
sendEmailInfoDO.setEmailBody(emailBody);
|
|
sendEmailInfoDO.setEmailBody(emailBody);
|
|
sendEmailInfoDO.setContractId(Integer.parseInt(contractId));
|
|
sendEmailInfoDO.setContractId(Integer.parseInt(contractId));
|
|
|
|
+ sendEmailInfoDO.setEmailId(Integer.parseInt(emailId));
|
|
sendEmailInfoDO.setCreateTime(new Date());
|
|
sendEmailInfoDO.setCreateTime(new Date());
|
|
sendEmailInfoDO.setUpdateTime(new Date());
|
|
sendEmailInfoDO.setUpdateTime(new Date());
|
|
sendEmailInfoDO.setIsvalid(1);
|
|
sendEmailInfoDO.setIsvalid(1);
|
|
@@ -182,7 +189,22 @@ public class ContactInformationServiceImpl implements ContactInformationService
|
|
sendEmailInfoDO.setFileName(fileName.toString());
|
|
sendEmailInfoDO.setFileName(fileName.toString());
|
|
sendEmailInfoDO.setFilePath(filePath.toString());
|
|
sendEmailInfoDO.setFilePath(filePath.toString());
|
|
}
|
|
}
|
|
- MailboxInfoDTO mailboxInfoDTO = getFromEmailInfo();
|
|
|
|
|
|
+ MailboxInfoDO mailboxInfoDO = emailConfigMapper.searchEmailConfigById(Integer.parseInt(emailId));
|
|
|
|
+ MailboxInfoDTO mailboxInfoDTO = new MailboxInfoDTO();
|
|
|
|
+ mailboxInfoDTO.setAccount(mailboxInfoDO.getEmail());
|
|
|
|
+ String password = mailboxInfoDO.getPassword();
|
|
|
|
+ try{
|
|
|
|
+ String publicKey = this.properties.getSecurityRsa().getPublicKey();
|
|
|
|
+ String privateKey = this.properties.getSecurityRsa().getPrivateKey();
|
|
|
|
+ password = new RSA(privateKey, publicKey).decryptStr(password, KeyType.PrivateKey);
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ logger.error(e.getMessage(),e);
|
|
|
|
+ }
|
|
|
|
+ mailboxInfoDTO.setPassword(password);
|
|
|
|
+ mailboxInfoDTO.setProtocol(sysConfigMapper.selectConfigByKey("sender.protocol"));
|
|
|
|
+ mailboxInfoDTO.setPort(sysConfigMapper.selectConfigByKey("sender.port"));
|
|
|
|
+ mailboxInfoDTO.setHost(sysConfigMapper.selectConfigByKey("sender.host"));
|
|
|
|
+ mailboxInfoDTO.setSsl(sysConfigMapper.selectConfigByKey("sender.ssl"));
|
|
ContactInformationDO contactInformationDO = contactInformationMapper.selectById(contractId);
|
|
ContactInformationDO contactInformationDO = contactInformationMapper.selectById(contractId);
|
|
vo.setData(true);
|
|
vo.setData(true);
|
|
try {
|
|
try {
|
|
@@ -211,17 +233,6 @@ public class ContactInformationServiceImpl implements ContactInformationService
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- private MailboxInfoDTO getFromEmailInfo(){
|
|
|
|
- MailboxInfoDTO dto = new MailboxInfoDTO();
|
|
|
|
- dto.setAccount(sysConfigMapper.selectConfigByKey("sender.email"));
|
|
|
|
- dto.setProtocol(sysConfigMapper.selectConfigByKey("sender.protocol"));
|
|
|
|
- dto.setPassword(sysConfigMapper.selectConfigByKey("sender.password"));
|
|
|
|
- dto.setPort(sysConfigMapper.selectConfigByKey("sender.port"));
|
|
|
|
- dto.setHost(sysConfigMapper.selectConfigByKey("sender.host"));
|
|
|
|
- dto.setSsl(sysConfigMapper.selectConfigByKey("sender.ssl"));
|
|
|
|
- return dto;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
private void saveCompanyEmailSendHistory(String companyId, String email, String emailTitle,Integer sendStatus,String msg) {
|
|
private void saveCompanyEmailSendHistory(String companyId, String email, String emailTitle,Integer sendStatus,String msg) {
|
|
CompanyEmailSendHistoryDO historyDO = new CompanyEmailSendHistoryDO();
|
|
CompanyEmailSendHistoryDO historyDO = new CompanyEmailSendHistoryDO();
|
|
historyDO.setCompanyId(companyId);
|
|
historyDO.setCompanyId(companyId);
|