Jelajahi Sumber

修改只上传特征日志接口

xueyiming 11 jam lalu
induk
melakukan
4b84f2d39b

+ 0 - 2
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/score/ScoreParam.java

@@ -28,7 +28,5 @@ public class ScoreParam {
      * 本次命中的实验
      */
     private String expCode;
-
-    private boolean isColdStart = false;
 }
 

+ 5 - 5
ad-engine-server/src/main/java/com/tzld/piaoquan/ad/engine/server/controller/LogUploadController.java

@@ -5,6 +5,7 @@ import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
 import com.tzld.piaoquan.ad.engine.service.log.LogHubService;
 import com.tzld.piaoquan.ad.engine.service.predict.param.request.ThresholdPredictModelRequestParam;
 import com.tzld.piaoquan.ad.engine.service.score.convert.RequestConvert;
+import com.tzld.piaoquan.ad.engine.service.score.strategy.GetFeatureOnly;
 import com.tzld.piaoquan.ad.engine.service.score.strategy.RankStrategy;
 import com.tzld.piaoquan.ad.engine.service.score.strategy.RankStrategyBy688;
 import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
@@ -22,16 +23,15 @@ import java.util.Map;
 public class LogUploadController {
 
     @Autowired
-    private RankStrategyBy688 rankStrategyBy688;
+    private GetFeatureOnly getFeatureOnly;
 
     @Autowired
     private LogHubService logHubService;
 
-    @RequestMapping("/coldStart")
-    public Map<String, Object> coldStartLogUpload(@RequestBody RankRecommendRequestParam request) {
+    @RequestMapping("/printFeatureOnly")
+    public Map<String, Object> printFeatureOnly(@RequestBody RankRecommendRequestParam request) {
         ScoreParam scoreParam = RequestConvert.requestConvert(request);
-        scoreParam.setColdStart(true);
-        List<AdRankItem> adRankItems = rankStrategyBy688.adItemRank(request, scoreParam);
+        List<AdRankItem> adRankItems = getFeatureOnly.adItemRank(request, scoreParam);
         logHubService.scoreLogUpload(scoreParam, request.getAdIdList(), adRankItems, request, scoreParam.getExpCode());
         return new HashMap<String, Object>() {{
             put("result", "success");

+ 46 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/GetFeatureOnly.java

@@ -0,0 +1,46 @@
+package com.tzld.piaoquan.ad.engine.service.score.strategy;
+
+import com.tzld.piaoquan.ad.engine.commons.dto.AdPlatformCreativeDTO;
+import com.tzld.piaoquan.ad.engine.commons.param.RankRecommendRequestParam;
+import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
+import com.tzld.piaoquan.ad.engine.commons.util.ObjUtil;
+import com.tzld.piaoquan.ad.engine.service.feature.Feature;
+import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRankItem;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class GetFeatureOnly extends RankStrategyBasic {
+    @Override
+    public List<AdRankItem> adItemRank(RankRecommendRequestParam request, ScoreParam scoreParam) {
+        long ts = System.currentTimeMillis() / 1000;
+
+        String brand = scoreParam.getRequestContext().getMachineinfoBrand();
+        if (StringUtils.isNotEmpty(brand)) {
+            scoreParam.getRequestContext().setMachineinfoBrand(brand + "-n");
+        }
+
+        Feature feature = this.getFeature(scoreParam, request);
+        Map<String, String> reqFeature = this.getReqFeature(scoreParam, request);
+        Map<String, String> sceneFeatureMap = this.handleSceneFeature(ts);
+
+        AdPlatformCreativeDTO dto = request.getAdIdList().get(0);
+        AdRankItem adRankItem = new AdRankItem();
+        adRankItem.setAdId(dto.getCreativeId());
+        adRankItem.setCreativeCode(dto.getCreativeCode());
+        adRankItem.setAdVerId(dto.getAdVerId());
+        adRankItem.setVideoId(request.getVideoId());
+        adRankItem.setCpa(dto.getCpa());
+        adRankItem.setId(dto.getAdId());
+        adRankItem.setCampaignId(dto.getCampaignId());
+        adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
+        adRankItem.setSkuId(dto.getSkuId());
+
+        putMetaFeature(adRankItem, feature, reqFeature, sceneFeatureMap, request);
+        return Collections.singletonList(adRankItem);
+    }
+}

+ 0 - 12
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/strategy/RankStrategyBy688.java

@@ -256,18 +256,6 @@ public class RankStrategyBy688 extends RankStrategyBasic {
             log.error("handleE1AndE2Feature and handleD3AndB1Feature wait timeout", e);
         }
         long time4 = System.currentTimeMillis();
-
-        //冷启试验只打印特征
-        if(scoreParam.isColdStart()){
-            if (CollectionUtils.isNotEmpty(adRankItems)) {
-                AdRankItem adRankItem = adRankItems.get(0);
-                adRankItem.getFeatureMap().putAll(userFeatureMap);
-                adRankItem.getFeatureMap().putAll(sceneFeatureMap);
-                putMetaFeature(adRankItem, feature, reqFeature, sceneFeatureMap, request);
-                return adRankItems;
-            }
-        }
-
         // 打分排序
         // getScorerPipeline
         List<AdRankItem> result = ScorerUtils.getScorerPipeline(ScorerUtils.PAI_SCORE_CONF_20250214).scoring(sceneFeatureMap, userFeatureMap, adRankItems);