|
@@ -0,0 +1,42 @@
|
|
|
+package com.diagbot.facade;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.diagbot.client.NLPServiceClient;
|
|
|
+import com.diagbot.dto.SimilarLibraryDTO;
|
|
|
+import com.diagbot.entity.LibraryInfo;
|
|
|
+import com.diagbot.enums.IsDeleteEnum;
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.ListUtil;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description:
|
|
|
+ * @Author:zhaops
|
|
|
+ * @time: 2019/10/28 15:10
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class SimilarFacade {
|
|
|
+ @Autowired
|
|
|
+ NLPServiceClient nlpServiceClient;
|
|
|
+ @Autowired
|
|
|
+ LibraryInfoFacade libraryInfoFacade;
|
|
|
+
|
|
|
+ public List<SimilarLibraryDTO> getSimilarList(String inputWord) {
|
|
|
+ List<String> libraryNameList = nlpServiceClient.getSimilarList(inputWord);
|
|
|
+ List<SimilarLibraryDTO> libraryList = Lists.newLinkedList();
|
|
|
+ if (ListUtil.isNotEmpty(libraryNameList)) {
|
|
|
+ QueryWrapper<LibraryInfo> libraryInfoQueryWrapper = new QueryWrapper<>();
|
|
|
+ libraryInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .in("name", libraryNameList)
|
|
|
+ .orderByDesc("is_concept")
|
|
|
+ .orderByAsc("type_id");
|
|
|
+ List<LibraryInfo> libraryInfos = libraryInfoFacade.list(libraryInfoQueryWrapper);
|
|
|
+ libraryList = BeanUtil.listCopyTo(libraryInfos, SimilarLibraryDTO.class);
|
|
|
+ }
|
|
|
+ return libraryList;
|
|
|
+ }
|
|
|
+}
|