Преглед на файлове

成分和关键字加入二次校验

yjwang преди 1 месец
родител
ревизия
4f26777070
променени са 1 файла, в които са добавени 14 реда и са изтрити 2 реда
  1. 14 2
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductScrmServiceImpl.java

+ 14 - 2
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductScrmServiceImpl.java

@@ -145,15 +145,27 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
      */
     @Override
     public SelectForbiddenKeywordsVo selectForbiddenKeywords(String keyWords){
+        SelectForbiddenKeywordsVo result = new SelectForbiddenKeywordsVo();
         List<ForbiddenOnlineMedicine> forbiddenOnlineMedicines = fsStoreProductMapper.selectForbiddenKeywords();
 //        将forbiddenOnlineMedicines转换为set
-        Set<String> forbiddenKeywords = forbiddenOnlineMedicines.stream().map(ForbiddenOnlineMedicine::getForbiddenKeywords).collect(Collectors.toSet());
+        Set<String> forbiddenKeywords = forbiddenOnlineMedicines.stream().filter(b-> b.getForbiddenKeywords() != null).map(ForbiddenOnlineMedicine::getForbiddenKeywords).collect(Collectors.toSet());
         DrugComponentAnalyzer.CheckResult checkResult = DrugComponentAnalyzer.checkForbiddenComponents(forbiddenKeywords, keyWords);
         boolean forbidden = checkResult.isForbidden();
         if(!forbidden){
+            //二次-匹配到关键词
+            StringBuilder msg = new StringBuilder();
+            for (String keyword : forbiddenKeywords){
+                if(keyWords.contains(keyword)){
+                    msg.append(keyword).append(",");
+                }
+            }
+            if(msg.length() > 0){
+                result.setFlag(true);
+                result.setMsg(msg+"法律命令禁止销售包含该成分产品!");
+                return result;
+            }
             return null;
         }
-        SelectForbiddenKeywordsVo result = new SelectForbiddenKeywordsVo();
         result.setFlag(forbidden);
         result.setMsg(checkResult.getForbiddenComponents()+"法律命令禁止销售包含该成分产品!");
         return result;