|
@@ -1,6 +1,5 @@
|
|
|
package com.tzld.piaoquan.recommend.server.service.recall;
|
|
|
|
|
|
-import com.ctrip.framework.apollo.spring.annotation.ApolloJsonValue;
|
|
|
import com.tzld.piaoquan.recommend.server.common.enums.AppTypeEnum;
|
|
|
import com.tzld.piaoquan.recommend.server.model.Video;
|
|
|
import com.tzld.piaoquan.recommend.server.service.ThreadPoolFactory;
|
|
@@ -16,7 +15,10 @@ import org.springframework.context.ApplicationContextAware;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.concurrent.CountDownLatch;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
import java.util.concurrent.Future;
|
|
@@ -32,8 +34,6 @@ public class RecallService implements ApplicationContextAware {
|
|
|
private final Map<String, RecallStrategy> strategyMap = new HashMap<>();
|
|
|
private ApplicationContext applicationContext;
|
|
|
private ExecutorService pool = ThreadPoolFactory.recallPool();
|
|
|
- @ApolloJsonValue("${city_code:[]}")
|
|
|
- private Set<String> cityCodes;
|
|
|
|
|
|
@PostConstruct
|
|
|
public void init() {
|
|
@@ -84,7 +84,7 @@ public class RecallService implements ApplicationContextAware {
|
|
|
strategies.add(strategyMap.get(SpecialRecallStrategy.class.getSimpleName()));
|
|
|
return strategies;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (param.getAppType() == AppTypeEnum.LAO_HAO_KAN_VIDEO.getCode()
|
|
|
|| param.getAppType() == AppTypeEnum.ZUI_JING_QI.getCode()) {
|
|
|
strategies.addAll(getRegionRecallStrategy(param));
|
|
@@ -115,24 +115,14 @@ public class RecallService implements ApplicationContextAware {
|
|
|
}
|
|
|
|
|
|
private List<RecallStrategy> getRegionRecallStrategy(RecallParam param) {
|
|
|
- String provinceCode = StringUtils.isNotBlank(param.getProvinceCode())
|
|
|
- ? param.getProvinceCode()
|
|
|
- : "-1";
|
|
|
- String cityCode = StringUtils.isNotBlank(param.getCityCode())
|
|
|
- ? param.getCityCode()
|
|
|
- : "-1";
|
|
|
- String regionCode = cityCodes.contains(cityCode) ? cityCode : provinceCode;
|
|
|
|
|
|
List<RecallStrategy> strategies = new ArrayList<>();
|
|
|
- if (regionCode.equals("-1")) {
|
|
|
- strategies.add(strategyMap.get(RegionRelative24HRecallStrategy.class.getSimpleName()));
|
|
|
- strategies.add(strategyMap.get(RegionRelative24HDupRecallStrategy.class.getSimpleName()));
|
|
|
- } else {
|
|
|
+ if (StringUtils.isNotBlank(param.getRegionCode())) {
|
|
|
strategies.add(strategyMap.get(RegionHRecallStrategy.class.getSimpleName()));
|
|
|
strategies.add(strategyMap.get(Region24HRecallStrategy.class.getSimpleName()));
|
|
|
- strategies.add(strategyMap.get(RegionRelative24HRecallStrategy.class.getSimpleName()));
|
|
|
- strategies.add(strategyMap.get(RegionRelative24HDupRecallStrategy.class.getSimpleName()));
|
|
|
}
|
|
|
+ strategies.add(strategyMap.get(RegionRelative24HRecallStrategy.class.getSimpleName()));
|
|
|
+ strategies.add(strategyMap.get(RegionRelative24HDupRecallStrategy.class.getSimpleName()));
|
|
|
|
|
|
return strategies;
|
|
|
}
|