ParseEmailServiceImpl.java 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.simuwang.manage.service.impl;
  2. import com.simuwang.base.common.enums.ParseStatus;
  3. import com.simuwang.base.common.util.DateUtils;
  4. import com.simuwang.base.mapper.EmailFileInfoMapper;
  5. import com.simuwang.base.mapper.EmailParseInfoMapper;
  6. import com.simuwang.base.mapper.EmailTypeRuleMapper;
  7. import com.simuwang.base.pojo.dos.EmailFileInfoDO;
  8. import com.simuwang.base.pojo.dos.EmailParseInfoDO;
  9. import com.simuwang.base.pojo.dos.EmailTypeRuleDO;
  10. import com.simuwang.base.pojo.vo.EmailFileInfoVO;
  11. import com.simuwang.base.pojo.vo.EmailParseDetailVO;
  12. import com.simuwang.base.pojo.vo.EmailParseInfoVO;
  13. import com.simuwang.base.pojo.vo.EmailTypeRuleVO;
  14. import com.simuwang.manage.service.ParseEmailService;
  15. import com.smppw.common.pojo.enums.TimeRange;
  16. import com.smppw.utils.DateUtil;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import java.util.Date;
  20. import java.util.HashMap;
  21. import java.util.List;
  22. import java.util.Map;
  23. /**
  24. * FileName: ParseEmailServiceImpl
  25. * Author: chenjianhua
  26. * Date: 2024/9/10 11:26
  27. * Description: ${DESCRIPTION}
  28. */
  29. @Service
  30. public class ParseEmailServiceImpl implements ParseEmailService {
  31. @Autowired
  32. private EmailTypeRuleMapper emailTypeRuleMapper;
  33. @Autowired
  34. private EmailParseInfoMapper emailParseInfoMapper;
  35. @Autowired
  36. private EmailFileInfoMapper emailFileInfoMapper;
  37. @Override
  38. public void saveEmailType(EmailTypeRuleVO emailTypeRuleVO) {
  39. EmailTypeRuleDO ruleDO = new EmailTypeRuleDO();
  40. ruleDO.setId(emailTypeRuleVO.getId());
  41. ruleDO.setNav(emailTypeRuleVO.getNav());
  42. ruleDO.setReport(emailTypeRuleVO.getReport());
  43. ruleDO.setValuation(emailTypeRuleVO.getValuation());
  44. ruleDO.setUpdateTime(new Date());
  45. if(ruleDO.getId() == null){
  46. ruleDO.setCreateTime(new Date());
  47. emailTypeRuleMapper.saveEmailType(ruleDO);
  48. }else{
  49. emailTypeRuleMapper.updateEmailType(ruleDO);
  50. }
  51. }
  52. @Override
  53. public EmailTypeRuleVO searchEmailType() {
  54. EmailTypeRuleVO emailTypeRuleVO = new EmailTypeRuleVO();
  55. EmailTypeRuleDO emailTypeRuleDO = emailTypeRuleMapper.searchEmailType();
  56. if(emailTypeRuleDO == null){
  57. return emailTypeRuleVO;
  58. }
  59. emailTypeRuleVO.setId(emailTypeRuleDO.getId());
  60. emailTypeRuleVO.setNav(emailTypeRuleDO.getNav());
  61. emailTypeRuleVO.setValuation(emailTypeRuleDO.getValuation());
  62. emailTypeRuleVO.setReport(emailTypeRuleDO.getReport());
  63. return emailTypeRuleVO;
  64. }
  65. @Override
  66. public List<EmailParseInfoVO> searchEmailList(String emailTitle, Integer emailType, Integer parseStatus,TimeRange timeRange,String startDate,String endDate) {
  67. if(!timeRange.equals(TimeRange.Custom)){
  68. endDate = DateUtil.getTodayDate();
  69. startDate = DateUtil.RangeTime(timeRange.getFloatDateSymbel(),endDate);
  70. }
  71. List<EmailParseInfoVO> emailParseInfoDOList = emailParseInfoMapper.searchEmailList(emailTitle,emailType,parseStatus,startDate,endDate);
  72. return emailParseInfoDOList;
  73. }
  74. @Override
  75. public Map<String, Integer> searchEmailCount(TimeRange timeRange) {
  76. Map<String, Integer> result = new HashMap<>();
  77. String parseDate = getParseDate(timeRange, DateUtils.getDate());
  78. Integer parseTotal = emailParseInfoMapper.searchEmailCount(parseDate,null);
  79. result.put("parseTotal",parseTotal);
  80. Integer parseSuccess = emailParseInfoMapper.searchEmailCount(parseDate, ParseStatus.Success.getCode());
  81. result.put("parseSuccess",parseSuccess);
  82. Integer parseFail = emailParseInfoMapper.searchEmailCount(parseDate, ParseStatus.Fail.getCode());
  83. result.put("parseFail",parseFail);
  84. return result;
  85. }
  86. private String getParseDate(TimeRange timeRange, String date) {
  87. String preDate =DateUtil.RangeTime(timeRange.getFloatDateSymbel(),date);
  88. return preDate;
  89. }
  90. @Override
  91. public EmailFileInfoVO getEmailFileById(Integer fileId) {
  92. EmailFileInfoDO emailFileInfoDO = emailFileInfoMapper.getEmailFileById(fileId);
  93. EmailFileInfoVO fileInfoVO = new EmailFileInfoVO();
  94. if(emailFileInfoDO != null){
  95. fileInfoVO.setId(emailFileInfoDO.getId());
  96. fileInfoVO.setEmailId(emailFileInfoDO.getEmailId());
  97. fileInfoVO.setFilePath(emailFileInfoDO.getFilePath());
  98. fileInfoVO.setFileName(emailFileInfoDO.getFileName());
  99. }
  100. return fileInfoVO;
  101. }
  102. @Override
  103. public List<EmailParseDetailVO> searchEmailDetailById(Integer id) {
  104. //根据邮件ID获取附件信息
  105. List<EmailParseDetailVO> result = emailFileInfoMapper.searchEmailDetailById(id);
  106. return result;
  107. }
  108. }