浏览代码

Merge branch 'develop' of http://112.74.196.215:3000/Tech2/data-daq into develop

wangzaijun 7 月之前
父节点
当前提交
a6e0f0c39f
共有 47 个文件被更改,包括 1133 次插入252 次删除
  1. 2 2
      service-base/src/main/java/com/simuwang/base/config/ShiroConfig.java
  2. 9 4
      service-base/src/main/java/com/simuwang/base/mapper/CompanyEmailSendHistoryMapper.java
  3. 8 2
      service-base/src/main/java/com/simuwang/base/mapper/EmailFileInfoMapper.java
  4. 4 0
      service-base/src/main/java/com/simuwang/base/mapper/EmailFundAssetMapper.java
  5. 5 2
      service-base/src/main/java/com/simuwang/base/mapper/EmailFundNavMapper.java
  6. 3 1
      service-base/src/main/java/com/simuwang/base/mapper/EmailParseInfoMapper.java
  7. 9 5
      service-base/src/main/java/com/simuwang/base/mapper/FundInfoMapper.java
  8. 4 1
      service-base/src/main/java/com/simuwang/base/mapper/MailboxInfoMapper.java
  9. 23 12
      service-base/src/main/java/com/simuwang/base/pojo/dos/CompanyEmailSendHistoryDO.java
  10. 17 0
      service-base/src/main/java/com/simuwang/base/pojo/dos/EmailFundAssetDO.java
  11. 18 0
      service-base/src/main/java/com/simuwang/base/pojo/dos/EmailFundNavDO.java
  12. 12 0
      service-base/src/main/java/com/simuwang/base/pojo/dos/MailboxInfoDO.java
  13. 25 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/CompanyEmailHistoryPageQuery.java
  14. 49 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/CompanyEmailPageQuery.java
  15. 25 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailFileQuery.java
  16. 24 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailPageQuery.java
  17. 88 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/EmailParseQuery.java
  18. 37 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundFilePageQuery.java
  19. 97 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundInfoPageQuery.java
  20. 27 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/FundInputPageQuery.java
  21. 81 0
      service-base/src/main/java/com/simuwang/base/pojo/dto/query/ParseDetailPageQuery.java
  22. 63 0
      service-base/src/main/java/com/simuwang/base/pojo/vo/EmailFundAssetVO.java
  23. 1 15
      service-base/src/main/java/com/simuwang/base/pojo/vo/EmailFundNavAssetVO.java
  24. 59 8
      service-base/src/main/resources/mapper/CompanyEmailHistoryMapper.xml
  25. 42 4
      service-base/src/main/resources/mapper/EmailFileInfoMapper.xml
  26. 57 0
      service-base/src/main/resources/mapper/EmailFundAssetMapper.xml
  27. 70 32
      service-base/src/main/resources/mapper/EmailFundNavMapper.xml
  28. 7 2
      service-base/src/main/resources/mapper/EmailParseInfoMapper.xml
  29. 52 8
      service-base/src/main/resources/mapper/FundInfoMapper.xml
  30. 12 11
      service-base/src/main/resources/mapper/MailBoxInfoMapper.xml
  31. 12 15
      service-manage/src/main/java/com/simuwang/manage/api/company/CompanyEmailSendHistoryController.java
  32. 11 15
      service-manage/src/main/java/com/simuwang/manage/api/email/EmailConfigController.java
  33. 12 20
      service-manage/src/main/java/com/simuwang/manage/api/email/ParseEmailController.java
  34. 20 21
      service-manage/src/main/java/com/simuwang/manage/api/email/ParseEmailDetailController.java
  35. 17 34
      service-manage/src/main/java/com/simuwang/manage/api/fund/FundInformationController.java
  36. 5 2
      service-manage/src/main/java/com/simuwang/manage/service/CompanyEmailSendHistoryService.java
  37. 3 1
      service-manage/src/main/java/com/simuwang/manage/service/EmailConfigService.java
  38. 3 1
      service-manage/src/main/java/com/simuwang/manage/service/EmailFundInfoService.java
  39. 5 2
      service-manage/src/main/java/com/simuwang/manage/service/FundInformationService.java
  40. 7 4
      service-manage/src/main/java/com/simuwang/manage/service/ParseEmailDetailService.java
  41. 5 2
      service-manage/src/main/java/com/simuwang/manage/service/ParseEmailService.java
  42. 16 4
      service-manage/src/main/java/com/simuwang/manage/service/impl/CompanyEmailSendHistoryServiceImpl.java
  43. 9 3
      service-manage/src/main/java/com/simuwang/manage/service/impl/EmailConfigServiceImpl.java
  44. 6 2
      service-manage/src/main/java/com/simuwang/manage/service/impl/EmailFundInfoServiceImpl.java
  45. 11 5
      service-manage/src/main/java/com/simuwang/manage/service/impl/FundInformationServiceImpl.java
  46. 44 3
      service-manage/src/main/java/com/simuwang/manage/service/impl/ParseEmailDetailServiceImpl.java
  47. 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;
     }
 

+ 9 - 4
service-base/src/main/java/com/simuwang/base/mapper/CompanyEmailSendHistoryMapper.java

@@ -1,5 +1,8 @@
 package com.simuwang.base.mapper;
 
+import com.simuwang.base.pojo.dos.CompanyEmailSendHistoryDO;
+import com.simuwang.base.pojo.dto.query.CompanyEmailHistoryPageQuery;
+import com.simuwang.base.pojo.dto.query.CompanyEmailPageQuery;
 import com.simuwang.base.pojo.vo.CompanyEmailConfigVO;
 import com.simuwang.base.pojo.vo.CompanyEmailSendHistoryVO;
 import org.apache.ibatis.annotations.Mapper;
