public List getSeqDB()

in src/main/java/com/aliyun/openservices/paifeaturestore/dao/FeatureViewIgraphDao.java [232:277]


    public List<SequenceInfo> getSeqDB(String key,String[] selectfields,HashMap<String, Double> playtimefilter,String event,FeatureViewSeqConfig config,Long currentime) {
        List<SequenceInfo> sequenceInfos = new ArrayList<>();
        //pk
        String pKField=String.format("%s_%s",key,event);
        String queryString=String.format(
                "g(\"%s\").E(\"%s\").hasLabel(\"%s\").fields(\"%s\")" +
                ".order().by(\"%s\",Order.decr).limit(%d)",
                this.group,pKField,this.edgename,StringUtil.join(selectfields,";"),config.getTimestampField(),config.getSeqLenOnline());
        ResultSet rs = this.client.submit(queryString);
        List<Result> join = rs.all().join();

        for (Result r:join) {
              if (!StringUtils.isEmpty(playtimefilter) && !StringUtils.isEmpty(playtimefilter.get(event))) {
                Double playtime = r.getVertex().value(config.getPlayTimeField());
                if (playtime < playtimefilter.get(event)) {
                    continue;
                }
             }
              if (r.isNull()) {
                  continue;
              }
            SequenceInfo sequenceInfo = new SequenceInfo();

            for (String name:selectfields) {

                if (name.equals(config.getItemIdField())) {
                    Long i = r.getVertex().value(name);
                    sequenceInfo.setItemIdField(i);
                } else if (name.equals(config.getTimestampField())) {
                    Long et = r.getVertex().value(name);
                    sequenceInfo.setTimestampField(et);
                } else if (name.equals(config.getEventField())) {//event
                    String e = r.getVertex().value(name);
                    sequenceInfo.setEventField(e);
                } else if (name.equals(config.getPlayTimeField())) {
                    Double d = r.getVertex().value(name);
                    if (d==-1024.0) {
                         d=null;
                    }
                    sequenceInfo.setPlayTimeField(d);
                }
            }
            sequenceInfos.add(sequenceInfo);
        }
        return sequenceInfos;
    }