ParseEmailServiceImpl.java 4.6 KB

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