Parcourir la source

数据解析详情页需求变更整改代码开发

chenjianhua il y a 7 mois
Parent
commit
1e5f132663

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

@@ -2,6 +2,7 @@ package com.simuwang.base.mapper;
 
 import com.simuwang.base.pojo.dos.EmailFileInfoDO;
 import com.simuwang.base.pojo.dos.EmailParseInfoDO;
+import com.simuwang.base.pojo.vo.EmailParseDetailVO;
 import com.simuwang.base.pojo.vo.FundFileInfoVO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -18,4 +19,6 @@ public interface EmailFileInfoMapper {
     List<EmailParseInfoDO> queryByEmailId(@Param("emailId") Integer emailId);
 
     List<FundFileInfoVO> searchFundFileInfo(@Param("fundId") String fundId, @Param("fileType")Integer fileType);
+
+    List<EmailParseDetailVO> searchEmailDetailById(@Param("emailId")Integer id);
 }

+ 42 - 0
service-base/src/main/java/com/simuwang/base/pojo/vo/EmailParseDetailVO.java

@@ -0,0 +1,42 @@
+package com.simuwang.base.pojo.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class EmailParseDetailVO {
+    /**
+     * 邮件解析的基金名称
+     */
+    private String fundId;
+    /**
+     * 邮件解析的基金名称
+     */
+    private String fundName;
+    /**
+     * 邮件解析的备案编码
+     */
+    private String registerNumber;
+    /**
+     * 净值日期
+     */
+    private String priceDate;
+    /**
+     * 单位净值
+     */
+    private BigDecimal nav;
+    /**
+     * 累计单位净值
+     */
+    private BigDecimal cumulativeNavWithdrawal;
+    /**
+     * 资产份额
+     */
+    private BigDecimal assetShare;
+    /**
+     * 资产净值(基金规模)
+     */
+    private BigDecimal assetNet;
+
+}

+ 37 - 3
service-base/src/main/resources/mapper/EmailFileInfoMapper.xml

@@ -41,10 +41,10 @@
             efi.file_name as "fileName",
             efi.file_path as "filePath"
         FROM
-            EMAIL_FILE_INFO efi
-                JOIN EMAIL_FUND_NAV efn
+            PPW_EMAIL.EMAIL_FILE_INFO efi
+                JOIN PPW_EMAIL.EMAIL_FUND_NAV efn
                      ON efi.id = efn.file_id
-                JOIN EMAIL_PARSE_INFO epi
+                JOIN PPW_EMAIL.EMAIL_PARSE_INFO epi
                      ON epi.id = efi.email_id
         WHERE efi.isvalid = 1
           AND efn.isvalid = 1
@@ -52,4 +52,38 @@
           AND epi.EMAIL_TYPE = #{fileType} and efn.fund_id=#{fundId}
     </select>
 
+    <resultMap id="BaseDetailMap" type="com.simuwang.base.pojo.vo.EmailParseDetailVO">
+        <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"/>
+    </resultMap>
+    <select id="searchEmailDetailById" resultMap="BaseDetailMap"
+            parameterType="java.lang.Integer">
+        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.email_id =#{emailId}
+        order by fund_name desc,price_date desc
+    </select>
+
 </mapper>

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

