From 97b20e395af0cefc7f40cb4bba80ac97447e7a78 Mon Sep 17 00:00:00 2001 From: WeiRan <2392355487@qq.com> Date: Tue, 24 Sep 2024 10:49:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FaultRuleController.java | 19 ++--- .../faultmanage/service/FaultRuleService.java | 10 +-- .../service/impl/FaultRuleServiceImpl.java | 79 +++++++------------ 3 files changed, 38 insertions(+), 70 deletions(-) diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java index ea3c4f2..c78fa90 100644 --- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java +++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/controller/FaultRuleController.java @@ -3,6 +3,7 @@ package com.muyu.cloud.faultmanage.controller; import com.muyu.cloud.faultmanage.domain.CarFaultRule; import com.muyu.cloud.faultmanage.domain.FaultCondition; import com.muyu.cloud.faultmanage.domain.FaultRule; +import com.muyu.cloud.faultmanage.domain.Vehicle; import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq; import com.muyu.cloud.faultmanage.service.FaultRuleService; import com.muyu.common.core.domain.Result; @@ -14,6 +15,8 @@ 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; + /** * @Author:weiran * @Package:com.muyu.cloud.faultmanage.controller @@ -33,18 +36,6 @@ public class FaultRuleController { private FaultRuleService faultRuleService; -// /** -// * 车辆故障检测 -// * @return -// */ -// @PostMapping("/check-faults") -// @Operation(summary = "检查故障",description = "进行故障检查") -// public Result checkfaults(@Validated FaultRule faultRule){ -// String checkfaults = faultRuleService.checkfaults(faultRule); -// return Result.success(checkfaults); -// } - - /** * 故障参数匹配检查 * @param carFaultRule @@ -53,7 +44,7 @@ public class FaultRuleController { @PostMapping("/cheakfaults") @Operation(summary = "故障参数匹配检查",description = "获取报文数据与故障参数进行比较") public Result cheakfaults(@Validated @RequestBody CarFaultRule carFaultRule){ - faultRuleService.checkfault(carFaultRule); - return null; + List checkfault = faultRuleService.checkfault(carFaultRule); + return Result.success(checkfault); } } diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java index 0274604..fafc81f 100644 --- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java +++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/FaultRuleService.java @@ -5,6 +5,8 @@ import com.muyu.cloud.faultmanage.domain.CarFaultRule; import com.muyu.cloud.faultmanage.domain.FaultRule; import com.muyu.cloud.faultmanage.domain.Vehicle; +import java.util.List; + /** * @Author:weiran * @Package:com.muyu.cloud.faultmanage.service.impl @@ -14,17 +16,11 @@ import com.muyu.cloud.faultmanage.domain.Vehicle; */ public interface FaultRuleService extends IService { -// /** -// * 车辆故障检测 -// * @return -// */ -// String checkfaults(FaultRule faultRule); - /** * 故障参数匹配检查 * @param carFaultRule * @return */ - Vehicle checkfault(CarFaultRule carFaultRule); + List checkfault(CarFaultRule carFaultRule); } diff --git a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java index 7942884..9fb555b 100644 --- a/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java +++ b/cloud-faultmanage/cloud-faultmanage-server/src/main/java/com/muyu/cloud/faultmanage/service/impl/FaultRuleServiceImpl.java @@ -1,22 +1,14 @@ package com.muyu.cloud.faultmanage.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.cloud.faultmanage.domain.*; -import com.muyu.cloud.faultmanage.domain.req.FaultConditionListReq; -import com.muyu.cloud.faultmanage.domain.resp.FaultCodeListResp; -import com.muyu.cloud.faultmanage.domain.resp.FaultCodeTotalListResp; -import com.muyu.cloud.faultmanage.domain.resp.FaultConditionTotalListResp; -import com.muyu.cloud.faultmanage.domain.vo.FaultCodeVO; import com.muyu.cloud.faultmanage.mapper.FaultRuleMapper; import com.muyu.cloud.faultmanage.service.FaultRuleService; -import com.muyu.common.core.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.lang.reflect.Field; import java.math.BigDecimal; -import java.util.Collections; +import java.util.ArrayList; import java.util.List; /** @@ -33,50 +25,15 @@ public class FaultRuleServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); -// if (Long.valueOf(faultRule.getFaultcodeId())!=null && faultRule.getFaultcodeId()!=0){ -// queryWrapper.eq(FaultRule::getFaultcodeId, faultRule.getFaultcodeId()); -// } -// List faultRuleList = this.list(queryWrapper); -// for (FaultRule rule : faultRuleList) { -// //单个值比较 -// if (faultRule.getSingleThreshold()!=null && faultRule.getMaxThreshold()==null && faultRule.getMinThreshold()==null){ -// //大于阈值 -// if (faultRule.getConditionContent().contains(">") || faultRule.getConditionContent().contains("大于")){ -// if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())>0){ -// return "数据超过阈值,出现异常"; -// } -// } -// //小于阈值 -// if (faultRule.getConditionContent().contains("<") || faultRule.getConditionContent().contains("小于")){ -// if (faultRule.getThreshold().compareTo(rule.getSingleThreshold())<0){ -// return "数据过低,出现异常"; -// } -// } -// }else { //区间值比较 -// if (faultRule.getThreshold().compareTo(rule.getMinThreshold())<0 || faultRule.getThreshold().compareTo(rule.getMaxThreshold())>0){ -// return "数据不在可控范围内,出现异常"; -// } -// } -// } -// return "判断出现异常"; -// } - - /** * 故障参数匹配检查 * @param carFaultRule * @return */ @Override - public Vehicle checkfault(CarFaultRule carFaultRule) { + public List checkfault(CarFaultRule carFaultRule) { + List vehicles = new ArrayList<>(); + //根据车辆VIN判断它属于什么类型的车辆 CarInformation carInformation = faultRuleMapper.selectTypeByVIN(carFaultRule.getVin()); Integer carInformationType = carInformation.getCarInformationType(); @@ -94,8 +51,32 @@ public class FaultRuleServiceImpl extends ServiceImpl") || faultconditionIdentification.equals(">") ){ + if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)>0){ + vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"超出规定范围")); + } + }else if(faultconditionIdentification.equals("<") || faultconditionIdentification.equals("<")){ + if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)<0){ + vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"过低")); + } + }else if(faultconditionIdentification.equals(">=") || faultconditionIdentification.equals(">=")){ + if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)>0){ + vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"超出规定范围")) ; + } + }else if(faultconditionIdentification.equals("<=") || faultconditionIdentification.equals("<=")){ + if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)<0){ + vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"过低")); + } + }else { + if (BigDecimal.valueOf((Long) value).compareTo(faultconditionParameter)==0){ + vehicles.add(new Vehicle(carFaultRule.getVin(),declaredField+"已达到故障点")); + } + } + } } }