瀏覽代碼

Merge remote-tracking branch 'origin/dev/mix20191225_security' into dev/mix20191225_security

gaodm 5 年之前
父節點
當前提交
8979afc9c1

+ 18 - 0
aipt-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -1,6 +1,7 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.config.CryptConfiguer;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.ConceptRetrievalDTO;
 import com.diagbot.dto.ConceptWithOrderRes;
@@ -16,6 +17,7 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ConceptServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.CryptUtil;
 import com.diagbot.util.IntegerUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.ParamConvertUtil;
@@ -46,6 +48,8 @@ import java.util.stream.Collectors;
 public class ConceptFacade extends ConceptServiceImpl {
     @Autowired
     ConceptDetailFacade conceptDetailFacade;
+    @Autowired
+    CryptConfiguer configuer;
 
     /**
      * 验证存在并且获取概念基本信息
@@ -101,6 +105,13 @@ public class ConceptFacade extends ConceptServiceImpl {
         if (ListUtil.isNotEmpty(concepts)) {
             map = concepts.stream().collect(Collectors.toMap(r -> r.getId(), r -> r.getLibName()));
         }
+
+        // 判断是否加解密
+        if (configuer.cryptFlag) {
+            for (Long id : map.keySet()) {
+                map.put(id, CryptUtil.decrypt_char(map.get(id)));
+            }
+        }
         return map;
     }
 
@@ -133,6 +144,13 @@ public class ConceptFacade extends ConceptServiceImpl {
         if (ListUtil.isNotEmpty(concepts)) {
             map = concepts.stream().collect(Collectors.toMap(r -> r.getConceptId(), r -> r.getName()));
         }
+
+        // 判断是否加解密
+        if (configuer.cryptFlag) {
+            for (Long id : map.keySet()) {
+                map.put(id, CryptUtil.decrypt_char(map.get(id)));
+            }
+        }
         return map;
     }
 

+ 1 - 1
icss-service/src/main/java/com/diagbot/facade/ModuleFacade.java

@@ -156,7 +156,7 @@ public class ModuleFacade extends ModuleInfoServiceImpl {
             for (ModuleInfoDTO bean : data) {
                 if (Integer.parseInt(bean.getType()) == QuestionTypeEnum.Pacs.getKey() && pacsRespDTO.data != null) {
                     for (ModuleDetailDTO detailDTO : bean.getModuleDetailDTOList()) {
-                        detailDTO.setName(CryptUtil.decrypt_char(pacsRespDTO.data.get(detailDTO.getQuestionId())));
+                        detailDTO.setName(pacsRespDTO.data.get(detailDTO.getQuestionId()));
                     }
                 }
             }

+ 21 - 15
knowledgeman-service/src/main/java/com/diagbot/entity/Concept.java

@@ -1,12 +1,11 @@
 package com.diagbot.entity;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.diagbot.annotation.CryptField;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -60,7 +59,6 @@ public class Concept implements Serializable {
     /**
      * 概念名称(冗余)
      */
-    @CryptField
     private String libName;
 
     /**
@@ -75,6 +73,7 @@ public class Concept implements Serializable {
     public void setId(Long id) {
         this.id = id;
     }
+
     public String getIsDeleted() {
         return isDeleted;
     }
@@ -82,6 +81,7 @@ public class Concept implements Serializable {
     public void setIsDeleted(String isDeleted) {
         this.isDeleted = isDeleted;
     }
+
     public Date getGmtCreate() {
         return gmtCreate;
     }
@@ -89,6 +89,7 @@ public class Concept implements Serializable {
     public void setGmtCreate(Date gmtCreate) {
         this.gmtCreate = gmtCreate;
     }
+
     public Date getGmtModified() {
         return gmtModified;
     }
@@ -96,6 +97,7 @@ public class Concept implements Serializable {
     public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
+
     public String getCreator() {
         return creator;
     }
@@ -103,6 +105,7 @@ public class Concept implements Serializable {
     public void setCreator(String creator) {
         this.creator = creator;
     }
+
     public String getModifier() {
         return modifier;
     }
@@ -110,6 +113,7 @@ public class Concept implements Serializable {
     public void setModifier(String modifier) {
         this.modifier = modifier;
     }
+
     public Long getLibId() {
         return libId;
     }
@@ -117,6 +121,7 @@ public class Concept implements Serializable {
     public void setLibId(Long libId) {
         this.libId = libId;
     }
+
     public String getLibName() {
         return libName;
     }
@@ -124,6 +129,7 @@ public class Concept implements Serializable {
     public void setLibName(String libName) {
         this.libName = libName;
     }
+
     public Long getLibType() {
         return libType;
     }
@@ -135,15 +141,15 @@ public class Concept implements Serializable {
     @Override
     public String toString() {
         return "Concept{" +
-        "id=" + id +
-        ", isDeleted=" + isDeleted +
-        ", gmtCreate=" + gmtCreate +
-        ", gmtModified=" + gmtModified +
-        ", creator=" + creator +
-        ", modifier=" + modifier +
-        ", libId=" + libId +
-        ", libName=" + libName +
-        ", libType=" + libType +
-        "}";
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", libId=" + libId +
+                ", libName=" + libName +
+                ", libType=" + libType +
+                "}";
     }
 }

+ 3 - 5
knowledgeman-service/src/main/java/com/diagbot/entity/LibraryInfo.java

@@ -1,12 +1,11 @@
 package com.diagbot.entity;
 
-import java.io.Serializable;
-import java.util.Date;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.diagbot.annotation.CryptField;
+
+import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -55,7 +54,6 @@ public class LibraryInfo implements Serializable {
     /**
      * 名称
      */
-    @CryptField
     private String name;
 
     /**

+ 17 - 8
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -37,6 +37,7 @@ import com.diagbot.service.LibraryInfoService;
 import com.diagbot.service.impl.ConceptServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.Cn2SpellUtil;
+import com.diagbot.util.CryptUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.util.IntegerUtil;
@@ -139,14 +140,19 @@ public class ConceptFacade extends ConceptServiceImpl {
         QueryWrapper<Concept> conceptQe = new QueryWrapper<>();
         conceptQe.eq("is_deleted", IsDeleteEnum.N.getKey());
         conceptQe.eq("lib_type", LexiconTypeEnum.LIS_TABLES.getKey());
-        if (StringUtil.isNotBlank(getAllLisConceptVO.getConceptName())) {
-            conceptQe.apply(
-                    "UPPER(lib_name) LIKE CONCAT('%',trim('"
-                            + getAllLisConceptVO.getConceptName().toUpperCase()
-                            + "'),'%')");
+        conceptQe.apply(StringUtil.isNotBlank(getAllLisConceptVO.getConceptName()),
+                "UPPER(lib_name) LIKE CONCAT('%',trim('"
+                        + getAllLisConceptVO.getConceptName().toUpperCase()
+                        + "'),'%')");
+        List<Concept> conceptList = list(conceptQe);
+
+        if (cryptConfiguer.cryptFlag) {
+            conceptList.forEach(i -> {
+                i.setLibName(CryptUtil.decrypt_char(i.getLibName()));
+            });
         }
 
-        list(conceptQe).forEach(i -> {
+        conceptList.forEach(i -> {
             if (getAllLisConceptVO.getExcludedConceptNames() != null
                     && getAllLisConceptVO.getExcludedConceptNames().contains(i.getLibName())) {
                 return;
@@ -206,6 +212,7 @@ public class ConceptFacade extends ConceptServiceImpl {
 
         getAllConceptDTOList = BeanUtil.listCopyTo(libraryInfoList, GetAllConceptDTO.class);
         getAllConceptDTOList.forEach(i -> {
+            i.setName(cryptConfiguer.cryptFlag ? CryptUtil.decrypt_char(i.getName()) : i.getName());
             i.setType(LexiconTypeEnum.getName(i.getTypeId().intValue()));
             i.setNameAndType(i.getName() + "(" + i.getType() + ")");
         });
@@ -315,8 +322,10 @@ public class ConceptFacade extends ConceptServiceImpl {
                     }
                     GetAllForRelationDTO getAllForRelationDTO = new GetAllForRelationDTO();
                     getAllForRelationDTO.setConceptId(i.getId());
-                    getAllForRelationDTO.setConceptName(i.getLibName());
-                    getAllForRelationDTO.setConceptNameType(i.getLibName() + "(" + LexiconTypeEnum.getName(i.getLibType().intValue()) + ")");
+                    getAllForRelationDTO.setConceptName(
+                            cryptConfiguer.cryptFlag ? CryptUtil.decrypt_char(i.getLibName()) : i.getLibName());
+                    getAllForRelationDTO.setConceptNameType(
+                            getAllForRelationDTO.getConceptName() + "(" + LexiconTypeEnum.getName(i.getLibType().intValue()) + ")");
                     retList.add(getAllForRelationDTO);
                 }
             }

+ 36 - 9
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.diagbot.client.NeoServiceClient;
+import com.diagbot.config.CryptConfiguer;
 import com.diagbot.dto.ConceptBaseDTO;
 import com.diagbot.dto.DiagnoseDetailSaveDTO;
 import com.diagbot.dto.DiagnosePageDTO;
@@ -84,6 +85,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
     NeoServiceClient neoServiceClient;
     @Autowired
     LisMappingFacade lisMappingFacade;
+    @Autowired
+    CryptConfiguer cryptConfiguer;
 
     /**
      * 诊断依据分页
@@ -152,7 +155,11 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         diseaseIndexVO.setLibType(LexiconTypeEnum.DIAGNOSIS.getKey());
         List<Diagnose> diagnoseList = this.list(
                 new QueryWrapper<Diagnose>().eq("is_deleted", IsDeleteEnum.N.getKey()));
-        diseaseIndexVO.setDisNamList(diagnoseList.stream().map(r -> r.getDisName()).distinct().collect(Collectors.toList()));
+        List<String> disNameList = diagnoseList.stream().map(r -> r.getDisName()).distinct().collect(Collectors.toList());
+        if (cryptConfiguer.cryptFlag) {
+            CryptUtil.encryptList(disNameList);
+        }
+        diseaseIndexVO.setDisNamList(disNameList);
         return this.index(diseaseIndexVO);
     }
 
@@ -537,12 +544,22 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                             if (DiagnoseFeatureTypeEnum.Lis.getKey() == bean.getType()) {
                                 String oldVerifyUnique = bean.getVerifyUnique();
                                 if (StringUtil.isNotEmpty(bean.getUniqueName())) { // 公表项数据不为空
-                                    if (!lisMappingSet.contains(CryptUtil.encrypt_char(bean.getStandard()) + "__" + CryptUtil.encrypt_char(bean.getRelation())
-                                            + "__" + CryptUtil.encrypt_char(bean.getUniqueName()))) {
-                                        bean.setVerifyUnique("无公表项");
-                                        diagnoseName.add(bean.getDisName());
+                                    if (cryptConfiguer.cryptFlag) {
+                                        if (!lisMappingSet.contains(CryptUtil.encrypt_char(bean.getStandard()) + "__" + CryptUtil.encrypt_char(bean.getRelation())
+                                                + "__" + CryptUtil.encrypt_char(bean.getUniqueName()))) {
+                                            bean.setVerifyUnique("无公表项");
+                                            diagnoseName.add(bean.getDisName());
+                                        } else {
+                                            bean.setVerifyUnique(""); // 将原值清空
+                                        }
                                     } else {
-                                        bean.setVerifyUnique(""); // 将原值清空
+                                        if (!lisMappingSet.contains(bean.getStandard() + "__" + bean.getRelation()
+                                                + "__" + bean.getUniqueName())) {
+                                            bean.setVerifyUnique("无公表项");
+                                            diagnoseName.add(bean.getDisName());
+                                        } else {
+                                            bean.setVerifyUnique(""); // 将原值清空
+                                        }
                                     }
                                 } else { // 公表项数据为空
                                     bean.setVerifyUnique("无公表项");
@@ -727,7 +744,11 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         int count = conceptFacade.count(new QueryWrapper<Concept>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("lib_type", LexiconTypeEnum.DIAGNOSIS.getKey())
-                .eq("lib_name", CryptUtil.encrypt_char(diagnoseWrapper.getDisName()))
+                .eq("lib_name",
+                        cryptConfiguer.cryptFlag ?
+                            CryptUtil.encrypt_char(diagnoseWrapper.getDisName()) :
+                            diagnoseWrapper.getDisName()
+                        )
         );
         if (count == 0) {
             flag = false;
@@ -976,8 +997,14 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
      */
     public boolean verifyExist(Set<String> set, String name, List<Integer> type) {
         for (Integer integer : type) {
-            if (set.contains(CryptUtil.encrypt_char(name) + "_" + integer)) {
-                return true;
+            if (cryptConfiguer.cryptFlag) {
+                if (set.contains(CryptUtil.encrypt_char(name) + "_" + integer)) {
+                    return true;
+                }
+            } else {
+                if (set.contains(name + "_" + integer)) {
+                    return true;
+                }
             }
         }
         return false;