AsyncUtils.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.goafanti.common.utils;
  2. import java.io.UnsupportedEncodingException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import javax.mail.MessagingException;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.scheduling.annotation.Async;
  8. import org.springframework.stereotype.Component;
  9. import com.goafanti.common.bo.EmailBo;
  10. import com.goafanti.common.dao.NoticeMapper;
  11. import com.goafanti.common.enums.NoticeTypes;
  12. import com.goafanti.common.model.Notice;
  13. @Component
  14. @Async
  15. public class AsyncUtils {
  16. @Autowired
  17. private NoticeMapper noticeMapper;
  18. public void patentSend(EmailBo bo) throws UnsupportedEncodingException, MessagingException {
  19. SendEmailUtil.getInstance().patentSend(bo);
  20. }
  21. public void sendList(List<EmailBo> list) throws MessagingException, UnsupportedEncodingException {
  22. for (EmailBo emailBo : list) {
  23. SendEmailUtil.getInstance().patentSend(emailBo);
  24. }
  25. }
  26. public void send(EmailBo bo){
  27. try {
  28. SendEmailUtil.getInstance().send(bo);
  29. } catch (UnsupportedEncodingException | MessagingException e) {
  30. e.printStackTrace();
  31. }
  32. }
  33. public void addNotice(Notice n ) {
  34. n.setType(NoticeTypes.getType(n.getNoticeType()));
  35. noticeMapper.insertSelective(n);
  36. }
  37. public void addNoticeBatch(List<Notice> ln) {
  38. List<Notice> newList=new ArrayList<Notice>();
  39. if (ln != null && ln.size() > 0) {
  40. for (int i = 0; i < ln.size(); i++) {
  41. ln.get(i).setType(NoticeTypes.getType(ln.get(i).getNoticeType()));
  42. newList.add(ln.get(i));
  43. if (50 == newList.size() || i == ln.size() - 1) {
  44. if (newList.size() > 0) noticeMapper.insertBatch(newList);
  45. newList.clear();
  46. try {
  47. Thread.sleep(2000);
  48. } catch (InterruptedException e) {
  49. e.printStackTrace();
  50. }
  51. }
  52. }
  53. }
  54. }
  55. public void batchUpdateUnreaded(List<String> dl) {
  56. noticeMapper.batchUpdateUnreaded(dl);
  57. }
  58. }