소스 검색

fix: 邮件解析查询问题修复

chenjianhua 7 달 전
부모
커밋
b59aff7871

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

@@ -17,9 +17,9 @@ public interface EmailParseInfoMapper {
 
     void updateParseStatus(@Param("id") Integer id, @Param("parseStatus") int parseStatus);
 
-    List<EmailParseInfoVO> searchEmailList(EmailParseQuery emailParseQuery);
+    List<EmailParseInfoDO> searchEmailList(EmailParseQuery emailParseQuery);
 
-    EmailParseInfoVO searchEmailById(@Param("id") Integer id);
+    EmailParseInfoDO searchEmailById(@Param("id") Integer id);
 
     Integer searchEmailCount(@Param("parseDate") String parseDate, @Param("parseStatus")Integer parseStatus);
 

+ 11 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/EmailFileInfoDO.java

@@ -3,6 +3,7 @@ package com.simuwang.base.pojo.dos;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.simuwang.base.pojo.vo.EmailFileInfoVO;
 import lombok.Data;
 
 import java.util.Date;
@@ -60,4 +61,14 @@ public class EmailFileInfoDO {
      */
     @TableField(value = "updatetime")
     private Date updateTime;
+
+    public EmailFileInfoVO toVO() {
+        EmailFileInfoVO vo = new EmailFileInfoVO();
+        vo.setEmailId(this.emailId);
+        vo.setFilePath(this.filePath);
+        vo.setFileName(this.fileName);
+        vo.setFundId(this.fundId);
+        vo.setEmailId(this.id);
+        return vo;
+    }
 }

+ 12 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/EmailParseInfoDO.java

@@ -3,6 +3,7 @@ package com.simuwang.base.pojo.dos;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.simuwang.base.pojo.vo.EmailParseInfoVO;
 import lombok.Data;
 
 import java.util.Date;
@@ -70,4 +71,15 @@ public class EmailParseInfoDO {
      */
     @TableField(value = "updatetime")
     private Date updateTime;
+
+    public EmailParseInfoVO toVO() {
+        EmailParseInfoVO vo = new EmailParseInfoVO();
+        vo.setEmail(this.email);
+        vo.setEmailTitle(this.emailTitle);
+        vo.setEmailType(this.emailType);
+        vo.setParseStatus(this.parseStatus);
+        vo.setParseDate(this.parseDate);
+        vo.setId(this.id);
+        return vo;
+    }
 }

+ 7 - 16
service-base/src/main/resources/mapper/EmailParseInfoMapper.xml

@@ -37,13 +37,6 @@
         <result column="email_title" property="emailTitle"/>
         <result column="email_type" property="emailType"/>
         <result column="parse_status" property="parseStatus"/>
-        <!--关联属性的映射关系-->
-        <collection property="emailFileInfoList" ofType="com.simuwang.base.pojo.vo.EmailFileInfoVO">
-            <id property="id" column="fid"/>
-            <result property="fileName" column="file_name"/>
-            <result property="filePath" column="file_path"/>
-            <result property="emailId" column="email_id"/>
-        </collection>
     </resultMap>
     <sql id="selectEmailParse">
         SELECT
@@ -54,15 +47,13 @@
             epi.email_title,
             epi.email_type,
             epi.parse_status,
-            efi.id AS fid,
-            efi.file_name,
-            efi.file_path,
-            efi.email_id
+            epi.isvalid,
+            epi.creatorid,
+            epi.createtime,
+            epi.updatetime,
+            epi.updaterid
         FROM
             PPW_EMAIL.email_parse_info epi
-                LEFT JOIN PPW_EMAIL.email_file_info efi
-                          ON epi.id = efi.email_id
-                              AND efi.isvalid = 1
     </sql>
     <!-- 查询条件 -->
     <sql id="sqlwhereSearch">
@@ -85,12 +76,12 @@
             </if>
         </where>
     </sql>
-    <select id="searchEmailList" resultMap="TableResultMap">
+    <select id="searchEmailList" resultMap="BaseResultMap">
         <include refid="selectEmailParse"/>
         <include refid="sqlwhereSearch"/>
      limit #{offset},#{pageSize}
     </select>
-    <select id="searchEmailById" resultMap="TableResultMap">
+    <select id="searchEmailById" resultMap="BaseResultMap">
         <include refid="selectEmailParse"/>
         where epi.isvalid =1 and epi.id =#{id}
     </select>

+ 9 - 2
service-manage/src/main/java/com/simuwang/manage/service/impl/ParseEmailServiceImpl.java

@@ -25,6 +25,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * FileName: ParseEmailServiceImpl
@@ -82,9 +83,15 @@ public class ParseEmailServiceImpl implements ParseEmailService {
             //自定义时间,把结束时间延后一天,确保时间判断能查到结束日期当天的数据
             emailParseQuery.setEndDate(DateUtil.getAroundDate(DateUtils.parse(emailParseQuery.getEndDate(),DateUtils.YYYY_MM_DD),1));
         }
-        List<EmailParseInfoVO> emailParseInfoDOList = emailParseInfoMapper.searchEmailList(emailParseQuery);
+        List<EmailParseInfoDO> emailParseInfoDOList = emailParseInfoMapper.searchEmailList(emailParseQuery);
+        List<EmailParseInfoVO> emailParseInfoVOList = emailParseInfoDOList.stream().map(EmailParseInfoDO::toVO).collect(Collectors.toList());
+        for(EmailParseInfoVO vo : emailParseInfoVOList){
+            List<EmailFileInfoDO> emailFileInfoList = emailFileInfoMapper.queryByEmailId(vo.getId());
+            List<EmailFileInfoVO> emailFileInfoVOList = emailFileInfoList.stream().map(EmailFileInfoDO::toVO).collect(Collectors.toList());
+            vo.setEmailFileInfoList(emailFileInfoVOList);
+        }
         long total = emailParseInfoMapper.countEmailList(emailParseQuery);
-        return MybatisPage.of(total,emailParseInfoDOList);
+        return MybatisPage.of(total,emailParseInfoVOList);
     }
 
     @Override