浏览代码

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

wangyu 6 年之前
父节点
当前提交
ae487a8585

+ 2 - 2
config-server/src/main/resources/shared/user-service-dev.yml

@@ -73,13 +73,13 @@ spring:
     host: 192.168.2.236  #Redis服务器地址
     port: 6379 # Redis服务器连接端口
     password: lantone # Redis服务器连接密码(默认为空)
-    jedis:
+    lettuce:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
         max-idle: 5 # 连接池中的最大空闲连接
         max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
         min-idle: 0 # 连接池中的最小空闲连接
-    timeout: 0 # 连接超时时间(毫秒)
+    timeout: 20000 # 连接超时时间(毫秒)
 
 #mybatis
 mybatis-plus:

+ 2 - 2
config-server/src/main/resources/shared/user-service-local.yml

@@ -73,13 +73,13 @@ spring:
     host: 192.168.2.236  #Redis服务器地址
     port: 6379 # Redis服务器连接端口
     password: lantone # Redis服务器连接密码(默认为空)
-    jedis:
+    lettuce:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
         max-idle: 5 # 连接池中的最大空闲连接
         max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
         min-idle: 0 # 连接池中的最小空闲连接
-    timeout: 0 # 连接超时时间(毫秒)
+    timeout: 20000 # 连接超时时间(毫秒)
 
 #mybatis
 mybatis-plus:

+ 2 - 2
config-server/src/main/resources/shared/user-service-pro.yml

@@ -73,13 +73,13 @@ spring:
     host: 192.168.2.236  #Redis服务器地址
     port: 6379 # Redis服务器连接端口
     password: lantone # Redis服务器连接密码(默认为空)
-    jedis:
+    lettuce:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
         max-idle: 5 # 连接池中的最大空闲连接
         max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
         min-idle: 0 # 连接池中的最小空闲连接
-    timeout: 0 # 连接超时时间(毫秒)
+    timeout: 20000 # 连接超时时间(毫秒)
 
 #mybatis
 mybatis-plus:

+ 2 - 2
config-server/src/main/resources/shared/user-service-test.yml

@@ -73,13 +73,13 @@ spring:
     host: 192.168.2.241  #Redis服务器地址
     port: 6379 # Redis服务器连接端口
     password: lantone # Redis服务器连接密码(默认为空)
-    jedis:
+    lettuce:
       pool:
         max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
         max-idle: 5 # 连接池中的最大空闲连接
         max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
         min-idle: 0 # 连接池中的最小空闲连接
-    timeout: 0 # 连接超时时间(毫秒)
+    timeout: 20000 # 连接超时时间(毫秒)
 
 #mybatis
 mybatis-plus:

+ 51 - 46
icss-service/src/main/java/com/diagbot/facade/IndexDataFacade.java

@@ -1,5 +1,17 @@
 package com.diagbot.facade;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.diagbot.dto.IndexDataDTO;
 import com.diagbot.dto.ItemIndexDTO;
@@ -9,20 +21,10 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.IndexDataServiceImpl;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.IndexDataFindVO;
 import com.diagbot.vo.IndexDataSaveVO;
 import com.diagbot.vo.IndexDataVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * @author wangfeng
