Bladeren bron

feat:分红管理增加数据来源字段

chenjianhua 6 dagen geleden
bovenliggende
commit
964a2a83d1

+ 46 - 0
service-base/src/main/java/com/simuwang/base/common/enums/SourceType.java

@@ -0,0 +1,46 @@
+package com.simuwang.base.common.enums;
+
+import java.util.stream.Stream;
+
+/**
+ * FileName: DistributeType
+ * Author:   chenjianhua
+ * Date:     2024/9/16 13:30
+ * Description: ${DESCRIPTION}
+ */
+public enum SourceType {
+    //单位分红/拆分比例
+    DISTRIBUTION_REPORT(2, "分红公告"), MANAGER_REVIEW(1, "管理人确认"),OTHER(1,"其他");
+
+    private final Integer code;
+    private final String info;
+
+    SourceType(Integer code, String info) {
+        this.code = code;
+        this.info = info;
+    }
+
+    public static SourceType getSourceTypeByCode(Integer code) {
+        if (null == code){
+            return null;
+        }
+        for(SourceType s : SourceType.values()){
+            if(code.equals(s.getCode())){
+                return s;
+            }
+        }
+        return null;
+    }
+
+    public static SourceType getSourceTypeByInfo(String info) {
+        return Stream.of(SourceType.values()).filter(e -> e.info.equals(info)).findFirst().orElse(OTHER);
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getInfo() {
+        return info;
+    }
+}

+ 5 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/DistributionDO.java

@@ -68,4 +68,9 @@ public class DistributionDO {
      */
     @TableField(value = "updatetime")
     private Date updateTime;
+    /**
+     * 数据来源
+     */
+    @TableField(value = "source_type")
+    private Integer sourceType;
 }

+ 3 - 0
service-base/src/main/java/com/simuwang/base/pojo/dos/DistributionTablePageDO.java

@@ -79,6 +79,8 @@ public class DistributionTablePageDO{
      */
     private Date updateTime;
 
+    private Integer sourceType;
+
     public DistributionTablePageVO toVo() {
         DistributionTablePageVO vo = new DistributionTablePageVO();
         vo.setId(this.id);
@@ -93,6 +95,7 @@ public class DistributionTablePageDO{
         vo.setRegisterNumber(this.registerNumber);
         vo.setUpdateTime(DateUtils.format(this.updateTime,DateUtils.YYYY_MM_DD_HH_MM_SS));
         vo.setIsvalid(this.isvalid);
+        vo.setSourceType(this.sourceType);
         return vo;
     }
 }

+ 4 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/DistributionExcelData.java

@@ -40,4 +40,8 @@ public class DistributionExcelData {
      * 分红/拆分比例
      */
     private String distribution;
+    /**
+     * 数据来源
+     */
+    private String sourceType;
 }

+ 10 - 0
service-base/src/main/java/com/simuwang/base/pojo/dto/query/DistributionPageQuery.java

@@ -31,6 +31,16 @@ public class DistributionPageQuery extends PageQuery {
      */
     private String endDate;
 
+    private Integer sourceType;
+
+    public Integer getSourceType() {
+        return sourceType;
+    }
+
+    public void setSourceType(Integer sourceType) {
+        this.sourceType = sourceType;
+    }
+
     public String getFundName() {
         return fundName;
     }

+ 2 - 0
service-base/src/main/java/com/simuwang/base/pojo/vo/DistributionTablePageVO.java

@@ -64,4 +64,6 @@ public class DistributionTablePageVO {
      * 更新时间
      */
     private String updateTime;
+
+    private Integer sourceType;
 }

+ 6 - 0
service-base/src/main/java/com/simuwang/base/pojo/vo/DistributionVO.java

@@ -45,4 +45,10 @@ public class DistributionVO {
      * 累计单位净值
      */
     private BigDecimal cumulativeNavWithdrawal;
+
+    /**
+     * 数据来源
+     */
+    private Integer sourceType;
+
 }

+ 12 - 4
service-base/src/main/resources/mapper/DistributionMapper.xml

@@ -30,13 +30,14 @@
         <result column="createtime" property="createTime"/>
         <result column="updaterid" property="updaterId"/>
         <result column="updatetime" property="updateTime"/>
+        <result column="source_type" property="sourceType"/>
     </resultMap>
     <insert id="saveDistribution" parameterType="com.simuwang.base.pojo.dos.DistributionDO">
-        insert into PPW_EMAIL.distribution(fund_id,distribute_date,distribute_type,distribution,isvalid,creatorid,createtime,updatetime,updaterid)
-        values (#{fundId},#{distributeDate},#{distributeType},#{distribution},#{isvalid},#{creatorId},#{createTime},#{updateTime},#{updaterId})
+        insert into PPW_EMAIL.distribution(fund_id,distribute_date,distribute_type,distribution,isvalid,creatorid,createtime,updatetime,updaterid,source_type)
+        values (#{fundId},#{distributeDate},#{distributeType},#{distribution},#{isvalid},#{creatorId},#{createTime},#{updateTime},#{updaterId},#{sourceType})
     </insert>
     <update id="updateDistributionById" parameterType="com.simuwang.base.pojo.dos.DistributionDO">
-        update PPW_EMAIL.distribution set distribute_date=#{distributeDate},distribute_type=#{distributeType},distribution=#{distribution},updatetime=#{updateTime},updaterid=#{updaterId}
+        update PPW_EMAIL.distribution set distribute_date=#{distributeDate},distribute_type=#{distributeType},distribution=#{distribution},updatetime=#{updateTime},updaterid=#{updaterId},source_type=#{sourceType}
         where id=#{id} and isvalid =1
     </update>
     <delete id="deleteDistribution" parameterType="com.simuwang.base.pojo.vo.IdListVO">
@@ -62,7 +63,8 @@
             d.isvalid,
             d.creatorid,
             d.createtime,
-            d.updatetime
+            d.updatetime,
+            d.source_type
         FROM
             PPW_EMAIL.distribution d
             JOIN PPW_EMAIL.pvn_fund_info info
@@ -83,6 +85,9 @@
         <if test="distributeType != null">
             and d.distribute_type = #{distributeType}
         </if>
+        <if test="sourceType != null">
+            and d.source_type = #{sourceType}
+        </if>
         <if test="startDate != null and startDate !=''">
             and d.distribute_date >= #{startDate}
         </if>
@@ -121,6 +126,9 @@
         <if test="distributeType != null">
             and d.distribute_type = #{distributeType}
         </if>
+        <if test="sourceType != null">
+            and d.source_type = #{sourceType}
+        </if>
         <if test="startDate != null and startDate !=''">
             and d.distribute_date >= #{startDate}
         </if>

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

@@ -7,6 +7,7 @@ import com.alibaba.excel.support.ExcelTypeEnum;
 import com.simuwang.base.common.conts.DateConst;
 import com.simuwang.base.common.conts.ExcelConst;
 import com.simuwang.base.common.enums.DistributeType;
+import com.simuwang.base.common.enums.SourceType;
 import com.simuwang.base.common.support.MybatisPage;
 import com.simuwang.base.common.util.DateUtils;
 import com.simuwang.base.common.util.ExcelUtil;
@@ -98,6 +99,7 @@ public class DistributionServiceImpl implements DistributionService {
         distributionDO.setDistributeDate(DateUtils.parse(distributionVO.getDistributeDate(),DateUtils.YYYY_MM_DD));
         distributionDO.setDistributeType(distributionVO.getDistributeType());
         distributionDO.setIsvalid(1);
+        distributionDO.setSourceType(distributionVO.getSourceType());
         distributionDO.setCreatorId(UserUtils.getLoginUser().getUserId());
         distributionDO.setUpdaterId(UserUtils.getLoginUser().getUserId());
         distributionDO.setUpdateTime(DateUtils.getNowDate());
@@ -210,6 +212,7 @@ public class DistributionServiceImpl implements DistributionService {
                 //开始处理成功数据
                 DistributionVO distributionVO = new DistributionVO();
                 distributionVO.setFundId(excelData.getFundId());
+                distributionVO.setSourceType(SourceType.getSourceTypeByInfo(excelData.getSourceType()).getCode());
                 distributionVO.setDistributeDate(excelData.getPriceDate());
                 distributionVO.setDistributeType(DistributeType.getDistributeTypeByInfo(excelData.getDistributeType()).getCode());
                 distributionVO.setDistribution(BigDecimal.valueOf(Double.valueOf(excelData.getDistribution())));