|
@@ -7,13 +7,19 @@ import com.alibaba.excel.support.ExcelTypeEnum;
|
|
import com.simuwang.base.common.conts.ExcelConst;
|
|
import com.simuwang.base.common.conts.ExcelConst;
|
|
import com.simuwang.base.common.support.MybatisPage;
|
|
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.StringUtil;
|
|
import com.simuwang.base.common.util.StringUtil;
|
|
import com.simuwang.base.mapper.daq.CompanyContactInfoMapper;
|
|
import com.simuwang.base.mapper.daq.CompanyContactInfoMapper;
|
|
import com.simuwang.base.mapper.daq.ContactInformationMapper;
|
|
import com.simuwang.base.mapper.daq.ContactInformationMapper;
|
|
|
|
+import com.simuwang.base.mapper.daq.SendEmailMapper;
|
|
|
|
+import com.simuwang.base.mapper.daq.system.SysConfigMapper;
|
|
|
|
+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;
|
|
|
|
+import com.simuwang.base.pojo.dto.MailboxInfoDTO;
|
|
import com.simuwang.base.pojo.dto.query.ContactQuery;
|
|
import com.simuwang.base.pojo.dto.query.ContactQuery;
|
|
import com.simuwang.base.pojo.vo.*;
|
|
import com.simuwang.base.pojo.vo.*;
|
|
|
|
+import com.simuwang.manage.service.CompanyEmailConfigService;
|
|
import com.simuwang.manage.service.CompanyInformationService;
|
|
import com.simuwang.manage.service.CompanyInformationService;
|
|
import com.simuwang.manage.service.ContactInformationService;
|
|
import com.simuwang.manage.service.ContactInformationService;
|
|
import com.simuwang.shiro.utils.UserUtils;
|
|
import com.simuwang.shiro.utils.UserUtils;
|
|
@@ -28,6 +34,7 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.File;
|
|
import java.io.File;
|
|
|
|
+import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.InputStream;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
@@ -44,6 +51,13 @@ public class ContactInformationServiceImpl implements ContactInformationService
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private CompanyInformationService companyInformationService;
|
|
private CompanyInformationService companyInformationService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private CompanyEmailConfigService companyEmailConfigService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysConfigMapper sysConfigMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private SendEmailMapper sendEmailMapper;
|
|
|
|
|
|
@Value("${email.file.path}")
|
|
@Value("${email.file.path}")
|
|
private String path;
|
|
private String path;
|
|
@@ -120,6 +134,7 @@ public class ContactInformationServiceImpl implements ContactInformationService
|
|
FileUtils.copyInputStreamToFile(inputStream,file);
|
|
FileUtils.copyInputStreamToFile(inputStream,file);
|
|
List<ContactExcelData> list = parseContactFile(file);
|
|
List<ContactExcelData> list = parseContactFile(file);
|
|
vo.setData(parseResult(list));
|
|
vo.setData(parseResult(list));
|
|
|
|
+ inputStream.close();
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
logger.error(e.getMessage(),e);
|
|
logger.error(e.getMessage(),e);
|
|
vo.setMsg("文件解析异常");
|
|
vo.setMsg("文件解析异常");
|
|
@@ -129,6 +144,56 @@ public class ContactInformationServiceImpl implements ContactInformationService
|
|
return vo;
|
|
return vo;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public ResultVo sendEmail(List<MultipartFile> files, String contractId, String emailTitle, String templateCode, String emailBody) {
|
|
|
|
+ ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS.getCode());
|
|
|
|
+ SendEmailInfoDO sendEmailInfoDO = new SendEmailInfoDO();
|
|
|
|
+ sendEmailInfoDO.setEmailTitle(emailTitle);
|
|
|
|
+ sendEmailInfoDO.setTemplateCode(templateCode);
|
|
|
|
+ sendEmailInfoDO.setEmailBody(emailBody);
|
|
|
|
+ sendEmailInfoDO.setContractId(Integer.parseInt(contractId));
|
|
|
|
+ sendEmailInfoDO.setCreateTime(new Date());
|
|
|
|
+ sendEmailInfoDO.setUpdateTime(new Date());
|
|
|
|
+ sendEmailInfoDO.setIsvalid(1);
|
|
|
|
+ sendEmailInfoDO.setCreatorId(UserUtils.getLoginUser().getUserId());
|
|
|
|
+ sendEmailInfoDO.setUpdaterId(UserUtils.getLoginUser().getUserId());
|
|
|
|
+ List<File> fileList = new ArrayList<>();
|
|
|
|
+ if(!files.isEmpty()){
|
|
|
|
+ StringBuilder filePath = new StringBuilder();
|
|
|
|
+ StringBuilder fileName = new StringBuilder();
|
|
|
|
+ for (MultipartFile file : files) {
|
|
|
|
+ InputStream inputStream = null;
|
|
|
|
+ try {
|
|
|
|
+ inputStream = file.getInputStream();
|
|
|
|
+ String attachmentFilePath = path+"/upload/"+ System.currentTimeMillis()+"/"+file.getOriginalFilename();
|
|
|
|
+ File attachmentFile = new File(attachmentFilePath);
|
|
|
|
+ FileUtils.copyInputStreamToFile(inputStream,attachmentFile);
|
|
|
|
+ inputStream.close();
|
|
|
|
+ filePath.append(attachmentFilePath).append(";");
|
|
|
|
+ fileName.append(file.getOriginalFilename()).append(";");
|
|
|
|
+ fileList.add(attachmentFile);
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ logger.error(e.getMessage(),e);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ sendEmailInfoDO.setFileName(fileName.toString());
|
|
|
|
+ sendEmailInfoDO.setFilePath(filePath.toString());
|
|
|
|
+ }
|
|
|
|
+ MailboxInfoDTO mailboxInfoDTO = companyEmailConfigService.getFromEmailInfo();
|
|
|
|
+ ContactInformationDO contactInformationDO = contactInformationMapper.selectById(contractId);
|
|
|
|
+ vo.setData(true);
|
|
|
|
+ try {
|
|
|
|
+ String host = sysConfigMapper.selectConfigByKey("email.host")==null?"":sysConfigMapper.selectConfigByKey("email.host");
|
|
|
|
+ EmailUtil.senEmail(mailboxInfoDTO,contactInformationDO.getContactEmail(),fileList,emailBody,host,emailTitle);
|
|
|
|
+ sendEmailMapper.insert(sendEmailInfoDO);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ logger.error(e.getMessage(),e);
|
|
|
|
+ vo.setData(false);
|
|
|
|
+ vo.setMsg(e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ return vo;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
private boolean saveContactInformationDO(ContactInformationDO contactInformationDO) {
|
|
private boolean saveContactInformationDO(ContactInformationDO contactInformationDO) {
|
|
try{
|
|
try{
|