Procházet zdrojové kódy

加入验证医院编码的有效性

gaodm před 5 roky
rodič
revize
2778906e57

+ 4 - 0
common-biz-client/src/main/java/com/diagbot/client/TranCommonServiceClient.java

@@ -4,6 +4,7 @@ import com.diagbot.client.hystrix.TranCommonServiceHystrix;
 import com.diagbot.dto.FunctionDTO;
 import com.diagbot.dto.HosPermissionDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.vo.HospitalCheckVO;
 import com.diagbot.vo.HospitalFunctionVO;
 import com.diagbot.vo.PermissionVO;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -26,4 +27,7 @@ public interface TranCommonServiceClient {
 
     @PostMapping("/function/getFunctionDatas")
     RespDTO<List<FunctionDTO>> getFunctionDatas(@Valid @RequestBody HospitalFunctionVO hospitalFunctionVO);
+
+    @PostMapping("/hospitalInfo/checkHospital")
+    RespDTO<Boolean> checkHospital(@RequestBody @Valid HospitalCheckVO hospitalCheckVO);
 }

+ 7 - 0
common-biz-client/src/main/java/com/diagbot/client/hystrix/TranCommonServiceHystrix.java

@@ -4,10 +4,12 @@ import com.diagbot.client.TranCommonServiceClient;
 import com.diagbot.dto.FunctionDTO;
 import com.diagbot.dto.HosPermissionDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.vo.HospitalCheckVO;
 import com.diagbot.vo.HospitalFunctionVO;
 import com.diagbot.vo.PermissionVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.validation.Valid;
@@ -33,4 +35,9 @@ public class TranCommonServiceHystrix implements TranCommonServiceClient {
         log.error("【hystrix】调用{}异常", "getFunctionDatas");
         return null;
     }
+
+    public RespDTO<Boolean> checkHospital(@RequestBody @Valid HospitalCheckVO hospitalCheckVO){
+        log.error("【hystrix】调用{}异常", "checkHospital");
+        return null;
+    }
 }

+ 25 - 0
common-biz-client/src/main/java/com/diagbot/facade/HospitalFacade.java

@@ -0,0 +1,25 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.TranCommonServiceClient;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.util.RespDTOUtil;
+import com.diagbot.vo.HospitalCheckVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/24 15:27
+ */
+@Component
+public class HospitalFacade {
+    @Autowired
+    private TranCommonServiceClient tranCommonServiceClient;
+
+    public Boolean checkHospital(HospitalCheckVO hospitalCheckVO) {
+        RespDTO<Boolean> respDTO = tranCommonServiceClient.checkHospital(hospitalCheckVO);
+        RespDTOUtil.respNGDeal(respDTO, "验证医院有效性失败!");
+        return respDTO.data;
+    }
+}

+ 12 - 1
common-biz-client/src/main/java/com/diagbot/util/PermissionUtil.java

@@ -3,7 +3,9 @@ package com.diagbot.util;
 import com.diagbot.dto.PermissionDTO;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
+import com.diagbot.facade.HospitalFacade;
 import com.diagbot.facade.PermissionFacade;
+import com.diagbot.vo.HospitalCheckVO;
 import com.diagbot.vo.PermissionVO;
 import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
