From 4d9910bbc85adbf108f100b72db103ca2265be48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=B0=8F=E6=9E=97?= <320730042@qq.com> Date: Mon, 19 Aug 2024 17:27:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=95=85=E9=9A=9C=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bellmann/controller/FaultController.java | 39 ++++++++++++ .../bellmann/mapper/DeviceStaticMapper.java | 10 ++- .../com/bellmann/model/query/FaultQuery.java | 12 ++++ .../bellmann/model/vo/FaultBasicInfoVO.java | 38 ++++++++++++ .../com/bellmann/model/vo/FaultQueryVO.java | 17 +++++ .../com/bellmann/service/FaultService.java | 13 ++++ .../service/impl/FaultServiceImpl.java | 62 +++++++++++++++++++ .../resources/mapper/DeviceStaticMapper.xml | 43 +++++++++++++ 8 files changed, 231 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/bellmann/controller/FaultController.java create mode 100644 src/main/java/com/bellmann/model/query/FaultQuery.java create mode 100644 src/main/java/com/bellmann/model/vo/FaultBasicInfoVO.java create mode 100644 src/main/java/com/bellmann/model/vo/FaultQueryVO.java create mode 100644 src/main/java/com/bellmann/service/FaultService.java create mode 100644 src/main/java/com/bellmann/service/impl/FaultServiceImpl.java diff --git a/src/main/java/com/bellmann/controller/FaultController.java b/src/main/java/com/bellmann/controller/FaultController.java new file mode 100644 index 0000000..0393ded --- /dev/null +++ b/src/main/java/com/bellmann/controller/FaultController.java @@ -0,0 +1,39 @@ +package com.bellmann.controller; + +import com.bellmann.common.result.Result; +import com.bellmann.model.query.FaultQuery; +import com.bellmann.model.vo.FaultBasicInfoVO; +import com.bellmann.model.vo.FaultQueryVO; +import com.bellmann.service.FaultService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Tag(name = "33.故障管理") +@RestController +@RequestMapping("/api/fault/v1") +@RequiredArgsConstructor +public class FaultController { + + private final FaultService faultService; + + @Operation(summary = "故障管理查询") + @PostMapping("/query") + public Result> queryList(@RequestBody FaultQuery query){ + List list = faultService.queryList(query); + return Result.success(list); + } + + @Operation(summary = "基本信息查询") + @PostMapping("/basic_info") + public Result basicInfoQuery(@RequestBody FaultQuery query){ + FaultBasicInfoVO faultBasicInfoVO = faultService.basicInfoQuery(query); + return Result.success(faultBasicInfoVO); + } +} diff --git a/src/main/java/com/bellmann/mapper/DeviceStaticMapper.java b/src/main/java/com/bellmann/mapper/DeviceStaticMapper.java index e494b2a..6311e73 100644 --- a/src/main/java/com/bellmann/mapper/DeviceStaticMapper.java +++ b/src/main/java/com/bellmann/mapper/DeviceStaticMapper.java @@ -6,12 +6,12 @@ import com.bellmann.model.bo.*; import com.bellmann.model.dto.DeviceDetail; import com.bellmann.model.entity.DeviceStatic; import com.bellmann.model.query.SoftMergeReportQuery; -import com.bellmann.model.vo.EquipmentDetailVO; -import com.bellmann.model.vo.SoftVerMergeExportVO; -import com.bellmann.model.vo.SoftVerMergeVO; +import com.bellmann.model.vo.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + @Mapper public interface DeviceStaticMapper extends BaseMapper { Page resourcePage(Page page, @Param("column") String column, @Param("value") Object value); @@ -41,4 +41,8 @@ public interface DeviceStaticMapper extends BaseMapper { MergeSoftBO getDeviceSoft(@Param("category") String category, @Param("devName") String devName, @Param("devHard") String devHard, @Param("query") SoftMergeReportQuery queryParams); Page exportSoftMergePage(Page page,@Param("form") SoftMergeReportQuery queryParams); + + List faultQueryList(@Param("column") String column, @Param("value") String value ); + + FaultBasicInfoVO faultBasicInfoQuery(@Param("column") String column, @Param("value") String value); } diff --git a/src/main/java/com/bellmann/model/query/FaultQuery.java b/src/main/java/com/bellmann/model/query/FaultQuery.java new file mode 100644 index 0000000..bd26cc8 --- /dev/null +++ b/src/main/java/com/bellmann/model/query/FaultQuery.java @@ -0,0 +1,12 @@ +package com.bellmann.model.query; + +import lombok.Data; + +@Data +public class FaultQuery { + private String value; + + private String label; + + private String[] ping; +} diff --git a/src/main/java/com/bellmann/model/vo/FaultBasicInfoVO.java b/src/main/java/com/bellmann/model/vo/FaultBasicInfoVO.java new file mode 100644 index 0000000..341cd74 --- /dev/null +++ b/src/main/java/com/bellmann/model/vo/FaultBasicInfoVO.java @@ -0,0 +1,38 @@ +package com.bellmann.model.vo; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +@Data +public class FaultBasicInfoVO { + + private Long devId; + @JsonIgnore + private Long typeAndVerId; + + @JsonIgnore + private Long custId; + + private String devPppoe; + + private String devVendorName; + + private String devTypeName; + + private String devHardVer; + + private String userSnNo; + + private String customType; + + private String devIp; + + private String devStatus; + + private String devAccessType; + + private String devSno; + + private String softVer; + +} diff --git a/src/main/java/com/bellmann/model/vo/FaultQueryVO.java b/src/main/java/com/bellmann/model/vo/FaultQueryVO.java new file mode 100644 index 0000000..56bb710 --- /dev/null +++ b/src/main/java/com/bellmann/model/vo/FaultQueryVO.java @@ -0,0 +1,17 @@ +package com.bellmann.model.vo; + +import lombok.Data; + +@Data +public class FaultQueryVO { + + private Long devId; + + private String devSno; + + private String devPppoe; + + private String devVendorOui; + + private String devAdNo; +} diff --git a/src/main/java/com/bellmann/service/FaultService.java b/src/main/java/com/bellmann/service/FaultService.java new file mode 100644 index 0000000..26a4e3b --- /dev/null +++ b/src/main/java/com/bellmann/service/FaultService.java @@ -0,0 +1,13 @@ +package com.bellmann.service; + +import com.bellmann.model.query.FaultQuery; +import com.bellmann.model.vo.FaultBasicInfoVO; +import com.bellmann.model.vo.FaultQueryVO; + +import java.util.List; + +public interface FaultService { + List queryList(FaultQuery query); + + FaultBasicInfoVO basicInfoQuery(FaultQuery query); +} diff --git a/src/main/java/com/bellmann/service/impl/FaultServiceImpl.java b/src/main/java/com/bellmann/service/impl/FaultServiceImpl.java new file mode 100644 index 0000000..f87f4dc --- /dev/null +++ b/src/main/java/com/bellmann/service/impl/FaultServiceImpl.java @@ -0,0 +1,62 @@ +package com.bellmann.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.bellmann.common.base.IBaseEnum; +import com.bellmann.common.enums.CustomTypeEnum; +import com.bellmann.common.enums.DevAccessTypeEnum; +import com.bellmann.common.enums.DevStatusEnum; +import com.bellmann.manger.CustomerManager; +import com.bellmann.mapper.DeviceStaticMapper; +import com.bellmann.mapper.DeviceTypeVerDetailMapper; +import com.bellmann.model.entity.Customer; +import com.bellmann.model.entity.DeviceTypeVerDetail; +import com.bellmann.model.query.FaultQuery; +import com.bellmann.model.vo.FaultBasicInfoVO; +import com.bellmann.model.vo.FaultQueryVO; +import com.bellmann.service.FaultService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class FaultServiceImpl implements FaultService { + + private final DeviceStaticMapper deviceStaticMapper; + + private final CustomerManager customerManager; + + private final DeviceTypeVerDetailMapper deviceTypeVerDetailMapper; + + @Override + public List queryList(FaultQuery query) { + return deviceStaticMapper.faultQueryList(query.getLabel(), query.getValue()); + } + + @Override + public FaultBasicInfoVO basicInfoQuery(FaultQuery query) { + FaultBasicInfoVO faultBasicInfoQuery = deviceStaticMapper.faultBasicInfoQuery(query.getLabel(), query.getValue()); + Long customId = faultBasicInfoQuery.getCustId(); + if (customId != null) { + Customer customer = customerManager.findByCustomId(customId); + if (customer != null) { + faultBasicInfoQuery.setCustomType(IBaseEnum.getLabelByValue(customer.getCustomType(), CustomTypeEnum.class)); + } + } + Long typeAndVerId = faultBasicInfoQuery.getTypeAndVerId(); + if (typeAndVerId != null) { + DeviceTypeVerDetail deviceTypeVerDetail = deviceTypeVerDetailMapper.selectOne(new LambdaQueryWrapper() + .eq(DeviceTypeVerDetail::getTypeAndVerId, typeAndVerId) + ); + if (deviceTypeVerDetail != null) { + faultBasicInfoQuery.setDevAccessType(IBaseEnum.getLabelByValue(deviceTypeVerDetail.getDevAccessType(), DevAccessTypeEnum.class)); + } + } + String devStatus = faultBasicInfoQuery.getDevStatus(); + if (devStatus!=null){ + faultBasicInfoQuery.setDevStatus(IBaseEnum.getLabelByValue(devStatus, DevStatusEnum.class)); + } + return faultBasicInfoQuery; + } +} diff --git a/src/main/resources/mapper/DeviceStaticMapper.xml b/src/main/resources/mapper/DeviceStaticMapper.xml index e0eaf20..e877b40 100644 --- a/src/main/resources/mapper/DeviceStaticMapper.xml +++ b/src/main/resources/mapper/DeviceStaticMapper.xml @@ -452,4 +452,47 @@ C.DEV_TYPE_NAME, C.DEV_HARD_VER + + +