Browse Source

feat(recommend): 规则PO加数仓字段 + 新增 POP/价格历史/生效批次 PO

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
jintao.geng 1 month ago
parent
commit
e0ea9a9251

+ 29 - 0
mango-common/src/main/java/com/mangoo/rating/recommend/po/ActiveBatchPO.java

@@ -0,0 +1,29 @@
+package com.mangoo.rating.recommend.po;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 推荐规则生效批次指针 PO(单行)
+ *
+ * @author gengjintao
+ * @date 2026/06/25
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ActiveBatchPO {
+
+    @ApiModelProperty(value = "主键ID")
+    private Long id;
+
+    @ApiModelProperty(value = "当前生效批次号")
+    private String activeBatchNo;
+
+    @ApiModelProperty(value = "更新时间")
+    private LocalDateTime updateTime;
+}

+ 50 - 0
mango-common/src/main/java/com/mangoo/rating/recommend/po/CardPopPO.java

@@ -0,0 +1,50 @@
+package com.mangoo.rating.recommend.po;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 卡片 POP report 明细 PO(按评级机构 PSA/BGS/Nexphostis,一卡多行)
+ *
+ * @author gengjintao
+ * @date 2026/06/25
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class CardPopPO {
+
+    @ApiModelProperty(value = "主键ID")
+    private Long id;
+
+    @ApiModelProperty(value = "数仓卡片唯一ID")
+    private String cardId;
+
+    @ApiModelProperty(value = "评级机构(PSA/BGS/Nexphostis)")
+    private String agency;
+
+    @ApiModelProperty(value = "总评级数(ALL)")
+    private Integer gradeAll;
+
+    @ApiModelProperty(value = "10分数量")
+    private Integer grade10;
+
+    @ApiModelProperty(value = "9分数量")
+    private Integer grade9;
+
+    @ApiModelProperty(value = "8分数量")
+    private Integer grade8;
+
+    @ApiModelProperty(value = "7分数量")
+    private Integer grade7;
+
+    @ApiModelProperty(value = "同步批次号")
+    private String batchNo;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+}

+ 37 - 0
mango-common/src/main/java/com/mangoo/rating/recommend/po/CardValueHistoryPO.java

@@ -0,0 +1,37 @@
+package com.mangoo.rating.recommend.po;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * 卡片价格历史 PO(每日增量累积,趋势曲线数据源)
+ *
+ * @author gengjintao
+ * @date 2026/06/25
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class CardValueHistoryPO {
+
+    @ApiModelProperty(value = "主键ID")
+    private Long id;
+
+    @ApiModelProperty(value = "数仓卡片唯一ID")
+    private String cardId;
+
+    @ApiModelProperty(value = "价格")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "记录日期")
+    private LocalDate recordDate;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+}

+ 21 - 0
mango-common/src/main/java/com/mangoo/rating/recommend/po/RatingRecommendRulePO.java

@@ -45,6 +45,27 @@ public class RatingRecommendRulePO {
     @ApiModelProperty(value = "修改时间")
     private LocalDateTime updateTime;
 
+    @ApiModelProperty(value = "数仓卡片唯一ID(去重键)")
+    private String cardId;
+
+    @ApiModelProperty(value = "卡号(如 066/080)")
+    private String cardNo;
+
+    @ApiModelProperty(value = "当前价")
+    private java.math.BigDecimal currentValue;
+
+    @ApiModelProperty(value = "涨跌幅(百分数,如 7.05 表示 +7.05%)")
+    private java.math.BigDecimal valueChangePct;
+
+    @ApiModelProperty(value = "价格区间下限")
+    private java.math.BigDecimal valueMin;
+
+    @ApiModelProperty(value = "价格区间上限")
+    private java.math.BigDecimal valueMax;
+
+    @ApiModelProperty(value = "同步批次号(如 2026062501)")
+    private String batchNo;
+
     @ApiModelProperty(value = "删除标识(0-未删,1-已删)")
     private Integer delFlag;
 }