瀏覽代碼

fix: 邮件解析增加文件ID返回

chenjianhua 7 月之前
父節點
當前提交
c9279f6990

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

@@ -17,6 +17,7 @@ public interface EmailFileInfoMapper {
     Integer insert(@Param("itemDo") EmailFileInfoDO emailFileInfoDO);
 
     EmailFileInfoDO getEmailFileById(@Param("id") Integer fileId);
+    List<EmailFileInfoDO> getEmailFileByEmailId(@Param("emailId") Integer emailId);
 
     List<EmailFileInfoDO> queryByEmailId(@Param("emailId") Integer emailId);
 

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

@@ -68,7 +68,7 @@ public class EmailFileInfoDO {
         vo.setFilePath(this.filePath);
         vo.setFileName(this.fileName);
         vo.setFundId(this.fundId);
-        vo.setEmailId(this.id);
+        vo.setId(this.id);
         return vo;
     }
 }

+ 12 - 18
service-base/src/main/resources/mapper/CompanyEmailHistoryMapper.xml

@@ -33,18 +33,16 @@
             cec.id,
             cec.company_id,
             c.company_name,
-            listagg(cec.email,',') as email,
-            DATE_FORMAT(max(cesh.send_time),'%Y-%m-%d %H:%i:%s') as send_time,
-            cesh.send_remark,
-            cesh.send_status
+            cec.email,
+            maxce.send_time,
+            maxce.send_remark,
+            maxce.send_status
         FROM
         PPW_EMAIL.company_email_config cec
         JOIN PPW_EMAIL.pvn_company_info c
         ON cec.company_id = c.company_id
