Browse Source

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

gaodm 5 years ago
parent
commit
73e93f82f9

+ 2 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/ConceptBaseDTO.java

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import com.diagbot.annotation.CryptField;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -12,5 +13,6 @@ import lombok.Setter;
 @Setter
 public class ConceptBaseDTO {
     private Long conceptId; // 概念id
+    @CryptField
     private String name;    //概念名称
 }

+ 4 - 3
knowledgeman-service/src/main/java/com/diagbot/dto/OnlyByRootListDTO.java

@@ -1,13 +1,13 @@
 package com.diagbot.dto;
 
-import java.util.Date;
-
+import com.diagbot.annotation.CryptField;
 import com.fasterxml.jackson.annotation.JsonFormat;
-
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * @Description
  * @author rgb
@@ -49,6 +49,7 @@ public class OnlyByRootListDTO {
     /**
      * 关联术语
      */
+	@CryptField
 	@ApiModelProperty(value="关联术语")
     private String otherNames;
     

+ 2 - 0
knowledgeman-service/src/main/java/com/diagbot/dto/PacsSonContactListDTO.java

@@ -1,5 +1,6 @@
 package com.diagbot.dto;
 
+import com.diagbot.annotation.CryptField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -48,6 +49,7 @@ public class PacsSonContactListDTO {
     /**
      * 操作人
      */
+    @CryptField
     @ApiModelProperty(value="操作人")
     private String operName;
 

+ 4 - 3
knowledgeman-service/src/main/java/com/diagbot/dto/SingleRelationListDTO.java

@@ -1,13 +1,13 @@
 package com.diagbot.dto;
 
-import java.util.Date;
-
+import com.diagbot.annotation.CryptField;
 import com.fasterxml.jackson.annotation.JsonFormat;
-
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * @Description
  * @author rgb
@@ -61,6 +61,7 @@ public class SingleRelationListDTO {
     /**
      * 关联术语
      */
+	@CryptField
 	@ApiModelProperty(value="关联术语")
     private String otherNames;
     

+ 19 - 69
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java

@@ -151,86 +151,24 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
      * @return
      */
     public List<ConceptBaseDTO> indexFac(DiseaseIndexVO diseaseIndexVO) {
+        String name = diseaseIndexVO.getName();
         // 设置诊断类型
         diseaseIndexVO.setLibType(LexiconTypeEnum.DIAGNOSIS.getKey());
         List<Diagnose> diagnoseList = this.list(
-                new QueryWrapper<Diagnose>().eq("is_deleted", IsDeleteEnum.N.getKey()));
+                new QueryWrapper<Diagnose>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .like(StringUtil.isNotEmpty(name), "dis_name", name)
+        );
         List<String> disNameList = diagnoseList.stream().map(r -> r.getDisName()).distinct().collect(Collectors.toList());
         if (cryptConfiguer.cryptFlag) {
             CryptUtil.encryptList(disNameList);
+            diseaseIndexVO.setName(CryptUtil.encrypt_char(name));
         }
         diseaseIndexVO.setDisNamList(disNameList);
         return this.index(diseaseIndexVO);
     }
 
 
-    /**
-     * 初始化图谱数据
-     *
-     * @return
-     */
-    public void initNeo() {
-        this.update(new Diagnose(), new UpdateWrapper<Diagnose>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("has_question", HasQuestionEnum.NO_QUESTION.getKey())
-                .set("neo_update",
-                        DateUtil.getDateFromTime(1970, 1, 1, 12, 0, 0))
-        );
-        List<Diagnose> diagnoseList = this.list(new QueryWrapper<Diagnose>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("has_question", HasQuestionEnum.NO_QUESTION.getKey())
-        );
-        List<Long> idList = diagnoseList.stream().map(row -> row.getId()).collect(Collectors.toList());
-        RespDTO<Boolean> respDTO = neoServiceClient.initNeo(idList);
-        RespDTOUtil.respNGDeal(respDTO, "初始化图谱数据失败【远程调用】");
-    }
-
-
-    public String addTest() {
-        StringBuffer sb = new StringBuffer();
-        List<Diagnose> diagnoseList = this.list(new QueryWrapper<Diagnose>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-        );
-        List<String> disName = diagnoseList.stream().map(row -> row.getDisName()).collect(Collectors.toList());
-        List<LibraryInfo> diagnoses = libraryInfoFacade.page(
-                new Page().setSize(100L), new QueryWrapper<LibraryInfo>()
-                        .eq("type_id", 18)
-                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-                        .eq("is_concept", 1)
-                        .notIn(ListUtil.isNotEmpty(disName), "name", disName)
-        ).getRecords();
-        List<Diagnose> diagnoseData = new ArrayList<>();
-        for (LibraryInfo diagnose : diagnoses) {
-            Diagnose bean = new Diagnose();
-            bean.setDisName(diagnose.getName());
-            bean.setCreator("测试9");
-            bean.setModifier("测试9");
-            diagnoseData.add(bean);
-        }
-        Long time1 = System.currentTimeMillis();
-        diagnoseService.saveBatch(diagnoseData);
-        Long time2 = System.currentTimeMillis();
-        sb.append("添加主表测试数据:" + (time2 - time1) / 1000.00 + "秒");
-
-        List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
-        List<DiagnoseDetail> diagnoseDetailData =
-                diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>().eq("diagnose_id", 7L));
-        for (Diagnose diagnose : diagnoseData) {
-            for (DiagnoseDetail detail : diagnoseDetailData) {
-                DiagnoseDetail newDiagDetail = new DiagnoseDetail();
-                BeanUtil.copyProperties(detail, newDiagDetail);
-                newDiagDetail.setId(null);
-                newDiagDetail.setDiagnoseId(diagnose.getId());
-                newDiagDetail.setDisName(diagnose.getDisName());
-                newDiagDetail.setIsDeleted(IsDeleteEnum.N.getKey());
-                diagnoseDetailList.add(newDiagDetail);
-            }
-        }
-        diagnoseDetailService.saveBatch(diagnoseDetailList);
-        return sb.toString();
-    }
-
-
     /**
      * 诊断依据获取详情
      *
@@ -255,11 +193,20 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             }
         }
         if (ListUtil.isNotEmpty(detailList)) {
+            String disName = detailList.get(0).getDisName();
+            if (cryptConfiguer.cryptFlag) {
+                disName = CryptUtil.encrypt_char(disName);
+            }
             LibraryInfo libraryInfo = libraryInfoFacade.getOne(new QueryWrapper<LibraryInfo>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("is_concept", 1)
                     .eq("type_id", LexiconTypeEnum.DIAGNOSIS.getKey())
-                    .eq("name", detailList.get(0).getDisName()), false
+                    .eq("name",
+                            cryptConfiguer.cryptFlag ?
+                                CryptUtil.encrypt_char(detailList.get(0).getDisName()) :
+                                detailList.get(0).getDisName()
+                    ),
+                    false
             );
             if (libraryInfo == null) {
                 res.setDisNameExist(false);
@@ -1048,6 +995,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         if (ListUtil.isNotEmpty(typeList)) {
             List<LibraryInfo> libraryInfoList = this.search(diagnoseSearchVO);
             res = libraryInfoList.stream().map(row -> row.getName()).distinct().collect(Collectors.toList());
+            if (cryptConfiguer.cryptFlag) {
+                CryptUtil.decryptList(res);
+            }
         }
         return res;
     }

+ 11 - 2
knowledgeman-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.ICSSManServiceClient;
 import com.diagbot.client.UserServiceClient;
+import com.diagbot.config.CryptConfiguer;
 import com.diagbot.dto.LisMappingPageDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.Concept;
@@ -15,6 +16,7 @@ import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.LisMappingServiceImpl;
+import com.diagbot.util.CryptUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
@@ -51,6 +53,8 @@ public class LisMappingFacade extends LisMappingServiceImpl {
     private UserServiceClient userServiceClient;
     @Autowired
     private ICSSManServiceClient icssManServiceClient;
+    @Autowired
+    CryptConfiguer cryptConfiguer;
 
     /**
      * 化验公表映射分页信息
@@ -311,9 +315,14 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         // 界面套餐和明细名称需要转换成标准词再从化验公表项获取公表名
         List<LisMappingSearch> res = getUniqueName(lisMappingSearchList);
         if (ListUtil.isNotEmpty(res)) {
-            Map<String, String> map = res.stream().collect(Collectors.toMap((r -> r.getTc() + "__" + r.getMx()), (r -> r.getUniqueName())));
+            Map<String, String> map = res.stream().collect(
+                    Collectors.toMap((r -> r.getTc() + "__" + r.getMx()), (r -> r.getUniqueName())));
             for(LisMappingSearch mappingListVO : lisMappingSearchList) {
-                mappingListVO.setUniqueName(map.get(mappingListVO.getMealName() + "__" + mappingListVO.getItemName()));
+                String uniqueName = map.get(mappingListVO.getMealName() + "__" + mappingListVO.getItemName());
+                mappingListVO.setUniqueName(
+                        cryptConfiguer.cryptFlag ?
+                            CryptUtil.decrypt_char(uniqueName) :
+                            uniqueName);
             }
         }
         return lisMappingSearchList;

+ 5 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/MultContactFacade.java

@@ -2,10 +2,12 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
+import com.diagbot.config.CryptConfiguer;
 import com.diagbot.dto.OnlyByRootListDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.enums.LexiconTypeEnum;
 import com.diagbot.service.impl.RelationServiceImpl;
+import com.diagbot.util.CryptUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
@@ -27,6 +29,8 @@ public class MultContactFacade extends RelationServiceImpl {
 
     @Autowired
     private UserServiceClient userServiceClient;
+    @Autowired
+    private CryptConfiguer cryptConfiguer;
 
     /**
      * 医学术语多层关联维护-列表
@@ -39,6 +43,7 @@ public class MultContactFacade extends RelationServiceImpl {
 
         if (ListUtil.isNotEmpty(ipage.getRecords())) {
             ipage.getRecords().forEach(i -> {
+                i.setLibName(cryptConfiguer.cryptFlag ? CryptUtil.decrypt_char(i.getLibName()) : i.getLibName());
                 i.setLibType(LexiconTypeEnum.getName(i.getLibTypeId().intValue()));
                 i.setLibNameType(i.getLibName() + "(" + i.getLibType() + ")");
             });

+ 4 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/PacsSonContactFacade.java

@@ -2,9 +2,11 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
+import com.diagbot.config.CryptConfiguer;
 import com.diagbot.dto.PacsSonContactListDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.service.impl.RelationServiceImpl;
+import com.diagbot.util.CryptUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.vo.PacsSonContactListVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +26,8 @@ public class PacsSonContactFacade extends RelationServiceImpl {
 
     @Autowired
     private UserServiceClient userServiceClient;
+    @Autowired
+    private CryptConfiguer cryptConfiguer;
 
     /**
      * 辅检项目维护-列表

+ 5 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/RelationContactFacade.java

@@ -3,6 +3,7 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.UserServiceClient;
+import com.diagbot.config.CryptConfiguer;
 import com.diagbot.dto.RelationNodeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SingleRelationListDTO;
@@ -17,6 +18,7 @@ import com.diagbot.exception.CommonException;
 import com.diagbot.service.RelationService;
 import com.diagbot.service.impl.RelationOrderServiceImpl;
 import com.diagbot.service.impl.RelationServiceImpl;
+import com.diagbot.util.CryptUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
@@ -58,6 +60,8 @@ public class RelationContactFacade extends RelationServiceImpl {
     private RelationOrderServiceImpl relationOrderServiceImpl;
     @Autowired
     private UserServiceClient userServiceClient;
+    @Autowired
+    private CryptConfiguer cryptConfiguer;
 
     /**
      * 医学术语关联维护-列表
@@ -76,6 +80,7 @@ public class RelationContactFacade extends RelationServiceImpl {
             RespDTO<Map<String, String>> respDTO = userServiceClient.getUserInfoByIds(ids);
             RespDTOUtil.respNGDealCover(respDTO, "获取用户信息失败");
             ipage.getRecords().forEach(i -> {
+                i.setLibName(cryptConfiguer.cryptFlag ? CryptUtil.decrypt_char(i.getLibName()) : i.getLibName());
                 i.setOperName(respDTO.data.get(i.getOperName()));
                 i.setLibType(LexiconTypeEnum.getName(i.getLibTypeId().intValue()));
                 i.setLibNameType(i.getLibName() + "(" + i.getLibType() + ")");

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/vo/DiseaseIndexVO.java

@@ -1,5 +1,6 @@
 package com.diagbot.vo;
 
+import com.diagbot.annotation.CryptField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -27,7 +28,6 @@ public class DiseaseIndexVO {
     private int libType;
 
     @ApiModelProperty(value = "已保存诊断列表", hidden = true)
-    @NotNull(message="已保存诊断列表")
     private List<String> disNamList;
 
 }

+ 3 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/LisMappingSearch.java

@@ -1,5 +1,6 @@
 package com.diagbot.vo;
 
+import com.diagbot.annotation.CryptField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -15,9 +16,11 @@ import javax.validation.constraints.NotNull;
 @Setter
 public class LisMappingSearch {
     private String index;
+    @CryptField
     private String mealName;        // 化验标准词套餐名称
     @ApiModelProperty(hidden = true)
     private String tc;              // 化验同义词套餐名称
+    @CryptField
     private String itemName;        // 化验标准词明细名称
     @ApiModelProperty(hidden = true)
     private String mx;              // 化验同义词明细名称

+ 2 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/OnlyByRootListVO.java

@@ -7,6 +7,7 @@ import javax.validation.constraints.NotNull;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
+import com.diagbot.annotation.CryptField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -24,6 +25,7 @@ public class OnlyByRootListVO extends Page {
     /**
      * 标准术语名称
      */
+    @CryptField
     @ApiModelProperty(value="标准术语名称")
     private String name;
     

+ 2 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/PacsSonContactListVO.java

@@ -1,6 +1,7 @@
 package com.diagbot.vo;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.diagbot.annotation.CryptField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -17,6 +18,7 @@ public class PacsSonContactListVO  extends Page {
     /**
      * 术语名称
      */
+    @CryptField
     @ApiModelProperty(value="术语名称")
     private String name;
 

+ 2 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/SingleRelationListVO.java

@@ -5,6 +5,7 @@ import javax.validation.constraints.NotNull;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
+import com.diagbot.annotation.CryptField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -22,6 +23,7 @@ public class SingleRelationListVO extends Page {
     /**
      * 标准术语名称
      */
+    @CryptField
     @ApiModelProperty(value="标准术语名称")
     private String name;
     

+ 0 - 21
knowledgeman-service/src/main/java/com/diagbot/web/DiagnoseController.java

@@ -142,25 +142,4 @@ public class DiagnoseController {
         libraryInfoFacade.loadRedisWithDiagnose();
         return RespDTO.onSuc(true);
     }
-
-
-    @ApiOperation(value = "诊断依据-添加测试数据[by:zhoutg]")
-    @PostMapping("/add")
-    @SysLogger("add")
-    @ApiIgnore
-    public RespDTO<String> addTest() {
-        String str = diagnoseFacade.addTest();
-        return RespDTO.onSuc(str);
-    }
-
-
-    @ApiOperation(value = "诊断依据-初始化图谱数据[by:zhoutg]")
-    @PostMapping("/initNeo")
-    @SysLogger("initNeo")
-    @Transactional
-    @ApiIgnore
-    public RespDTO<Boolean> initNeo() {
-        diagnoseFacade.initNeo();
-        return RespDTO.onSuc(true);
-    }
 }