Преглед изворни кода

基金频率报送信息保存

chenjianhua пре 7 месеци
родитељ
комит
16e6ea1c93

Разлика између датотеке није приказан због своје велике величине
+ 1139 - 0
service-base/src/main/java/com/simuwang/base/common/util/DateUtils.java


+ 17 - 0
service-base/src/main/java/com/simuwang/base/mapper/FundReportFrequencyMapper.java

@@ -0,0 +1,17 @@
+package com.simuwang.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.simuwang.base.pojo.dos.FundReportFrequencyDO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * FileName: FundReportFrequencyMapper
+ * Author:   chenjianhua
+ * Date:     2024/9/6 17:22
+ * Description: ${DESCRIPTION}
+ */
+@Mapper
+public interface FundReportFrequencyMapper extends BaseMapper<FundReportFrequencyDO> {
+    public FundReportFrequencyDO getFrequencyByFundId(@Param("fundId") String fundId);
+}

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

@@ -1,5 +1,6 @@
 package com.simuwang.base.pojo.dos;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -19,7 +20,7 @@ public class FundReportFrequencyDO {
     /**
      * 主键Id
      */
-    @TableId(value = "id")
+    @TableId(value = "id",type= IdType.AUTO)
     private Integer id;
     /**
      * 基金ID
@@ -61,4 +62,9 @@ public class FundReportFrequencyDO {
      */
     @TableField(value = "updatetime")
     private Date updateTime;
+    /**
+     * 有效标识
+     */
+    @TableField(value = "isvalid")
+    private Integer isvalid;
 }

+ 34 - 0
service-base/src/main/java/com/simuwang/base/pojo/vo/FundReportFrequencyVO.java

@@ -0,0 +1,34 @@
+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.util.Date;
+
+/**
+ * FileName: FundReportFrequency
+ * Author:   chenjianhua
+ * Date:     2024/9/6 14:21
+ * Description: ${DESCRIPTION}
+ */
+@Data
+public class FundReportFrequencyVO {
+    /**
+     * 基金ID
+     */
+    private String fundId;
+    /**
+     * 净值报送频率,1-日频,2-周频,3-月频,4-季频,5-半年,6-年频
+     */
+    private Integer navFrequency;
+    /**
+     * 规模报送频率,1-日频,2-周频,3-月频,4-季频,5-半年,6-年频
+     */
+    private Integer assetFrequency;
+    /**
+     * 频率备注
+     */
+    private Integer frequencyRemark;
+}

+ 34 - 0
service-base/src/main/resources/mapper/FundReportFrequencyMapper.xml

@@ -0,0 +1,34 @@
+<?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.FundReportFrequencyMapper">
+    <resultMap id="BaseResultMap" type="com.simuwang.base.pojo.dos.FundReportFrequencyDO">
+        <id column="id" property="id"/>
+        <result column="fund_id" property="fundId"/>
+        <result column="nav_frequency" property="navFrequency"/>
+        <result column="asset_frequency" property="assetFrequency"/>
+        <result column="frequency_remark" property="frequencyRemark"/>
+        <result column="creatorid" property="creatorId"/>
+        <result column="updaterid" property="updaterId"/>
+        <result column="createtime" property="createTime"/>
+        <result column="updatetime" property="updateTime"/>
+        <result column="isvalid" property="isvalid"/>
+    </resultMap>
+    <sql id="selectFundReportFrequencyVo">
+        select id, fund_id, nav_frequency, frequency_remark, asset_frequency, creatorid, updaterid, updatetime, createtime, isvalid
+        from PPW_EMAIL.fund_report_frequency
+    </sql>
+    <sql id="sqlwhereSearch">
+        <where>
+            isvalid =1
+            <if test="fundId !=null and fundId != ''">
+                and fund_id = #{fundId}
+            </if>
+        </where>
+    </sql>
+    <select id="getFrequencyByFundId" resultType="com.simuwang.base.pojo.dos.FundReportFrequencyDO"
+            parameterType="java.lang.String">
+        <include refid="selectFundReportFrequencyVo"/>
+        <include refid="sqlwhereSearch"/>
+    </select>
+
+</mapper>

+ 26 - 5
service-manage/src/main/java/com/simuwang/manage/api/fund/FundInformationController.java

