|
@@ -28,6 +28,7 @@ import com.tzld.piaoquan.recommend.server.util.JSONUtils;
|
|
|
import com.tzld.piaoquan.recommend.server.util.ParserUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
+import org.apache.commons.collections4.MapUtils;
|
|
|
import org.apache.commons.lang3.RandomUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -348,7 +349,6 @@ public class RecommendService {
|
|
|
param.setExpIdMap(JSONUtils.fromJson(request.getNewExpGroup(), new TypeToken<Map<String, String>>() {
|
|
|
}, Collections.emptyMap()));
|
|
|
|
|
|
-
|
|
|
return param;
|
|
|
}
|
|
|
|
|
@@ -388,7 +388,15 @@ public class RecommendService {
|
|
|
private RecallParam convertToRecallParam(RecommendParam param) {
|
|
|
RecallParam recallParam = new RecallParam();
|
|
|
recallParam.setAppType(param.getAppType());
|
|
|
- recallParam.setAbCode(param.getAbCode());
|
|
|
+ // hard code 算法实验配置化之前,复用abcode做AB验证
|
|
|
+ // note 避免非实验产品被覆盖
|
|
|
+ if (param.getAppType() == AppTypeEnum.SHORT_VIDEO.getCode()) {
|
|
|
+ if (MapUtils.isNotEmpty(param.getExpIdMap())) {
|
|
|
+ recallParam.setAbCode(param.getExpIdMap().get("recall"));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ recallParam.setAbCode(param.getAbCode());
|
|
|
+ }
|
|
|
recallParam.setVideoId(param.getVideoId());
|
|
|
recallParam.setFlowPoolAbtestGroup(param.getFlowPoolAbtestGroup());
|
|
|
|
|
@@ -427,7 +435,15 @@ public class RecommendService {
|
|
|
private RankParam convertToRankParam(RecommendParam param, RecallResult recallResult) {
|
|
|
RankParam rankParam = new RankParam();
|
|
|
rankParam.setRecallResult(recallResult);
|
|
|
- rankParam.setAbCode(param.getAbCode());
|
|
|
+ // hard code 算法实验配置化之前,复用abcode做AB验证
|
|
|
+ // note 避免非实验产品被覆盖
|
|
|
+ if (param.getAppType() == AppTypeEnum.SHORT_VIDEO.getCode()) {
|
|
|
+ if (MapUtils.isNotEmpty(param.getExpIdMap())) {
|
|
|
+ param.setAbCode(param.getExpIdMap().get("rank"));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ param.setAbCode(param.getAbCode());
|
|
|
+ }
|
|
|
rankParam.setSize(param.getSize());
|
|
|
rankParam.setFlowPoolP(param.getFlowPoolP());
|
|
|
rankParam.setTopK(param.getTopK());
|