ソースを参照

add特征画像人群需求视频

wangyunpeng 1 ヶ月 前
コミット
6773e92244

+ 3 - 1
core/src/main/java/com/tzld/videoVector/common/enums/DimensionEnum.java

@@ -17,13 +17,15 @@ public enum DimensionEnum {
     SPREAD_DISTRIBUTION("传播的分发", DimensionGroup.DISTRIBUTION),
     /** 增长的分发 */
     GROWTH_DISTRIBUTION("增长的分发", DimensionGroup.DISTRIBUTION),
+    /** 不区分维度 */
+    ALL("不区分", DimensionGroup.ALL),
     ;
 
     /**
      * 维度分组:头部 / 分发
      */
     public enum DimensionGroup {
-        HEAD, DISTRIBUTION
+        HEAD, DISTRIBUTION, ALL
     }
 
     private final String value;

+ 16 - 9
core/src/main/java/com/tzld/videoVector/job/ChannelDemandMatchJob.java

@@ -1038,9 +1038,16 @@ public class ChannelDemandMatchJob {
                 // 数据源差异由 config.match_method 区分;此处 demand_strategy 与配置保持一致(迁移后统一为"人群需求")
                 result.setDemandStrategy(config.getDemandStrategy());
                 // 匹配手段/筛选/排序 固定默认值(场景已看视频)
-                result.setMatchMethod(MatchMethodEnum.DIMENSION_STAT.getValue());
-                result.setMatchVideoFilter(VIDEO_FILTER_DIMENSION_STAT);
-                result.setMatchSort(SORT_DIMENSION_STAT);
+                String demandFilterSortStrategy = record.getString("需求筛选排序策略");
+                if ("特征偏好强度topp75".equals(demandFilterSortStrategy)) {
+                    result.setMatchMethod(MatchMethodEnum.RECOMMEND_LIB_EXACT.getValue());
+                    result.setMatchVideoFilter(VIDEO_FILTER_DIMENSION_STAT);
+                    result.setMatchSort("全局推荐rov");
+                } else {
+                    result.setMatchMethod(MatchMethodEnum.DIMENSION_STAT.getValue());
+                    result.setMatchVideoFilter(VIDEO_FILTER_DIMENSION_STAT);
+                    result.setMatchSort(SORT_DIMENSION_STAT);
+                }
 
                 // 需求维度字段
                 result.setChannelName(record.getString("渠道类"));
@@ -1058,7 +1065,7 @@ public class ChannelDemandMatchJob {
                     result.setDemandStrategy(demandSource);
                 }
                 result.setDriveDimensionTime(record.getString("驱动维度_时间"));
-                result.setDemandFilterSortStrategy(record.getString("需求筛选排序策略"));
+                result.setDemandFilterSortStrategy(demandFilterSortStrategy);
                 result.setDemandType(record.getString("需求类型"));
 
                 // 统计指标(总访问uv/总uv占比 被 访问uv/uv占比 覆盖,最终取行级指标)
@@ -1197,14 +1204,14 @@ public class ChannelDemandMatchJob {
         sb.append(" FROM loghubods.dwd_channel_element_dimension_stat");
         sb.append(" WHERE dt = '").append(dt).append("'");
         // 过滤条件:rov > 3% 且 uv占比 > 0.2%
-        sb.append(" AND 全局rov > ").append(dimensionStatMinRov);
-        sb.append(" AND 总uv占比 > ").append(dimensionStatMinUvRatio);
+        sb.append(" AND 全局rov >= ").append(dimensionStatMinRov);
+        sb.append(" AND 总uv占比 >= ").append(dimensionStatMinUvRatio);
         if (Objects.nonNull(config.getMinUv()) && config.getMinUv() > 0) {
-            sb.append(" AND 总访问uv > ").append(config.getMinUv());
+            sb.append(" AND 总访问uv >= ").append(config.getMinUv());
         } else {
-            sb.append(" AND 总访问uv > 2000 ");
+            sb.append(" AND 总访问uv >= 2000 ");
         }
-        sb.append(" AND 全局分发pv > 10000 ");
+        sb.append(" AND 全局分发pv >= 10000 ");
 //        sb.append(" AND `merge二级品类` not in ('早中晚好','节日祝福') ");
         sb.append(" AND 维度 in (").append(DimensionEnum.toSqlInValues()).append(") ");
         // 渠道筛选