@@ -42,6 +42,7 @@ public class CompanyEmailSendHistoryController extends BaseController {
     public TableDataInfo searchCompanyEmail(@RequestParam(value = "companyName",required = false)String companyName,
                                             @RequestParam(value = "email",required = false)String email,
                                             @RequestParam(value = "sendStatus",required = false)Integer sendStatus){
+        startPage();
         List<CompanyEmailSendHistoryVO> result = companyEmailSendHistoryService.searchCompanyEmail(companyName,email,sendStatus);
         return getDataTable(result);
     }
@@ -53,6 +54,7 @@ public class CompanyEmailSendHistoryController extends BaseController {
      */
     @RequestMapping("search-email-history")
     public TableDataInfo searchEmailHistory(@RequestParam(value = "companyId")String companyId){
+        startPage();
         List<CompanyEmailSendHistoryVO> result = companyEmailSendHistoryService.searchEmailHistory(companyId);
         return getDataTable(result);
     }
@@ -151,7 +153,7 @@ public class CompanyEmailSendHistoryController extends BaseController {
 
 
     /**
-     * 根据IDList发送数据确实邮件
+     * 根据companyIdList发送数据缺失邮件
      * @param comyanyEmailIdVO  已选行的companyIdList
      * @return
      */

+ 1 - 0
service-manage/src/main/java/com/simuwang/manage/api/email/EmailConfigController.java

@@ -39,6 +39,7 @@ public class EmailConfigController extends BaseController {
      */
     @RequestMapping("search-email-list")
     public TableDataInfo searchEmailConfigList(@RequestParam(value = "email",required = false)String email){
+        startPage();
         List<MailboxInfoTableVO> result = emailConfigService.searchEmailConfigList(email);
         return getDataTable(result);
     }

+ 4 - 2
service-manage/src/main/java/com/simuwang/manage/api/email/ParseEmailController.java

@@ -4,6 +4,7 @@ import com.simuwang.base.common.page.TableDataInfo;
 import com.simuwang.base.common.result.AjaxResult;
 import com.simuwang.base.common.util.EncodeUtil;
 import com.simuwang.base.pojo.vo.EmailFileInfoVO;
+import com.simuwang.base.pojo.vo.EmailParseDetailVO;
 import com.simuwang.base.pojo.vo.EmailParseInfoVO;
 import com.simuwang.base.pojo.vo.EmailTypeRuleVO;
 import com.simuwang.daq.service.EmailParseApiService;
@@ -88,6 +89,7 @@ public class ParseEmailController extends BaseController {
                                          @RequestParam(value = "timeRange",required = false)TimeRange timeRange,
                                          @RequestParam(value = "startDate",required = false)String startDate,
                                          @RequestParam(value = "endDate",required = false)String endDate){
+        startPage();
         List<EmailParseInfoVO> result = parseEmailService.searchEmailList(emailTitle,emailType,parseStatus,timeRange,startDate,endDate);
         return getDataTable(result);
     }
@@ -98,8 +100,8 @@ public class ParseEmailController extends BaseController {
      * @return
      */
     @GetMapping("/{id}")
-    public ResultVo searchEmail(@PathVariable("id") Integer id){
-        EmailParseInfoVO result = parseEmailService.searchEmailById(id);
+    public ResultVo searchEmailDetail(@PathVariable("id") Integer id){
+        List<EmailParseDetailVO> result = parseEmailService.searchEmailDetailById(id);
         return ResultVo.ok(result);
     }
 

+ 1 - 0
service-manage/src/main/java/com/simuwang/manage/api/email/ParseEmailDetailController.java

@@ -40,6 +40,7 @@ public class ParseEmailDetailController extends BaseController {
                                          @RequestParam(value = "priceEndDate",required = false)String priceEndDate,
                                          @RequestParam(value = "updateStartDate",required = false)String updateStartDate,
                                          @RequestParam(value = "updateEndDate",required = false)String updateEndDate){
+        startPage();
         List<EmailFundNavAssetVO> result = parseEmailDetailService.searchNavDetail(fundName,emailTitle,exceptionStatus,priceStartDate,priceEndDate,updateStartDate,updateEndDate);
         return getDataTable(result);
     }

+ 4 - 1
service-manage/src/main/java/com/simuwang/manage/api/fund/FundInformationController.java

@@ -99,7 +99,10 @@ public class FundInformationController extends BaseController {
      * @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){
+    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){
+        startPage();
         List<FundFileInfoVO> result = emailFundInfoService.searchFundFileInfo(fundId,fileType);
         return getDataTable(result);
     }

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

@@ -1,6 +1,7 @@
 package com.simuwang.manage.service;
 
 import com.simuwang.base.pojo.vo.EmailFileInfoVO;
+import com.simuwang.base.pojo.vo.EmailParseDetailVO;
 import com.simuwang.base.pojo.vo.EmailParseInfoVO;
 import com.simuwang.base.pojo.vo.EmailTypeRuleVO;
 import com.smppw.common.pojo.enums.TimeRange;
@@ -22,9 +23,9 @@ public interface ParseEmailService {
 
     List<EmailParseInfoVO> searchEmailList(String emailTitle, Integer emailType, Integer parseStatus,TimeRange timeRange,String startDate,String endDate);
 
-    EmailParseInfoVO searchEmailById(Integer id);
-
     Map<String, Integer> searchEmailCount(TimeRange timeRange);
 
     EmailFileInfoVO getEmailFileById(Integer fileId);
+
+    List<EmailParseDetailVO> searchEmailDetailById(Integer id);
 }

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

@@ -9,6 +9,7 @@ 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.vo.EmailFileInfoVO;
+import com.simuwang.base.pojo.vo.EmailParseDetailVO;
 import com.simuwang.base.pojo.vo.EmailParseInfoVO;
 import com.simuwang.base.pojo.vo.EmailTypeRuleVO;
 import com.simuwang.manage.service.ParseEmailService;
@@ -80,11 +81,6 @@ public class ParseEmailServiceImpl implements ParseEmailService {
     }
 
     @Override
-    public EmailParseInfoVO searchEmailById(Integer id) {
-        return emailParseInfoMapper.searchEmailById(id);
-    }
-
-    @Override
     public Map<String, Integer> searchEmailCount(TimeRange timeRange) {
         Map<String, Integer> result = new HashMap<>();
         String parseDate = getParseDate(timeRange, DateUtils.getDate());
@@ -114,4 +110,11 @@ public class ParseEmailServiceImpl implements ParseEmailService {
         }
         return fileInfoVO;
     }
+
+    @Override
+    public List<EmailParseDetailVO> searchEmailDetailById(Integer id) {
+        //根据邮件ID获取附件信息
+        List<EmailParseDetailVO> result = emailFileInfoMapper.searchEmailDetailById(id);
+        return result;
+    }
 }