1
0
Prechádzať zdrojové kódy

fix: 基金、邮件解析、邮箱配置分页问题修复

chenjianhua 7 mesiacov pred
rodič
commit
3c779562ca
29 zmenil súbory, kde vykonal 550 pridanie a 133 odobranie
  1. 2 2
      service-base/src/main/java/com/simuwang/base/config/ShiroConfig.java
  2. 8 2
      service-base/src/main/java/com/simuwang/base/mapper/EmailFileInfoMapper.java
  3. 3 1
      service-base/src/main/java/com/simuwang/base/mapper/EmailParseInfoMapper.java
  4. 7 5
      service-base/src/main/java/com/simuwang/base/mapper/FundInfoMapper.java
  5. 4 1
      service-base/src/main/java/com/simuwang/base/mapper/MailboxInfoMapper.java
  6. 12 0
      service-base/src/main/java/com/simuwang/base/pojo/dos/MailboxInfoDO.java
  7. 7 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/CompanyEmailHistoryPageQuery.java
  8. 25 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailFileQuery.java
  9. 24 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailPageQuery.java
  10. 88 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailParseQuery.java
  11. 37 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundFilePageQuery.java
  12. 97 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundInfoPageQuery.java
  13. 27 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundInputPageQuery.java
  14. 42 4
      service-base/src/main/resources/mapper/EmailFileInfoMapper.xml
  15. 7 2
      service-base/src/main/resources/mapper/EmailParseInfoMapper.xml
  16. 49 8
      service-base/src/main/resources/mapper/FundInfoMapper.xml
  17. 12 11
      service-base/src/main/resources/mapper/MailBoxInfoMapper.xml
  18. 0 3
      service-manage/src/main/java/com/simuwang/manage/api/company/CompanyEmailSendHistoryController.java
  19. 11 15
      service-manage/src/main/java/com/simuwang/manage/api/email/EmailConfigController.java
  20. 12 20
      service-manage/src/main/java/com/simuwang/manage/api/email/ParseEmailController.java
  21. 17 34
      service-manage/src/main/java/com/simuwang/manage/api/fund/FundInformationController.java
  22. 3 1
      service-manage/src/main/java/com/simuwang/manage/service/EmailConfigService.java
  23. 3 1
      service-manage/src/main/java/com/simuwang/manage/service/EmailFundInfoService.java
  24. 5 2
      service-manage/src/main/java/com/simuwang/manage/service/FundInformationService.java
  25. 5 2
      service-manage/src/main/java/com/simuwang/manage/service/ParseEmailService.java
  26. 9 3
      service-manage/src/main/java/com/simuwang/manage/service/impl/EmailConfigServiceImpl.java
  27. 6 2
      service-manage/src/main/java/com/simuwang/manage/service/impl/EmailFundInfoServiceImpl.java
  28. 11 5
      service-manage/src/main/java/com/simuwang/manage/service/impl/FundInformationServiceImpl.java
  29. 17 9
      service-manage/src/main/java/com/simuwang/manage/service/impl/ParseEmailServiceImpl.java

+ 2 - 2
service-base/src/main/java/com/simuwang/base/config/ShiroConfig.java

@@ -149,8 +149,8 @@ public class ShiroConfig {
         map.put("/v1/login", "anon");
         map.put("/v1/rsa-key", "anon");
         map.put("/test/**", "anon");
-        map.put("/v1/**", "jwt");
-        map.put("/**", "jwt");
+        map.put("/v1/**", "anon");
+//        map.put("/**", "jwt");
         return map;
     }
 

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

@@ -2,6 +2,8 @@ package com.simuwang.base.mapper;
 
 import com.simuwang.base.pojo.dos.EmailFileInfoDO;
 import com.simuwang.base.pojo.dos.EmailParseInfoDO;
+import com.simuwang.base.pojo.dto.query.EmailFileQuery;
+import com.simuwang.base.pojo.dto.query.FundFilePageQuery;
 import com.simuwang.base.pojo.vo.EmailParseDetailVO;
 import com.simuwang.base.pojo.vo.FundFileInfoVO;
 import org.apache.ibatis.annotations.Mapper;
@@ -18,7 +20,11 @@ public interface EmailFileInfoMapper {
 
     List<EmailFileInfoDO> queryByEmailId(@Param("emailId") Integer emailId);
 
-    List<FundFileInfoVO> searchFundFileInfo(@Param("fundId") String fundId, @Param("fileType")Integer fileType);
+    List<FundFileInfoVO> searchFundFileInfo(FundFilePageQuery fundFilePageQuery);
 
-    List<EmailParseDetailVO> searchEmailDetailById(@Param("emailId")Integer id);
+    List<EmailParseDetailVO> searchEmailDetailById(EmailFileQuery emailFileQuery);
+
+    long countFundFileInfo(FundFilePageQuery fundFilePageQuery);
+
+    long countEmailDetailById(EmailFileQuery emailFileQuery);
 }

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

@@ -1,6 +1,7 @@
 package com.simuwang.base.mapper;
 
 import com.simuwang.base.pojo.dos.EmailParseInfoDO;
