package com.tzld.piaoquan.recommend.server.model;

import lombok.Data;

import java.util.*;

/**
 * @author dyp
 */
@Data
public class Video {
    private long videoId;
    private double rovScore;
    private double sortScore;
    private String pushFrom;

    // 流量池相关 start
    private String flowPool;
    private String level;
    private boolean inFlowPool;
    // 流量池相关 end

    private double rand;
    private String lastVideoKey;

    // video的特征 tag
    private List<String> tags = new ArrayList<>();

    // 视频的品类
    private Set<String> mergeCateList = new HashSet<>();

    // video的模型打分
    public double scoreRos = 0.0D;
    public double scoreStr = 0.0D;
    public double score = 0.0D;
    public double scoreRegion = 0.0D;
    public Map<String, Double> scoresMap = new HashMap<>();
    public Map<String, List<String>> pushFromIndex = new HashMap<>();
    public Map<String, Integer> pushFromRank = new HashMap<>();
    public Map<String, List<Long>> pushFromRankVideo = new LinkedHashMap<>();

    public Map<Long, RankVideoInfo> rankVideoInfoMap = new LinkedHashMap<>();

    // 处理后，传给模型的特征
    public Map<String, Float> allFeatureMap = new HashMap<>();
    // 原始特征
    public Map<String, Map<String, String>> metaFeatureMap = new HashMap<>();

    /**
     * 其他乱七八糟的参数，目前用来做降权的判断
     */
    private Map<String, String> otherParam = new HashMap<>();
}
