|
|
@@ -51,11 +51,16 @@ public class ChannelDemandMatchJob {
|
|
|
@Resource
|
|
|
private VideoSearchService videoSearchService;
|
|
|
|
|
|
- /** 需求匹配并发线程数 */
|
|
|
+ /**
|
|
|
+ * 需求匹配并发线程数
|
|
|
+ */
|
|
|
private static final int MATCH_THREAD_POOL_SIZE = 5;
|
|
|
|
|
|
- /** 点类型 → 向量配置编码映射 */
|
|
|
+ /**
|
|
|
+ * 点类型 → 向量配置编码映射
|
|
|
+ */
|
|
|
private static final Map<String, String> POINT_TYPE_CONFIG_CODE_MAP = new HashMap<>();
|
|
|
+
|
|
|
static {
|
|
|
POINT_TYPE_CONFIG_CODE_MAP.put("关键点", "VIDEO_KEYPOINT");
|
|
|
POINT_TYPE_CONFIG_CODE_MAP.put("灵感点", "VIDEO_INSPIRATION");
|
|
|
@@ -135,7 +140,10 @@ public class ChannelDemandMatchJob {
|
|
|
result.setCategoryName(record.getString("需求特征类"));
|
|
|
|
|
|
// 统计指标
|
|
|
- result.setCrowdCount(safeGetInt(record, "人群总数量"));
|
|
|
+ Double crowdCount = safeGetDouble(record, "人群总数量");
|
|
|
+ if (Objects.nonNull(crowdCount)) {
|
|
|
+ result.setCrowdCount(crowdCount.intValue());
|
|
|
+ }
|
|
|
result.setVideoCount(safeGetInt(record, "内容数量"));
|
|
|
result.setVisitUv(safeGetLong(record, "群体访问uv"));
|
|
|
result.setTotalRov(safeGetDouble(record, "群体rov"));
|
|
|
@@ -271,7 +279,7 @@ public class ChannelDemandMatchJob {
|
|
|
sb.append(",需求特征点类型");
|
|
|
sb.append(",需求特征点");
|
|
|
sb.append(",需求特征类");
|
|
|
- sb.append(",人群总数量");
|
|
|
+ sb.append(",round(人群总数量, 0) as 人群总数量");
|
|
|
sb.append(",内容数量");
|
|
|
sb.append(",群体访问uv");
|
|
|
sb.append(",群体rov");
|