@@ -85,43 +87,46 @@ public class IndexDataFacade extends IndexDataServiceImpl {
      * @param indexDataSaveVO
      * @return
      */
-    public boolean saveIndexDatas(IndexDataSaveVO indexDataSaveVO) {
-        // 先查询该用户相同就诊号所保留的数据,将其删除
-        UpdateWrapper<IndexData> IndexDataUpdate = new UpdateWrapper<>();
-        Map<String, Object> mapAll = new HashMap<>();
-        mapAll.put("inquiry_code", indexDataSaveVO.getInquiryCode());
-        mapAll.put("patient_id", indexDataSaveVO.getPatientId());
-        IndexDataUpdate.allEq(mapAll).eq("is_deleted", IsDeleteEnum.N.getKey())
-                .set("is_deleted", IsDeleteEnum.Y.getKey())
-                // .set("modifier",UserUtils.getCurrentPrincipleID())
-                .set("gmt_modified", DateUtil.now());
-        boolean res = update(new IndexData(), IndexDataUpdate);
+	public boolean saveIndexDatas(IndexDataSaveVO indexDataSaveVO) {
+		boolean res = false;
+		if (null != indexDataSaveVO && ListUtil.isNotEmpty(indexDataSaveVO.getIndexData())) {
+			// 先查询该用户相同就诊号所保留的数据,将其删除
+			UpdateWrapper<IndexData> IndexDataUpdate = new UpdateWrapper<>();
+			Map<String, Object> mapAll = new HashMap<>();
+			mapAll.put("inquiry_code", indexDataSaveVO.getInquiryCode());
+			mapAll.put("patient_id", indexDataSaveVO.getPatientId());
+			IndexDataUpdate.allEq(mapAll).eq("is_deleted", IsDeleteEnum.N.getKey())
+					.set("is_deleted", IsDeleteEnum.Y.getKey())
+					// .set("modifier",UserUtils.getCurrentPrincipleID())
+					.set("gmt_modified", DateUtil.now());
+			res = update(new IndexData(), IndexDataUpdate);
 
-        // 遍历数据进行保存
-        List<IndexData> IndexDataList = new ArrayList<IndexData>();
-        List<IndexDataVO> indexDatas = indexDataSaveVO.getIndexData();
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        for (IndexDataVO indexDataNew : indexDatas) {
-            IndexData indexData = new IndexData();
-            indexData.setCreator(indexDataSaveVO.getDoctorId().toString());
-            indexData.setGmtCreate(DateUtil.now());
-            indexData.setIndexUnique(indexDataNew.getIndexUnique());
-            try {
-                indexData.setCreatTime(sdf.parse(indexDataNew.getCreatTime()));
-            } catch (ParseException e) {
-                throw new CommonException(CommonErrorCode.NOT_EXISTS, "时间格式有误");
-            }
-            indexData.setIndexUnit(indexDataNew.getIndexUnit());
-            indexData.setIndexValue(indexDataNew.getIndexValue());
-            indexData.setInquiryCode(indexDataSaveVO.getInquiryCode());
-            indexData.setIsAbnormal(indexDataNew.getIsAbnormal());
-            indexData.setPatientId(indexDataSaveVO.getPatientId());
-            IndexDataList.add(indexData);
-        }
+			// 遍历数据进行保存
+			List<IndexData> IndexDataList = new ArrayList<IndexData>();
+			List<IndexDataVO> indexDatas = indexDataSaveVO.getIndexData();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+			for (IndexDataVO indexDataNew : indexDatas) {
+				IndexData indexData = new IndexData();
+				indexData.setCreator(indexDataSaveVO.getDoctorId().toString());
+				indexData.setGmtCreate(DateUtil.now());
+				indexData.setIndexUnique(indexDataNew.getIndexUnique());
+				try {
+					indexData.setCreatTime(sdf.parse(indexDataNew.getCreatTime()));
+				} catch (ParseException e) {
+					throw new CommonException(CommonErrorCode.NOT_EXISTS, "时间格式有误");
+				}
+				indexData.setIndexUnit(indexDataNew.getIndexUnit());
+				indexData.setIndexValue(indexDataNew.getIndexValue());
+				indexData.setInquiryCode(indexDataSaveVO.getInquiryCode());
+				indexData.setIsAbnormal(indexDataNew.getIsAbnormal());
+				indexData.setPatientId(indexDataSaveVO.getPatientId());
+				IndexDataList.add(indexData);
+			}
 
-        res = insertIndexDataList(IndexDataList);
+			res = insertIndexDataList(IndexDataList);
+		}
 
-        return res;
-    }
+		return res;
+	}
 
 }

+ 35 - 30
icssman-service/src/main/java/com/diagbot/facade/EvaluationModuleMappingFacade.java

@@ -102,9 +102,11 @@ public class EvaluationModuleMappingFacade extends EvaluationModuleMappingServic
 	 * @return
 	 */
 	public boolean updateEvaluationModuleList(EvaluationModuleListVO evaluationModuleListVO) {
+		boolean res = false;
+		if (evaluationModuleListVO != null && ListUtil.isNotEmpty(evaluationModuleListVO.getEvaluationModuleData())) {
 		EvaluationModuleDiseaseIdVO evaluationModuleDiseaseIdVO = new EvaluationModuleDiseaseIdVO();
 		evaluationModuleDiseaseIdVO.setDiseaseId(evaluationModuleListVO.getDiseaseId());
-		boolean res = cancelEvaluationModuleAll(evaluationModuleDiseaseIdVO);
+		res = cancelEvaluationModuleAll(evaluationModuleDiseaseIdVO);
 		List<EvaluationModuleMapping> evaluationModuleLsit = new ArrayList<EvaluationModuleMapping>();
 		List<EvaluationModuleVO> data = evaluationModuleListVO.getEvaluationModuleData();
 		for (EvaluationModuleVO dataNew : data) {
@@ -122,7 +124,7 @@ public class EvaluationModuleMappingFacade extends EvaluationModuleMappingServic
 		}
 
 		res = evaluationModuleMappingService.saveBatch(evaluationModuleLsit);
-
+		}
 		return res;
 	}
 