@@ -33,12 +35,15 @@ import java.util.*;
 public class PermissionUtil {
 
     private static PermissionFacade permissionFacade;
+    private static HospitalFacade hospitalFacade;
 
     @Autowired
-    public void PermissionUtil(PermissionFacade permissionFacade) {
+    public void PermissionUtil(PermissionFacade permissionFacade, HospitalFacade hospitalFacade) {
         PermissionUtil.permissionFacade = permissionFacade;
+        PermissionUtil.hospitalFacade = hospitalFacade;
     }
 
+
     /**
      * 功能可配置权限拦截
      *
@@ -62,6 +67,12 @@ public class PermissionUtil {
         if (sysType == null) {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请传入系统类型!");
         }
+        //验证医院的有效性
+        HospitalCheckVO hospitalCheckVO = new HospitalCheckVO();
+        hospitalCheckVO.setHospitalCode(hospitalCode);
+        if (!hospitalFacade.checkHospital(hospitalCheckVO)){
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该医院不存在!");
+        }
         //todo 远程获取权限验证权限
         //验证权限
         String uri = request.getRequestURI();

+ 19 - 0
common-biz-client/src/main/java/com/diagbot/vo/HospitalCheckVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/24 15:23
+ */
+
+@Setter
+@Getter
+public class HospitalCheckVO {
+    @NotNull(message = "请输入医院编码")
+    private String hospitalCode;
+}

+ 17 - 7
tran-service/src/main/java/com/diagbot/facade/HospitalInfoFacade.java

@@ -1,14 +1,14 @@
 package com.diagbot.facade;
 
-import org.springframework.stereotype.Component;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.HospitalInfoDTO;
 import com.diagbot.entity.HospitalInfo;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.HospitalInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.vo.HospitalCheckVO;
 import com.diagbot.vo.HospitalInfoVO;
+import org.springframework.stereotype.Component;
 
 /**
  * @Description:
@@ -20,7 +20,7 @@ public class HospitalInfoFacade extends HospitalInfoServiceImpl {
 
     private static final Object HospitalInfoDTO = null;
 
-	/**
+    /**
      * 获取医院信息
      *
      * @param hospitalInfoVO
@@ -31,13 +31,23 @@ public class HospitalInfoFacade extends HospitalInfoServiceImpl {
         return hospitalInfoDTOList;
     }
 */
-	public HospitalInfoDTO getHospitalInfo(HospitalInfoVO hospitalInfoVO) {
-		QueryWrapper<HospitalInfo> queryWrapper = new QueryWrapper<HospitalInfo>();
+    public HospitalInfoDTO getHospitalInfo(HospitalInfoVO hospitalInfoVO) {
+        QueryWrapper<HospitalInfo> queryWrapper = new QueryWrapper<HospitalInfo>();
         queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-        			.eq("code", hospitalInfoVO.getCode());
+                .eq("code", hospitalInfoVO.getCode());
         HospitalInfo datas = this.getOne(queryWrapper, false);
-        HospitalInfoDTO data =new HospitalInfoDTO();
+        HospitalInfoDTO data = new HospitalInfoDTO();
         BeanUtil.copyProperties(datas, data);
         return data;
     }
+
+    public Boolean checkHospital(HospitalCheckVO hospitalCheckVO) {
+        QueryWrapper<HospitalInfo> queryWrapper = new QueryWrapper<HospitalInfo>();
+        queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("code", hospitalCheckVO.getHospitalCode());
+        if (this.count(queryWrapper) > 0) {
+            return true;
+        }
+        return false;
+    }
 }

+ 19 - 0
tran-service/src/main/java/com/diagbot/vo/HospitalCheckVO.java

@@ -0,0 +1,19 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/24 15:23
+ */
+
+@Setter
+@Getter
+public class HospitalCheckVO {
+    @NotNull(message = "请输入医院编码")
+    private String hospitalCode;
+}

+ 10 - 1
tran-service/src/main/java/com/diagbot/web/HospitalInfoController.java

@@ -4,6 +4,7 @@ import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.HospitalInfoDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.HospitalInfoFacade;
+import com.diagbot.vo.HospitalCheckVO;
 import com.diagbot.vo.HospitalInfoVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -15,7 +16,6 @@ import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
-import java.util.List;
 
 /**
  * @Description:
@@ -41,4 +41,13 @@ public class HospitalInfoController {
         HospitalInfoDTO data = hospitalInfoFacade.getHospitalInfo(hospitalInfoVO);
         return RespDTO.onSuc(data);
     }
+
+
+    @ApiOperation(value = "医院信息——验证医院信息[by:gaodm]",
+            notes = "hospitalCode:医院编码<br>")
+    @PostMapping("/checkHospital")
+    @SysLogger("checkHospital")
+    public RespDTO<Boolean> checkHospital(@RequestBody @Valid HospitalCheckVO hospitalCheckVO) {
+        return RespDTO.onSuc(hospitalInfoFacade.checkHospital(hospitalCheckVO));
+    }
 }