SendCompanyEmailTask.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.simuwang.manage.task;
  2. import com.simuwang.base.mapper.CompanyEmailConfigMapper;
  3. import com.simuwang.base.pojo.dos.CompanyEmailConfigDO;
  4. import com.simuwang.manage.service.CompanyEmailConfigService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.scheduling.annotation.EnableScheduling;
  7. import org.springframework.scheduling.annotation.Scheduled;
  8. import org.springframework.stereotype.Component;
  9. import java.util.List;
  10. import java.util.Map;
  11. import java.util.stream.Collectors;
  12. /**
  13. * FileName: SendCompanyEmailTask
  14. * Author: chenjianhua
  15. * Date: 2024/9/20 22:45
  16. * Description: ${DESCRIPTION}
  17. */
  18. @EnableScheduling
  19. @Component
  20. public class SendCompanyEmailTask {
  21. @Autowired
  22. private CompanyEmailConfigMapper companyEmailConfigMapper;
  23. @Autowired
  24. private CompanyEmailConfigService companyEmailConfigService;
  25. @Scheduled(cron = "0 09 15 * * ?")
  26. public void sendEmail(){
  27. List<CompanyEmailConfigDO> configDOList = companyEmailConfigMapper.getAllCompanyConfig();
  28. Map<String,List<CompanyEmailConfigDO>> companyListMap = configDOList.stream().collect(Collectors.groupingBy(e -> e.getCompanyId()));
  29. for(String companyId : companyListMap.keySet()){
  30. List<CompanyEmailConfigDO> configDOS = companyListMap.get(companyId);
  31. StringBuffer emails = new StringBuffer();
  32. for(CompanyEmailConfigDO configDO : configDOS){
  33. emails.append(configDO.getEmail()).append(";");
  34. }
  35. companyEmailConfigService.sendEmail(companyId,emails.toString());
  36. }
  37. }
  38. }