@@ -1,14 +1,16 @@
 package com.simuwang.manage.api.fund;
 
 import com.simuwang.base.pojo.vo.FundInformationVO;
+import com.simuwang.base.pojo.vo.FundReportFrequencyVO;
 import com.simuwang.manage.service.FundInformationService;
-import org.checkerframework.checker.units.qual.A;
+import com.simuwang.manage.service.FundReportFrequencyService;
+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;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -22,8 +24,14 @@ import java.util.Map;
 @RequestMapping("/fund")
 public class FundInformationController {
 
+    private static final Logger logger = LoggerFactory.getLogger(FundInformationController.class);
+
+
     @Autowired
     private FundInformationService fundInformationService;
+
+    @Autowired
+    private FundReportFrequencyService fundReportFrequencyService;
     /**
      * 搜索输入框查询
      * @param keyword
@@ -54,4 +62,17 @@ public class FundInformationController {
         List<FundInformationVO> result = fundInformationService.searchFundInfoList(fundId,fundShortName,companyShortName,navFrequency,assetFrequency,startDate,endDate);
         return result;
     }
+
+    @PostMapping("/save-frequency")
+    public ResultVo saveFundReportFrequency(@RequestBody FundReportFrequencyVO fundReportFrequency){
+        ResultVo vo = new ResultVo(ResultCode.SAVE_SUCCESS);
+        try{
+            fundReportFrequencyService.saveFundReportFrequency(fundReportFrequency);
+        }catch (Exception e){
+            vo = new ResultVo(ResultCode.SAVE_FAILED);
+            logger.error(e.getMessage(),e);
+        }
+        return vo;
+    }
+
 }

+ 13 - 0
service-manage/src/main/java/com/simuwang/manage/service/FundReportFrequencyService.java

@@ -0,0 +1,13 @@
+package com.simuwang.manage.service;
+
+import com.simuwang.base.pojo.vo.FundReportFrequencyVO;
+
+/**
+ * FileName: FundReportFrequencyService
+ * Author:   chenjianhua
+ * Date:     2024/9/6 17:14
+ * Description: ${DESCRIPTION}
+ */
+public interface FundReportFrequencyService {
+    void saveFundReportFrequency(FundReportFrequencyVO fundReportFrequency);
+}

+ 44 - 0
service-manage/src/main/java/com/simuwang/manage/service/impl/FundReportFrequencyServiceImpl.java

@@ -0,0 +1,44 @@
+package com.simuwang.manage.service.impl;
+
+import com.simuwang.base.common.util.DateUtils;
+import com.simuwang.base.mapper.FundReportFrequencyMapper;
+import com.simuwang.base.pojo.dos.FundReportFrequencyDO;
+import com.simuwang.base.pojo.vo.FundReportFrequencyVO;
+import com.simuwang.manage.service.FundReportFrequencyService;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * FileName: FundReportFrequencyService
+ * Author:   chenjianhua
+ * Date:     2024/9/6 17:14
+ * Description: ${DESCRIPTION}
+ */
+@Service
+public class FundReportFrequencyServiceImpl implements FundReportFrequencyService {
+    @Autowired
+    private FundReportFrequencyMapper fundReportFrequencyMapper;
+    @Override
+    public void saveFundReportFrequency(FundReportFrequencyVO fundReportFrequency) {
+        String fundIds = fundReportFrequency.getFundId();
+        String[] fundIdList = fundIds.split(",");
+        for(String fundId : fundIdList){
+            FundReportFrequencyDO fundReportFrequencyDO = new FundReportFrequencyDO();
+            fundReportFrequencyDO.setFundId(fundId);
+            fundReportFrequencyDO.setAssetFrequency(fundReportFrequency.getAssetFrequency());
+            fundReportFrequencyDO.setNavFrequency(fundReportFrequency.getNavFrequency());
+            fundReportFrequencyDO.setUpdateTime(new Date());
+            FundReportFrequencyDO oldFrequency = fundReportFrequencyMapper.getFrequencyByFundId(fundId);
+            if(oldFrequency == null){
+                fundReportFrequencyDO.setCreateTime(new Date());
+                fundReportFrequencyMapper.insert(fundReportFrequencyDO);
+            }else{
+                fundReportFrequencyMapper.updateById(fundReportFrequencyDO);
+            }
+        }
+    }
+}