Authored by saihide

fix

... ... @@ -25,8 +25,8 @@ public class SceneRecommendBrandsService {
private UserPersionalFactorComponent userPersionalFactorComponent;
private JSONArray getRecommendBrands(Map<String, String> paramMap, JSONArray brandList) {
List<HashMap<String, String>> brandListTemp = JSON.parseObject(brandList.toJSONString(), new TypeReference<List<HashMap<String, String>>>() {});
Map<String, HashMap<String, String>> brandIdMap = brandListTemp.stream().collect(Collectors.toMap(e -> e.get("id"), Function.identity(), (m1, m2) -> m2));
List<JSONObject> brandListTemp = JSON.parseObject(brandList.toJSONString(), new TypeReference<List<JSONObject>>() {});
Map<Integer, JSONObject> brandIdMap = brandListTemp.stream().collect(Collectors.toMap(e -> e.getInteger("id"), Function.identity(), (m1, m2) -> m2));
int uid = MapUtils.getIntValue(paramMap, "uid", 0);
String udid = MapUtils.getString(paramMap, "udid", "");
int recommendBrandCount = Integer.parseInt(paramMap.getOrDefault(SearchRequestParams.PARAM_SEARCH_VIEWNUM, "8"));
... ... @@ -43,7 +43,7 @@ public class SceneRecommendBrandsService {
if (brandIds.contains(sortBrand.getBrandId())) {
continue;
}
Map<String, String> brand = brandIdMap.get(String.valueOf(sortBrand.getBrandId()));
JSONObject brand = brandIdMap.get(sortBrand.getBrandId());
if (brand != null) {
recBrands.add(brand);
brandIds.add(sortBrand.getBrandId());
... ... @@ -51,13 +51,13 @@ public class SceneRecommendBrandsService {
}
}
if (recBrands.size() < recommendBrandCount) {
for (Map<String, String> brand : brandListTemp) {
for (JSONObject brand : brandListTemp) {
if (recBrands.size() >= recommendBrandCount) {
break;
}
if (!brandIds.contains(Integer.parseInt(brand.get("id")))) {
if (!brandIds.contains(brand.getInteger("id"))) {
recBrands.add(brand);
brandIds.add(Integer.parseInt(brand.get("id")));
brandIds.add(brand.getInteger("id"));
}
}
}
... ...