From 5229ae3c60a08b1b3870c4336b1ff33f65e46774 Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Thu, 6 Jul 2023 11:33:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E5=85=B8=E6=A0=91=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../swagger/config/Knife4jSwaggerConfig.java | 3 +- pqs-gateway/src/main/resources/bootstrap.yml | 7 +++ .../njcn/system/api/DictTreeFeignClient.java | 19 ++++++++ .../DictTreeFeignClientFallbackFactory.java | 43 +++++++++++++++++++ .../com/njcn/system/enums/DicDataEnum.java | 6 ++- .../system/controller/DictTreeController.java | 11 ++++- .../system/service/SysDicTreePOService.java | 7 +++ .../service/impl/SysDicTreePOServiceImpl.java | 5 +++ 8 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/api/DictTreeFeignClient.java create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/DictTreeFeignClientFallbackFactory.java diff --git a/pqs-common/common-swagger/src/main/java/com/njcn/swagger/config/Knife4jSwaggerConfig.java b/pqs-common/common-swagger/src/main/java/com/njcn/swagger/config/Knife4jSwaggerConfig.java index 990e2833c..94fcfbeef 100644 --- a/pqs-common/common-swagger/src/main/java/com/njcn/swagger/config/Knife4jSwaggerConfig.java +++ b/pqs-common/common-swagger/src/main/java/com/njcn/swagger/config/Knife4jSwaggerConfig.java @@ -71,7 +71,8 @@ public class Knife4jSwaggerConfig { "com.njcn.cswarn.controller", "com.njcn.csharmonic.controller", "com.njcn.cssystem.controller", - "com.njcn.advance.controller" + "com.njcn.advance.controller", + "com.njcn.access.controller" ) .collect(Collectors.toList()); List grantTypes = new ArrayList<>(); diff --git a/pqs-gateway/src/main/resources/bootstrap.yml b/pqs-gateway/src/main/resources/bootstrap.yml index 0e992a3d5..222cecb0a 100644 --- a/pqs-gateway/src/main/resources/bootstrap.yml +++ b/pqs-gateway/src/main/resources/bootstrap.yml @@ -167,6 +167,13 @@ spring: filters: - SwaggerHeaderFilter - StripPrefix=1 + - id: access-boot + uri: lb://access-boot + predicates: + - Path=/access-boot/** + filters: + - SwaggerHeaderFilter + - StripPrefix=1 #项目日志的配置 logging: config: http://@nacos.url@/nacos/v1/cs/configs?tenant=@nacos.namespace@&group=DEFAULT_GROUP&dataId=logback.xml diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/DictTreeFeignClient.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/DictTreeFeignClient.java new file mode 100644 index 000000000..3cbfe81f3 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/DictTreeFeignClient.java @@ -0,0 +1,19 @@ +package com.njcn.system.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.system.api.fallback.DictTreeFeignClientFallbackFactory; +import com.njcn.system.pojo.po.SysDicTreePO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @author xuyang + */ +@FeignClient(value = ServerInfo.SYSTEM, path = "/dictTree", fallbackFactory = DictTreeFeignClientFallbackFactory.class, contextId = "dictTree") +public interface DictTreeFeignClient { + + @PostMapping("/queryById") + HttpResult queryById(@RequestParam("id") String id); +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/DictTreeFeignClientFallbackFactory.java b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/DictTreeFeignClientFallbackFactory.java new file mode 100644 index 000000000..80911adec --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/api/fallback/DictTreeFeignClientFallbackFactory.java @@ -0,0 +1,43 @@ +package com.njcn.system.api.fallback; + + +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.api.DictTreeFeignClient; +import com.njcn.system.pojo.po.DictData; +import com.njcn.system.pojo.po.SysDicTreePO; +import com.njcn.system.utils.SystemEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2021年09月09日 15:19 + */ +@Slf4j +@Component +public class DictTreeFeignClientFallbackFactory implements FallbackFactory { + @Override + public DictTreeFeignClient create(Throwable cause) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if(cause.getCause() instanceof BusinessException){ + BusinessException businessException = (BusinessException) cause.getCause(); + exceptionEnum = SystemEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new DictTreeFeignClient() { + @Override + public HttpResult queryById(String id) { + log.error("{}异常,降级处理,异常为:{}","根据字典id获取字典数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java index 4deb9280b..9a3969716 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataEnum.java @@ -365,8 +365,10 @@ public enum DicDataEnum { /** * 装置类型(治理) */ - GATEWAY_DEV("网关", "Gateway_Dev"), - CONNECT_DEV("直连设备", "Connect_Dev"), + GATEWAY_DEV("网关", "Gateway"), + CONNECT_DEV("直连设备", "Direct_Connected_Device"), + DEV("装置", "Device"), + /** * 治理数据模型 diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/DictTreeController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/DictTreeController.java index 0e7b58453..166e37899 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/DictTreeController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/DictTreeController.java @@ -13,6 +13,7 @@ import com.njcn.common.utils.LogUtil; import com.njcn.system.pojo.param.DictDataParam; import com.njcn.system.pojo.param.DictTreeParam; import com.njcn.system.pojo.po.DictData; +import com.njcn.system.pojo.po.SysDicTreePO; import com.njcn.system.pojo.vo.DictDataVO; import com.njcn.system.pojo.vo.DictTreeVO; import com.njcn.system.service.IDictDataService; @@ -110,7 +111,15 @@ public class DictTreeController extends BaseController { } - + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.QUERY) + @PostMapping("/queryById") + @ApiOperation("根据id查询数据") + public HttpResult queryById(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("queryById"); + LogUtil.njcnDebug(log, "{},字典数据为:{}", methodDescribe, id); + SysDicTreePO result = sysDicTreePOService.queryById(id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/SysDicTreePOService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/SysDicTreePOService.java index 54a0ae80c..e8b6feee7 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/SysDicTreePOService.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/SysDicTreePOService.java @@ -25,4 +25,11 @@ public interface SysDicTreePOService extends IService{ DictTreeVO queryByCode(String code); List queryByid(String id); + + /** + * 根据id查询字典数据 + * @param id + * @return + */ + SysDicTreePO queryById(String id); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/SysDicTreePOServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/SysDicTreePOServiceImpl.java index 6a5e69f1c..02130dffb 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/SysDicTreePOServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/SysDicTreePOServiceImpl.java @@ -95,4 +95,9 @@ public class SysDicTreePOServiceImpl extends ServiceImpl