@@ -132,37 +134,40 @@ public class EvaluationModuleMappingFacade extends EvaluationModuleMappingServic
 	 * @return
 	 */
 	public boolean saveEvaluationModuleList(EvaluationModuleListVO evaluationModuleListVO) {
-		List<EvaluationModuleVO> evaluationData = evaluationModuleListVO.getEvaluationModuleData();
-		List<String> regionName = new ArrayList<>();
-		for (EvaluationModuleVO e : evaluationData) {
-			regionName.add(e.getRegionName());
-		}
+		boolean res = false;
+		if (evaluationModuleListVO != null && ListUtil.isNotEmpty(evaluationModuleListVO.getEvaluationModuleData())) {
+			List<EvaluationModuleVO> evaluationData = evaluationModuleListVO.getEvaluationModuleData();
+			List<String> regionName = new ArrayList<>();
+			for (EvaluationModuleVO e : evaluationData) {
+				regionName.add(e.getRegionName());
+			}
 
-		QueryWrapper<EvaluationModuleMapping> evaluationQuery = new QueryWrapper<>();
+			QueryWrapper<EvaluationModuleMapping> evaluationQuery = new QueryWrapper<>();
 
-		evaluationQuery.in("region_name", regionName).eq("is_deleted", IsDeleteEnum.N.getKey());
-		List<EvaluationModuleMapping> dataUnique = list(evaluationQuery);
-		if (dataUnique != null && dataUnique.size() > 0) {
-			throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
-					"该'" + dataUnique.get(0).getRegionName() + "'已存在");
-		}
-		List<EvaluationModuleMapping> evaluationModuleLsit = new ArrayList<EvaluationModuleMapping>();
-		List<EvaluationModuleVO> data = evaluationModuleListVO.getEvaluationModuleData();
-		for (EvaluationModuleVO dataNew : data) {
-			EvaluationModuleMapping evaMou = new EvaluationModuleMapping();
-			evaMou.setDiseaseId(dataNew.getDiseaseId());
-			evaMou.setCreator(UserUtils.getCurrentPrincipleID());
-			evaMou.setGmtCreate(DateUtil.now());
-			evaMou.setGmtModified(DateUtil.now());
-			evaMou.setRegionName(dataNew.getRegionName());
-			evaMou.setRegionType(dataNew.getRegionType());
-			evaMou.setModifier(UserUtils.getCurrentPrincipleID());
-			evaMou.setOrderNo(dataNew.getOrderNo());
-			evaMou.setRemark(dataNew.getRemark());
-			evaluationModuleLsit.add(evaMou);
+			evaluationQuery.in("region_name", regionName).eq("is_deleted", IsDeleteEnum.N.getKey());
+			List<EvaluationModuleMapping> dataUnique = list(evaluationQuery);
+			if (dataUnique != null && dataUnique.size() > 0) {
+				throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+						"该'" + dataUnique.get(0).getRegionName() + "'已存在");
+			}
+			List<EvaluationModuleMapping> evaluationModuleLsit = new ArrayList<EvaluationModuleMapping>();
+			List<EvaluationModuleVO> data = evaluationModuleListVO.getEvaluationModuleData();
+			for (EvaluationModuleVO dataNew : data) {
+				EvaluationModuleMapping evaMou = new EvaluationModuleMapping();
+				evaMou.setDiseaseId(dataNew.getDiseaseId());
+				evaMou.setCreator(UserUtils.getCurrentPrincipleID());
+				evaMou.setGmtCreate(DateUtil.now());
+				evaMou.setGmtModified(DateUtil.now());
+				evaMou.setRegionName(dataNew.getRegionName());
+				evaMou.setRegionType(dataNew.getRegionType());
+				evaMou.setModifier(UserUtils.getCurrentPrincipleID());
+				evaMou.setOrderNo(dataNew.getOrderNo());
+				evaMou.setRemark(dataNew.getRemark());
+				evaluationModuleLsit.add(evaMou);
+			}
+			res = evaluationModuleMappingService.saveBatch(evaluationModuleLsit);
 		}
