|
@@ -3,12 +3,14 @@ package com.tzld.piaoquan.ad.engine.service.feature;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
import com.google.common.reflect.TypeToken;
|
|
|
+import com.sun.corba.se.spi.ior.iiop.IIOPFactories;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
|
|
|
import com.tzld.piaoquan.ad.engine.commons.util.JSONUtils;
|
|
|
import com.tzld.piaoquan.ad.engine.service.remote.FeatureV2RemoteService;
|
|
|
import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRequestContext;
|
|
|
import com.tzld.piaoquan.recommend.feature.model.feature.FeatureKeyProto;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
@@ -50,13 +52,17 @@ public class FeatureService {
|
|
|
protos.add(genWithCidAndHour("alg_cid_feature_hour_action", cidStr, context.getHour()));
|
|
|
|
|
|
// cid + brand
|
|
|
- protos.add(genWithCidAndBrand("alg_cid_feature_brand_action", cidStr, context.getMachineinfoBrand()));
|
|
|
+ if (StringUtils.isNotEmpty(context.getMachineinfoBrand())) {
|
|
|
+ protos.add(genWithCidAndBrand("alg_cid_feature_brand_action", cidStr, context.getMachineinfoBrand()));
|
|
|
+ }
|
|
|
|
|
|
// cid + wechatversion
|
|
|
- protos.add(genWithCidAndWechatVersion("alg_cid_feature_weChatVersion_action", cidStr, context.getMachineinfoWechatversion()));
|
|
|
+ // protos.add(genWithCidAndWechatVersion("alg_cid_feature_weChatVersion_action", cidStr, context.getMachineinfoWechatversion()));
|
|
|
|
|
|
// cid + vid
|
|
|
- protos.add(genWithCidAndVid("alg_cid_feature_vid_cf", cidStr, param.getVideoId().toString()));
|
|
|
+ if (Objects.nonNull(param.getVideoId())) {
|
|
|
+ protos.add(genWithCidAndVid("alg_cid_feature_vid_cf", cidStr, param.getVideoId().toString()));
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
for (String adVerId : adVerIdList) {
|
|
@@ -65,12 +71,16 @@ public class FeatureService {
|
|
|
}
|
|
|
|
|
|
// vid
|
|
|
- protos.add(genWithVid("alg_cid_feature_vid_cf_rank", param.getVideoId().toString()));
|
|
|
+ if (Objects.nonNull(param.getVideoId())) {
|
|
|
+ protos.add(genWithVid("alg_cid_feature_vid_cf_rank", param.getVideoId().toString()));
|
|
|
+ }
|
|
|
|
|
|
// mid
|
|
|
- protos.add(genWithMid("alg_mid_feature_ad_action", param.getMid()));
|
|
|
- protos.add(genWithMid("alg_mid_feature_return_tags", param.getMid()));
|
|
|
- protos.add(genWithMid("alg_mid_feature_share_tags", param.getMid()));
|
|
|
+ if (StringUtils.isNotEmpty(param.getMid())) {
|
|
|
+ protos.add(genWithMid("alg_mid_feature_ad_action", param.getMid()));
|
|
|
+ protos.add(genWithMid("alg_mid_feature_return_tags", param.getMid()));
|
|
|
+ protos.add(genWithMid("alg_mid_feature_share_tags", param.getMid()));
|
|
|
+ }
|
|
|
|
|
|
Map<String, String> featureMap = remoteService.getFeature(protos);
|
|
|
featureMap = this.featureStrCover(featureMap);
|