浏览代码

fix: 首页基金和基金管理数据不一致问题修复

chenjianhua 6 月之前
父节点
当前提交
a3e88fdc6d

+ 3 - 0
service-base/src/main/java/com/simuwang/base/common/util/EmailUtil.java

@@ -182,6 +182,9 @@ public class EmailUtil {
                             html = html.replace("charset="+contentType.toLowerCase(),"charset=UTF-8");
                             html = html.replace("charset="+contentType.toUpperCase(),"charset=UTF-8");
                         }
+                        if(savePath.contains(":")){
+                            savePath = savePath.replaceAll(":","");
+                        }
                         FileUtils.write(new File(savePath), html);
                     }catch (Exception e){
                         logger.error(e.getMessage(),e);

+ 4 - 4
service-base/src/main/resources/mapper/FundInfoMapper.xml

@@ -57,11 +57,11 @@
                r.valuation_Frequency as valuationFrequency,
                r.frequency_remark as frequencyRemark
         from PPW_EMAIL.pvn_fund_info f
-        join PPW_EMAIL.pvn_company_info c on f.trust_id = c.company_id
+        left join PPW_EMAIL.pvn_company_info c on f.trust_id = c.company_id and c.isvalid =1
         left join (select nv.fund_id,max(nv.price_date) as last_price_date from PPW_EMAIL.nav nv where nv.isvalid =1 group by nv.fund_id) n
         on f.fund_id = n .fund_id
         left join PPW_EMAIL.fund_report_frequency r on r.fund_id = f.fund_id and r.isvalid =1
-        where f.isvalid =1 and c.isvalid =1
+        where f.isvalid =1
         <if test="fundId != null and fundId !=''">
             and f.fund_id like concat('%',#{fundId},'%')
         </if>
@@ -129,11 +129,11 @@
             parameterType="com.simuwang.base.pojo.dto.query.FundInfoPageQuery">
         select count(f.fund_id)
         from PPW_EMAIL.pvn_fund_info f
-        join PPW_EMAIL.pvn_company_info c on f.trust_id = c.company_id
+        left join PPW_EMAIL.pvn_company_info c on f.trust_id = c.company_id and c.isvalid =1
         left join (select nv.fund_id,max(nv.price_date) as last_price_date from PPW_EMAIL.nav nv where nv.isvalid =1 group by nv.fund_id) n
         on f.fund_id = n .fund_id
         left join PPW_EMAIL.fund_report_frequency r on r.fund_id = f.fund_id and r.isvalid =1
-        where f.isvalid =1 and c.isvalid =1
+        where f.isvalid =1
         <if test="fundId != null and fundId !=''">
             and f.fund_id like concat('%',#{fundId},'%')
         </if>

+ 11 - 4
service-daq/src/main/java/com/simuwang/daq/service/EmailParseService.java

@@ -12,9 +12,7 @@ import com.simuwang.base.common.conts.*;
 import com.simuwang.base.common.enums.ReportParserFileType;
 import com.simuwang.base.common.enums.ReportType;
 import com.simuwang.base.common.exception.ReportParseException;
-import com.simuwang.base.common.util.EmailUtil;
-import com.simuwang.base.common.util.ExcelUtil;
-import com.simuwang.base.common.util.FileUtil;
+import com.simuwang.base.common.util.*;
 import com.simuwang.base.config.DaqProperties;
 import com.simuwang.base.config.EmailRuleConfig;
 import com.simuwang.base.mapper.*;
@@ -841,7 +839,7 @@ public class EmailParseService {
                     continue;
                 }
                 log.info("邮件采集成功 -> 邮件主题:{},邮件日期:{}", message.getSubject(), emailDateStr);
-                if(message.getSubject().contains("盖亚青柯中证1000指数增强1号私募证券投资基金SZK192")){
+                if(message.getSubject().contains("上海证券测试私募证券投资基金数据合集")){
                     System.out.println("============");
                 }
                 Object content = message.getContent();
@@ -908,6 +906,9 @@ public class EmailParseService {
     }
 
     public List<NameValueVO> searchEmailCount(DataboardQuery databoardQuery) {
+        if(StringUtil.isNotEmpty(databoardQuery.getEndDate())){
+            databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(),DateUtils.YYYY_MM_DD),1));
+        }
         List<Map<String, Object>> dataList = emailParseInfoMapper.searchEmailDataBoard(databoardQuery);
         List<NameValueVO> result = new ArrayList<>();
         Long total = 0L;
@@ -931,6 +932,9 @@ public class EmailParseService {
     }
 
     public List<NameValueVO> searchEmailTypeCount(DataboardQuery databoardQuery) {
+        if(StringUtil.isNotEmpty(databoardQuery.getEndDate())){
+            databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(),DateUtils.YYYY_MM_DD),1));
+        }
         //邮件类型,1-净值,2-估值表,3-定期报告
         List<Map<String, Object>> dataList = emailParseInfoMapper.searchEmailTypeCount(databoardQuery);
         List<NameValueVO> result = new ArrayList<>();
@@ -955,6 +959,9 @@ public class EmailParseService {
     }
 
     public EmailParseFailAnalysisVO parseFailAnalysis(DataboardQuery databoardQuery) {
+        if(StringUtil.isNotEmpty(databoardQuery.getEndDate())){
+            databoardQuery.setEndDate(com.smppw.utils.DateUtil.getAroundDate(DateUtils.parse(databoardQuery.getEndDate(),DateUtils.YYYY_MM_DD),1));
+        }
         EmailParseFailAnalysisVO result = new EmailParseFailAnalysisVO();
         //净值规模
         List<NameValueVO> navNameValueVOS = new ArrayList<>();