From f36b3f9ee9075a9e783fa663e5b655f2a732548a Mon Sep 17 00:00:00 2001 From: guofeihu <3347277866@qq.com> Date: Mon, 19 Aug 2024 18:58:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E8=83=BD=E6=BA=90=E5=9C=BA=E7=AB=99?= =?UTF-8?q?=E9=AB=98=E4=BD=8E=E7=94=B5=E5=8E=8B=E7=A9=BF=E8=B6=8A=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E6=96=B0=E5=A2=9E=E6=A0=B9=E6=8D=AEID=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/njcn/device/biz/pojo/dto/LineDTO.java | 3 ++ .../njcn/device/pq/api/NewStationClient.java | 26 +++++++++++++ .../NewStationClientFallbackFactory.java | 39 +++++++++++++++++++ .../device/pq/pojo/vo/LineDetailDataVO.java | 3 ++ .../pq/controller/NewStationController.java | 9 +++++ .../pq/mapper/mapping/LineDetailMapper.xml | 3 +- .../device/pq/mapper/mapping/LineMapper.xml | 3 +- .../device/pq/service/INewStationService.java | 7 ++++ .../service/impl/NewStationServiceImpl.java | 5 +++ 9 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/NewStationClient.java create mode 100644 pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/NewStationClientFallbackFactory.java diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/LineDTO.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/LineDTO.java index d2369f39b..5c8febd88 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/LineDTO.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/LineDTO.java @@ -34,4 +34,7 @@ public class LineDTO { @ApiModelProperty(name = "objType",value = "对象类型") private String objType; + + @ApiModelProperty(name = "stationType",value = "新能源场站类型") + private String stationType; } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/NewStationClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/NewStationClient.java new file mode 100644 index 000000000..abde1e149 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/NewStationClient.java @@ -0,0 +1,26 @@ +package com.njcn.device.pq.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.pq.api.fallback.NewStationClientFallbackFactory; +import com.njcn.device.pq.pojo.po.NewStation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 新能源场站高低电压穿越Feign客户端 + * @author guofeihu + * @date 2024-08-14 + */ +@FeignClient(value = ServerInfo.DEVICE, path = "/newStation", fallbackFactory = NewStationClientFallbackFactory.class, contextId = "newStation") +public interface NewStationClient { + + /** + * 根据ID获取新能源场站高低电压穿越表信息 + * + * @return + */ + @GetMapping("/selectById") + HttpResult selectById(@RequestParam(name = "id") String id); +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/NewStationClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/NewStationClientFallbackFactory.java new file mode 100644 index 000000000..1d2f757b0 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/NewStationClientFallbackFactory.java @@ -0,0 +1,39 @@ +package com.njcn.device.pq.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.device.biz.utils.DeviceEnumUtil; +import com.njcn.device.pq.api.NewStationClient; +import com.njcn.device.pq.pojo.po.NewStation; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 新能源场站高低电压穿越管理熔断降级 + * @author guofeihu + * @date 2024-08-14 + */ +@Slf4j +@Component +public class NewStationClientFallbackFactory implements FallbackFactory { + @Override + public NewStationClient create(Throwable throwable) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException) throwable.getCause(); + exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new NewStationClient() { + @Override + public HttpResult selectById(String id) { + log.error("{}异常,降级处理,异常为:{}", "获取终获取告警策略列表", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} + diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java index 986c30a09..0a7206eb3 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java @@ -121,4 +121,7 @@ public class LineDetailDataVO { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; + @ApiModelProperty(name = "新能源场站信息ID") + private String newStationId; + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/NewStationController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/NewStationController.java index bb1211cc5..36902952b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/NewStationController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/NewStationController.java @@ -76,5 +76,14 @@ public class NewStationController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, iNewStationService.selectDown(name), methodDescribe); } + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.QUERY) + @GetMapping("/selectById") + @ApiOperation("根据ID获取新能源场站高低电压穿越表信息") + public HttpResult selectById(@RequestParam(name = "id") String id) { + String methodDescribe = getMethodDescribe("selectById"); + LogUtil.njcnDebug(log, "{},id值为:{}", methodDescribe, id); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, iNewStationService.selectById(id), methodDescribe); + } + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineDetailMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineDetailMapper.xml index 2fa516f63..540aa02c8 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineDetailMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineDetailMapper.xml @@ -41,7 +41,8 @@ select a.name lineName, c.Time_Interval, - e.name scale + e.name scale, + c.New_Station_Id newStationId from pq_line a inner join pq_line b on a.pid = b.id inner join pq_line_detail c on a.id = c.id diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml index 9987e73b5..2b30cbadf 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml @@ -1431,7 +1431,8 @@ vg.Scale AS voltageLevel, pqd.Run_Flag as runFlag, detail.PT_Type AS ptType, - detail.PT_Phase_Type AS ptPhaseType + detail.PT_Phase_Type AS ptPhaseType, + detail.New_Station_Id AS stationType FROM pq_line line, pq_line_detail detail, diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/INewStationService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/INewStationService.java index 524624af6..026fbaad4 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/INewStationService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/INewStationService.java @@ -45,4 +45,11 @@ public interface INewStationService extends IService { */ List selectDown(String name); + /*** + * 根据ID获取新能源场站高低电压穿越表信息 + * @param id + * @return NewStation + */ + NewStation selectById(String id); + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/NewStationServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/NewStationServiceImpl.java index 05d283708..78a28ee1e 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/NewStationServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/NewStationServiceImpl.java @@ -78,4 +78,9 @@ public class NewStationServiceImpl extends ServiceImpl