@@ -15,13 +18,15 @@ import java.util.List;
  */
 @Mapper
 public interface CompanyEmailSendHistoryMapper {
-    public List<CompanyEmailSendHistoryVO> searchCompanyEmailList(@Param("companyName") String companyName,
-                                                                  @Param("email") String email,
-                                                                  @Param("sendStatus") Integer sendStatus);
+    public List<CompanyEmailSendHistoryDO> searchCompanyEmailList(CompanyEmailPageQuery companyEmailPageQuery);
 
-    List<CompanyEmailSendHistoryVO> searchEmailHistory(@Param("companyId") String companyId);
+    List<CompanyEmailSendHistoryDO> searchEmailHistory(CompanyEmailHistoryPageQuery companyEmailHistoryPageQuery);
 
     void deleteEmailHistory(@Param("emailList")List<String> email);
 
     void deleteEmailHistoryByIds(@Param("ids") List<Integer> idList);
+
+    long countCompanyEmailList(CompanyEmailPageQuery companyEmailPageQuery);
+
+    long countCompanyEmailhistory(CompanyEmailHistoryPageQuery companyEmailHistoryPageQuery);
 }

+ 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);
 }

+ 4 - 0
service-base/src/main/java/com/simuwang/base/mapper/EmailFundAssetMapper.java

@@ -1,6 +1,7 @@
 package com.simuwang.base.mapper;
 
 import com.simuwang.base.pojo.dos.EmailFundAssetDO;
+import com.simuwang.base.pojo.dto.query.ParseDetailPageQuery;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -11,4 +12,7 @@ public interface EmailFundAssetMapper {
 
     void batchInsert(@Param("itemDoList") List<EmailFundAssetDO> emailFundAssetDOList);
 
+    List<EmailFundAssetDO> searchAssetDetail(ParseDetailPageQuery parseDetailPageQuery);
+
+    long countAssetDetail(ParseDetailPageQuery parseDetailPageQuery);
 }

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

@@ -1,7 +1,8 @@
 package com.simuwang.base.mapper;
 
 import com.simuwang.base.pojo.dos.EmailFundNavDO;
-import com.simuwang.base.pojo.vo.EmailFundNavAssetVO;
+import com.simuwang.base.pojo.dto.query.ParseDetailPageQuery;
+import com.simuwang.base.pojo.vo.EmailFundNavVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -12,5 +13,7 @@ public interface EmailFundNavMapper {
 
     void batchInsert(@Param("itemDoList") List<EmailFundNavDO> emailFundNavDOList);
 
-    List<EmailFundNavAssetVO> searchNavDetail(String fundName, Integer isStored, Integer exceptionStatus, String priceStartDate, String priceEndDate, String updateStartDate, String updateEndDate);
+    List<EmailFundNavDO> searchNavDetail(ParseDetailPageQuery parseDetailPageQuery);
+
+    long countNavDetail(ParseDetailPageQuery parseDetailPageQuery);
 }

+ 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);
 }

+ 9 - 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,9 @@ public interface FundInfoMapper {
 
     List<FundInfoDO> queryFundByRegisterNumber(@Param("registerNumber") String registerNumber);
 
+    long countFundInfoByKeyword(FundInputPageQuery fundInputPageQuery);
+
+    long countFundInfo(FundInfoPageQuery fundInfoPageQuery);
+
+    String getFundNameByFundId(String fundId);
 }

+ 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);
 }

+ 23 - 12
service-base/src/main/java/com/simuwang/base/pojo/dos/CompanyEmailSendHistoryDO.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.simuwang.base.pojo.vo.CompanyEmailConfigVO;
+import com.simuwang.base.pojo.vo.CompanyEmailSendHistoryVO;
 import lombok.Data;
 
 import java.util.Date;
@@ -15,56 +17,65 @@ import java.util.Date;
  * Description: ${DESCRIPTION}
  */
 @Data
-@TableName("company_email_send_history")
 public class CompanyEmailSendHistoryDO {
     /**
      * 主键Id
      */
-    @TableId(value = "id",type = IdType.AUTO)
     private Integer id;
     /**
+     * 公司名称
+     */
+    private String companyName;
+    /**
+     * 公司ID
+     */
+    private String companyId;
+    /**
      * 邮箱地址
      */
-    @TableField(value = "email")
     private String email;
     /**
      * 邮箱地址
      */
-    @TableField(value = "send_status")
     private Integer sendStatus;
     /**
      * 发送时间
      */
-    @TableField(value = "send_time")
-    private Date sendTime;
+    private String sendTime;
     /**
      * 发送备注
      */
-    @TableField(value = "send_remark")
     private String sendRemark;
     /**
      * 记录的有效性;1-有效;0-无效;
      */
-    @TableField(value = "isvalid")
     private Integer isvalid;
     /**
      * 创建者Id;第一次创建时与Creator值相同,修改时与修改人值相同
      */
-    @TableField(value = "creatorid")
     private Integer creatorId;
     /**
      * 修改者Id;第一次创建时与Creator值相同,修改时与修改人值相同
      */
-    @TableField(value = "updaterid")
     private Integer updaterId;
     /**
      * 创建时间,默认第一次创建的getdate()时间
      */
-    @TableField(value = "createtime")
     private Date createTime;
     /**
      * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
      */
-    @TableField(value = "updatetime")
     private Date updateTime;
+
+    public CompanyEmailSendHistoryVO toVo() {
+        CompanyEmailSendHistoryVO vo = new CompanyEmailSendHistoryVO();
+        vo.setCompanyId(this.getCompanyId());
+        vo.setEmail(this.getEmail());
+        vo.setId(this.getId());
+        vo.setSendRemark(this.getSendRemark());
+        vo.setSendStatus(this.getSendStatus());
+        vo.setCompanyName(this.getCompanyName());
+        vo.setSendTime(this.getSendTime());
+        return vo;
+    }
 }

