Procházet zdrojové kódy

feat: 别名设置之后重新解析估值表

chenjianhua před 7 měsíci
rodič
revize
6a7fb7b40d

+ 2 - 1
service-base/src/main/java/com/simuwang/base/mapper/EmailFileInfoMapper.java

@@ -8,7 +8,6 @@ import com.simuwang.base.pojo.vo.FundFileInfoVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.Date;
 import java.util.List;
 
 @Mapper
@@ -29,4 +28,6 @@ public interface EmailFileInfoMapper {
     long countEmailDetailById(EmailFileQuery emailFileQuery);
 
     void updateTimeById(@Param("id") Integer fileId, @Param("parseDate") Date parseDate);
+
+    List<String> selectValuationFileId(@Param("fileIdList") List<String> fileIdList);
 }

+ 2 - 0
service-base/src/main/java/com/simuwang/base/mapper/EmailFundNavMapper.java

@@ -19,5 +19,7 @@ public interface EmailFundNavMapper {
 
     Integer countNoStoreNav(@Param("fundName") String sourceFundName);
 
+    List<String> selectFileIdByFundName(@Param("fundName") String sourceFundName);
+
     void deleteByFileId(@Param("fileId") Integer fileId);
 }

+ 14 - 0
service-base/src/main/resources/mapper/EmailFileInfoMapper.xml

@@ -123,6 +123,20 @@
         WHERE efi.isvalid = 1
           AND efi.id =#{fileId}) a
     </select>
+    <select id="selectValuationFileId" resultType="java.lang.String"
+            parameterType="java.util.List">
+        SELECT
+            distinct file.id
+        FROM
+            PPW_EMAIL.EMAIL_FILE_INFO file
+                JOIN PPW_EMAIL.EMAIL_PARSE_INFO info
+                     ON file.email_id = info.id
+        WHERE info.email_type = 2
+          AND file.id IN
+        <foreach collection="fileIdList" item="fileId" index="index" separator=",">
+            #{fileId}
+        </foreach>
+    </select>
 
     <update id="updateTimeById">
         update PPW_EMAIL.EMAIL_FILE_INFO

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

@@ -113,6 +113,10 @@
         where isvalid =1 and exception_status=3
             and fund_name=#{fundName}
     </select>
+    <select id="selectFileIdByFundName" resultType="java.lang.String" parameterType="java.lang.String">
+        select distinct nav.file_id from PPW_EMAIL.email_fund_nav nav where nav.isvalid =1 and nav.exception_status=3
+            and nav.fund_name=#{fundName}
+    </select>
 
 
 </mapper>

+ 2 - 0
service-manage/src/main/java/com/simuwang/manage/service/EmailFundInfoService.java

@@ -14,4 +14,6 @@ import java.util.List;
  */
 public interface EmailFundInfoService {
     MybatisPage<FundFileInfoVO> searchFundFileInfo(FundFilePageQuery fundFilePageQuery);
+
+    void reparseValuationFile(String sourceFundName);
 }

+ 16 - 0
service-manage/src/main/java/com/simuwang/manage/service/impl/EmailFundInfoServiceImpl.java

@@ -2,8 +2,10 @@ package com.simuwang.manage.service.impl;
 
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.mapper.EmailFileInfoMapper;
+import com.simuwang.base.mapper.EmailFundNavMapper;
 import com.simuwang.base.pojo.dto.query.FundFilePageQuery;
 import com.simuwang.base.pojo.vo.FundFileInfoVO;
+import com.simuwang.daq.service.EmailParseApiService;
 import com.simuwang.manage.service.EmailFundInfoService;
 import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,10 +25,24 @@ public class EmailFundInfoServiceImpl implements EmailFundInfoService {
     @Autowired
     private EmailFileInfoMapper emailFileInfoMapper;
 
+    @Autowired
+    private EmailFundNavMapper emailFundNavMapper;
+
+    @Autowired
+    private EmailParseApiService emailParseApiService;
+
     @Override
     public MybatisPage<FundFileInfoVO> searchFundFileInfo(FundFilePageQuery fundFilePageQuery) {
         List<FundFileInfoVO> fileList = emailFileInfoMapper.searchFundFileInfo(fundFilePageQuery);
         long total = emailFileInfoMapper.countFundFileInfo(fundFilePageQuery);
         return MybatisPage.of(total,fileList);
     }
+
+    @Override
+    public void reparseValuationFile(String sourceFundName) {
+        List<String> fileIdList = emailFundNavMapper.selectFileIdByFundName(sourceFundName);
+        //过滤其他文件类型,只保留估值表
+        List<String> valuationFileId = emailFileInfoMapper.selectValuationFileId(fileIdList);
+
+    }
 }

+ 6 - 0
service-manage/src/main/java/com/simuwang/manage/service/impl/FundAliasServiceImpl.java

@@ -9,6 +9,7 @@ import com.simuwang.base.pojo.dos.CompanyEmailSendHistoryDO;
 import com.simuwang.base.pojo.dos.FundAliasDO;
 import com.simuwang.base.pojo.dto.query.FundAliasPageQuery;
 import com.simuwang.base.pojo.vo.FundAliasVO;
+import com.simuwang.manage.service.EmailFundInfoService;
 import com.simuwang.manage.service.FundAliasService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -37,6 +38,9 @@ public class FundAliasServiceImpl implements FundAliasService {
     @Autowired
     private CompanyInformationMapper companyInformationMapper;
 
+    @Autowired
+    private EmailFundInfoService emailFundInfoService;
+
     @Override
     public MybatisPage<FundAliasVO> searchFundAlias(FundAliasPageQuery fundAliasPageQuery) {
         List<FundAliasDO> fundAliasDOList = fundAliasMapper.searchFundAlias(fundAliasPageQuery);
@@ -75,5 +79,7 @@ public class FundAliasServiceImpl implements FundAliasService {
         fundAliasDO.setIsvalid(1);
         fundAliasDO.setUpdateTime(new Date());
         fundAliasMapper.saveFundAlias(fundAliasDO);
+        //处理采集数据,将采集的数据入库
+        emailFundInfoService.reparseValuationFile(fundAliasVO.getSourceFundName());
     }
 }