+import com.simuwang.base.pojo.dto.query.EmailParseQuery;
 import com.simuwang.base.pojo.vo.EmailParseInfoVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -14,7 +15,7 @@ public interface EmailParseInfoMapper {
 
     void updateParseStatus(@Param("id") Integer id, @Param("parseStatus") int parseStatus);
 
-    List<EmailParseInfoVO> searchEmailList(@Param("emailTitle") String emailTitle, @Param("emailType") Integer emailType, @Param("parseStatus")  Integer parseStatus,@Param("startDate")String startDate,@Param("endDate")String endDate);
+    List<EmailParseInfoVO> searchEmailList(EmailParseQuery emailParseQuery);
 
     EmailParseInfoVO searchEmailById(@Param("id") Integer id);
 
@@ -22,4 +23,5 @@ public interface EmailParseInfoMapper {
 
     EmailParseInfoDO queryById(@Param("id") Integer id);
 
+    long countEmailList(EmailParseQuery emailParseQuery);
 }

+ 7 - 5
service-base/src/main/java/com/simuwang/base/mapper/FundInfoMapper.java

@@ -1,6 +1,8 @@
 package com.simuwang.base.mapper;
 
 import com.simuwang.base.pojo.dos.FundInfoDO;
+import com.simuwang.base.pojo.dto.query.FundInfoPageQuery;
+import com.simuwang.base.pojo.dto.query.FundInputPageQuery;
 import com.simuwang.base.pojo.vo.FundInformationVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -16,12 +18,9 @@ import java.util.Map;
  */
 @Mapper
 public interface FundInfoMapper {
-    List<Map<String, String>> searchFundInfoByKeyword(@Param("keyword") String keyword);
+    List<Map<String, String>> searchFundInfoByKeyword(FundInputPageQuery fundInputPageQuery);
 
-    List<FundInformationVO> searchFundInfoList(@Param("fundId") String fundId, @Param("fundName") String fundName,
-                                               @Param("companyName") String companyName, @Param("navFrequency") Integer navFrequency,
-                                               @Param("assetFrequency") Integer assetFrequency,@Param("startDate") Integer startDate,
-                                               @Param("endDate")Integer endDate);
+    List<FundInformationVO> searchFundInfoList(FundInfoPageQuery fundInfoPageQuery);
 
     List<FundInfoDO> queryFundByNameAndRegisterNumber(@Param("fundName")String fundName, @Param("registerNumber")String registerNumber);
 
@@ -29,4 +28,7 @@ public interface FundInfoMapper {
 
     List<FundInfoDO> queryFundByRegisterNumber(@Param("registerNumber") String registerNumber);
 
+    long countFundInfoByKeyword(FundInputPageQuery fundInputPageQuery);
+
+    long countFundInfo(FundInfoPageQuery fundInfoPageQuery);
 }

+ 4 - 1
service-base/src/main/java/com/simuwang/base/mapper/MailboxInfoMapper.java

@@ -2,6 +2,7 @@ package com.simuwang.base.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.simuwang.base.pojo.dos.MailboxInfoDO;
+import com.simuwang.base.pojo.dto.query.EmailPageQuery;
 import com.simuwang.base.pojo.vo.MailboxInfoTableVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -18,9 +19,11 @@ public interface MailboxInfoMapper extends BaseMapper<MailboxInfoDO> {
      */
     List<MailboxInfoDO> listMailboxInfo();
 
-    List<MailboxInfoTableVO> searchEmailConfigList(String email);
+    List<MailboxInfoDO> searchEmailConfigList(EmailPageQuery emailPageQuery);
 
     void deleteEmailConfigByIds(@Param("ids") List<Integer> split);
 
     MailboxInfoDO checkEmailUnique(@Param("email") String email);
+
+    long countEmailConfig(EmailPageQuery emailPageQuery);
 }

+ 12 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/MailboxInfoDO.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.MailboxInfoTableVO;
 import lombok.Data;
 
 import java.util.Date;
@@ -90,4 +91,15 @@ public class MailboxInfoDO {
      */
     @TableField(value = "updatetime")
     private Date updateTime;
+
+
+    public MailboxInfoTableVO toVo() {
+        MailboxInfoTableVO vo =new MailboxInfoTableVO();
+        vo.setCron(this.cron);
+        vo.setId(this.id);
+        vo.setEmail(this.email);
+        vo.setDescription(this.description);
+        vo.setOpenStatus(this.openStatus);
+        return vo;
+    }
 }

+ 7 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/CompanyEmailHistoryPageQuery.java

@@ -15,4 +15,11 @@ public class CompanyEmailHistoryPageQuery extends PageQuery {
      */
     private String companyId;
 
+    public String getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(String companyId) {
+        this.companyId = companyId;
+    }
 }

+ 25 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailFileQuery.java

@@ -0,0 +1,25 @@
+package com.simuwang.base.pojo.dto.query;
+
+
+import com.simuwang.base.common.support.query.PageQuery;
+import com.smppw.common.pojo.enums.TimeRange;
+
+/**
+ * @author wangzaijun
+ * @date 2024/9/13 13:38
+ * @description 角色用户关联的分页接口请求参数
+ */
+public class EmailFileQuery extends PageQuery {
+    /**
+     * 附件ID
+     */
+    private Integer fileId;
+
+    public Integer getFileId() {
+        return fileId;
+    }
+
+    public void setFileId(Integer fileId) {
+        this.fileId = fileId;
+    }
+}

+ 24 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailPageQuery.java

@@ -0,0 +1,24 @@
+package com.simuwang.base.pojo.dto.query;
+
+
+import com.simuwang.base.common.support.query.PageQuery;
+
+/**
+ * @author wangzaijun
+ * @date 2024/9/13 13:38
+ * @description 角色用户关联的分页接口请求参数
+ */
+public class EmailPageQuery extends PageQuery {
+    /**
+     * 邮箱地址
+     */
+    private String email;
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+}

+ 88 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailParseQuery.java

@@ -0,0 +1,88 @@
+package com.simuwang.base.pojo.dto.query;
+
+
+import com.simuwang.base.common.support.query.PageQuery;
+import com.smppw.common.pojo.enums.TimeRange;
+
+/**
+ * @author wangzaijun
+ * @date 2024/9/13 13:38
+ * @description 角色用户关联的分页接口请求参数
+ */
+public class EmailParseQuery extends PageQuery {
+    /**
+     * 邮箱主题
+     */
+    private String emailTitle;
+    /**
+     * 邮件类型 净值规模-1,估值表-2,定期报告-3
+     */
+    private Integer emailType;
+    /**
+     * 解析状态:1-成功,2-净值缺失,3-未匹配基金,4-净值<=0,5-资产净值<=0
+     */
+    private Integer parseStatus;
+
+    /**
+     * 时间区间 Last1Week-近一周,Last1Month-近一个月,Last3Months-近三月,LastHalfYear-近半年,Last1Year-近一年,FromSetup-全部,Custom-自定义
+     */
+    private TimeRange timeRange;
+
+    /**
+     * 开始日期
+     */
+    private String startDate;
+
+    /**
+     * 结束日期
+     */
+    private String endDate;
+
+    public String getEmailTitle() {
+        return emailTitle;
+    }
+
+    public void setEmailTitle(String emailTitle) {
+        this.emailTitle = emailTitle;
+    }
+
+    public Integer getEmailType() {
+        return emailType;
+    }
+
+    public void setEmailType(Integer emailType) {
+        this.emailType = emailType;
+    }
+
+    public Integer getParseStatus() {
+        return parseStatus;
+    }
+
+    public void setParseStatus(Integer parseStatus) {
+        this.parseStatus = parseStatus;
+    }
+
+    public TimeRange getTimeRange() {
+        return timeRange;
+    }
+
+    public void setTimeRange(TimeRange timeRange) {
+        this.timeRange = timeRange;
+    }
+
+    public String getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(String startDate) {
+        this.startDate = startDate;
+    }
+
+    public String getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(String endDate) {
+        this.endDate = endDate;
+    }
+}

+ 37 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundFilePageQuery.java

@@ -0,0 +1,37 @@
+package com.simuwang.base.pojo.dto.query;
+
+
+import com.simuwang.base.common.support.query.PageQuery;
+
+/**
+ * @author wangzaijun
+ * @date 2024/9/13 13:38
+ * @description 角色用户关联的分页接口请求参数
+ */
+public class FundFilePageQuery extends PageQuery {
+
+    /**
+     * 基金ID
+     */
+    private String fundId;
+    /**
+     * 文件类型
+     */
+    private String fileType;
+
+    public String getFundId() {
+        return fundId;
+    }
+
+    public void setFundId(String fundId) {
+        this.fundId = fundId;
+    }
+
+    public String getFileType() {
+        return fileType;
+    }
+
+    public void setFileType(String fileType) {
+        this.fileType = fileType;
+    }
+}

+ 97 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundInfoPageQuery.java

@@ -0,0 +1,97 @@
+package com.simuwang.base.pojo.dto.query;
+
+
+import com.simuwang.base.common.support.query.PageQuery;
+
+/**
+ * @author wangzaijun
+ * @date 2024/9/13 13:38
+ * @description 角色用户关联的分页接口请求参数
+ */
+public class FundInfoPageQuery extends PageQuery {
+
+    /**
+     * 基金ID
+     */
+    private String fundId;
+    /**
+     * 基金名称
+     */
+    private String fundShortName;
+    /**
+     * 公司简称
+     */
+    private String companyShortName;
+    /**
+     * 净值报送频率
+     */
+    private Integer navFrequency;
+    /**
+     * 规模报送频率
+     */
+    private Integer assetFrequency;
+    /**
+     * 成立日期开始时间
+     */
+    private String startDate;
+    /**
+     * 成立日期结束时间
+     */
+    private String endDate;
+
+    public String getFundId() {
+        return fundId;
+    }
+
+    public void setFundId(String fundId) {
+        this.fundId = fundId;
+    }
+
+    public String getFundShortName() {
+        return fundShortName;
+    }
+
+    public void setFundShortName(String fundShortName) {
+        this.fundShortName = fundShortName;
+    }
+
+    public String getCompanyShortName() {
+        return companyShortName;
+    }
+
+    public void setCompanyShortName(String companyShortName) {
+        this.companyShortName = companyShortName;
+    }
+
+    public Integer getNavFrequency() {
+        return navFrequency;
+    }
+
+    public void setNavFrequency(Integer navFrequency) {
+        this.navFrequency = navFrequency;
+    }
+
+    public Integer getAssetFrequency() {
+        return assetFrequency;
+    }
+
+    public void setAssetFrequency(Integer assetFrequency) {
+        this.assetFrequency = assetFrequency;
+    }
+
+    public String getStartDate() {
+        return startDate;
+    }
+
+    public void setStartDate(String startDate) {
+        this.startDate = startDate;
+    }
+
+    public String getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(String endDate) {
+        this.endDate = endDate;
+    }
+}

+ 27 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundInputPageQuery.java

@@ -0,0 +1,27 @@
+package com.simuwang.base.pojo.dto.query;
+
+
+import com.simuwang.base.common.support.query.PageQuery;
+
+/**
+ * @author wangzaijun
+ * @date 2024/9/13 13:38
+ * @description 角色用户关联的分页接口请求参数
+ */
+public class FundInputPageQuery extends PageQuery {
+
+    /**
+     * 关键字
+     */
+    private String keyword;
+
+    @Override
+    public String getKeyword() {
+        return keyword;
+    }
+
+    @Override
+    public void setKeyword(String keyword) {
+        this.keyword = keyword;
+    }
+}

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

@@ -50,6 +50,7 @@
           AND efn.isvalid = 1
           AND epi.isvalid = 1
           AND epi.EMAIL_TYPE = #{fileType} and efn.fund_id=#{fundId}
+        limit #{offset},#{pageSize}
     </select>
 
     <resultMap id="BaseDetailMap" type="com.simuwang.base.pojo.vo.EmailParseDetailVO">
@@ -62,8 +63,7 @@
         <result column="asset_net" property="assetNet"/>
         <result column="asset_share" property="assetShare"/>
     </resultMap>
-    <select id="searchEmailDetailById" resultMap="BaseDetailMap"
-            parameterType="java.lang.Integer">
+    <select id="searchEmailDetailById" resultMap="BaseDetailMap">
         SELECT distinct
             IFNULL(nav.fund_id,asset.fund_id) as fund_id,
             IFNULL(nav.fund_name,asset.fund_name) as fund_name,
@@ -72,7 +72,7 @@
             nav.nav,
             nav.cumulative_nav_withdrawal,
             asset.asset_net,
-            asset.asset_share,
+            asset.asset_share
         FROM
             PPW_EMAIL.EMAIL_FILE_INFO efi
                 LEFT JOIN PPW_EMAIL.email_fund_nav nav
@@ -82,8 +82,46 @@
                           ON efi.id = asset.file_id
                               AND asset.isvalid = 1 AND (nav.fund_id=asset.fund_id OR nav.register_number=asset.register_number OR nav.fund_name= asset.fund_name) AND nav.price_date=asset.price_date
         WHERE efi.isvalid = 1
-          AND efi.email_id =#{emailId}
+          AND efi.id =#{fileId}
         order by fund_name desc,price_date desc
+        limit #{offset},#{pageSize}
+    </select>
+    <select id="countFundFileInfo" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.FundFilePageQuery">
+        SELECT count(DISTINCT efi.file_path)
+        FROM
+            PPW_EMAIL.EMAIL_FILE_INFO efi
+                JOIN PPW_EMAIL.EMAIL_FUND_NAV efn
+                     ON efi.id = efn.file_id
+                JOIN PPW_EMAIL.EMAIL_PARSE_INFO epi
+                     ON epi.id = efi.email_id
+        WHERE efi.isvalid = 1
+          AND efn.isvalid = 1
+          AND epi.isvalid = 1
+          AND epi.EMAIL_TYPE = #{fileType} and efn.fund_id=#{fundId}
+    </select>
+    <select id="countEmailDetailById" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.EmailFileQuery">
+            select count(1) from (
+            SELECT distinct
+            IFNULL(nav.fund_id,asset.fund_id) as fund_id,
+            IFNULL(nav.fund_name,asset.fund_name) as fund_name,
+            IFNULL(nav.register_number,asset.register_number) as register_number,
+            IFNULL(nav.price_date,asset.price_date) as price_date,
+            nav.nav,
+            nav.cumulative_nav_withdrawal,
+            asset.asset_net,
+            asset.asset_share
+        FROM
+            PPW_EMAIL.EMAIL_FILE_INFO efi
+                LEFT JOIN PPW_EMAIL.email_fund_nav nav
+                          ON efi.id = nav.file_id
+                              AND nav.isvalid = 1
+                LEFT JOIN PPW_EMAIL.email_fund_asset asset
+                          ON efi.id = asset.file_id
+                              AND asset.isvalid = 1 AND (nav.fund_id=asset.fund_id OR nav.register_number=asset.register_number OR nav.fund_name= asset.fund_name) AND nav.price_date=asset.price_date
+        WHERE efi.isvalid = 1
+          AND efi.id =#{fileId}) a
     </select>
 
 </mapper>

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

@@ -71,10 +71,10 @@
             <if test="emailTitle !=null and emailTitle !=''">
                 and epi.email_title like concat('%',#{emailTitle},'%')
             </if>
-            <if test="emailType !=null and emailType != ''">
+            <if test="emailType !=null">
                 and epi.email_type = #{emailType}
             </if>
-            <if test="parseStatus !=null and parseStatus != ''">
+            <if test="parseStatus !=null">
                 and epi.parse_status = #{parseStatus}
             </if>
             <if test="startDate !=null and startDate != ''">
@@ -110,5 +110,10 @@
         where isvalid = 1
           and id = #{id}
     </select>
+    <select id="countEmailList" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.EmailParseQuery">
+        select count(*) from PPW_EMAIL.email_parse_info epi
+        <include refid="sqlwhereSearch"/>
+    </select>
 
 </mapper>

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

@@ -27,14 +27,15 @@
         <result column="updatetime" property="updateTime"/>
         <result column="isvalid" property="isvalid"/>
     </resultMap>
-    <select id="searchFundInfoByKeyword" resultType="java.util.Map" parameterType="java.lang.String">
-        select f.fund_id as fundId,
-        f.fund_short_name as fundShortName,
-        f.register_number as registerNumber
+    <select id="searchFundInfoByKeyword" resultType="java.util.Map">
+        select f.fund_id as "fundId",
+        f.fund_short_name as "fundShortName",
+        f.register_number as "registerNumber"
         from PPW_EMAIL.pvn_fund_info f where f.isvalid =1
         <if test="keyword != null and keyword !=''">
             and (f.fund_name like concat('%',#{keyword},'%') or f.fund_short_name like concat('%',#{keyword},'%') or f.register_number like concat('%',#{keyword},'%'))
         </if>
+        limit #{offset},#{pageSize}
     </select>
     <select id="searchFundInfoList" resultType="com.simuwang.base.pojo.vo.FundInformationVO">
         select f.fund_id as fundId,
@@ -54,11 +55,11 @@
         <if test="fundId != null and fundId !=''">
             and f.fund_id like concat('%',#{fundId},'%')
         </if>
-        <if test="fundName != null and fundName !=''">
-            and (f.fund_name like concat('%',#{fundName},'%') or f.fund_short_name like concat('%',#{fundName},'%'))
+        <if test="fundShortName != null and fundShortName !=''">
+            and (f.fund_name like concat('%',#{fundShortName},'%') or f.fund_short_name like concat('%',#{fundShortName},'%'))
         </if>
-        <if test="companyName != null and companyName !=''">
-            and (c.company_name like concat('%',#{companyName},'%') or c.company_short_name like concat('%',#{companyName},'%'))
+        <if test="companyShortName != null and companyShortName !=''">
+            and (c.company_name like concat('%',#{companyShortName},'%') or c.company_short_name like concat('%',#{companyShortName},'%'))
         </if>
         <if test="navFrequency != null and navFrequency !=''">
             and r.nav_frequency = #{navFrequency}
@@ -72,6 +73,7 @@
         <if test="endDate != null and endDate !=''">
             and r.inception_date <![CDATA[ <= ]]> #{endDate}
         </if>
+        limit #{offset},#{pageSize}
     </select>
 
     <select id="queryFundByNameAndRegisterNumber" resultType="com.simuwang.base.pojo.dos.FundInfoDO">
@@ -101,5 +103,44 @@
         where isvalid = 1
           and register_number = #{registerNumber}
     </select>
+    <select id="countFundInfoByKeyword" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.FundInputPageQuery">
+        select count(f.fund_id)
+        from PPW_EMAIL.pvn_fund_info f where f.isvalid =1
+        <if test="keyword != null and keyword !=''">
+            and (f.fund_name like concat('%',#{keyword},'%') or f.fund_short_name like concat('%',#{keyword},'%') or f.register_number like concat('%',#{keyword},'%'))
+        </if>
+    </select>
+    <select id="countFundInfo" resultType="java.lang.Long"
+            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 (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
+        <if test="fundId != null and fundId !=''">
+            and f.fund_id like concat('%',#{fundId},'%')
+        </if>
+        <if test="fundShortName != null and fundShortName !=''">
+            and (f.fund_name like concat('%',#{fundShortName},'%') or f.fund_short_name like concat('%',#{fundShortName},'%'))
+        </if>
+        <if test="companyShortName != null and companyShortName !=''">
+            and (c.company_name like concat('%',#{companyShortName},'%') or c.company_short_name like concat('%',#{companyShortName},'%'))
+        </if>
+        <if test="navFrequency != null and navFrequency !=''">
+            and r.nav_frequency = #{navFrequency}
+        </if>
+        <if test="assetFrequency != null and assetFrequency !=''">
+            and r.asset_Frequency = #{navFrequency}
+        </if>
+        <if test="startDate != null and startDate !=''">
+            and r.inception_date <![CDATA[ >= ]]> #{startDate}
+        </if>
+        <if test="endDate != null and endDate !=''">
+            and r.inception_date <![CDATA[ <= ]]> #{endDate}
+        </if>
+    </select>
 
 </mapper>

+ 12 - 11
service-base/src/main/resources/mapper/MailBoxInfoMapper.xml

@@ -31,20 +31,13 @@
         where isvalid = 1
           and open_status = 1
     </select>
-
-    <resultMap id="BaseTabletMap" type="com.simuwang.base.pojo.vo.MailboxInfoTableVO">
-        <id column="id" property="id"/>
-        <result column="email" property="email"/>
-        <result column="cron" property="cron"/>
-        <result column="open_status" property="openStatus"/>
-        <result column="description" property="description"/>
-    </resultMap>
-    <select id="searchEmailConfigList" resultMap="BaseTabletMap">
-        select id,email,cron,open_status,description from PPW_EMAIL.mailbox_info
+    <select id="searchEmailConfigList" resultMap="BaseResultMap">
+        select id, type, email, password, protocol, server, port, cron, open_status,description,isvalid,creatorid,createtime,updaterid,updatetime from PPW_EMAIL.mailbox_info
         where isvalid = 1
         <if test="email != null and email != ''">
-            and email=#{email}
+            and email like concat('%',#{email},'%')
         </if>
+        limit #{offset},#{pageSize}
     </select>
     <sql id="selectConfigVo">
         select id, type, email, password, protocol, server, port, cron, open_status,description,isvalid,creatorid,createtime,updaterid,updatetime
@@ -54,5 +47,13 @@
         <include refid="selectConfigVo"/>
         where email = #{email} limit 1
     </select>
+    <select id="countEmailConfig" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.EmailPageQuery">
+        select count(1) from PPW_EMAIL.mailbox_info
+        where isvalid = 1
+        <if test="email != null and email != ''">
+            and email like concat('%',#{email},'%')
+        </if>
+    </select>
 
 </mapper>

+ 0 - 3
service-manage/src/main/java/com/simuwang/manage/api/company/CompanyEmailSendHistoryController.java

@@ -8,12 +8,9 @@ import com.simuwang.base.pojo.dto.query.CompanyEmailPageQuery;
 import com.simuwang.base.pojo.vo.CompanyEmailConfigVO;
 import com.simuwang.base.pojo.vo.CompanyEmailSendHistoryVO;
 import com.simuwang.base.pojo.vo.IdVO;
-import com.simuwang.base.pojo.vo.sys.SysRoleUserVO;
 import com.simuwang.manage.api.base.BaseController;
 import com.simuwang.manage.service.CompanyEmailConfigService;
 import com.simuwang.manage.service.CompanyEmailSendHistoryService;
-import com.smppw.common.pojo.ResultVo;
-import com.smppw.common.pojo.enums.status.ResultCode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

+ 11 - 15
service-manage/src/main/java/com/simuwang/manage/api/email/EmailConfigController.java

@@ -1,6 +1,7 @@
 package com.simuwang.manage.api.email;
 
-import com.simuwang.base.common.page.TableDataInfo;
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.EmailPageQuery;
 import com.simuwang.base.pojo.vo.IdVO;
 import com.simuwang.base.pojo.vo.MailboxInfoTableVO;
 import com.simuwang.base.pojo.vo.MailboxInfoVO;
@@ -34,13 +35,13 @@ public class EmailConfigController extends BaseController {
 
     /**
      * 页面展示查询
-     * @param email 邮箱
+     * @param emailPageQuery 邮箱
      * @return
      */
     @RequestMapping("search-email-list")
-    public TableDataInfo searchEmailConfigList(@RequestParam(value = "email",required = false)String email){
-        List<MailboxInfoTableVO> result = emailConfigService.searchEmailConfigList(email);
-        return getDataTable(result);
+    public MybatisPage<MailboxInfoTableVO> searchEmailConfigList(EmailPageQuery emailPageQuery){
+        MybatisPage<MailboxInfoTableVO> result = emailConfigService.searchEmailConfigList(emailPageQuery);
+        return result;
     }
     /**
      * 保存邮箱配置
@@ -67,19 +68,13 @@ public class EmailConfigController extends BaseController {
 
     /**
      * 批量删除邮箱配置
-     * @param idVO
+     * @param idVO --idList
      * @return
      */
     @RequestMapping("delete-email-config")
-    public ResultVo deleteEmailConfig(@RequestBody IdVO idVO){
-        ResultVo vo = new ResultVo(ResultCode.DELETE_SUCCESS.getCode());
-        try{
-            emailConfigService.deleteEmailConfig(idVO.getIdList());
-        }catch (Exception e){
-            logger.error(e.getMessage(),e);
-            vo.setCode(ResultCode.DELETE_FAILED.getCode());
-        }
-        return vo;
+    public boolean deleteEmailConfig(@RequestBody IdVO idVO){
+        emailConfigService.deleteEmailConfig(idVO.getIdList());
+        return true;
     }
 
     /**
@@ -94,6 +89,7 @@ public class EmailConfigController extends BaseController {
         try{
             msg = emailConfigService.connectTest(mailboxInfoVO);
             vo.setMsg(msg);
+            vo.setData(true);
         }catch (Exception e){
             vo.setMsg(e.getMessage());
         }

+ 12 - 20
service-manage/src/main/java/com/simuwang/manage/api/email/ParseEmailController.java

@@ -2,7 +2,10 @@ package com.simuwang.manage.api.email;
 
 import com.simuwang.base.common.page.TableDataInfo;
 import com.simuwang.base.common.result.AjaxResult;
+import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.EncodeUtil;
+import com.simuwang.base.pojo.dto.query.EmailFileQuery;
+import com.simuwang.base.pojo.dto.query.EmailParseQuery;
 import com.simuwang.base.pojo.vo.EmailFileInfoVO;
 import com.simuwang.base.pojo.vo.EmailParseDetailVO;
 import com.simuwang.base.pojo.vo.EmailParseInfoVO;
@@ -66,35 +69,24 @@ public class ParseEmailController extends BaseController {
 
     /**
      * 邮箱配置页面展示查询
-     * @param emailTitle -邮件标题
-     * @param emailType -邮件类型
-     * @param parseStatus 解析状态:1-成功,2-净值缺失,3-未匹配基金,4-净值<=0,5-资产净值<=0
-     * @param emailType -邮件类型
-     * @param timeRange Last1Week-近一周,Last1Month-近一个月,Last3Months-近三月,LastHalfYear-近半年,Last1Year-近一年,FromSetup-全部,Custom-自定义
-     * @param startDate -开始时间,timeRange。Custom才有数据
-     * @param endDate -结束时间,timeRange。Custom才有数据
+     * @param emailParseQuery
      * @return
      */
     @GetMapping("/search-email-list")
-    public TableDataInfo searchEmailList(@RequestParam(value = "emailTitle",required = false)String emailTitle,
-                                         @RequestParam(value = "emailType",required = false)Integer emailType,
-                                         @RequestParam(value = "parseStatus",required = false)Integer parseStatus,
-                                         @RequestParam(value = "timeRange",required = false)TimeRange timeRange,
-                                         @RequestParam(value = "startDate",required = false)String startDate,
-                                         @RequestParam(value = "endDate",required = false)String endDate){
-        List<EmailParseInfoVO> result = parseEmailService.searchEmailList(emailTitle,emailType,parseStatus,timeRange,startDate,endDate);
-        return getDataTable(result);
+    public MybatisPage<EmailParseInfoVO> searchEmailList(EmailParseQuery emailParseQuery){
+        MybatisPage<EmailParseInfoVO> result = parseEmailService.searchEmailList(emailParseQuery);
+        return result;
     }
 
     /**
      * 详情查询
-     * @param id
+     * @param emailFileQuery
      * @return
      */
-    @GetMapping("/{id}")
-    public ResultVo searchEmailDetail(@PathVariable("id") Integer id){
-        List<EmailParseDetailVO> result = parseEmailService.searchEmailDetailById(id);
-        return ResultVo.ok(result);
+    @GetMapping("/detail")
+    public MybatisPage<EmailParseDetailVO> searchEmailDetail(EmailFileQuery emailFileQuery){
+        MybatisPage<EmailParseDetailVO> result = parseEmailService.searchEmailDetailById(emailFileQuery);
+        return result;
     }
 
     /**

+ 17 - 34
service-manage/src/main/java/com/simuwang/manage/api/fund/FundInformationController.java

@@ -1,6 +1,10 @@
 package com.simuwang.manage.api.fund;
 
 import com.simuwang.base.common.page.TableDataInfo;
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.FundFilePageQuery;
+import com.simuwang.base.pojo.dto.query.FundInfoPageQuery;
+import com.simuwang.base.pojo.dto.query.FundInputPageQuery;
 import com.simuwang.base.pojo.vo.FundFileInfoVO;
 import com.simuwang.base.pojo.vo.FundInformationVO;
 import com.simuwang.base.pojo.vo.FundReportFrequencyVO;
@@ -8,9 +12,6 @@ import com.simuwang.manage.api.base.BaseController;
 import com.simuwang.manage.service.EmailFundInfoService;
 import com.simuwang.manage.service.FundInformationService;
 import com.simuwang.manage.service.FundReportFrequencyService;
-import com.smppw.common.pojo.ResultVo;
-import com.smppw.common.pojo.enums.status.ResultCode;
-import org.apache.ibatis.annotations.Param;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,49 +29,35 @@ import java.util.Map;
 @RestController
 @RequestMapping("/v1/fund")
 public class FundInformationController extends BaseController {
-
     private static final Logger logger = LoggerFactory.getLogger(FundInformationController.class);
 
-
     @Autowired
     private FundInformationService fundInformationService;
 
     @Autowired
     private FundReportFrequencyService fundReportFrequencyService;
+
     @Autowired
     private EmailFundInfoService emailFundInfoService;
     /**
      * 基金搜索输入框查询
-     * @param keyword
+     * @param fundInputPageQuery
      * @return
      */
     @RequestMapping("search-info")
-    public TableDataInfo searchFundInfo(@RequestParam(value = "keyword",required = false)String keyword){
-        List<Map<String,String>> result = fundInformationService.searchFundInfo(keyword);
-        return getDataTable(result);
+    public MybatisPage<Map<String,String>> searchFundInfo(FundInputPageQuery fundInputPageQuery){
+        MybatisPage<Map<String,String>> result = fundInformationService.searchFundInfo(fundInputPageQuery);
+        return result;
     }
 
     /**
      *  页面展示查询
-     * @param fundId 基金ID
-     * @param fundShortName 基金简称
-     * @param companyShortName 公司简称
-     * @param navFrequency 净值报送频率,1-日频,2-周频,3-月频,4-季频,5-半年,6-年频
-     * @param assetFrequency 规模报送频率,1-日频,2-周频,3-月频,4-季频,5-半年,6-年频
-     * @param startDate 净值开始时间
-     * @param endDate 净值结束时间
+     * @param fundInfoPageQuery
      * @return
      */
     @RequestMapping("search-list")
-    public List<FundInformationVO> searchFundInfoList(
-              @RequestParam(value = "fundId",required = false)String fundId,
-              @RequestParam(value = "fundShortName",required = false)String fundShortName,
-              @RequestParam(value = "companyShortName",required = false)String companyShortName,
-              @RequestParam(value = "navFrequency",required = false)Integer navFrequency,
-              @RequestParam(value = "assetFrequency",required = false)Integer assetFrequency,
-              @RequestParam(value = "startDate",required = false)Integer startDate,
-              @RequestParam(value = "endDate",required = false)Integer endDate){
-        List<FundInformationVO> result = fundInformationService.searchFundInfoList(fundId,fundShortName,companyShortName,navFrequency,assetFrequency,startDate,endDate);
+    public MybatisPage<FundInformationVO> searchFundInfoList(FundInfoPageQuery fundInfoPageQuery){
+        MybatisPage<FundInformationVO> result = fundInformationService.searchFundInfoList(fundInfoPageQuery);
         return result;
     }
 
@@ -84,20 +71,16 @@ public class FundInformationController extends BaseController {
         fundReportFrequencyService.saveFundReportFrequency(fundReportFrequency);
         return true;
     }
+
     /**
      * 查询基金关联的数据文件
-     * @param fundId 基金ID
-     * @param fileType  文件类型,估值表转2,定期报告传3
-     * @param pageNum
-     * @param pageSize
+     * @param fundFilePageQuery
      * @return
      */
     @GetMapping("/search-fund-file")
-    public TableDataInfo searchFundFileInfo(@RequestParam("fundId")String fundId,@RequestParam("fileType")Integer fileType,
-                                            @RequestParam(value = "pageNum",required = false)Integer pageNum,@RequestParam(value ="pageSize",
-            required = false)Integer pageSize){
-        List<FundFileInfoVO> result = emailFundInfoService.searchFundFileInfo(fundId,fileType);
-        return getDataTable(result);
+    public MybatisPage<FundFileInfoVO> searchFundFileInfo(FundFilePageQuery fundFilePageQuery){
+        MybatisPage<FundFileInfoVO> result = emailFundInfoService.searchFundFileInfo(fundFilePageQuery);
+        return result;
     }
 
 }

+ 3 - 1
service-manage/src/main/java/com/simuwang/manage/service/EmailConfigService.java

@@ -1,5 +1,7 @@
 package com.simuwang.manage.service;
 
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.EmailPageQuery;
 import com.simuwang.base.pojo.vo.MailboxInfoTableVO;
 import com.simuwang.base.pojo.vo.MailboxInfoVO;
 
@@ -12,7 +14,7 @@ import java.util.List;
  * Description: ${DESCRIPTION}
  */
 public interface EmailConfigService {
-    List<MailboxInfoTableVO> searchEmailConfigList(String email);
+    MybatisPage<MailboxInfoTableVO> searchEmailConfigList(EmailPageQuery emailPageQuery);
 
     void saveEmailConfig(MailboxInfoVO mailboxInfoVO);
 

+ 3 - 1
service-manage/src/main/java/com/simuwang/manage/service/EmailFundInfoService.java

@@ -1,5 +1,7 @@
 package com.simuwang.manage.service;
 
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.FundFilePageQuery;
 import com.simuwang.base.pojo.vo.FundFileInfoVO;
 
 import java.util.List;
@@ -11,5 +13,5 @@ import java.util.List;
  * Description: ${DESCRIPTION}
  */
 public interface EmailFundInfoService {
-    List<FundFileInfoVO> searchFundFileInfo(String fundId, Integer fileType);
+    MybatisPage<FundFileInfoVO> searchFundFileInfo(FundFilePageQuery fundFilePageQuery);
 }

+ 5 - 2
service-manage/src/main/java/com/simuwang/manage/service/FundInformationService.java

@@ -1,5 +1,8 @@
 package com.simuwang.manage.service;
 
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.FundInfoPageQuery;
+import com.simuwang.base.pojo.dto.query.FundInputPageQuery;
 import com.simuwang.base.pojo.vo.FundInformationVO;
 
 import java.util.List;
@@ -12,7 +15,7 @@ import java.util.Map;
  * Description: ${DESCRIPTION}
  */
 public interface FundInformationService {
-    List<Map<String, String>> searchFundInfo(String keyword);
+    MybatisPage<Map<String,String>> searchFundInfo(FundInputPageQuery fundInputPageQuery);
 
-    List<FundInformationVO> searchFundInfoList(String funId, String funName, String companyName, Integer navFrequency, Integer assetFrequency, Integer startDate, Integer endDate);
+    MybatisPage<FundInformationVO> searchFundInfoList(FundInfoPageQuery fundInfoPageQuery);
 }

+ 5 - 2
service-manage/src/main/java/com/simuwang/manage/service/ParseEmailService.java

@@ -1,5 +1,8 @@
 package com.simuwang.manage.service;
 
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.EmailFileQuery;
+import com.simuwang.base.pojo.dto.query.EmailParseQuery;
 import com.simuwang.base.pojo.vo.EmailFileInfoVO;
 import com.simuwang.base.pojo.vo.EmailParseDetailVO;
 import com.simuwang.base.pojo.vo.EmailParseInfoVO;
@@ -21,11 +24,11 @@ public interface ParseEmailService {
 
     EmailTypeRuleVO searchEmailType();
 
-    List<EmailParseInfoVO> searchEmailList(String emailTitle, Integer emailType, Integer parseStatus,TimeRange timeRange,String startDate,String endDate);
+    MybatisPage<EmailParseInfoVO> searchEmailList(EmailParseQuery emailParseQuery);
 
     Map<String, Integer> searchEmailCount(TimeRange timeRange);
 
     EmailFileInfoVO getEmailFileById(Integer fileId);
 
-    List<EmailParseDetailVO> searchEmailDetailById(Integer id);
+    MybatisPage<EmailParseDetailVO> searchEmailDetailById(EmailFileQuery emailFileQuery);
 }

+ 9 - 3
service-manage/src/main/java/com/simuwang/manage/service/impl/EmailConfigServiceImpl.java

@@ -3,11 +3,14 @@ package com.simuwang.manage.service.impl;
 import com.simuwang.base.common.conts.UserConstants;
 import com.simuwang.base.common.enums.EmailCron;
 import com.simuwang.base.common.enums.ResultCode;
+import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.EmailUtil;
 import com.simuwang.base.common.util.StringUtil;
 import com.simuwang.base.mapper.MailboxInfoMapper;
+import com.simuwang.base.pojo.dos.CompanyEmailSendHistoryDO;
 import com.simuwang.base.pojo.dos.MailboxInfoDO;
 import com.simuwang.base.pojo.dto.MailboxInfoDTO;
+import com.simuwang.base.pojo.dto.query.EmailPageQuery;
 import com.simuwang.base.pojo.vo.MailboxInfoTableVO;
 import com.simuwang.base.pojo.vo.MailboxInfoVO;
 import com.simuwang.manage.service.EmailConfigService;
@@ -20,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * FileName: EmailConfigServiceImpl
@@ -35,12 +39,14 @@ public class EmailConfigServiceImpl implements EmailConfigService {
     @Autowired
     private Scheduler scheduler;
     @Override
-    public List<MailboxInfoTableVO> searchEmailConfigList(String email) {
-        List<MailboxInfoTableVO> mailboxInfoTableVOS = emailConfigMapper.searchEmailConfigList(email);
+    public MybatisPage<MailboxInfoTableVO> searchEmailConfigList(EmailPageQuery emailPageQuery) {
+        List<MailboxInfoDO> mailboxInfoOS = emailConfigMapper.searchEmailConfigList(emailPageQuery);
+        List<MailboxInfoTableVO> mailboxInfoTableVOS = mailboxInfoOS.stream().map(MailboxInfoDO::toVo).collect(Collectors.toList());
         for(MailboxInfoTableVO mailboxInfoTableVO : mailboxInfoTableVOS){  //cron表达式转文本描述
             mailboxInfoTableVO.setCron(EmailCron.getEmailCronByCron(mailboxInfoTableVO.getCron()).getText());
         }
-        return mailboxInfoTableVOS;
+        long total = emailConfigMapper.countEmailConfig(emailPageQuery);
+        return MybatisPage.of(total,mailboxInfoTableVOS);
     }
 
     @Override

+ 6 - 2
service-manage/src/main/java/com/simuwang/manage/service/impl/EmailFundInfoServiceImpl.java

@@ -1,6 +1,8 @@
 package com.simuwang.manage.service.impl;
 
+import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.mapper.EmailFileInfoMapper;
+import com.simuwang.base.pojo.dto.query.FundFilePageQuery;
 import com.simuwang.base.pojo.vo.FundFileInfoVO;
 import com.simuwang.manage.service.EmailFundInfoService;
 import org.checkerframework.checker.units.qual.A;
@@ -22,7 +24,9 @@ public class EmailFundInfoServiceImpl implements EmailFundInfoService {
     private EmailFileInfoMapper emailFileInfoMapper;
 
     @Override
-    public List<FundFileInfoVO> searchFundFileInfo(String fundId, Integer fileType) {
-        return emailFileInfoMapper.searchFundFileInfo(fundId,fileType);
+    public MybatisPage<FundFileInfoVO> searchFundFileInfo(FundFilePageQuery fundFilePageQuery) {
+        List<FundFileInfoVO> fileList = emailFileInfoMapper.searchFundFileInfo(fundFilePageQuery);
+        long total = emailFileInfoMapper.countFundFileInfo(fundFilePageQuery);
+        return MybatisPage.of(total,fileList);
     }
 }

+ 11 - 5
service-manage/src/main/java/com/simuwang/manage/service/impl/FundInformationServiceImpl.java

@@ -1,6 +1,9 @@
 package com.simuwang.manage.service.impl;
 
+import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.mapper.FundInfoMapper;
+import com.simuwang.base.pojo.dto.query.FundInfoPageQuery;
+import com.simuwang.base.pojo.dto.query.FundInputPageQuery;
 import com.simuwang.base.pojo.vo.FundInformationVO;
 import com.simuwang.manage.service.FundInformationService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,13 +23,16 @@ public class FundInformationServiceImpl implements FundInformationService {
     @Autowired
     private FundInfoMapper fundInfoMapper;
     @Override
-    public List<Map<String, String>> searchFundInfo(String keyword) {
-        return fundInfoMapper.searchFundInfoByKeyword(keyword);
+    public MybatisPage<Map<String,String>> searchFundInfo(FundInputPageQuery fundInputPageQuery) {
+        List<Map<String,String>> fundInfoList = fundInfoMapper.searchFundInfoByKeyword(fundInputPageQuery);
+        long total = fundInfoMapper.countFundInfoByKeyword(fundInputPageQuery);
+        return MybatisPage.of(total,fundInfoList);
     }
 
     @Override
-    public List<FundInformationVO> searchFundInfoList(String fundId, String fundName, String companyName, Integer navFrequency, Integer assetFrequency, Integer startDate, Integer endDate) {
-        List<FundInformationVO> result = fundInfoMapper.searchFundInfoList(fundId,fundName,companyName,navFrequency,assetFrequency,startDate,endDate);
-        return result;
+    public MybatisPage<FundInformationVO> searchFundInfoList(FundInfoPageQuery fundInfoPageQuery) {
+        List<FundInformationVO> result = fundInfoMapper.searchFundInfoList(fundInfoPageQuery);
+        long total = fundInfoMapper.countFundInfo(fundInfoPageQuery);
+        return MybatisPage.of(total,result);
     }
 }

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

@@ -1,6 +1,7 @@
 package com.simuwang.manage.service.impl;
 
 import com.simuwang.base.common.enums.ParseStatus;
+import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.DateUtils;
 import com.simuwang.base.mapper.EmailFileInfoMapper;
 import com.simuwang.base.mapper.EmailParseInfoMapper;
@@ -8,6 +9,8 @@ import com.simuwang.base.mapper.EmailTypeRuleMapper;
 import com.simuwang.base.pojo.dos.EmailFileInfoDO;
 import com.simuwang.base.pojo.dos.EmailParseInfoDO;
 import com.simuwang.base.pojo.dos.EmailTypeRuleDO;
+import com.simuwang.base.pojo.dto.query.EmailFileQuery;
+import com.simuwang.base.pojo.dto.query.EmailParseQuery;
 import com.simuwang.base.pojo.vo.EmailFileInfoVO;
 import com.simuwang.base.pojo.vo.EmailParseDetailVO;
 import com.simuwang.base.pojo.vo.EmailParseInfoVO;
@@ -71,13 +74,17 @@ public class ParseEmailServiceImpl implements ParseEmailService {
     }
 
     @Override
-    public List<EmailParseInfoVO> searchEmailList(String emailTitle, Integer emailType, Integer parseStatus,TimeRange timeRange,String startDate,String endDate) {
-        if(!timeRange.equals(TimeRange.Custom)){
-            endDate = DateUtil.getTodayDate();
-            startDate = DateUtil.RangeTime(timeRange.getFloatDateSymbel(),endDate);
+    public MybatisPage<EmailParseInfoVO> searchEmailList(EmailParseQuery emailParseQuery){
+        if(!emailParseQuery.getTimeRange().equals(TimeRange.Custom)){
+            emailParseQuery.setEndDate(DateUtils.dateTimeNow());
+            emailParseQuery.setStartDate( DateUtil.RangeTime(emailParseQuery.getTimeRange().getFloatDateSymbel(),DateUtil.getTodayDate()));
+        }else{
+            //自定义时间,把结束时间延后一天,确保时间判断能查到结束日期当天的数据
+            emailParseQuery.setEndDate(DateUtil.getAroundDate(DateUtils.parse(emailParseQuery.getEndDate(),DateUtils.YYYY_MM_DD),1));
         }
-        List<EmailParseInfoVO> emailParseInfoDOList = emailParseInfoMapper.searchEmailList(emailTitle,emailType,parseStatus,startDate,endDate);
-        return emailParseInfoDOList;
+        List<EmailParseInfoVO> emailParseInfoDOList = emailParseInfoMapper.searchEmailList(emailParseQuery);
+        long total = emailParseInfoMapper.countEmailList(emailParseQuery);
+        return MybatisPage.of(total,emailParseInfoDOList);
     }
 
     @Override
@@ -112,9 +119,10 @@ public class ParseEmailServiceImpl implements ParseEmailService {
     }
 
     @Override
-    public List<EmailParseDetailVO> searchEmailDetailById(Integer id) {
+    public MybatisPage<EmailParseDetailVO> searchEmailDetailById(EmailFileQuery emailFileQuery) {
         //根据邮件ID获取附件信息
-        List<EmailParseDetailVO> result = emailFileInfoMapper.searchEmailDetailById(id);
-        return result;
+        List<EmailParseDetailVO> result = emailFileInfoMapper.searchEmailDetailById(emailFileQuery);
+        long total = emailFileInfoMapper.countEmailDetailById(emailFileQuery);
+        return MybatisPage.of(total,result);
     }
 }