소스 검색

fix: 邮箱测试连接,解析详情问题修复

chenjianhua 7 달 전
부모
커밋
b490941ba8

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

@@ -15,4 +15,5 @@ public interface NavMapper {
 
     List<String> queryFundNavByDate(@Param("fundId") String fundId, @Param("priceDateList") List<String> priceDateList);
 
+    NavDO queryFundNav(NavDO navDO);
 }

+ 0 - 8
service-base/src/main/java/com/simuwang/base/pojo/vo/FundNavVO.java

@@ -17,14 +17,6 @@ public class FundNavVO {
      */
     private String fundId;
     /**
-     * 邮件解析的基金名称
-     */
-    private String fundName;
-    /**
-     * 邮件解析的备案编码
-     */
-    private String registerNumber;
-    /**
      * 规模日期
      */
     private String priceDate;

+ 9 - 0
service-base/src/main/resources/mapper/NavMapper.xml

@@ -50,6 +50,15 @@
             #{priceDate}
         </foreach>
     </select>
+    <select id="queryFundNav" resultMap="BaseResultMap"
+            parameterType="com.simuwang.base.pojo.dos.NavDO">
+        SELECT id, fund_id,price_date,nav,cumulative_nav,cumulative_nav_withdrawal,
+               isvalid, creatorid, createtime, updaterid, updatetime
+        from PPW_EMAIL.nav
+        where isvalid = 1
+          and fund_id = #{fundId}
+          and price_date=#{priceDate}
+    </select>
 
 
 </mapper>

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

@@ -119,11 +119,8 @@ public class EmailConfigController extends BaseController {
     @RequestMapping("connect-test")
     public ResultVo connectTest(@RequestBody MailboxInfoVO mailboxInfoVO){
         ResultVo vo = new ResultVo(ResultCode.SUCCESS.getCode());
-        String msg = "";
         try{
-            msg = emailConfigService.connectTest(mailboxInfoVO);
-            vo.setMsg(msg);
-            vo.setData(true);
+            vo = emailConfigService.connectTest(mailboxInfoVO);
         }catch (Exception e){
             vo.setMsg(e.getMessage());
         }

+ 42 - 0
service-manage/src/main/java/com/simuwang/manage/api/email/NavController.java

@@ -0,0 +1,42 @@
+package com.simuwang.manage.api.email;
+
+import com.simuwang.base.pojo.vo.FundAssetVO;
+import com.simuwang.base.pojo.vo.FundNavVO;
+import com.smppw.common.pojo.ResultVo;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * FileName: NavController
+ * Author:   chenjianhua
+ * Date:     2024/9/14 13:59
+ * Description: ${DESCRIPTION}
+ */
+@RestController
+@RequestMapping("/v1/nav")
+public class NavController {
+
+    /**
+     * 新增基金规模
+     * @param fundAssetVO
+     * @return
+     */
+//    @PostMapping("/save-fund-asset")
+//    public ResultVo saveFundAsset(@RequestBody FundAssetVO fundAssetVO){
+//        parseEmailDetailService.saveFundAsset(fundAssetVO);
+//        return ResultVo.ok(true);
+//    }
+//
+//    /**
+//     * 新增基金规模
+//     * @param fundNavVO
+//     * @return
+//     */
+//    @PostMapping("/save-fund-nav")
+//    public ResultVo saveFundNav(@RequestBody FundNavVO fundNavVO){
+//        parseEmailDetailService.saveFundNav(fundNavVO);
+//        return ResultVo.ok(true);
+//    }
+}

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

@@ -5,6 +5,7 @@ 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.base.pojo.vo.FundAssetVO;
+import com.simuwang.base.pojo.vo.FundNavVO;
 import com.simuwang.manage.api.base.BaseController;
 import com.simuwang.manage.service.ParseEmailDetailService;
 import com.smppw.common.pojo.ResultVo;
@@ -45,14 +46,4 @@ public class ParseEmailDetailController extends BaseController {
         return result;
     }
 
-    /**
-     * 规模解析数据详情页面展示查询接口
-     * @param fundAssetVO
-     * @return
-     */
-    @PostMapping("/save-fund-asset")
-    public ResultVo saveFundAsset(@RequestBody FundAssetVO fundAssetVO){
-        parseEmailDetailService.saveFundAsset(fundAssetVO);
-        return ResultVo.ok(true);
-    }
 }

+ 17 - 0
service-manage/src/main/java/com/simuwang/manage/api/fund/FunAliasController.java

@@ -0,0 +1,17 @@
+package com.simuwang.manage.api.fund;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 基金别名管理
+ * Author:   chenjianhua
+ * Date:     2024/9/14 14:05
+ * Description: ${DESCRIPTION}
+ */
+@RestController
+@RequestMapping("/v1/alias")
+public class FunAliasController {
+
+
+}

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

@@ -5,6 +5,7 @@ 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.base.pojo.vo.OpenStatusVO;
+import com.smppw.common.pojo.ResultVo;
 
 import java.util.List;
 
@@ -19,7 +20,7 @@ public interface EmailConfigService {
 
     void saveEmailConfig(MailboxInfoVO mailboxInfoVO);
 
-    String connectTest(MailboxInfoVO mailboxInfoVO);
+    ResultVo connectTest(MailboxInfoVO mailboxInfoVO);
 
     void deleteEmailConfig(List<Integer> idList);
 

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

@@ -5,6 +5,7 @@ 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.base.pojo.vo.FundAssetVO;
+import com.simuwang.base.pojo.vo.FundNavVO;
 
 /**
  * FileName: ParseEmailDetailService
@@ -18,4 +19,6 @@ public interface ParseEmailDetailService {
     MybatisPage<EmailFundAssetVO> searchAssetDetail(ParseDetailPageQuery parseDetailPageQuery);
 
     void saveFundAsset(FundAssetVO fundAssetVO);
+
+    void saveFundNav(FundNavVO fundNavVO);
 }

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

@@ -16,6 +16,7 @@ import com.simuwang.base.pojo.vo.MailboxInfoTableVO;
 import com.simuwang.base.pojo.vo.MailboxInfoVO;
 import com.simuwang.base.pojo.vo.OpenStatusVO;
 import com.simuwang.manage.service.EmailConfigService;
+import com.smppw.common.pojo.ResultVo;
 import jakarta.mail.MessagingException;
 import jakarta.mail.Store;
 import org.quartz.Scheduler;
@@ -65,7 +66,8 @@ public class EmailConfigServiceImpl implements EmailConfigService {
     }
 
     @Override
-    public String connectTest(MailboxInfoVO mailboxInfoVO) {
+    public ResultVo connectTest(MailboxInfoVO mailboxInfoVO) {
+        ResultVo vo = new ResultVo(ResultCode.CONNECT_SUCCESS);
         MailboxInfoDTO mailboxInfoDTO = new MailboxInfoDTO();
         mailboxInfoDTO.setAccount(mailboxInfoVO.getEmail());
         mailboxInfoDTO.setPassword(mailboxInfoVO.getPassword());
@@ -79,9 +81,12 @@ public class EmailConfigServiceImpl implements EmailConfigService {
             } catch (MessagingException e) {
                 throw new RuntimeException(e);
             }
-            return ResultCode.CONNECT_SUCCESS.getMsg();
+            vo.setData(true);
+            return vo;
         }
-        return ResultCode.CONNECT_ERROR.getMsg();
+        vo = new ResultVo(ResultCode.CONNECT_ERROR);
+        vo.setData(false);
+        return vo;
     }
 
     @Override

+ 37 - 15
service-manage/src/main/java/com/simuwang/manage/service/impl/ParseEmailDetailServiceImpl.java

@@ -3,19 +3,10 @@ package com.simuwang.manage.service.impl;
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.DateUtils;
 import com.simuwang.base.common.util.StringUtil;
-import com.simuwang.base.mapper.AssetMapper;
-import com.simuwang.base.mapper.EmailFundAssetMapper;
-import com.simuwang.base.mapper.EmailFundNavMapper;
-import com.simuwang.base.mapper.FundInfoMapper;
-import com.simuwang.base.pojo.dos.AssetDO;
-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.mapper.*;
+import com.simuwang.base.pojo.dos.*;
 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.base.pojo.vo.FundAssetVO;
+import com.simuwang.base.pojo.vo.*;
 import com.simuwang.manage.service.ParseEmailDetailService;
 import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,6 +36,9 @@ public class ParseEmailDetailServiceImpl implements ParseEmailDetailService {
 
     @Autowired
     private AssetMapper assetMapper;
+
+    @Autowired
+    private NavMapper navMapper;
     @Override
     public MybatisPage<EmailFundNavVO> searchNavDetail(ParseDetailPageQuery parseDetailPageQuery) {
         List<EmailFundNavDO> dataList = emailFundNavMapper.searchNavDetail(parseDetailPageQuery);
@@ -83,17 +77,45 @@ public class ParseEmailDetailServiceImpl implements ParseEmailDetailService {
         assetDO.setAssetShare(fundAssetVO.getAssetShare());
         assetDO.setPriceDate(DateUtils.parse(fundAssetVO.getPriceDate(),DateUtils.YYYY_MM_DD));
         assetDO.setFundId(fundAssetVO.getFundId());
-        assetDO.setCreateTime(DateUtils.getNowDate());
         assetDO.setUpdateTime(DateUtils.getNowDate());
         assetDO.setIsvalid(1);
-        assetDOList.add(assetDO);
         AssetDO oldAssetDO = assetMapper.queryFundAsset(assetDO);
         if(StringUtil.isNull(oldAssetDO)){
+            assetDO.setCreateTime(DateUtils.getNowDate());
+            assetDOList.add(assetDO);
             assetMapper.batchInsert(assetDOList);
         }else{
             oldAssetDO.setAssetShare(assetDO.getAssetShare());
             oldAssetDO.setAssetNet(assetDO.getAssetNet());
-            assetMapper.batchInsert(assetDOList);
+            assetDOList.add(oldAssetDO);
+            assetMapper.batchUpdate(assetDOList);
+        }
+    }
+
+    @Override
+    public void saveFundNav(FundNavVO fundNavVO) {
+        List<NavDO> navDOList = new ArrayList<>();
+        NavDO navDO = new NavDO();
+        navDO.setCumulativeNav(fundNavVO.getCumulativeNavWithdrawal());
+        navDO.setCumulativeNavWithdrawal(fundNavVO.getCumulativeNavWithdrawal());
+        navDO.setNav(fundNavVO.getNav());
+        navDO.setFundId(fundNavVO.getFundId());
+        navDO.setNav(fundNavVO.getNav());
+        navDO.setPriceDate(DateUtils.parse(fundNavVO.getPriceDate(),DateUtils.YYYY_MM_DD));
+        navDO.setIsvalid(1);
+        navDO.setUpdateTime(DateUtils.getNowDate());
+        NavDO oldNav = navMapper.queryFundNav(navDO);
+        if(StringUtil.isNull(oldNav)){
+            navDO.setCreateTime(DateUtils.getNowDate());
+            navDOList.add(navDO);
+            navMapper.batchInsert(navDOList);
+        }else{
+            oldNav.setUpdateTime(DateUtils.getNowDate());
+            oldNav.setCumulativeNav(navDO.getCumulativeNav());
+            oldNav.setCumulativeNavWithdrawal(navDO.getCumulativeNav());
+            oldNav.setNav(navDO.getNav());
+            navDOList.add(oldNav);
+            navMapper.batchUpdate(navDOList);
         }
     }
 }