Browse Source

fix: 别名匹配之后调整文件关联基金的数据

chenjianhua 4 months ago
parent
commit
d274e62266

+ 3 - 0
service-base/src/main/java/com/simuwang/base/mapper/daq/FileManageMapper.java

@@ -26,4 +26,7 @@ public interface FileManageMapper {
     long countFileManage(FileManagePageQuery fileManagePageQuery);
 
     void changeFileSourceType(@Param("idList") List<Integer> fileIdList, @Param("fileType")Integer fileType, @Param("userId")Integer userId);
+
+    void batchUpdateFileManageInfo(@Param("idList")List<Integer> fileIdList,@Param("fundId") String fundId, @Param("fundName")String fundName,  @Param("registerNumber")String registerNumber,  @Param("userId")Integer userId);
+
 }

+ 1 - 0
service-base/src/main/java/com/simuwang/base/mapper/daq/FundInfoMapper.java

@@ -51,4 +51,5 @@ public interface FundInfoMapper {
     FundInfoDO searchFundDetail(@Param("fundId")String fundId);
 
     Long countFundTotal();
+
 }

+ 7 - 0
service-base/src/main/resources/mapper/daq/FileManageMapper.xml

@@ -35,6 +35,13 @@
             #{id}
         </foreach>
     </update>
+    <update id="batchUpdateFileManageInfo">
+        update file_manage set fund_id=#{fundId},fund_name =#{fundName},register_number=#{registerNumber},updaterid=#{userId},updatetime=now()
+        where isvalid=1 and file_id in
+        <foreach item="fileId" collection="idList" open="(" separator="," close=")">
+            #{fileId}
+        </foreach>
+    </update>
     <select id="getFileInfoByFileId" resultMap="BaseResultMap"
             parameterType="java.lang.Long">
         select id,file_id,file_path,file_name,fund_id,fund_name,register_number,file_date,file_type,source_type,isvalid,creatorid,updaterid,createtime,updatetime

+ 4 - 0
service-manage/src/main/java/com/simuwang/manage/service/FileMangeService.java

@@ -7,6 +7,8 @@ import com.simuwang.base.pojo.vo.SourceTypeVO;
 import com.smppw.common.pojo.ResultVo;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+
 /**
  * FileName: FileMangeService
  * Author:   chenjianhua
@@ -21,4 +23,6 @@ public interface FileMangeService {
     FileManageVO getFileByFileId(Long fileId);
 
     void changeFileSourceType(SourceTypeVO sourceTypeVO);
+
+    void changeFileFundMappingInfo(List<Integer> fileIdList, String targetFundId);
 }

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

@@ -11,6 +11,7 @@ import com.simuwang.base.pojo.dos.EmailFundNavDO;
 import com.simuwang.base.pojo.dos.NavDO;
 import com.simuwang.daq.service.EmailParseService;
 import com.simuwang.manage.service.EmailFundNavService;
+import com.simuwang.manage.service.FileMangeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -38,6 +39,9 @@ public class EmailFundNavServiceImpl implements EmailFundNavService {
     @Autowired
     private NavMapper navMapper;
 
+    @Autowired
+    private FileMangeService fileMangeService;
+
     @Override
     public void reparseFileNav(String sourceFundName,String registerNumber, String targetFundId,String sourceFundId) {
         List<EmailFundNavDO> fundNavDOList = emailFundNavMapper.selectNotMappingNav(sourceFundName,registerNumber);
@@ -70,6 +74,8 @@ public class EmailFundNavServiceImpl implements EmailFundNavService {
                 sourcenavDOList.forEach(e -> e.setUpdateTime(DateUtils.getNowDate()));
                 emailParseService.saveNavDo(sourcenavDOList,null);
             }
+            List<Integer> fileIdList = fundNavDOList.stream().map(EmailFundNavDO::getFileId).distinct().collect(Collectors.toList());
+            fileMangeService.changeFileFundMappingInfo(fileIdList,targetFundId);
         }
     }
 

+ 17 - 0
service-manage/src/main/java/com/simuwang/manage/service/impl/FileMangeServiceImpl.java

@@ -4,7 +4,9 @@ import com.simuwang.base.common.conts.FileSourceType;
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.DateUtils;
 import com.simuwang.base.mapper.daq.FileManageMapper;
+import com.simuwang.base.mapper.daq.FundInfoMapper;
 import com.simuwang.base.pojo.dos.FileManageDO;
+import com.simuwang.base.pojo.dos.FundInfoDO;
 import com.simuwang.base.pojo.dto.query.FileManagePageQuery;
 import com.simuwang.base.pojo.vo.FileManageVO;
 import com.simuwang.base.pojo.vo.SourceTypeVO;
@@ -38,6 +40,9 @@ public class FileMangeServiceImpl implements FileMangeService {
     @Autowired
     private FileManageMapper fileManageMapper;
 
+    @Autowired
+    private FundInfoMapper fundInfoMapper;
+
     @Value("${email.file.path}")
     private String path;
     @Override
@@ -101,4 +106,16 @@ public class FileMangeServiceImpl implements FileMangeService {
         Integer userId = UserUtils.getLoginUser().getUserId();
         fileManageMapper.changeFileSourceType(fileIdList,fileType,userId);
     }
+
+    @Override
+    public void changeFileFundMappingInfo(List<Integer> fileIdList, String fundId) {
+        try{
+            FundInfoDO fundInfoDO = fundInfoMapper.searchFundDetail(fundId);
+            Integer userId = UserUtils.getLoginUser().getUserId();
+            fileManageMapper.batchUpdateFileManageInfo(fileIdList,fundInfoDO.getFundId(),fundInfoDO.getFundName(),fundInfoDO.getRegisterNumber(),userId);
+        }catch (Exception e){
+            logger.error(e.getMessage(),e);
+        }
+
+    }
 }