+ 17 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/EmailFundAssetDO.java

@@ -3,6 +3,8 @@ 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.common.util.DateUtils;
+import com.simuwang.base.pojo.vo.EmailFundAssetVO;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -91,4 +93,19 @@ public class EmailFundAssetDO {
      */
     @TableField(value = "updatetime")
     private Date updateTime;
+
+    public EmailFundAssetVO toVo() {
+        EmailFundAssetVO vo = new EmailFundAssetVO();
+        vo.setId(this.id);
+        vo.setFundId(this.fundId);
+        vo.setFundName(this.fundName);
+        vo.setRegisterNumber(this.registerNumber);
+        vo.setPriceDate(this.priceDate==null?null: DateUtils.format(this.priceDate, DateUtils.YYYY_MM_DD));
+        vo.setIsStored(this.isStored);
+        vo.setExceptionStatus(this.exceptionStatus);
+        vo.setUpdateTime(DateUtils.format(this.updateTime, DateUtils.YYYY_MM_DD_HH_MM_SS));
+        vo.setAssetNet(this.assetNet);
+        vo.setAssetShare(this.assetShare);
+        return vo;
+    }
 }

+ 18 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/EmailFundNavDO.java

@@ -3,6 +3,9 @@ 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.common.util.DateUtils;
+import com.simuwang.base.pojo.vo.EmailFundNavVO;
+import com.smppw.utils.DateUtil;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -86,4 +89,19 @@ public class EmailFundNavDO {
      */
     @TableField(value = "updatetime")
     private Date updateTime;
+
+    public EmailFundNavVO toVo() {
+        EmailFundNavVO vo = new EmailFundNavVO();
+        vo.setId(this.id);
+        vo.setFundId(this.fundId);
+        vo.setFundName(this.fundName);
+        vo.setRegisterNumber(this.registerNumber);
+        vo.setPriceDate(this.priceDate==null?null:DateUtils.format(this.priceDate, DateUtils.YYYY_MM_DD));
+        vo.setCumulativeNavWithdrawal(this.cumulativeNavWithdrawal);
+        vo.setNav(this.nav);
+        vo.setIsStored(this.isStored);
+        vo.setExceptionStatus(this.exceptionStatus);
+        vo.setUpateTime(DateUtils.format(this.updateTime, DateUtils.YYYY_MM_DD_HH_MM_SS));
+        return vo;
+    }
 }

+ 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;
+    }
 }

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

@@ -0,0 +1,25 @@
+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 CompanyEmailHistoryPageQuery extends PageQuery {
+
+    /**
+     * 公司ID
+     */
+    private String companyId;
+
+    public String getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(String companyId) {
+        this.companyId = companyId;
+    }
+}

+ 49 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/CompanyEmailPageQuery.java

@@ -0,0 +1,49 @@
+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 CompanyEmailPageQuery extends PageQuery {
+
+    /**
+     * 公司名称
+     */
+    private String companyName;
+    /**
+     * 邮箱地址
+     */
+    private String email;
+    /**
+     * 发送状态
+     */
+    private Integer sendStatus;
+
+    public String getCompanyName() {
+        return companyName;
+    }
+
+    public void setCompanyName(String companyName) {
+        this.companyName = companyName;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public Integer getSendStatus() {
+        return sendStatus;
+    }
+
+    public void setSendStatus(Integer sendStatus) {
+        this.sendStatus = sendStatus;
+    }
+}

+ 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;
+    }
+}

+ 81 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/ParseDetailPageQuery.java

@@ -0,0 +1,81 @@
+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 ParseDetailPageQuery extends PageQuery {
+    /**
+     * 基金名称
+     */
+    private String fundName;
+    /**
+     * 净值开始日期
+     */
+    private String priceStartDate;
+    /**
+     * 净值结束日期
+     */
+    private String priceEndDate;
+    /**
+     * 更新开始日期
+     */
+    private String updateStartDate;
+    /**
+     * 更新结束日期
+     */
+    private String updateEndDate;
+    /**
+     * 异常情况:1-无异常,2-净值缺失,3-未匹配基金,4-净值<=0,5-资产净值<=0
+     */
+    private Integer exceptionStatus;
+
+    /**
+     * 是否入库,0-未入库,1-入库
+     */
+    private Integer isStore;
+
+    public String getFundName() {
+        return fundName;
+    }
+
+    public void setFundName(String fundName) {
+        this.fundName = fundName;
+    }
+
+    public String getPriceStartDate() {
+        return priceStartDate;
+    }
+
+    public void setPriceStartDate(String priceStartDate) {
+        this.priceStartDate = priceStartDate;
+    }
+
+    public String getPriceEndDate() {
+        return priceEndDate;
+    }
+
+    public void setPriceEndDate(String priceEndDate) {
+        this.priceEndDate = priceEndDate;
+    }
+
+    public Integer getExceptionStatus() {
+        return exceptionStatus;
+    }
+
+    public void setExceptionStatus(Integer exceptionStatus) {
+        this.exceptionStatus = exceptionStatus;
+    }
+
+    public Integer getIsStore() {
+        return isStore;
+    }
+
+    public void setIsStore(Integer isStore) {
+        this.isStore = isStore;
+    }
+}