-
-		return evaluationModuleMappingService.saveBatch(evaluationModuleLsit);
+		return res;
 	}
 
 	/**

+ 64 - 56
icssman-service/src/main/java/com/diagbot/facade/IndexConfigFacade.java

@@ -25,6 +25,7 @@ import com.diagbot.service.IndexConfigService;
 import com.diagbot.service.impl.IndexConfigServiceImpl;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.util.UserUtils;
 import com.diagbot.vo.IndexConfigDiseaseIdVO;
 import com.diagbot.vo.IndexConfigDiseaseNameVO;
@@ -96,71 +97,78 @@ public class IndexConfigFacade extends IndexConfigServiceImpl {
 	 * @return
 	 */
 	public boolean updateIndexConfigList(IndexConfigListVO indexConfigListVO) {
-		
-		/*UpdateWrapper<IndexConfig> IndexConfigNew =new UpdateWrapper<>();
-		IndexConfigNew.eq("disease_id",indexConfigListVO.getDiseaseId()).eq("is_deleted", IsDeleteEnum.N.getKey())
-		.set("is_deleted", IsDeleteEnum.Y.getKey()).set("modifier", UserUtils.getCurrentPrincipleID())
-        .set("gmt_modified", DateUtil.now());
-		boolean res = update(new IndexConfig(), IndexConfigNew);*/
-		IndexConfigDiseaseIdVO indexConfigDiseaseIdVO =new IndexConfigDiseaseIdVO();
-		indexConfigDiseaseIdVO.setDiseaseId(indexConfigListVO.getDiseaseId());
-		boolean res =  cancelIndexConfigAlls(indexConfigDiseaseIdVO);
-		List<IndexConfig> IndexConfigLsit= new ArrayList<IndexConfig>();
-		List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
-		for(IndexConfigVO dataNew : data){
-			IndexConfig IndexConfig= new IndexConfig();
-			IndexConfig.setDiseaseId(dataNew.getDiseaseId());
-			IndexConfig.setCreator(UserUtils.getCurrentPrincipleID());
-			IndexConfig.setGmtCreate(DateUtil.now());
-			IndexConfig.setGmtModified(DateUtil.now());
-			IndexConfig.setIndexDesc(dataNew.getIndexDesc());
-			IndexConfig.setIndexUnique(dataNew.getIndexUnique());
-			IndexConfig.setModifier(UserUtils.getCurrentPrincipleID());
-			IndexConfig.setOrderNo(dataNew.getOrderNo());
-			IndexConfig.setRemark(dataNew.getRemark());
-			IndexConfigLsit.add(IndexConfig);
+		boolean res = false;
+		if (indexConfigListVO != null && ListUtil.isNotEmpty(indexConfigListVO.getIndexConfigData())) {
+			IndexConfigDiseaseIdVO indexConfigDiseaseIdVO = new IndexConfigDiseaseIdVO();
+			indexConfigDiseaseIdVO.setDiseaseId(indexConfigListVO.getDiseaseId());
+			res = cancelIndexConfigAlls(indexConfigDiseaseIdVO);
+			List<IndexConfig> IndexConfigLsit = new ArrayList<IndexConfig>();
+			List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
+			for (IndexConfigVO dataNew : data) {
+				IndexConfig IndexConfig = new IndexConfig();
+				IndexConfig.setDiseaseId(dataNew.getDiseaseId());
+				IndexConfig.setCreator(UserUtils.getCurrentPrincipleID());
+				IndexConfig.setGmtCreate(DateUtil.now());
+				IndexConfig.setGmtModified(DateUtil.now());
+				IndexConfig.setIndexDesc(dataNew.getIndexDesc());
+				IndexConfig.setIndexUnique(dataNew.getIndexUnique());
+				IndexConfig.setModifier(UserUtils.getCurrentPrincipleID());
+				IndexConfig.setOrderNo(dataNew.getOrderNo());
+				IndexConfig.setRemark(dataNew.getRemark());
+				IndexConfigLsit.add(IndexConfig);
+			}
+
+			res = indexConfigService.saveBatch(IndexConfigLsit);
+
 		}
-		
-		res = indexConfigService.saveBatch(IndexConfigLsit);
-		
+
 		return res;
 	}
 	
+	/**
+	 * 
+	 * @param indexConfigListVO
+	 * @return
+	 */
 	public boolean saveIndexConfigList(IndexConfigListVO indexConfigListVO) {
-		List<IndexConfigVO> indexConfigData = indexConfigListVO.getIndexConfigData();
-		List<String> indexUnique = new ArrayList<>();
-		for(IndexConfigVO e: indexConfigData){
-			indexUnique.add(e.getIndexUnique());
-		}
-		
-        QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<>();
+		boolean res = false;
+		if (indexConfigListVO != null && ListUtil.isNotEmpty(indexConfigListVO.getIndexConfigData())) {
+			List<IndexConfigVO> indexConfigData = indexConfigListVO.getIndexConfigData();
+			List<String> indexUnique = new ArrayList<>();
+			for (IndexConfigVO e : indexConfigData) {
+				indexUnique.add(e.getIndexUnique());
+			}
+
+			QueryWrapper<IndexConfig> IndexConfigQuery = new QueryWrapper<>();
+
+			IndexConfigQuery.in("index_unique", indexUnique);
+			List<IndexConfig> dataUnique = list(IndexConfigQuery);
+			if (dataUnique != null && dataUnique.size() > 0) {
+				throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,
+						"该'" + dataUnique.get(0).getIndexUnique() + "'已存在");
+			}
 
-        IndexConfigQuery.in("index_unique", indexUnique);
-        List<IndexConfig> dataUnique = list(IndexConfigQuery);
-        if(dataUnique != null && dataUnique.size()>0){
-        	 throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该'"+dataUnique.get(0).getIndexUnique()+"'已存在");	       	
-        }
-        
-        List<IndexConfig> IndexConfigLsit= new ArrayList<IndexConfig>();
-		List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
-		for(IndexConfigVO dataNew : data){
-			IndexConfig IndexConfig= new IndexConfig();
-			IndexConfig.setDiseaseId(dataNew.getDiseaseId());
-			IndexConfig.setCreator(UserUtils.getCurrentPrincipleID());
-			IndexConfig.setGmtCreate(DateUtil.now());
-			IndexConfig.setGmtModified(DateUtil.now());
-			IndexConfig.setIndexDesc(dataNew.getIndexDesc());
-			IndexConfig.setIndexUnique(dataNew.getIndexUnique());
-			IndexConfig.setModifier(UserUtils.getCurrentPrincipleID());
-			IndexConfig.setOrderNo(dataNew.getOrderNo());
-			IndexConfig.setRemark(dataNew.getRemark());
-			IndexConfigLsit.add(IndexConfig);
+			List<IndexConfig> IndexConfigLsit = new ArrayList<IndexConfig>();
+			List<IndexConfigVO> data = indexConfigListVO.getIndexConfigData();
+			for (IndexConfigVO dataNew : data) {
+				IndexConfig IndexConfig = new IndexConfig();
+				IndexConfig.setDiseaseId(dataNew.getDiseaseId());
+				IndexConfig.setCreator(UserUtils.getCurrentPrincipleID());
+				IndexConfig.setGmtCreate(DateUtil.now());
+				IndexConfig.setGmtModified(DateUtil.now());
+				IndexConfig.setIndexDesc(dataNew.getIndexDesc());
+				IndexConfig.setIndexUnique(dataNew.getIndexUnique());
+				IndexConfig.setModifier(UserUtils.getCurrentPrincipleID());
+				IndexConfig.setOrderNo(dataNew.getOrderNo());
+				IndexConfig.setRemark(dataNew.getRemark());
+				IndexConfigLsit.add(IndexConfig);
+			}
+			res = indexConfigService.saveBatch(IndexConfigLsit);
 		}
-		
-		return indexConfigService.saveBatch(IndexConfigLsit);
+
+		return res;
 	}
 	
-	
 	/**
 	 * 
 	 * @param indexConfigDiseaseIdVO

+ 4 - 3
icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -574,12 +574,13 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         paramMap.put("notControlType", questionIndexVO.getNotControlType());
         List<QuestionInfo> res = this.index(paramMap);
         //过滤出没有量表内容标签
-        if(questionIndexVO.getFilterList().contains("scale")) {
+        if (ListUtil.isNotEmpty(questionIndexVO.getFilterList()) &&
+                questionIndexVO.getFilterList().contains("scale")) {
             List<ScaleContent> scaleContents = scaleContentFacade.list(new QueryWrapper<ScaleContent>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey()));
             Set<Long> ids = scaleContents.stream().map(row -> row.getScaleId()).collect(Collectors.toSet());
-            for(int i = 0; i<res.size(); i++) {
-                if(ids.contains(res.get(i).getId())) {
+            for (int i = 0; i < res.size(); i++) {
+                if (ids.contains(res.get(i).getId())) {
                     res.remove(i--);
                 }
             }

+ 3 - 0
icssman-service/src/main/java/com/diagbot/vo/EvaluationModuleDiseaseIdVO.java

@@ -1,5 +1,7 @@
 package com.diagbot.vo;
 
+import javax.validation.constraints.NotNull;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -15,5 +17,6 @@ public class EvaluationModuleDiseaseIdVO {
 	/**
 	 * 疾病ID
 	 */
+	@NotNull(message = "请输入疾病id")
 	private Long diseaseId;
 }

