|
@@ -31,6 +31,7 @@ import com.uas.platform.b2b.dao.ComponentDao;
|
|
|
import com.uas.platform.b2b.dao.DeputyOrderDao;
|
|
import com.uas.platform.b2b.dao.DeputyOrderDao;
|
|
|
import com.uas.platform.b2b.dao.EnterpriseDao;
|
|
import com.uas.platform.b2b.dao.EnterpriseDao;
|
|
|
import com.uas.platform.b2b.dao.InvitationRecordDao;
|
|
import com.uas.platform.b2b.dao.InvitationRecordDao;
|
|
|
|
|
+import com.uas.platform.b2b.dao.KindDao;
|
|
|
import com.uas.platform.b2b.dao.MakeAcceptDao;
|
|
import com.uas.platform.b2b.dao.MakeAcceptDao;
|
|
|
import com.uas.platform.b2b.dao.MakeOrderChangeItemDao;
|
|
import com.uas.platform.b2b.dao.MakeOrderChangeItemDao;
|
|
|
import com.uas.platform.b2b.dao.MakeOrderDao;
|
|
import com.uas.platform.b2b.dao.MakeOrderDao;
|
|
@@ -74,6 +75,7 @@ import com.uas.platform.b2b.model.Component;
|
|
|
import com.uas.platform.b2b.model.DeputyOrder;
|
|
import com.uas.platform.b2b.model.DeputyOrder;
|
|
|
import com.uas.platform.b2b.model.Enterprise;
|
|
import com.uas.platform.b2b.model.Enterprise;
|
|
|
import com.uas.platform.b2b.model.InvitationRecord;
|
|
import com.uas.platform.b2b.model.InvitationRecord;
|
|
|
|
|
+import com.uas.platform.b2b.model.Kind;
|
|
|
import com.uas.platform.b2b.model.MakeAccept;
|
|
import com.uas.platform.b2b.model.MakeAccept;
|
|
|
import com.uas.platform.b2b.model.MakeOrder;
|
|
import com.uas.platform.b2b.model.MakeOrder;
|
|
|
import com.uas.platform.b2b.model.MakeOrderChangeItem;
|
|
import com.uas.platform.b2b.model.MakeOrderChangeItem;
|
|
@@ -256,6 +258,9 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private CartDao cartDao;
|
|
private CartDao cartDao;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private KindDao kindDao;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 联想词size
|
|
* 联想词size
|
|
|
*/
|
|
*/
|
|
@@ -1018,6 +1023,58 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<Map<String, Object>> getSimilarKinds(String keyword) {
|
|
|
|
|
+ List<String> kindList = similarKinds(keyword);
|
|
|
|
|
+ List<Kind> contents = new ArrayList<>();
|
|
|
|
|
+ for (String kind : kindList) {
|
|
|
|
|
+ List<Kind> temps = kindDao.findByNameCn(kind);
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(temps)) {
|
|
|
|
|
+ contents.add(temps.get(0));
|
|
|
|
|
+ } else { // 中文品牌找不到,找英文的
|
|
|
|
|
+ temps = kindDao.findByNameEn(kind);
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(temps)) {
|
|
|
|
|
+ contents.add(temps.get(0));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ List<Map<String, Object>> brands = new ArrayList<>();
|
|
|
|
|
+ for (Kind kind : contents) {
|
|
|
|
|
+ Map<String, Object> temp = new HashMap<>();
|
|
|
|
|
+ temp.put("kindCn", kind.getNameCn());
|
|
|
|
|
+ temp.put("kindEn", kind.getNameEn());
|
|
|
|
|
+ brands.add(temp);
|
|
|
|
|
+ }
|
|
|
|
|
+ return brands;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private List<String> similarKinds(String keyword) {
|
|
|
|
|
+ SPage<String> kindCns = searchService.similar(keyword, Table_name.PRODUCT$KIND, SIMILAR_NUM, "ki_name_cn");
|
|
|
|
|
+ // 相似的品牌中文名数量足够,直接返回
|
|
|
|
|
+ List<String> kindCnList = kindCns.getContent();
|
|
|
|
|
+ if (kindCnList != null && kindCnList.size() == SIMILAR_NUM) {
|
|
|
|
|
+ return kindCnList;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ List<String> result = kindCnList;
|
|
|
|
|
+ if (result == null) {
|
|
|
|
|
+ result = new ArrayList<>();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 获取相似类目英文名
|
|
|
|
|
+ SPage<String> brandEns = searchService.similar(keyword, Table_name.PRODUCT$KIND, SIMILAR_NUM, "ki_name_en");
|
|
|
|
|
+ List<String> brandEnList = brandEns.getContent();
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(brandEnList)) {
|
|
|
|
|
+ result.addAll(brandEnList);
|
|
|
|
|
+ // 如果总的数量超出SIMILAR_NUM,去除多余的元素
|
|
|
|
|
+ if (result.size() > SIMILAR_NUM) {
|
|
|
|
|
+ removeElements(result, SIMILAR_NUM);
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 删除lists内startIndex(含)后的元素
|
|
* 删除lists内startIndex(含)后的元素
|
|
|
*
|
|
*
|