+ 63 - 0
service-base/src/main/java/com/simuwang/base/pojo/vo/EmailFundAssetVO.java

@@ -0,0 +1,63 @@
+package com.simuwang.base.pojo.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class EmailFundAssetVO {
+    /**
+     * 主键Id
+     */
+    private Integer id;
+    /**
+     * 基金id
+     */
+    private String fundId;
+    /**
+     * 邮件解析的基金名称
+     */
+    private String fundName;
+    /**
+     * 邮件解析的备案编码
+     */
+    private String registerNumber;
+    /**
+     * 规模日期
+     */
+    private String priceDate;
+    /**
+     * 资产份额
+     */
+    private BigDecimal assetShare;
+    /**
+     * 资产净值(基金规模)
+     */
+    private BigDecimal assetNet;
+    /**
+     * 是否入库 0-没有,1-有
+     */
+    private Integer isStored;
+    /**
+     * 异常情况:1-无异常,2-资产净值<=0
+     */
+    private Integer exceptionStatus;
+    /**
+     * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
+     */
+    private String updateTime;
+
+    /**
+     * 匹配的基金ID
+     */
+    private String targetFundId;
+
+    /**
+     * 匹配的基金名称
+     */
+    private String targetFundName;
+}

+ 1 - 15
service-base/src/main/java/com/simuwang/base/pojo/vo/EmailFundNavAssetVO.java

@@ -3,10 +3,9 @@ package com.simuwang.base.pojo.vo;
 import lombok.Data;
 
 import java.math.BigDecimal;
-import java.util.Date;
 
 @Data
-public class EmailFundNavAssetVO {
+public class EmailFundNavVO {
     /**
      * 主键Id
      */
@@ -43,14 +42,6 @@ public class EmailFundNavAssetVO {
      * 异常情况:1-无异常,2-净值缺失,3-未匹配基金,4-净值<=0,5-资产净值<=0
      */
     private Integer exceptionStatus;
-    /**
-     * 资产份额
-     */
-    private BigDecimal assetShare;
-    /**
-     * 资产净值(基金规模)
-     */
-    private BigDecimal assetNet;
 
     /**
      * 匹配的基金ID
@@ -63,11 +54,6 @@ public class EmailFundNavAssetVO {
     private String targetFundName;
 
     /**
-     *  邮件主题
-     */
-    private String emailTitle;
-
-    /**
      *  更新日期
      */
     private String upateTime;

+ 59 - 8
service-base/src/main/resources/mapper/CompanyEmailHistoryMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.simuwang.base.mapper.CompanyEmailSendHistoryMapper">
-    <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.vo.CompanyEmailSendHistoryVO">
+    <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.CompanyEmailSendHistoryDO">
         <id column="id" property="id"/>
         <result column="company_id" property="companyId"/>
         <result column="company_name" property="companyName"/>
@@ -9,6 +9,11 @@
         <result column="send_status" property="sendStatus"/>
         <result column="send_time" property="sendTime"/>
         <result column="send_remark" property="sendRemark"/>
+        <result column="isvalid" property="isvalid"/>
+        <result column="createtime" property="createTime"/>
+        <result column="updatetime" property="updateTime"/>
+        <result column="creatorid" property="creatorId"/>
+        <result column="updaterid" property="updaterId"/>
     </resultMap>
     <update id="deleteEmailHistory">
         update PPW_EMAIL.company_email_send_history set isvalid =0,updatetime=sysdate() where email in
@@ -39,38 +44,84 @@
         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 cec.email = maxce.email
+        ON cesh.email = maxce.email
         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},''))
