package com.javaweb.cms.service.impl; import java.util.List; import com.google.common.collect.Lists; import com.javaweb.cms.config.CmsConfig; import com.javaweb.cms.util.email.MailSenderInfo; import com.javaweb.cms.util.email.SimpleMailSender; import com.javaweb.common.utils.DateUtils; import com.javaweb.common.utils.Guid; import com.javaweb.framework.util.ShiroUtils; import com.javaweb.system.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.javaweb.cms.mapper.EmailMapper; import com.javaweb.cms.domain.Email; import com.javaweb.cms.service.IEmailService; import com.javaweb.common.core.text.Convert; /** * 邮件Service业务层处理 * * @author wujiyue * @date 2019-11-04 */ @Service public class EmailServiceImpl implements IEmailService { @Autowired private EmailMapper emailMapper; /** * 查询邮件 * * @param id 邮件ID * @return 邮件 */ @Override public Email selectEmailById(String id) { return emailMapper.selectEmailById(id); } /** * 查询邮件列表 * * @param email 邮件 * @return 邮件 */ @Override public List selectEmailList(Email email) { return emailMapper.selectEmailList(email); } /** * 新增邮件 * * @param email 邮件 * @return 结果 */ @Override public int insertEmail(Email email) { email.setId(Guid.get()); SysUser user=ShiroUtils.getSysUser(); email.setFromEmail(CmsConfig.getFromEmail()); email.setFromEmailPwd(CmsConfig.getFromEmailPwd()); email.setUserId(user.getUserId().toString()); email.setCreateBy(user.getUserName()); email.setCreateTime(DateUtils.getNowDate()); if(email.getSendType()==null){ //off 为null 默认为0 email.setSendType("0"); } if("on".equals(email.getSendType().toString())){ email.setSendType("1"); } if("off".equals(email.getSendType().toString())){ email.setSendType("0"); } return emailMapper.insertEmail(email); } /** * 修改邮件 * * @param email 邮件 * @return 结果 */ @Override public int updateEmail(Email email) { email.setUpdateTime(DateUtils.getNowDate()); if(email.getSendType()==null){ //off 为null 默认为0 email.setSendType("0"); } if("on".equals(email.getSendType().toString())){ email.setSendType("1"); } if("off".equals(email.getSendType().toString())){ email.setSendType("0"); } return emailMapper.updateEmail(email); } /** * 删除邮件对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteEmailByIds(String ids) { return emailMapper.deleteEmailByIds(Convert.toStrArray(ids)); } /** * 删除邮件信息 * * @param id 邮件ID * @return 结果 */ @Override public int deleteEmailById(Long id) { return emailMapper.deleteEmailById(id); } /** * 发送邮件 * @param ids 需要发送邮件的数据ID */ @Override public void sendEmail(String ids) { String[] arr=Convert.toStrArray(ids); List list=Lists.newArrayList(arr); list.forEach(id->{ Email e=this.selectEmailById(id); if(e!=null){ MailSenderInfo info=new MailSenderInfo(); info.setMailServiceHost(CmsConfig.getMailHost());//qq邮箱服务器 info.setMailServicePort(CmsConfig.getMailPort());//端口号 info.setFromAddress(CmsConfig.getFromEmail()); info.setValidate(true); info.setUserName(CmsConfig.getFromEmail()); info.setPassword(CmsConfig.getFromEmailPwd()); String[] to={e.getToEmail()}; info.setToAddress(to); info.setSubject(e.getSubject()); info.setContent(e.getContent()); //String[] attach={"D:\\1.jpg"}; //info.setAttachs(attach); SimpleMailSender sender=new SimpleMailSender(); boolean b=sender.sendHtmlMail(info); if(b){ e.setSendFlag(1); e.setSendTime(DateUtils.getNowDate()); this.updateEmail(e); } } }); } }