浏览代码

finished roi api

gufengshou1 1 年之前
父节点
当前提交
f4dfe56e08

+ 0 - 1
ad-engine-commons/src/main/java/com/tzld/piaoquan/ad/engine/commons/thread/ThreadPoolFactory.java

@@ -1,7 +1,6 @@
 package com.tzld.piaoquan.ad.engine.commons.thread;
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
-import com.tzld.piaoquan.ad.engine.commons.thread.CommonThreadPoolExecutor;
 
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.LinkedBlockingQueue;

+ 33 - 0
ad-engine-server/src/main/java/com/tzld/piaoquan/ad/engine/server/controller/AdRecommendController.java

@@ -0,0 +1,33 @@
+package com.tzld.piaoquan.ad.engine.server.controller;
+
+import com.tzld.piaoquan.ad.engine.commons.base.AdRankItem;
+import com.tzld.piaoquan.ad.engine.commons.base.UserAdFeature;
+import com.tzld.piaoquan.ad.engine.commons.score.ScoreParam;
+import com.tzld.piaoquan.ad.engine.service.predict.param.request.ThresholdPredictModelRequestParam;
+import com.tzld.piaoquan.ad.engine.service.score.VlogAdCtrLRScorer;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/recommend")
+public class AdRecommendController {
+
+
+//    @Autowired
+//    VlogAdCtrLRScorer scorer;
+
+    @RequestMapping("/base/ctr/top")
+    public Map<String,Object> adPredictByAbTestModel(final ScoreParam param,
+                                                     final UserAdFeature userFeature,
+                                                     final List<AdRankItem> rankItems){
+//        scorer.scoring(param,userFeature,rankItems).get(0);
+        return new HashMap<>();
+    }
+
+}

+ 9 - 0
ad-engine-server/src/main/java/com/tzld/piaoquan/ad/engine/server/controller/HealthController.java

@@ -0,0 +1,9 @@
+package com.tzld.piaoquan.ad.engine.server.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/health")
+public class HealthController {
+}

+ 1 - 1
ad-engine-server/src/main/java/com/tzld/piaoquan/ad/engine/server/controller/PredictController.java

@@ -32,7 +32,7 @@ public class PredictController {
         return "success"+System.currentTimeMillis();
     }
     @RequestMapping("/roi/model")
-    public Map<String,Object> adPredictByRoiModel(RoiPredictModelRequestParam param){
+    public Map<String,Object> adPredictByRoiModel(@RequestBody RoiPredictModelRequestParam param){
         return predictModelService.adRecommendPredictByRoiModel(param);
     }
 }

+ 1 - 1
ad-engine-server/src/main/resources/application-pre.yml

@@ -83,7 +83,7 @@ spring:
 
 aliyun:
   log:
-    project: ad-engine-pre
+    project: ad-engine
 
 rocketmq:
   accessKey: 736nKkR5Gaq0NAgU

+ 1 - 1
ad-engine-server/src/main/resources/application-test.yml

@@ -90,7 +90,7 @@ rocketmq:
 
 aliyun:
   log:
-    project: ad-engine
+    project: ad-engine-test
 
 apollo:
   meta: http://testapolloconfig-internal.piaoquantv.com

+ 22 - 1
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/config/RoiModelConfig.java

@@ -33,7 +33,28 @@ public class RoiModelConfig {
                 "            \"video\": {\"data\": \"videos5\"},\n" +
                 "            \"user\": {\"data\": \"user5\", \"rule\": \"rule1\"},\n" +
                 "            \"group_class_key\": \"class1\"\n" +
-                "        }";
+                "        }}";
         paramsNewStrategyMap=new Gson().fromJson(initStr,HashMap.class);
     }
+
+    public static void main(String[] args){
+            String initStr="  {\n" +
+                    "        \"VLOG\": {\n" +
+                    "            \"video\": {\"data\": \"videos0\"},\n" +
+                    "            \"user\": {\"data\": \"user0\", \"rule\": \"rule1\"},\n" +
+                    "            \"group_class_key\": \"class1\"\n" +
+                    "        },  " +
+                    "        \"LOVE_LIVE\": {\n" +
+                    "            \"video\": {\"data\": \"videos4\"},\n" +
+                    "            \"user\": {\"data\": \"user4\", \"rule\": \"rule1\"},\n" +
+                    "            \"group_class_key\": \"class1\"\n" +
+                    "        },  " +
+                    "        \"LONG_VIDEO\": {\n" +
+                    "            \"video\": {\"data\": \"videos5\"},\n" +
+                    "            \"user\": {\"data\": \"user5\", \"rule\": \"rule1\"},\n" +
+                    "            \"group_class_key\": \"class1\"\n" +
+                    "        }" +
+                    "}";
+            Map map=new Gson().fromJson(initStr,HashMap.class);
+    }
 }

+ 1 - 1
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/model/threshold/RoiThresholdPredictModel.java

@@ -80,7 +80,7 @@ public class RoiThresholdPredictModel extends ThresholdPredictModel{
         }
 
         if (groupShareRateWithAd == null || videoShareRateWithAd == null || groupShareRateNoAd == null || videoShareRateNoAd == null) {
-            return null;
+            return new HashMap<>();
         }
 
         Double shareRateWithAd = groupShareRateWithAd * videoShareRateWithAd;

+ 7 - 1
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/param/RoiThresholdPredictModelParam.java

@@ -1,8 +1,12 @@
 package com.tzld.piaoquan.ad.engine.service.predict.param;
 
-import lombok.Data;
+import lombok.*;
+import lombok.experimental.SuperBuilder;
+
 
 @Data
+@AllArgsConstructor
+@NoArgsConstructor
 public class RoiThresholdPredictModelParam extends ThresholdPredictModelParam{
     private String adId;
 
@@ -10,4 +14,6 @@ public class RoiThresholdPredictModelParam extends ThresholdPredictModelParam{
 
     private Double ecpm;
 
+
+
 }

+ 4 - 1
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/predict/param/ThresholdPredictModelParam.java

@@ -1,8 +1,10 @@
 package com.tzld.piaoquan.ad.engine.service.predict.param;
 
 import com.alibaba.fastjson.JSONObject;
+import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.util.Date;
 import java.util.Map;
@@ -17,6 +19,8 @@ import java.util.Map;
  */
 @Data
 @Builder
+@AllArgsConstructor
+@NoArgsConstructor
 public class ThresholdPredictModelParam {
     String mid;
     Long videoId;
@@ -31,5 +35,4 @@ public class ThresholdPredictModelParam {
     String midGroup;
     Date date=new Date();
 
-    public ThresholdPredictModelParam(){}
 }

+ 1 - 0
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/VlogAdCtrLRScorer.java

@@ -19,6 +19,7 @@ import java.util.List;
 import java.util.concurrent.*;
 
 
+//@Service
 public class VlogAdCtrLRScorer extends BaseLRModelScorer {
 
     private final static int CORE_POOL_SIZE = 64;