+            and (c.company_name like concat('%',#{companyName},'%') or c.company_short_name like concat('%',#{companyName},'%'))
         </if>
         <if test="email != null and email !=''">
-            and cec.email like concat('',#{email},'')
+            and cec.email like concat('%',#{email},'%')
         </if>
         <if test="sendStatus != null">
             and cesh.send_status=#{sendStatus}
         </if>
         group by cec.company_id
+        limit #{offset},#{pageSize}
     </select>
-    <select id="searchEmailHistory" resultMap="BaseResultMap">
+
+    <select id="countCompanyEmailList" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.CompanyEmailPageQuery">
+        select count(*) from (
         SELECT
-            cec.id,
+        count(cec.company_id)
+        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
+        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},'%'))
+        </if>
+        <if test="email != null and email !=''">
+            and cec.email like concat('%',#{email},'%')
+        </if>
+        <if test="sendStatus != null">
+            and cesh.send_status=#{sendStatus}
+        </if>
+        group by cec.company_id) a
+    </select>
+
+    <select id="searchEmailHistory" resultMap="BaseResultMap">
+        SELECT distinct
+        cesh.id,
             cec.company_id,
             c.company_name,
-            cec.email,
+            cesh.email,
             cesh.send_time,
             cesh.send_remark,
             cesh.send_status
         FROM
             PPW_EMAIL.company_email_send_history cesh
             JOIN PPW_EMAIL.company_email_config cec
+            ON cec.email = cesh.email
             JOIN PPW_EMAIL.pvn_company_info c
             ON cec.company_id = c.company_id
-            ON cec.email = cesh.email
         WHERE cec.isvalid = 1
         AND cesh.isvalid = 1 and c.isvalid =1
         <if test="companyId != null and companyId !=''">
             and c.company_id=#{companyId}
         </if>
+        limit #{offset},#{pageSize}
     </select>
+    <select id="countCompanyEmailhistory" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.CompanyEmailHistoryPageQuery">
+        SELECT
+        count(distinct cesh.id)
+        FROM
+        PPW_EMAIL.company_email_send_history cesh
+        JOIN PPW_EMAIL.company_email_config cec
+        ON cec.email = cesh.email
+        JOIN PPW_EMAIL.pvn_company_info c
+        ON cec.company_id = c.company_id
+        WHERE cec.isvalid = 1
+        AND cesh.isvalid = 1 and c.isvalid =1
+        <if test="companyId != null and companyId !=''">
+            and c.company_id=#{companyId}
+        </if>
+    </select>
+
 </mapper>

+ 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>

+ 57 - 0
service-base/src/main/resources/mapper/EmailFundAssetMapper.xml

@@ -29,6 +29,63 @@
         </foreach>
 
     </insert>
+    <select id="searchAssetDetail" resultMap="BaseResultMap"
+            parameterType="com.simuwang.base.pojo.dto.query.ParseDetailPageQuery">
+        select distinct fund_id, fund_name,register_number,price_date,asset_net,asset_share,is_stored,exception_status,updatetime
+        from PPW_EMAIL.email_fund_asset asset where isvalid=1
+        <if test="fundName != null and fundName !=''">
+            and asset.fund_name like concat('%',#{fundName},'%')
+        </if>
+        <if test="priceStartDate != null and priceStartDate !=''">
+            and asset.price_date >= #{priceStartDate}
+        </if>
+        <if test="priceEndDate != null and priceEndDate !=''">
+            and asset.price_date  <![CDATA[ <= ]]> #{priceEndDate}
+        </if>
+        <if test="exceptionStatus != null">
+            and asset.exception_status = #{exceptionStatus}
+        </if>
+        <if test="updateStartDate != null and updateStartDate !=''">
+            and asset.updatetime  <![CDATA[ >= ]]> #{updateStartDate}
+        </if>
+        <if test="updateEndDate != null and updateEndDate !=''">
+            and asset.updatetime  <![CDATA[ <= ]]> #{updateEndDate}
+        </if>
+        <if test="isStore != null">
+            and asset.is_stored = #{isStore}
+        </if>
+        order by asset.fund_name desc,asset.price_date desc
+        limit #{offset},#{pageSize}
+    </select>
+    <select id="countAssetDetail" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.ParseDetailPageQuery">
+        select count(1) from (
+        select distinct fund_id, fund_name,register_number,price_date,asset_net,asset_share,is_stored,exception_status,
+         updatetime
+        from PPW_EMAIL.email_fund_asset asset where isvalid=1
+        <if test="fundName != null and fundName !=''">
+            and asset.fund_name like concat('%',#{fundName},'%')
+        </if>
+        <if test="priceStartDate != null and priceStartDate !=''">
+            and asset.price_date >= #{priceStartDate}
+        </if>
+        <if test="priceEndDate != null and priceEndDate !=''">
+            and asset.price_date  <![CDATA[ <= ]]> #{priceEndDate}
+        </if>
+        <if test="exceptionStatus != null">
+            and asset.exception_status = #{exceptionStatus}
+        </if>
+        <if test="updateStartDate != null and updateStartDate !=''">
+            and asset.updatetime  <![CDATA[ >= ]]> #{updateStartDate}
+        </if>
+        <if test="updateEndDate != null and updateEndDate !=''">
+            and asset.updatetime  <![CDATA[ <= ]]> #{updateEndDate}
+        </if>
+        <if test="isStore != null">
+            and asset.is_stored = #{isStore}
+        </if>
+        )a
+    </select>
 
 
 </mapper>

+ 70 - 32
service-base/src/main/resources/mapper/EmailFundNavMapper.xml

@@ -30,44 +30,82 @@
             #{itemDo.isvalid}, #{itemDo.creatorId}, #{itemDo.createTime}, #{itemDo.updaterId}, #{itemDo.updateTime})
         </foreach>
     </insert>
-    <resultMap id="BaseSearchMap" type="com.simuwang.base.pojo.vo.EmailFundNavAssetVO">
-        <id column="id" property="id"/>
-        <result column="fund_id" property="fundId"/>
-        <result column="fund_name" property="fundName"/>
-        <result column="register_number" property="registerNumber"/>
-        <result column="price_date" property="priceDate"/>
-        <result column="nav" property="nav"/>
-        <result column="cumulative_nav_withdrawal" property="cumulativeNavWithdrawal"/>
-        <result column="asset_net" property="assetNet"/>
-        <result column="asset_share" property="assetShare"/>
-        <result column="is_stored" property="isStored"/>
-        <result column="exception_status" property="exceptionStatus"/>
-        <result column="target_fund_id" property="targetFundId"/>
-        <result column="target_fund_name" property="targetFundName"/>
-    </resultMap>
-    <select id="searchNavDetail" resultType="com.simuwang.base.pojo.vo.EmailFundNavAssetVO">
+    <select id="searchNavDetail" resultMap="BaseResultMap">
         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.fund_id,
+            nav.fund_name,
+            nav.register_number,
+            nav.price_date,
             nav.nav,
             nav.cumulative_nav_withdrawal,
             nav.exception_status,
             nav.is_stored,
-            asset.asset_net,
-            asset.asset_share,
+            nav.updatetime
         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}
-        order by fund_name desc,price_date desc
+            PPW_EMAIL.email_fund_nav nav
+        WHERE nav.isvalid = 1
+        <if test="fundName != null and fundName !=''">
+            and nav.fund_name like concat('%',#{fundName},'%')
+        </if>
+        <if test="priceStartDate != null and priceStartDate !=''">
+            and nav.price_date >= #{priceStartDate}
+        </if>
+        <if test="priceEndDate != null and priceEndDate !=''">
+            and nav.price_date  <![CDATA[ <= ]]> #{priceEndDate}
+        </if>
+        <if test="exceptionStatus != null">
+            and nav.exception_status = #{exceptionStatus}
+        </if>
+        <if test="updateStartDate != null and updateStartDate !=''">
+            and nav.updatetime  <![CDATA[ >= ]]> #{updateStartDate}
+        </if>
+        <if test="updateEndDate != null and updateEndDate !=''">
+            and nav.updatetime  <![CDATA[ <= ]]> #{updateEndDate}
+        </if>
+        <if test="isStore != null">
+            and nav.is_stored = #{isStore}
+        </if>
+        order by nav.fund_name desc,nav.price_date desc
+        limit #{offset},#{pageSize}
+    </select>
+    <select id="countNavDetail" resultType="java.lang.Long"
+            parameterType="com.simuwang.base.pojo.dto.query.ParseDetailPageQuery">
+        select count(1) from (
+            SELECT distinct
+            nav.fund_id,
+            nav.fund_name,
+            nav.register_number,
+            nav.price_date,
+            nav.nav,
+            nav.cumulative_nav_withdrawal,
+            nav.exception_status,
+            nav.is_stored,
+            nav.updatetime
+            FROM
+            PPW_EMAIL.email_fund_nav nav
+            WHERE nav.isvalid = 1
+            <if test="fundName != null and fundName !=''">
+                and nav.fund_name like concat('%',#{fundName},'%')
+            </if>
+            <if test="priceStartDate != null and priceStartDate !=''">
+                and nav.price_date >= #{priceStartDate}
+            </if>
+            <if test="priceEndDate != null and priceEndDate !=''">
+                and nav.price_date  <![CDATA[ <= ]]> #{priceEndDate}
+            </if>
+            <if test="exceptionStatus != null">
+                and nav.exception_status = #{exceptionStatus}
+            </if>
+            <if test="updateStartDate != null and updateStartDate !=''">
+                and nav.updatetime  <![CDATA[ >= ]]> #{updateStartDate}
+            </if>
+            <if test="updateEndDate != null and updateEndDate !=''">
+                and nav.updatetime  <![CDATA[ <= ]]> #{updateEndDate}
+            </if>
+            <if test="isStore != null">
+                and nav.is_stored = #{isStore}
+            </if>
+        ) a
     </select>
 
 

+ 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>

+ 52 - 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,47 @@
         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>
+    <select id="getFundNameByFundId" resultType="java.lang.String" parameterType="java.lang.String">
+        select fund_name from PPW_EMAIL.pvn_fund_info where fund_id=#{fundId} and isvalid=1
+    </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>

+ 12 - 15
service-manage/src/main/java/com/simuwang/manage/api/company/CompanyEmailSendHistoryController.java

@@ -2,14 +2,15 @@ package com.simuwang.manage.api.company;
 
 
 import com.simuwang.base.common.page.TableDataInfo;
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.CompanyEmailHistoryPageQuery;
+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.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;
@@ -33,28 +34,24 @@ public class CompanyEmailSendHistoryController extends BaseController {
 
     /**
      * 公司邮箱页面展示查询
-     * @param companyName 公司名称
-     * @param email 邮箱地址
-     * @param sendStatus 发送状态,0-失败,1-成功,-1未发送
+     * @param companyEmailPageQuery
      * @return
      */
     @RequestMapping("search-company-email")
-    public TableDataInfo searchCompanyEmail(@RequestParam(value = "companyName",required = false)String companyName,
-                                            @RequestParam(value = "email",required = false)String email,
-                                            @RequestParam(value = "sendStatus",required = false)Integer sendStatus){
-        List<CompanyEmailSendHistoryVO> result = companyEmailSendHistoryService.searchCompanyEmail(companyName,email,sendStatus);
-        return getDataTable(result);
+    public MybatisPage<CompanyEmailSendHistoryVO> searchCompanyEmail(CompanyEmailPageQuery companyEmailPageQuery){
+        MybatisPage<CompanyEmailSendHistoryVO> result = companyEmailSendHistoryService.searchCompanyEmail(companyEmailPageQuery);
+        return result;
     }
 
     /**
-     * 查询邮箱发送历史
-     * @param companyId 公司ID
+     * 根据公司ID查询邮箱发送历史
+     * @param  companyEmailHistoryPageQuery
      * @return
      */
     @RequestMapping("search-email-history")
-    public TableDataInfo searchEmailHistory(@RequestParam(value = "companyId")String companyId){
-        List<CompanyEmailSendHistoryVO> result = companyEmailSendHistoryService.searchEmailHistory(companyId);
-        return getDataTable(result);
+    public MybatisPage<CompanyEmailSendHistoryVO> searchEmailHistory(CompanyEmailHistoryPageQuery companyEmailHistoryPageQuery){
+        MybatisPage<CompanyEmailSendHistoryVO> result = companyEmailSendHistoryService.searchEmailHistory(companyEmailHistoryPageQuery);
+        return result;
     }
 
 

+ 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;
     }
 
     /**

+ 20 - 21
service-manage/src/main/java/com/simuwang/manage/api/email/ParseEmailDetailController.java

@@ -1,13 +1,13 @@
 package com.simuwang.manage.api.email;
 
-import com.simuwang.base.common.page.TableDataInfo;
-import com.simuwang.base.pojo.vo.EmailFundNavAssetVO;
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.ParseDetailPageQuery;
+import com.simuwang.base.pojo.vo.EmailFundAssetVO;
+import com.simuwang.base.pojo.vo.EmailFundNavVO;
 import com.simuwang.manage.api.base.BaseController;
 import com.simuwang.manage.service.ParseEmailDetailService;
-import com.smppw.common.pojo.enums.TimeRange;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import java.util.List;
 
 /**
  *  数据详情
@@ -22,25 +22,24 @@ public class ParseEmailDetailController extends BaseController {
     @Autowired
     private ParseEmailDetailService parseEmailDetailService;
     /**
-     * 数据详情页面展示查询接口
-     * @param fundName
-     * @param fundName
-     * @param exceptionStatus
-     * @param priceStartDate
-     * @param priceEndDate
-     * @param updateStartDate
-     * @param updateEndDate
+     * 净值解析数据详情页面展示查询接口
+     * @param parseDetailPageQuery
      * @return
      */
     @GetMapping("/search-nav-detail")
-    public TableDataInfo searchNavDetail(@RequestParam(value = "fundName",required = false)String fundName,
-                                         @RequestParam(value = "isStored",required = false)Integer isStored,
-                                         @RequestParam(value = "exceptionStatus",required = false)Integer exceptionStatus,
-                                         @RequestParam(value = "priceStartDate",required = false)String priceStartDate,
-                                         @RequestParam(value = "priceEndDate",required = false)String priceEndDate,
-                                         @RequestParam(value = "updateStartDate",required = false)String updateStartDate,
-                                         @RequestParam(value = "updateEndDate",required = false)String updateEndDate){
-        List<EmailFundNavAssetVO> result = parseEmailDetailService.searchNavDetail(fundName,isStored,exceptionStatus,priceStartDate,priceEndDate,updateStartDate,updateEndDate);
-        return getDataTable(result);
+    public MybatisPage<EmailFundNavVO> searchNavDetail(ParseDetailPageQuery parseDetailPageQuery){
+        MybatisPage<EmailFundNavVO> result = parseEmailDetailService.searchNavDetail(parseDetailPageQuery);
+        return result;
+    }
+
+    /**
+     * 规模解析数据详情页面展示查询接口
+     * @param parseDetailPageQuery
+     * @return
+     */
+    @GetMapping("/search-asset-detail")
+    public MybatisPage<EmailFundAssetVO> searchAssetDetail(ParseDetailPageQuery parseDetailPageQuery){
+        MybatisPage<EmailFundAssetVO> result = parseEmailDetailService.searchAssetDetail(parseDetailPageQuery);
+        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;
     }
 
 }

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

@@ -1,5 +1,8 @@
 package com.simuwang.manage.service;
 
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.CompanyEmailHistoryPageQuery;
+import com.simuwang.base.pojo.dto.query.CompanyEmailPageQuery;
 import com.simuwang.base.pojo.vo.CompanyEmailConfigVO;
 import com.simuwang.base.pojo.vo.CompanyEmailSendHistoryVO;
 
@@ -12,8 +15,8 @@ import java.util.List;
  * Description: ${DESCRIPTION}
  */
 public interface CompanyEmailSendHistoryService {
-    List<CompanyEmailSendHistoryVO> searchCompanyEmail(String companyName, String email, Integer sendStatus);
-    List<CompanyEmailSendHistoryVO> searchEmailHistory(String companyId);
+    MybatisPage<CompanyEmailSendHistoryVO> searchCompanyEmail(CompanyEmailPageQuery companyEmailPageQuery);
+    MybatisPage<CompanyEmailSendHistoryVO> searchEmailHistory(CompanyEmailHistoryPageQuery companyEmailHistoryPageQuery);
 
     void deleteEmail(String email);
 

+ 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);
 }

+ 7 - 4
service-manage/src/main/java/com/simuwang/manage/service/ParseEmailDetailService.java

@@ -1,8 +1,9 @@
 package com.simuwang.manage.service;
 
-import com.simuwang.base.pojo.vo.EmailFundNavAssetVO;
-
-import java.util.List;
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.pojo.dto.query.ParseDetailPageQuery;
+import com.simuwang.base.pojo.vo.EmailFundAssetVO;
+import com.simuwang.base.pojo.vo.EmailFundNavVO;
 
 /**
  * FileName: ParseEmailDetailService
@@ -11,5 +12,7 @@ import java.util.List;
  * Description: ${DESCRIPTION}
  */
 public interface ParseEmailDetailService {
-    List<EmailFundNavAssetVO> searchNavDetail(String fundName, Integer isStored, Integer exceptionStatus, String priceStartDate, String priceEndDate, String updateStartDate, String updateEndDate);
+    MybatisPage<EmailFundNavVO> searchNavDetail(ParseDetailPageQuery parseDetailPageQuery);
+
+    MybatisPage<EmailFundAssetVO> searchAssetDetail(ParseDetailPageQuery parseDetailPageQuery);
 }

+ 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);
 }

+ 16 - 4
service-manage/src/main/java/com/simuwang/manage/service/impl/CompanyEmailSendHistoryServiceImpl.java

@@ -1,7 +1,12 @@
 package com.simuwang.manage.service.impl;
 
+import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.mapper.CompanyEmailConfigMapper;
 import com.simuwang.base.mapper.CompanyEmailSendHistoryMapper;
+import com.simuwang.base.pojo.dos.CompanyEmailSendHistoryDO;
+import com.simuwang.base.pojo.dos.sys.SysRoleUserDO;
+import com.simuwang.base.pojo.dto.query.CompanyEmailHistoryPageQuery;
+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.manage.service.CompanyEmailSendHistoryService;
@@ -10,6 +15,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * FileName: CompanyEmailSendHistoryServiceImpl
@@ -25,13 +31,19 @@ public class CompanyEmailSendHistoryServiceImpl implements CompanyEmailSendHisto
     @Autowired
     private CompanyEmailConfigMapper companyEmailConfigMapper;
     @Override
-    public List<CompanyEmailSendHistoryVO> searchCompanyEmail(String companyName, String email, Integer sendStatus) {
-        return companyEmailSendHistoryMapper.searchCompanyEmailList(companyName,email,sendStatus);
+    public MybatisPage<CompanyEmailSendHistoryVO> searchCompanyEmail(CompanyEmailPageQuery companyEmailPageQuery) {
+        List<CompanyEmailSendHistoryDO> dataList = companyEmailSendHistoryMapper.searchCompanyEmailList(companyEmailPageQuery);
+        List<CompanyEmailSendHistoryVO> voList = dataList.stream().map(CompanyEmailSendHistoryDO::toVo).collect(Collectors.toList());
+        long total = companyEmailSendHistoryMapper.countCompanyEmailList(companyEmailPageQuery);
+        return MybatisPage.of(total, voList);
     }
 
     @Override
-    public List<CompanyEmailSendHistoryVO> searchEmailHistory(String companyId) {
-        return companyEmailSendHistoryMapper.searchEmailHistory(companyId);
+    public MybatisPage<CompanyEmailSendHistoryVO> searchEmailHistory(CompanyEmailHistoryPageQuery companyEmailHistoryPageQuery) {
+        List<CompanyEmailSendHistoryDO> dataList = companyEmailSendHistoryMapper.searchEmailHistory(companyEmailHistoryPageQuery);
+        List<CompanyEmailSendHistoryVO> voList = dataList.stream().map(CompanyEmailSendHistoryDO::toVo).collect(Collectors.toList());
+        long total = companyEmailSendHistoryMapper.countCompanyEmailhistory(companyEmailHistoryPageQuery);
+        return MybatisPage.of(total, voList);
     }
 
     @Override

+ 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);
     }
 }

+ 44 - 3
service-manage/src/main/java/com/simuwang/manage/service/impl/ParseEmailDetailServiceImpl.java

@@ -1,12 +1,22 @@
 package com.simuwang.manage.service.impl;
 
+import com.simuwang.base.common.support.MybatisPage;
+import com.simuwang.base.mapper.EmailFundAssetMapper;
 import com.simuwang.base.mapper.EmailFundNavMapper;
-import com.simuwang.base.pojo.vo.EmailFundNavAssetVO;
+import com.simuwang.base.mapper.FundInfoMapper;
+import com.simuwang.base.pojo.dos.CompanyEmailSendHistoryDO;
+import com.simuwang.base.pojo.dos.EmailFundAssetDO;
+import com.simuwang.base.pojo.dos.EmailFundNavDO;
+import com.simuwang.base.pojo.dto.query.ParseDetailPageQuery;
+import com.simuwang.base.pojo.vo.CompanyEmailSendHistoryVO;
+import com.simuwang.base.pojo.vo.EmailFundAssetVO;
+import com.simuwang.base.pojo.vo.EmailFundNavVO;
 import com.simuwang.manage.service.ParseEmailDetailService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * FileName: ParseEmailDetailServiceImpl
@@ -19,8 +29,39 @@ public class ParseEmailDetailServiceImpl implements ParseEmailDetailService {
 
     @Autowired
     private EmailFundNavMapper emailFundNavMapper;
+
+    @Autowired
+    private FundInfoMapper fundInfoMapper;
+
+    @Autowired
+    private EmailFundAssetMapper emailFundAssetMapper;
+    @Override
+    public MybatisPage<EmailFundNavVO> searchNavDetail(ParseDetailPageQuery parseDetailPageQuery) {
+        List<EmailFundNavDO> dataList = emailFundNavMapper.searchNavDetail(parseDetailPageQuery);
+        List<EmailFundNavVO> voList = dataList.stream().map(EmailFundNavDO::toVo).collect(Collectors.toList());
+        for(EmailFundNavVO vo : voList){
+            //查找匹配基金
+            if(vo.getFundId() != null){
+                vo.setTargetFundId(vo.getFundId());
+                vo.setTargetFundName(fundInfoMapper.getFundNameByFundId(vo.getFundId()));
+            }
+        }
+        long total = emailFundNavMapper.countNavDetail(parseDetailPageQuery);
+        return MybatisPage.of(total,voList);
+    }
+
     @Override
-    public List<EmailFundNavAssetVO> searchNavDetail(String fundName, Integer isStored, Integer exceptionStatus, String priceStartDate, String priceEndDate, String updateStartDate, String updateEndDate) {
-        return emailFundNavMapper.searchNavDetail(fundName,isStored,exceptionStatus,priceStartDate,priceEndDate,updateStartDate,updateEndDate);
+    public MybatisPage<EmailFundAssetVO> searchAssetDetail(ParseDetailPageQuery parseDetailPageQuery) {
+        List<EmailFundAssetDO> dataList = emailFundAssetMapper.searchAssetDetail(parseDetailPageQuery);
+        List<EmailFundAssetVO> voList = dataList.stream().map(EmailFundAssetDO::toVo).collect(Collectors.toList());
+        for(EmailFundAssetVO vo : voList){
+            //查找匹配基金
+            if(vo.getFundId() != null){
+                vo.setTargetFundId(vo.getFundId());
+                vo.setTargetFundName(fundInfoMapper.getFundNameByFundId(vo.getFundId()));
+            }
+        }
+        long total = emailFundAssetMapper.countAssetDetail(parseDetailPageQuery);
+        return MybatisPage.of(total,voList);
     }
 }

+ 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);
     }
 }