src/main/java/com/whyc/CadDrawManagerApplication.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/DocLogService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/MailService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/task/MailQueueTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/util/ActionUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/CadDrawManagerApplication.java
@@ -9,7 +9,7 @@ @SpringBootApplication @EnableWebMvc @ServletComponentScan(basePackages = {"com.whyc.filter","com.whyc.servlet"}) @ServletComponentScan(basePackages = {"com.whyc.filter","com.whyc.servlet","com.whyc.listener"}) public class CadDrawManagerApplication extends WebMvcConfigurerAdapter implements WebMvcConfigurer { public static void main(String[] args) { src/main/java/com/whyc/service/DocLogService.java
@@ -13,11 +13,9 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Type; import java.util.Date; import java.util.List; @@ -98,7 +96,14 @@ public void record(long uId,String name, int operationType, String msg,String msgDetail) { DocLog docLog = new DocLog(); docLog.setTerminalIp(ActionUtil.getRequest().getRemoteAddr()); HttpServletRequest request = ActionUtil.getRequest(); String remoteAddr; if(request!=null) { remoteAddr = request.getRemoteAddr(); }else{ remoteAddr = "127.0.0.1"; } docLog.setTerminalIp(remoteAddr); docLog.setOprateDay(new Date()); docLog.setId((int)(uId)); docLog.setName(name); src/main/java/com/whyc/service/MailService.java
@@ -7,6 +7,7 @@ import com.whyc.util.ActionUtil; import com.whyc.util.MailUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.MailException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -32,24 +33,23 @@ public Response sendMail(MailDTO mailDTO) { Long uId = ActionUtil.getUser().getId(); String name=ActionUtil.getUser().getName(); //日志内容准备 StringBuilder mailUserStr = new StringBuilder(); List<String> mailList = mailDTO.getMailList(); for (int i = 0; i < mailList.size(); i++) { if(i==0){ mailUserStr.append(mailList.get(i)); }else{ mailUserStr.append(","+mailList.get(i)); } } try { mailUtil.sendMailBatch(name,mailDTO.getMailList(),mailDTO.getTitle(),mailDTO.getContent()); //日志 List<String> mailList = mailDTO.getMailList(); for (int i = 0; i < mailList.size(); i++) { if(i==0){ mailUserStr.append(mailList.get(i)); }else{ mailUserStr.append(","+mailList.get(i)); } } String msgDetail = "发送给邮箱" + mailUserStr + ",标题为:" + mailDTO.getTitle() + ",内容为:" + mailDTO.getContent(); logService.record(uId, name, UserOperation.TYPE_SEND_MAIL.getType(), "邮件发送", msgDetail); return new Response().set(1,true,"发送完成"); } catch (MessagingException ex) { //邮件发送异常,存入数据库待重新发送列表 } catch (MessagingException | MailException ex) { //邮件发送异常,存入数据库待重新发送列表 MailQueue queue = new MailQueue(); queue.setMails(mailUserStr.toString()); queue.setTitle(mailDTO.getTitle()); @@ -75,8 +75,8 @@ mailQueueService.deleteById(queue.getId()); //日志 String msgDetail = "发送给邮箱" + mails + ",标题为:" + queue.getTitle() + ",内容为:" + queue.getContent(); logService.record(uId, name, UserOperation.TYPE_SEND_MAIL.getType(), "邮件发送", msgDetail); } catch (MessagingException ex) { //邮件发送异常 logService.record(uId, name, UserOperation.TYPE_SEND_MAIL.getType(), "邮件因网络问题由系统延时发送", msgDetail); } catch (MessagingException | MailException ex) { //邮件发送异常 //System.out.println("邮件发送异常,后续会持续发送直到成功"); } } src/main/java/com/whyc/task/MailQueueTask.java
@@ -20,11 +20,15 @@ @Override public void run() { //查询邮件队列中的待发送列表 List<MailQueue> sendingList = mailQueueService.getList(); //发送邮件 for (MailQueue queue : sendingList) { mailService.sendQueueMail(queue); try { //查询邮件队列中的待发送列表 List<MailQueue> sendingList = mailQueueService.getList(); //发送邮件 for (MailQueue queue : sendingList) { mailService.sendQueueMail(queue); } }catch (Exception e){ System.out.println("MailQueueTask发生异常:"+e.toString()); } } } src/main/java/com/whyc/util/ActionUtil.java
@@ -34,8 +34,12 @@ */ public static HttpServletRequest getRequest(){ ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = requestAttributes.getRequest(); return request; if(requestAttributes!=null) { HttpServletRequest request = requestAttributes.getRequest(); return request; }else{ return null; } } /*