-        LEFT JOIN PPW_EMAIL.company_email_send_history cesh
-        ON cec.email = cesh.email AND cesh.isvalid = 1
-        LEFT JOIN (select me.email as email,max(me.send_time) as send_time from PPW_EMAIL.company_email_send_history me where isvalid =1 group by me.email) maxce
-        ON cesh.email = maxce.email
+        LEFT JOIN (select me.email as email,max(me.send_time) as send_time,me.company_id,me.send_remark,me.send_status from PPW_EMAIL.company_email_send_history me where isvalid =1 group by me.email,me.company_id) maxce
+        ON cec.email = maxce.email and cec.company_id = maxce.company_id
         WHERE cec.isvalid = 1 and c.isvalid=1
         <if test="companyName != null and companyName !=''">
             and (c.company_name like concat('%',#{companyName},'%') or c.company_short_name like concat('%',#{companyName},'%') or c.register_number like concat('%',#{companyName},'%'))
@@ -53,9 +51,8 @@
             and cec.email like concat('%',#{email},'%')
         </if>
         <if test="sendStatus != null">
-            and cesh.send_status=#{sendStatus}
+            and maxce.send_status=#{sendStatus}
         </if>
-        group by cec.company_id
         limit #{offset},#{pageSize}
     </select>
 
@@ -64,14 +61,12 @@
         select count(*) from (
         SELECT
         count(cec.company_id)
-        FROM
+        from
         PPW_EMAIL.company_email_config cec
         JOIN PPW_EMAIL.pvn_company_info c
         ON cec.company_id = c.company_id
-        LEFT JOIN PPW_EMAIL.company_email_send_history cesh
-        ON cec.email = cesh.email AND cesh.isvalid = 1
-        LEFT JOIN (select me.email as email,max(me.send_time) as send_time from PPW_EMAIL.company_email_send_history me where isvalid =1 group by me.email) maxce
-        ON cesh.email = maxce.email
+        LEFT JOIN (select me.email as email,max(me.send_time) as send_time,me.company_id,me.send_remark,me.send_status from PPW_EMAIL.company_email_send_history me where isvalid =1 group by me.email,me.company_id) maxce
+        ON cec.email = maxce.email and cec.company_id = maxce.company_id
         WHERE cec.isvalid = 1 and c.isvalid=1
         <if test="companyName != null and companyName !=''">
             and (c.company_name like concat('%',#{companyName},'%') or c.company_short_name like concat('%',#{companyName},'%') or c.register_number like concat('%',#{companyName},'%'))
@@ -80,9 +75,8 @@
             and cec.email like concat('%',#{email},'%')
         </if>
         <if test="sendStatus != null">
-            and cesh.send_status=#{sendStatus}
-        </if>
-        group by cec.company_id) a
+            and maxce.send_status=#{sendStatus}
+        </if>) a
     </select>
 
     <select id="searchEmailHistory" resultMap="BaseResultMap">

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

@@ -28,6 +28,13 @@
         from PPW_EMAIL.email_file_info where id=#{id} and isvalid=1
     </select>
 
+    <select id="getEmailFileByEmailId" resultMap="BaseResultMap"
+            parameterType="java.lang.Integer">
+        select id ,email_id, file_name, file_path,
+               isvalid, creatorid, createtime, updaterid, updatetime
+        from PPW_EMAIL.email_file_info where email_id=#{emailId} and isvalid=1
+    </select>
+
     <select id="queryByEmailId" resultMap="BaseResultMap">
         select id, file_name, file_path
         from PPW_EMAIL.email_file_info

+ 1 - 1
service-base/src/main/resources/mapper/EmailTypeRuleMapper.xml

@@ -19,7 +19,7 @@
         where isvalid = 1 limit 1
     </select>
     <select id="searchEmailType" resultMap="BaseResultMap">
-        select id,nav,valuation,report,isvalid,creatorid,createtime,updaterid,updatetime from PPW_EMAIL.email_type_rule where isvalid =1
+        select id,nav,valuation,report,isvalid,creatorid,createtime,updaterid,updatetime from PPW_EMAIL.email_type_rule where isvalid =1 limit 1
     </select>
     <insert id="saveEmailType">
         insert into PPW_EMAIL.email_type_rule(nav,valuation,report,isvalid,creatorid,createtime,updaterid,updatetime)

+ 0 - 3
service-manage/src/main/java/com/simuwang/manage/service/impl/CompanyEmailSendHistoryServiceImpl.java

@@ -34,9 +34,6 @@ public class CompanyEmailSendHistoryServiceImpl implements CompanyEmailSendHisto
     public MybatisPage<CompanyEmailSendHistoryVO> searchCompanyEmail(CompanyEmailPageQuery companyEmailPageQuery) {
         List<CompanyEmailSendHistoryDO> dataList = companyEmailSendHistoryMapper.searchCompanyEmailList(companyEmailPageQuery);
         List<CompanyEmailSendHistoryVO> voList = dataList.stream().map(CompanyEmailSendHistoryDO::toVo).collect(Collectors.toList());
-        for(CompanyEmailSendHistoryVO vo : voList){
-            vo.setEmail(vo.getEmail().replaceAll(",",";"));
-        }
         long total = companyEmailSendHistoryMapper.countCompanyEmailList(companyEmailPageQuery);
         return MybatisPage.of(total, voList);
     }

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

@@ -91,7 +91,7 @@ public class ParseEmailServiceImpl implements ParseEmailService {
         List<EmailParseInfoVO> emailParseInfoVOList = emailParseInfoDOList.stream()
                 .map(EmailParseInfoDO::toVO).collect(Collectors.toList());
         for(EmailParseInfoVO vo : emailParseInfoVOList){
-            List<EmailFileInfoDO> emailFileInfoList = emailFileInfoMapper.queryByEmailId(vo.getId());
+            List<EmailFileInfoDO> emailFileInfoList = emailFileInfoMapper.getEmailFileByEmailId(vo.getId());
             List<EmailFileInfoVO> emailFileInfoVOList = emailFileInfoList.stream().map(EmailFileInfoDO::toVO).collect(Collectors.toList());
             vo.setEmailFileInfoList(emailFileInfoVOList);
         }