+ 3 - 0
icssman-service/src/main/java/com/diagbot/vo/EvaluationModuleListVO.java

@@ -2,6 +2,8 @@ package com.diagbot.vo;
 
 import java.util.List;
 
+import javax.validation.constraints.NotNull;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -15,6 +17,7 @@ import lombok.Setter;
 @Getter
 public class EvaluationModuleListVO {
 
+	@NotNull(message = "请输入疾病id")
 	private Long diseaseId;
 	
 	private List<EvaluationModuleVO> evaluationModuleData;

+ 3 - 0
icssman-service/src/main/java/com/diagbot/vo/IndexConfigDiseaseIdVO.java

@@ -1,5 +1,7 @@
 package com.diagbot.vo;
 
+import javax.validation.constraints.NotNull;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -15,5 +17,6 @@ public class IndexConfigDiseaseIdVO {
 	/**
 	 * 疾病ID
 	 */
+	@NotNull(message = "请输入疾病id")
 	private Long diseaseId; 
 }

+ 4 - 1
icssman-service/src/main/java/com/diagbot/vo/IndexConfigListVO.java

@@ -2,6 +2,8 @@ package com.diagbot.vo;
 
 import java.util.List;
 
+import javax.validation.constraints.NotNull;
+
 import lombok.Getter;
 import lombok.Setter;
 
@@ -14,7 +16,8 @@ import lombok.Setter;
 @Setter
 @Getter
 public class IndexConfigListVO {
-
+	
+	@NotNull(message = "请输入疾病id")
 	private Long diseaseId;
 	
 	private List<IndexConfigVO> indexConfigData;

+ 44 - 42
icssman-service/src/main/java/com/diagbot/web/IndexConfigController.java

@@ -1,6 +1,5 @@
 package com.diagbot.web;
 
-
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,63 +32,66 @@ import io.swagger.annotations.ApiOperation;
 @RestController
 @RequestMapping("/indexConfig")
 @Api(value = "慢病指标值关联维护API[by:wangfeng]", tags = { "WF-2期-慢病指标值关联维护API" })
-@SuppressWarnings("unchecked") 
+@SuppressWarnings("unchecked")
 public class IndexConfigController {
-	
+
 	@Autowired
 	IndexConfigFacade indexConfigFacade;
-	
-	@ApiOperation(value = "分页模糊查询慢病指标值关联维护[by:wangfeng]", notes = "")
-    @PostMapping("/queryIndexConfigPages")
-    @SysLogger("queryIndexConfigPages")
-    @Transactional
-    public RespDTO<IPage<IndexConfigDTO>> queryIndexConfigPages(@RequestBody IndexConfigDiseaseNameVO indexConfigDiseaseNameVO) {
 
-    	IPage<IndexConfigDTO> data = indexConfigFacade.queryIndexConfigPage(indexConfigDiseaseNameVO);
+	@ApiOperation(value = "分页模糊查询慢病指标值关联维护[by:wangfeng]", notes = "diseaseName:慢病名字")
+	@PostMapping("/queryIndexConfigPages")
+	@SysLogger("queryIndexConfigPages")
+	@Transactional
+	public RespDTO<IPage<IndexConfigDTO>> queryIndexConfigPages(
+			@RequestBody IndexConfigDiseaseNameVO indexConfigDiseaseNameVO) {
+
+		IPage<IndexConfigDTO> data = indexConfigFacade.queryIndexConfigPage(indexConfigDiseaseNameVO);
 
-        return RespDTO.onSuc(data);
-    }
+		return RespDTO.onSuc(data);
+	}
 
-	@ApiOperation(value = "获取慢病指标值关联维护[by:wangfeng]", notes = "")
-    @PostMapping("/getIndexConfigLists")
-    @SysLogger("getIndexConfigLists")
-    @Transactional
-    public RespDTO<List<IndexConfigAllDTO>> getIndexConfigLists(@RequestBody IndexConfigDiseaseIdVO indexConfigDiseaseIdVO) {
+	@ApiOperation(value = "获取慢病指标值关联维护[by:wangfeng]", notes = "diseaseId : 慢病id")
+	@PostMapping("/getIndexConfigLists")
+	@SysLogger("getIndexConfigLists")
+	@Transactional
+	public RespDTO<List<IndexConfigAllDTO>> getIndexConfigLists(
+			@RequestBody IndexConfigDiseaseIdVO indexConfigDiseaseIdVO) {
 
 		List<IndexConfigAllDTO> data = indexConfigFacade.getIndexConfigLists(indexConfigDiseaseIdVO);
 
-        return RespDTO.onSuc(data);
-    }
-	
-	@ApiOperation(value = "慢病指标值关联维护——修改关联[by:wangfeng]", notes = "")
-    @PostMapping("/updateIndexConfigList")
-    @SysLogger("updateIndexConfigList")
-    @Transactional
-    public RespDTO<Boolean> updateIndexConfigList(@RequestBody IndexConfigListVO indexConfigListVO) {
+		return RespDTO.onSuc(data);
+	}
+
+	@ApiOperation(value = "慢病指标值关联维护——修改关联[by:wangfeng]", notes = "指标公表名+indexUnique; 疾病id+diseaseId;指标描述+indexDesc; 显示顺序+ orderNo; 备注+remark;")
+	@PostMapping("/updateIndexConfigList")
+	@SysLogger("updateIndexConfigList")
+	@Transactional
+	public RespDTO<Boolean> updateIndexConfigList(@RequestBody IndexConfigListVO indexConfigListVO) {
 
 		boolean res = indexConfigFacade.updateIndexConfigList(indexConfigListVO);
 
-        return RespDTO.onSuc(res);
-    }
-	@ApiOperation(value = "慢病指标值关联维护——添加关联[by:wangfeng]", notes = "")
-    @PostMapping("/saveIndexConfigLists")
-    @SysLogger("saveIndexConfigLists")
-    @Transactional
-    public RespDTO<Boolean> saveIndexConfigLists(@RequestBody IndexConfigListVO indexConfigListVO) {
+		return RespDTO.onSuc(res);
+	}
+
+	@ApiOperation(value = "慢病指标值关联维护——添加关联[by:wangfeng]", notes = "指标公表名+indexUnique; 疾病id+diseaseId;指标描述+indexDesc; 显示顺序+ orderNo; 备注+remark;")
+	@PostMapping("/saveIndexConfigLists")
+	@SysLogger("saveIndexConfigLists")
+	@Transactional
+	public RespDTO<Boolean> saveIndexConfigLists(@RequestBody IndexConfigListVO indexConfigListVO) {
 
 		boolean res = indexConfigFacade.saveIndexConfigList(indexConfigListVO);
 
-        return RespDTO.onSuc(res);
-    }
-	
-	@ApiOperation(value = "删除慢病指标值关联维护[by:wangfeng]", notes = "")
-    @PostMapping("/cancelIndexConfigAlls")
-    @SysLogger("cancelIndexConfigAlls")
-    @Transactional
-    public RespDTO<Boolean> cancelIndexConfigAlls(@RequestBody IndexConfigDiseaseIdVO indexConfigDiseaseIdVO) {
+		return RespDTO.onSuc(res);
+	}
+
+	@ApiOperation(value = "删除慢病指标值关联维护[by:wangfeng]", notes = "请输入疾病  id :diseaseId;")
+	@PostMapping("/cancelIndexConfigAlls")
+	@SysLogger("cancelIndexConfigAlls")
+	@Transactional
+	public RespDTO<Boolean> cancelIndexConfigAlls(@RequestBody IndexConfigDiseaseIdVO indexConfigDiseaseIdVO) {
 
 		boolean res = indexConfigFacade.cancelIndexConfigAlls(indexConfigDiseaseIdVO);
 
-        return RespDTO.onSuc(res);
-    }
+		return RespDTO.onSuc(res);
+	}
 }

+ 3 - 3
icssman-service/src/main/java/com/diagbot/web/LisMappingController.java

@@ -57,10 +57,10 @@ public class LisMappingController {
             notes = "mealName:大项名称,必填<br>" +
                     "itemName:小项名称<br>" +
                     "uniqueName:公表名称,必填<br>")
-    @PostMapping("/addLisMapping")
-    @SysLogger("addLisMapping")
+    @PostMapping("/saveLisMapping")
+    @SysLogger("saveLisMapping")
     @Transactional
-    public RespDTO<Boolean> addLisMapping(@RequestBody @Valid LisMappingVO lisMappingVO) {
+    public RespDTO<Boolean> saveLisMapping(@RequestBody @Valid LisMappingVO lisMappingVO) {
         return RespDTO.onSuc(lisMappingFacade.saveLisMapping(lisMappingVO));
     }
 

+ 16 - 16
user-service/pom.xml

@@ -157,29 +157,29 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-redis</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>redis.clients</groupId>
-                    <artifactId>jedis</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>io.lettuce</groupId>
-                    <artifactId>lettuce-core</artifactId>
-                </exclusion>
-            </exclusions>
+            <!--<exclusions>-->
+                <!--<exclusion>-->
+                    <!--<groupId>redis.clients</groupId>-->
+                    <!--<artifactId>jedis</artifactId>-->
+                <!--</exclusion>-->
+                <!--<exclusion>-->
+                    <!--<groupId>io.lettuce</groupId>-->
+                    <!--<artifactId>lettuce-core</artifactId>-->
+                <!--</exclusion>-->
+            <!--</exclusions>-->
         </dependency>
         <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
-        <dependency>
-            <groupId>redis.clients</groupId>
-            <artifactId>jedis</artifactId>
-            <version>2.9.0</version>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>redis.clients</groupId>-->
+            <!--<artifactId>jedis</artifactId>-->
+            <!--<version>2.9.0</version>-->
+        <!--</dependency>-->
         <!--spring2.0集成redis所需common-pool2-->
         <!-- 必须加上,jedis依赖此  -->
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-pool2</artifactId>
-            <version>2.6.0</version>
+            <!--<version>2.6.0</version>-->
         </dependency>
 
         <dependency>

+ 97 - 66
user-service/src/main/java/com/diagbot/config/RedisConfigurer.java

@@ -1,11 +1,12 @@
 package com.diagbot.config;
 
-import com.diagbot.util.BeanUtil;
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.CacheManager;
 import org.springframework.cache.annotation.CachingConfigurerSupport;
@@ -13,13 +14,20 @@ import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.cache.interceptor.KeyGenerator;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.data.redis.cache.RedisCacheConfiguration;
 import org.springframework.data.redis.cache.RedisCacheManager;
-import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
+import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
+import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;
+import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
 import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializationContext;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
-import redis.clients.jedis.JedisPoolConfig;
+
+import java.time.Duration;
 
 @Configuration
 @EnableCaching
@@ -44,50 +52,46 @@ public class RedisConfigurer extends CachingConfigurerSupport {
     private int port;
     @Value("${spring.redis.timeout}")
     private int timeout;
-    @Value("${spring.redis.jedis.pool.max-active}")
+    @Value("${spring.redis.lettuce.pool.max-active}")
     private int maxActive;
-    @Value("${spring.redis.jedis.pool.max-idle}")
+    @Value("${spring.redis.lettuce.pool.max-idle}")
     private int maxIdle;
-    @Value("${spring.redis.jedis.pool.max-wait}")
+    @Value("${spring.redis.lettuce.pool.max-wait}")
     private long maxWaitMillis;
-    @Value("${spring.redis.jedis.pool.min-idle}")
+    @Value("${spring.redis.lettuce.pool.min-idle}")
     private int minIdle;
 
     @Autowired
-    private JedisConnectionFactory jedisConnectionFactory;
+    @Qualifier("factoryForCache")
+    private LettuceConnectionFactory lettuceConnectionFactory;
 
     @Bean
-    public JedisPoolConfig getRedisConfig() {
-        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
-        jedisPoolConfig.setMaxTotal(maxActive);
-        jedisPoolConfig.setMaxIdle(maxIdle);
-        jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);
-        jedisPoolConfig.setMinIdle(minIdle);
-        return jedisPoolConfig;
-    }
-
-    @Bean(destroyMethod = "destroy")
-    public JedisConnectionFactory redisConnectionFactory() {
-        log.info("Create JedisConnectionFactory successful");
-        JedisConnectionFactory factory = new JedisConnectionFactory();
-        factory.setHostName(host);
-        factory.setPort(port);
-        factory.setTimeout(timeout);
-        factory.setPassword(password);
-        factory.setDatabase(Integer.valueOf(databaseCache));
-        JedisPoolConfig poolConfig = getRedisConfig();
-        factory.setPoolConfig(poolConfig);
-        return factory;
+    public GenericObjectPoolConfig getRedisConfig() {
+        GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
+        poolConfig.setMaxTotal(maxActive);
+        poolConfig.setMaxIdle(maxIdle);
+        poolConfig.setMaxWaitMillis(maxWaitMillis);
+        poolConfig.setMinIdle(minIdle);
+        return poolConfig;
     }
 
     @Bean
     @Override
     public CacheManager cacheManager() {
-        // 初始化缓存管理器,在这里我们可以缓存的整体过期时间什么的,我这里默认没有配置
-        RedisCacheManager.RedisCacheManagerBuilder builder = RedisCacheManager
-                .RedisCacheManagerBuilder
-                .fromConnectionFactory(jedisConnectionFactory);
-        return builder.build();
+        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
+                // 设置 key为string序列化
+                .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
+                // 设置value为json序列化
+                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(getSerializer()))
+                // 不缓存空值
+                .disableCachingNullValues();
+        RedisCacheManager cacheManager = RedisCacheManager.builder(lettuceConnectionFactory)
+                .cacheDefaults(redisCacheConfiguration)
+                .transactionAware()
+                .build();
+        cacheManager.afterPropertiesSet();
+        log.info("RedisCacheManager config success");
+        return cacheManager;
     }
 
     @Bean(name = "springSessionDefaultRedisSerializer")
@@ -95,19 +99,19 @@ public class RedisConfigurer extends CachingConfigurerSupport {
         return new GenericJackson2JsonRedisSerializer();
     }
 
+    /**
+     * 缓存使用的redis
+     *
+     * @return
+     */
+    @Bean("factoryForCache")
+    @Primary
+    public LettuceConnectionFactory redisConnectionFactory() {
+        return getRedisConnectionFactory(Integer.valueOf(databaseCache));
+    }
     @Bean
-    public RedisTemplate<String, Object> redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
-        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
-        redisTemplate.setConnectionFactory(jedisConnectionFactory);
-
-        // value值的序列化
-        redisTemplate.setValueSerializer(getSerializer());
-        redisTemplate.setHashValueSerializer(getSerializer());
-        // key的序列化采用StringRedisSerializer
-        redisTemplate.setKeySerializer(new StringRedisSerializer());
-        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
-        redisTemplate.afterPropertiesSet();
-        return redisTemplate;
+    public RedisTemplate<String, Object> redisTemplate() {
+        return getRedisTemplate(lettuceConnectionFactory);
     }
 
     private Jackson2JsonRedisSerializer getSerializer() {
@@ -124,7 +128,7 @@ public class RedisConfigurer extends CachingConfigurerSupport {
     public KeyGenerator keyGenerator() {
         //  设置自动key的生成规则,配置spring boot的注解,进行方法级别的缓存
         // 使用:进行分割,可以很多显示出层级关系
-        // 这里其实就是new了一个KeyGenerator对象,只是这是lambda表达式的写法,我感觉很好用,大家感兴趣可以去了解下
+        // 这里其实就是new了一个KeyGenerator对象
         return (target, method, params) -> {
             StringBuilder sb = new StringBuilder();
             sb.append(target.getClass().getName());
@@ -139,58 +143,85 @@ public class RedisConfigurer extends CachingConfigurerSupport {
         };
     }
 
-
     /**
      * 短信验证使用的redis
      *
-     * @param factory
      * @return
      */
+    @Bean("factoryForIdc")
+    public LettuceConnectionFactory redisConnectionFactoryForIdc() {
+        return getRedisConnectionFactory(Integer.valueOf(databaseIdc));
+    }
+
     @Bean(name = "redisTemplateForIdc")
-    public RedisTemplate<String, Object> redisTemplateForIdc(JedisConnectionFactory factory) {
-        return getRedisTemplate(factory, Integer.valueOf(databaseIdc));
+    public RedisTemplate<String, Object> redisTemplateForIdc(@Qualifier("factoryForIdc") LettuceConnectionFactory factory) {
+        return getRedisTemplate(factory);
     }
 
     /**
      * 短信验证使用的redis
      *
-     * @param factory
      * @return
      */
+    @Bean("factoryForSms")
+    public LettuceConnectionFactory redisConnectionFactoryForSms() {
+        return getRedisConnectionFactory(Integer.valueOf(databaseSms));
+    }
+
     @Bean(name = "redisTemplateForSms")
-    public RedisTemplate<String, Object> redisTemplateForSms(JedisConnectionFactory factory) {
-        return getRedisTemplate(factory, Integer.valueOf(databaseSms));
+    public RedisTemplate<String, Object> redisTemplateForSms(@Qualifier("factoryForSms") LettuceConnectionFactory factory) {
+        return getRedisTemplate(factory);
     }
 
     /**
      * 图片验证使用的redis
      *
-     * @param factory
      * @return
      */
+    @Bean("factoryForImg")
+    public LettuceConnectionFactory redisConnectionFactoryForImg() {
+        return getRedisConnectionFactory(Integer.valueOf(databaseImg));
+    }
+
     @Bean(name = "redisTemplateForImg")
-    public RedisTemplate<String, Object> redisTemplateForImg(JedisConnectionFactory factory) {
-        return getRedisTemplate(factory, Integer.valueOf(databaseImg));
+    public RedisTemplate<String, Object> redisTemplateForImg(@Qualifier("factoryForImg") LettuceConnectionFactory factory) {
+        return getRedisTemplate(factory);
     }
 
     /**
      * Token使用的redis
      *
-     * @param factory
      * @return
      */
+    @Bean("factoryForToken")
+    public LettuceConnectionFactory redisConnectionFactoryForToken() {
+        return getRedisConnectionFactory(Integer.valueOf(databaseToken));
+    }
+
     @Bean(name = "redisTemplateForToken")
-    public RedisTemplate<String, Object> redisTemplateForToken(JedisConnectionFactory factory) {
-        return getRedisTemplate(factory, Integer.valueOf(databaseToken));
+    public RedisTemplate<String, Object> redisTemplateForToken(@Qualifier("factoryForToken") LettuceConnectionFactory factory) {
+        return getRedisTemplate(factory);
     }
 
-    private RedisTemplate<String, Object> getRedisTemplate(JedisConnectionFactory factory, Integer database) {
-        JedisConnectionFactory factory2 = new JedisConnectionFactory();
-        BeanUtil.copyProperties(factory, factory2);
-        factory2.setDatabase(database);
+    private LettuceConnectionFactory getRedisConnectionFactory(Integer database) {
+        RedisStandaloneConfiguration connection = new RedisStandaloneConfiguration();
+        connection.setHostName(host);
+        connection.setPort(port);
+        connection.setPassword(password);
+        connection.setDatabase(database);
+        GenericObjectPoolConfig poolConfig = getRedisConfig();
+        LettuceClientConfiguration builder = LettucePoolingClientConfiguration.builder()
+                .commandTimeout(Duration.ofMillis(timeout))
+                .poolConfig(poolConfig)
+                .shutdownTimeout(Duration.ZERO)
+                .build();
+        LettuceConnectionFactory factory = new LettuceConnectionFactory(connection, builder);
+        return factory;
+    }
 
-        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
-        redisTemplate.setConnectionFactory(factory2);
+    private RedisTemplate<String, Object> getRedisTemplate(LettuceConnectionFactory factory) {
+        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
+        redisTemplate.setConnectionFactory(factory);
 
         // value值的序列化
         redisTemplate.setValueSerializer(getSerializer());