diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarFaultCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarFaultCacheService.java index cd2c955..c2cfb01 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarFaultCacheService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarFaultCacheService.java @@ -1,8 +1,7 @@ package com.muyu.enterprise.cache; import com.muyu.common.cache.config.CacheAbsBasic; -import com.muyu.enterprise.domain.FaultRule; -import org.springframework.stereotype.Component; +import com.muyu.enterprise.domain.CarFaultRule; /** * redis故障业务层 @@ -11,16 +10,16 @@ import org.springframework.stereotype.Component; * @Date 2024/10/3 15:22 * @author MingWei.Zong */ -public class CarFaultCacheService extends CacheAbsBasic { +public class CarFaultCacheService extends CacheAbsBasic { @Override public String keyPre() { - return "faultRule:info:"; + return "carFaultRule:info:"; } @Override public String decode(String key) { - return key.replace("faultRule:info:",""); + return key.replace("carFaultRule:info:",""); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarManageCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarManageCacheService.java index 38dcf9c..a7ebb21 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarManageCacheService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarManageCacheService.java @@ -14,14 +14,14 @@ import com.muyu.enterprise.domain.CarManage; public class CarManageCacheService extends CacheAbsBasic { @Override public String keyPre() { - return "carManage:info:"; + return "CarManage:info:"; } @Override public String decode(String key) { - return key.replace("carManage:info:",""); + return key.replace("CarManage:info:",""); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 03d4fbc..7c16588 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -3,5 +3,5 @@ com.muyu.enterprise.cache.CarFaultCacheService com.muyu.enterprise.cache.CarManageCacheService com.muyu.enterprise.cache.CarMessageCacheService com.muyu.enterprise.cache.CarTemplateCacheService -com.muyu.enterprise.cache.CarWarnCacheServic +com.muyu.enterprise.cache.CarWarnCacheService com.muyu.enterprise.cache.ElectronicFenceCacheService diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarFaultRule.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarFaultRule.java new file mode 100644 index 0000000..c5c96a2 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarFaultRule.java @@ -0,0 +1,216 @@ +package com.muyu.enterprise.domain; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +/** + * + * 故障规则测试类(故障) + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain.faultrule + * @Project:cloud-server + * @name:PureElectricCar + * @Date:2024/9/20 20:22 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@Tag(name = "故障规则测试类") +public class CarFaultRule { + /** + * VIN码 + */ + private String vin; + /** + * 时间戳 + */ + private long timestamp; + /** + * 经度 + */ + private double longitude; + /** + * 纬度 + */ + private double latitude; + /** + * 车速 + */ + private double speed; + /** + * 总里程 + */ + private long TM; + /** + * 总电压 + */ + private double TV; + /** + * 总电流 + */ + private double CC; + /** + * 绝缘电阻 + */ + private double IR; + /** + * 档位 + */ + private String GP; + /** + * 加速踏板行程值 + */ + private double APTV; + /** + * 制动踏板行程值 + */ + private double BPTV; + /** + * 燃料消耗率 + */ + private double SFC; + /** + * 电机控制器温度 + */ + private double MCT; + /** + * 电机转速 + */ + private int MS; + /** + * 电机转矩 + */ + private double MTO; + /** + * 电机温度 + */ + private double MTE; + /** + * 电机电压 + */ + private double MV; + /** + * 电机电流 + */ + private double MC; + /** + * 动力电池剩余电量SOC + */ + private double PBRSOC; + /** + * 当前状态允许的最大反馈功率 + */ + private double MACSFP; + /** + * 当前状态允许最大放电功率 + */ + private double CSATMDP; + /** + * BMS自检计数器 + */ + private int BMS; + /** + * 动力电池充放电电流 + */ + private double CADC; + /** + * 动力电池负载端总电压V3 + */ + private double PBLETVV3; + /** + * 单次最大电压 + */ + private double SMV; + /** + * 单体电池最低电压 + */ + private double MVOAB; + /** + * 单体电池最高温度 + */ + private double MAXBT; + /** + * 单体电池最低温度 + */ + private double MINBT; + /** + * 动力电池可用容量 + */ + private double PBAC; + /** + * 车辆状态 + */ + private String VS; + /** + * 充电状态 + */ + private String CS; + /** + * 运行状态 + */ + private String RS; + /** + * SOC + */ + private double SOC; + /** + * 可充电储能装置工作状态 + */ + private String RESDWC; + /** + * EAS + */ + private String EAS; + /** + * PTC + */ + private String PTC; + /** + * EPS + */ + private String EPS; + /** + * ABS + */ + private String ABS; + /** + * MCU + */ + private String MCU; + /** + * 动力电池加热状态 + */ + private String PBHS; + /** + * 动力电池当前状态 + */ + private String PBCS; + /** + * 动力电池保温状态 + */ + private String PBIS; + /** + * DCDC + */ + private String DCDC; + /** + * CHG + */ + private String CHG; + /** + * 校验位 + */ + private byte CHB; + /** + * 截止位 + */ + private byte CUB; + /** + * 起始位 + */ + private byte SOH; + + +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarManage.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarManage.java index ba29ecf..dfc1084 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarManage.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarManage.java @@ -107,5 +107,10 @@ public class CarManage { */ private Long enterpriseId; + /** + * 车辆类型ID + */ + private Long carTypeId; + } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarTemplate.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarTemplate.java index 672626c..985a848 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarTemplate.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarTemplate.java @@ -10,10 +10,10 @@ import lombok.Data; import lombok.NoArgsConstructor; /** - * 故障规则 + * 报文模版表 * @Author: chenruijia * @Date 2024/9/28 12.23 - * @Description FaultRule:故障规则 + * @Description CarTemplate:报文模版表 */ @Data @NoArgsConstructor diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarType.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarType.java index 45d4678..4f952fe 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarType.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarType.java @@ -28,7 +28,7 @@ public class CarType { * 车辆类型id */ @TableId(value = "car_type_id",type = IdType.AUTO) - private Integer carTypeId; + private Long carTypeId; /** * 车辆类型名称 @@ -38,7 +38,7 @@ public class CarType { /** * 模板id */ - private Integer templateId; + private Long templateId; } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/Cheak.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/Cheak.java new file mode 100644 index 0000000..3baf941 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/Cheak.java @@ -0,0 +1,32 @@ +package com.muyu.enterprise.domain; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * 故障查询信息结果返回对象 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain + * @Project:cloud-server + * @name:Vehicle + * @Date:2024/9/20 20:44 + */ + +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@Tag(name = "故障查询信息结果返回对象") +public class Cheak { + /** + * 车辆VIN 唯一标识 + */ + private String VIN; + /** + * 故障信息 + */ + private String faultmessage; +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultCondition.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultCondition.java new file mode 100644 index 0000000..972760a --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultCondition.java @@ -0,0 +1,80 @@ +package com.muyu.enterprise.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.enterprise.domain.req.FaultConditionAddReq; +import com.muyu.enterprise.domain.req.FaultConditionUpdReq; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; +import java.util.function.Supplier; + +/** + * 故障规则 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain + * @Project:cloud-server + * @name:FaultCondition + * @Date:2024/9/21 19:51 + */ + +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@TableName(value = "fault_condition",autoResultMap = true) +@Tag(name = "故障规则") +public class FaultCondition { + /** + * 故障规则表Id + */ + @TableId(value = "fault_condition_id",type = IdType.AUTO) + private long faultConditionId; + /** + * 车辆类型Id + */ + private long carTypeId; + /** + *故障名称Id + */ + private long messageId; + /** + * 故障条件 + */ + private String faultConditionIdentification; + /** + * 故障规则参数 + */ + private BigDecimal faultConditionParameter; + + + public static FaultCondition faultConditionadd(FaultConditionAddReq faultConditionAddReq){ + return FaultCondition.builder() + .carTypeId(faultConditionAddReq.getCarTypeId()) + .messageId(faultConditionAddReq.getMessageId()) + .faultConditionIdentification(faultConditionAddReq.getFaultConditionIdentification()) + .faultConditionParameter(faultConditionAddReq.getFaultConditionParameter()) + .build(); + } + + public static FaultCondition faultConditionupd(FaultConditionUpdReq faultConditionUpdReq, Supplier idSupplier){ + return FaultCondition.builder() + .faultConditionId(faultConditionUpdReq.getFaultConditionId()) + .carTypeId(faultConditionUpdReq.getCarTypeId()) + .messageId(faultConditionUpdReq.getMessageId()) + .faultConditionIdentification(faultConditionUpdReq.getFaultConditionIdentification()) + .faultConditionParameter(faultConditionUpdReq.getFaultConditionParameter()) + .build(); + } + + + + + +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultLabel.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultLabel.java new file mode 100644 index 0000000..6f0bdee --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultLabel.java @@ -0,0 +1,75 @@ +package com.muyu.enterprise.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * 故障标签 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain + * @Project:cloud-faultmanage + * @name:FaultLabel + * @Date:2024/9/17 15:06 + */ + +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@TableName(value = "car_message_type",autoResultMap = true) +@Tag(name = "故障标签") +public class FaultLabel { + /** + *自增主键 + */ + @TableId(value = "message_type_id",type = IdType.AUTO) + private long messageTypeId; + /** + *报文编码 + */ + @TableField(value = "message_code") + private String messageTypeCode; + /** + *报文名称 + */ + @TableField(value = "message_name") + private String messageTypeName; + /** + *报文所属类别 + */ + @TableField(value = "message_type") + private String messageTypeBelongs; + + private String messageClass; + + + public static FaultLabel addfaultLabel(FaultLabel faultLabel){ + return FaultLabel.builder() + .messageTypeId(0) + .messageTypeId(faultLabel.getMessageTypeId()) + .messageTypeCode(faultLabel.getMessageTypeCode()) + .messageTypeName(faultLabel.getMessageTypeName()) + .messageTypeBelongs(faultLabel.getMessageTypeBelongs()) + .messageClass(faultLabel.getMessageClass()) + .build(); + } + + + public static FaultLabel selectFaultLabel(FaultLabel faultLabel) { + return FaultLabel.builder() + .messageTypeId(faultLabel.messageTypeId) + .messageTypeCode(faultLabel.messageTypeCode) + .messageTypeName(faultLabel.messageTypeName) + .messageTypeBelongs(faultLabel.messageTypeBelongs) + .messageClass(faultLabel.messageClass) + .build(); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultRule.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultRule.java deleted file mode 100644 index 4721153..0000000 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/FaultRule.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.muyu.enterprise.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.muyu.common.core.web.domain.BaseEntity; -import io.swagger.v3.oas.annotations.media.Schema; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.*; -import lombok.experimental.SuperBuilder; -/** - * 故障规则 - * @Author: chenruijia - * @Date 2024/9/28 12.23 - * @Description FaultRule:故障规则 - */ -@Data -@SuperBuilder -@AllArgsConstructor -@NoArgsConstructor -@TableName(value = "fault_rule",autoResultMap = true) -@EqualsAndHashCode(callSuper = true) -@Tag(name = "故障规则") -public class FaultRule extends BaseEntity { - /** - * 故障规则ID - */ - @TableId(value = "fault_rule_id", type= IdType.AUTO) - @Schema(defaultValue = "故障规则ID",type = "Long",description = "故障规则ID") - private Long faultRuleId; - /** - * 车辆类型ID - */ - @Schema(defaultValue = "车辆类型ID",type = "Integer",description = "车辆类型ID") - private Integer carTypeId; - /** - * 故障名称ID - */ - @Schema(defaultValue = "故障名称ID",type = "Integer",description = "故障名称ID") - private Integer faultId; - /** - * 故障条件 - */ - @Schema(defaultValue = "故障条件",type = "String",description = "故障条件") - private String faultConditions; - /** - * 故障规则参数 - */ - @Schema(defaultValue = "故障规则参数",type = "String",description = "故障规则参数") - private String ruleParameters; - /** - * 车辆类型名称 - */ - @Schema(defaultValue = "车辆类型名称",type = "String",description = "车辆类型名称") - private String carTypeName; - /** - * 故障名称 - */ - @Schema(defaultValue = "故障名称",type = "String",description = "故障名称") - private String faultName; - /** - * 车辆VIN - */ - @Schema(defaultValue = "车辆VIN",type = "String",description = "车辆VIN") - private String carVin; - - -} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionAddReq.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionAddReq.java new file mode 100644 index 0000000..3306bc9 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionAddReq.java @@ -0,0 +1,48 @@ +package com.muyu.enterprise.domain.req; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 故障规则制定请求对象 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain.req + * @Project:cloud-server + * @name:FaultConditionAddReq + * @Date:2024/9/21 21:02 + */ +@Tag(name = "故障规则制定请求对象") +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class FaultConditionAddReq { + /** + * 故障规则表Id + */ + private long faultConditionId; + /** + * 车辆类型Id + */ + private long carTypeId; + /** + *故障名称Id + */ + private long messageId; + /** + * 故障条件 + */ + private String faultConditionIdentification; + /** + * 故障规则参数 + */ + private BigDecimal faultConditionParameter; + +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionListReq.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionListReq.java new file mode 100644 index 0000000..58f6499 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionListReq.java @@ -0,0 +1,43 @@ +package com.muyu.enterprise.domain.req; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 故障规则列表条件查询请求对象 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain.req + * @Project:cloud-server + * @name:FaultCondition + * @Date:2024/9/21 20:02 + */ +@Tag(name = "故障规则列表请求对象") +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class FaultConditionListReq { + + + /** + * 车辆类型Id + */ + private long carTypeId; + /** + *故障名称Id + */ + private long messageId; + /** + * 页码,从1开始 + */ + private Integer pageNum=1; + /** + * 每页大小 + */ + private Integer pageSize=10; +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionUpdReq.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionUpdReq.java new file mode 100644 index 0000000..e5a6f1b --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/req/FaultConditionUpdReq.java @@ -0,0 +1,46 @@ +package com.muyu.enterprise.domain.req; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 故障规则修改请求对象 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain.req + * @Project:cloud-server + * @name:FaultConditionUpdReq + * @Date:2024/9/22 9:38 + */ +@Tag(name = "故障规则修改请求对象") +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class FaultConditionUpdReq { + + /** + * 故障规则表Id + */ + private long faultConditionId; + /** + * 车辆类型Id + */ + private long carTypeId; + /** + *故障名称Id + */ + private long messageId; + /** + * 故障条件 + */ + private String faultConditionIdentification; + /** + * 故障规则参数 + */ + private BigDecimal faultConditionParameter; +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionListResp.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionListResp.java new file mode 100644 index 0000000..5226c1d --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionListResp.java @@ -0,0 +1,63 @@ +package com.muyu.enterprise.domain.resp; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.enterprise.domain.FaultCondition; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 故障规则信息响应对象 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain.resp + * @Project:cloud-server + * @name:FaultConditionResp + * @Date:2024/9/21 19:59 + */ + +@Data +@Builder +@AllArgsConstructor +@Tag(name="故障规则信息响应对象",description = "故障规则查询的响应结果") +public class FaultConditionListResp { + + /** + * 故障规则表Id + */ + private long faultConditionId; + /** + * 车辆类型Id + */ + private long carTypeId; + /** + *故障名称Id + */ + private long messageId; + /** + * 故障条件 + */ + private String faultConditionIdentification; + /** + * 故障规则参数 + */ + private BigDecimal faultConditionParameter; + + /** + * 数据库对象构建为返回结果对象 + * @param faultCondition + * @return + */ + public static FaultConditionListResp faultConditionListResp(FaultCondition faultCondition){ + return FaultConditionListResp.builder() + .faultConditionId(faultCondition.getFaultConditionId()) + .carTypeId(faultCondition.getCarTypeId()) + .messageId(faultCondition.getMessageId()) + .faultConditionIdentification(faultCondition.getFaultConditionIdentification()) + .faultConditionParameter(faultCondition.getFaultConditionParameter()) + .build(); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionResp.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionResp.java new file mode 100644 index 0000000..160f260 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionResp.java @@ -0,0 +1,47 @@ +package com.muyu.enterprise.domain.resp; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 故障规则表 + * @Author:chenruijia + * @Package:com.muyu.domain.resp + * @Project:cloud-server + * @name:FaultConditionResp 故障规则表 + * @Date:2024/9/28 16:53 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Tag(name="故障规则表",description = "数据响应") +public class FaultConditionResp { + + /** + * 故障规则表Id + */ + @TableId(value = "fault_condition_id",type = IdType.AUTO) + private long faultConditionId; + /** + * 车辆类型Id + */ + private long carTypeId; + /** + *故障名称Id + */ + private long messageId; + /** + * 故障条件 + */ + private String faultConditionIdentification; + /** + * 故障规则参数 + */ + private BigDecimal faultConditionParameter; +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionTotalListResp.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionTotalListResp.java new file mode 100644 index 0000000..d540323 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/resp/FaultConditionTotalListResp.java @@ -0,0 +1,49 @@ +package com.muyu.enterprise.domain.resp; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +/** + * 故障规则数据总数响应对象 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.domain.resp + * @Project:cloud-server + * @name:FaultConditionTotalListResp + * @Date:2024/9/21 20:00 + */ + +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +@Tag(name="故障规则数据总数列表",description = "数据和总数的响应") +public class FaultConditionTotalListResp { + + /** + * 故障规则信息集合 + */ + private List faultConditionListRespList; + + /** + * 总数量 + */ + private long total; + + /** + * + * @param faultConditionListRespList + * @param total + * @return + */ + public static FaultConditionTotalListResp faultConditionTotalListResp(List faultConditionListRespList,long total){ + FaultConditionTotalListResp faultConditionTotalListResp = new FaultConditionTotalListResp(); + faultConditionTotalListResp.setFaultConditionListRespList(faultConditionListRespList); + faultConditionTotalListResp.setTotal(total); + return faultConditionTotalListResp; + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/CloudEnterpriseApplication.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/CloudEnterpriseApplication.java index 132a350..14f7cce 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/CloudEnterpriseApplication.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/CloudEnterpriseApplication.java @@ -16,26 +16,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; public class CloudEnterpriseApplication { public static void main (String[] args) { SpringApplication.run(CloudEnterpriseApplication.class, args); - System.out.println(" _ooOoo_\n" + - " o8888888o\n" + - " 88\" . \"88\n" + - " (| -_- |)\n" + - " O\\ = /O\n" + - " ____/`---'\\____\n" + - " .' \\\\| |// `.\n" + - " / \\\\||| : |||// \\\n" + - " / _||||| -:- |||||- \\\n" + - " | | \\\\\\ - /// | |\n" + - " | \\_| ''\\---/'' | |\n" + - " \\ .-\\__ `-` ___/-. /\n" + - " ___`. .' /--.--\\ `. . __\n" + - " .\"\" '< `.___\\_<|>_/___.' >'\"\".\n" + - " | | : `- \\`.;`\\ _ /`;.`/ - ` : | |\n" + - " \\ \\ `-. \\_ __\\ /__ _/ .-` / /\n" + - " ======`-.____`-.___\\_____/___.-`____.-'======\n" + - " `=---='\n" + - " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n" + - " // 佛祖保佑 永不宕机 永无BUG //"); - } + } } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java index 6921566..ea41d4e 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java @@ -1,22 +1,18 @@ package com.muyu.enterprise.controller; -import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.RandomUtil; -import com.muyu.common.core.utils.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.muyu.enterprise.cache.CarManageCacheService; import com.muyu.enterprise.domain.CarManage; import com.muyu.enterprise.domain.dto.CarDTO; import com.muyu.enterprise.domain.vo.CarVO; import com.muyu.enterprise.service.CarCompanyService; -import com.muyu.enterprise.service.CarManageService; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.controller.BaseController; -import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.security.utils.SecurityUtils; -import io.swagger.v3.oas.annotations.Operation; +import com.muyu.enterprise.service.CarManageService; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -29,13 +25,13 @@ import java.util.List; * @Date 2024/9/28 16:52 */ @RestController -@RequestMapping("/carManage") +@RequestMapping("/CarManage") /** 构造必备注解 只有用 final 修饰 才会被构造注入 */ @RequiredArgsConstructor //制动构造注入 默认无参 Lombook包下 @Tag(name = "CarManageController", description = "车辆管理") public class CarManageController extends BaseController { - private final CarManageCacheService carManageCacheService; + private final CarManageCacheService CarManageCacheService; private final CarCompanyService sysCarCompanyService; @@ -69,8 +65,8 @@ public class CarManageController extends BaseController { * @param carId * @return */ - @PostMapping("carManageShowByCarId") - public Result carManageShowByCarId(@RequestParam("carId") Long carId){ + @PostMapping("CarManageShowByCarId") + public Result CarManageShowByCarId(@RequestParam("carId") Long carId){ return Result.success(sysCarService.getById(carId)); } @@ -117,5 +113,16 @@ public class CarManageController extends BaseController { return Result.success("车辆删除成功"); } + /** + * 根据VIN码查询车辆信息 + * @param carVin + * @return + */ + @RequestMapping(value = "/selectVin/{carVin}",method = RequestMethod.POST) + public Result selectVin(@PathVariable String carVin){ + CarManage CarManages = sysCarService.selectVin(carVin); + return Result.success(CarManages); + } + } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarTypeController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarTypeController.java index aaf5004..f6c8224 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarTypeController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarTypeController.java @@ -45,7 +45,7 @@ public class CarTypeController { * @return */ @PostMapping("/catTypeId") - private Result catTypeId(@RequestParam("catTypeId") Integer catTypeId) { + private Result catTypeId(@RequestParam("catTypeId") Long catTypeId) { CarType carType = carTypeService.findById(catTypeId); return Result.success(carType); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultConditionController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultConditionController.java new file mode 100644 index 0000000..72be479 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultConditionController.java @@ -0,0 +1,95 @@ +package com.muyu.enterprise.controller; + + +import com.muyu.common.core.domain.Result; +import com.muyu.enterprise.domain.FaultCondition; +import com.muyu.enterprise.domain.req.FaultConditionAddReq; +import com.muyu.enterprise.domain.req.FaultConditionListReq; +import com.muyu.enterprise.domain.req.FaultConditionUpdReq; +import com.muyu.enterprise.domain.resp.FaultConditionTotalListResp; +import com.muyu.enterprise.service.FaultConditionService; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 故障规则控制层 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.controller + * @Project:cloud-server + * @name:FaultRuleController + * @Date:2024/9/19 22:10 + */ + +@RestController +@RequestMapping("/faultcondition") +public class FaultConditionController { + + @Autowired + private FaultConditionService faultConditionService; + + + /** + * 故障规则 + * @param faultConditionListReq + * @return + */ + @PostMapping("/list") + @Operation(summary = "故障规则列表展示",description = "故障规则列表展示") + public Result getfaultrulelist(@RequestBody @Validated FaultConditionListReq faultConditionListReq){ + + FaultConditionTotalListResp getfaultrulelist = faultConditionService.getfaultrulelist(faultConditionListReq); + return Result.success(getfaultrulelist,"操作成功"); + } + + + /** + * 故障规则添加 + * @param faultConditionAddReq + * @return + */ + @PostMapping("/faultconditionadd") + @Operation(summary = "添加规则",description = "添加故障规则") + public Result faultconditionadd(@RequestBody FaultConditionAddReq faultConditionAddReq){ + //判断车辆类型是否已存在所对应的故障规则 + List faultConditionList = faultConditionService.selectBytypeAndlabel(faultConditionAddReq); + if (faultConditionList.size()>0){ + return Result.error("此车辆类型已存在所对应的故障规则,无需重新制定,可在原规则上进行修改"); + } + faultConditionService.save(FaultCondition.faultConditionadd(faultConditionAddReq)); + return Result.success(null,"规则制定成功"); + } + + /** + * 故障规则修改 + * @param + * @param faultConditionUpdReq + * @return + */ + @PostMapping("/faultconditionupd") + @Operation(summary = "修改规则",description = "修改故障规则") + public Result faultconditionupd( + @RequestBody @Validated FaultConditionUpdReq faultConditionUpdReq){ + faultConditionService.updateById(FaultCondition.faultConditionupd(faultConditionUpdReq,()->faultConditionUpdReq.getFaultConditionId())); + return Result.success(null,"规则修改成功"); + } + + + /** + * 故障规则删除 + * @param faultConditionId + * @return + */ + @PostMapping("/faultconditiondel/{faultConditionId}") + @Operation(summary = "删除规则",description = "删除故障规则") + public Result faultconditiondel(@PathVariable("faultConditionId") long faultConditionId){ + faultConditionService.removeById(faultConditionId); + return Result.success(null,"规则删除成功"); + } + + + +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultLabelController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultLabelController.java new file mode 100644 index 0000000..a94852b --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultLabelController.java @@ -0,0 +1,36 @@ +package com.muyu.enterprise.controller; +import com.muyu.common.core.domain.Result; +import com.muyu.enterprise.service.FaultLabelService; +import io.swagger.v3.oas.annotations.Operation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 故障项选择控制层 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.controller + * @Project:cloud-server + * @name:FaultTypeController + * @Date:2024/9/18 20:58 + */ + +@RestController +@RequestMapping("/faultlabel") +public class FaultLabelController { + + @Autowired + private FaultLabelService faultLabelService; + + + /** + * 故障名称 + * @return + */ + @PostMapping("/list") + @Operation(summary = "故障名称查询",description = "故障名称信息") + public Result findfaulttype(){ + return Result.success(faultLabelService.select()); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultRuleController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultRuleController.java index 0b5cd43..5c68118 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultRuleController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/FaultRuleController.java @@ -2,19 +2,21 @@ package com.muyu.enterprise.controller; import com.muyu.common.core.domain.Result; -import com.muyu.enterprise.domain.FaultRule; +import com.muyu.enterprise.domain.CarFaultRule; +import com.muyu.enterprise.domain.Cheak; import com.muyu.enterprise.service.FaultRuleService; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import java.util.Arrays; import java.util.List; /** - * 故障的规则控制层 + * 故障的规则检测控制层 * @author chenruijia * @Date 2024/9/28 11:58 - * @Description FaultRuleController:故障的规则控制层 + * @Description FaultRuleController:故障的规则检测控制层 */ @RestController @RequestMapping("/rule") @@ -22,57 +24,17 @@ import java.util.List; public class FaultRuleController { @Autowired - private FaultRuleService faultRuleList; - + private FaultRuleService faultRuleService; /** - * 查询车辆故障列表 - */ - @RequestMapping(value = "/faultRuleList", method = RequestMethod.GET) - public Result> faultRuleList(FaultRule faultRule) - { - List list = faultRuleList.faultRuleList(faultRule); - return Result.success(list); - } - - /** - * 添加车辆规则 - * @param faultRule + * 故障参数匹配检查 + * @param carFaultRule * @return */ - @RequestMapping(value = "/insertRule",method = RequestMethod.POST) - public Result insertRule(@RequestBody FaultRule faultRule){ - return Result.success(faultRuleList.save(faultRule)); - } - - /** - * 修改车辆规则 - * @param faultRule - * @return - */ - @RequestMapping(value = "/updateRule",method = RequestMethod.POST) - public Result updateRule(@RequestBody FaultRule faultRule){ - return Result.success(faultRuleList.updateById(faultRule)); - } - - /** - * 获取单条故障规则详细信息 - * @param faultRuleId - * @return - */ - @RequestMapping(value = "/byidRuleId/{faultRuleId}",method = RequestMethod.GET) - public Result byidRuleId(@PathVariable Long faultRuleId){ - FaultRule byid = faultRuleList.byidRuleId(faultRuleId); - return Result.success(byid); - } - - /** - * 删除车辆故障 - */ - @RequestMapping(value = "/remove/{ids}",method = RequestMethod.DELETE) - public Result remove(@PathVariable("ids") Long[] ids) - { - faultRuleList.removeBatchByIds(Arrays.asList(ids)); - return Result.success(); + @PostMapping("/cheakfaults") + @Operation(summary = "故障参数匹配检查",description = "获取报文数据与故障参数进行比较") + public Result cheakfaults(@Validated @RequestBody CarFaultRule carFaultRule){ + List checkfault = faultRuleService.checkfault(carFaultRule); + return Result.success(checkfault); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarCompanyMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarCompanyMapper.java index e070747..8b0fa35 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarCompanyMapper.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarCompanyMapper.java @@ -2,6 +2,7 @@ package com.muyu.enterprise.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.enterprise.domain.CarCompany; +import org.apache.ibatis.annotations.Mapper; /** @@ -11,6 +12,7 @@ import com.muyu.enterprise.domain.CarCompany; * @author MingWei.Zong * @Date 2024/9/28 16:52 */ +@Mapper public interface CarCompanyMapper extends BaseMapper { } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarConfigMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarConfigMapper.java index a3aafcb..c28e7a6 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarConfigMapper.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarConfigMapper.java @@ -11,7 +11,7 @@ import java.util.List; /** * 车辆配置--持久层 - * @ClassName CarManageMapper + * @ClassName CarManageService * @Description 车辆配置 Mapper 层 * @author MingWei.Zong * @Date 2024/9/28 16:52 diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarManageMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarManageMapper.java index 5117d62..449f197 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarManageMapper.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarManageMapper.java @@ -1,25 +1,18 @@ package com.muyu.enterprise.mapper; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.github.yulichang.base.MPJBaseMapper; -import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.muyu.enterprise.domain.CarManage; -import com.muyu.enterprise.domain.dto.CarDTO; -import com.muyu.enterprise.domain.vo.CarVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; - -import java.util.List; +import org.apache.ibatis.annotations.Select; /** * 车辆管理--持久层 - * @ClassName CarManageMapper - * @Description 车辆管理 Mapper 层 - * @author MingWei.Zong - * @Date 2024/9/28 16:52 + * @author chenruijia + * @Date 2024/10/9 15:08 + * @Description CarManageMapper:车辆管理--持久层 */ @Mapper public interface CarManageMapper extends MPJBaseMapper { - } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarTypeMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarTypeMapper.java index 6d83be6..b121c2f 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarTypeMapper.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/CarTypeMapper.java @@ -13,6 +13,6 @@ import org.apache.ibatis.annotations.Param; */ @Mapper public interface CarTypeMapper extends BaseMapper { - CarType findById(@Param("catTypeId") Integer catTypeId); + CarType findById(@Param("catTypeId") Long catTypeId); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultConditionMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultConditionMapper.java new file mode 100644 index 0000000..ae9f6b8 --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultConditionMapper.java @@ -0,0 +1,19 @@ +package com.muyu.enterprise.mapper; + +import com.github.yulichang.base.MPJBaseMapper; +import com.muyu.enterprise.domain.FaultCondition; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 故障规则持久层 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.mapper + * @Project:cloud-server + * @name:FaultRuleMapper + * @Date:2024/9/19 22:11 + */ +@Mapper +public interface FaultConditionMapper extends MPJBaseMapper { +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultLabelMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultLabelMapper.java new file mode 100644 index 0000000..0e298aa --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultLabelMapper.java @@ -0,0 +1,17 @@ +package com.muyu.enterprise.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.enterprise.domain.FaultLabel; +import org.apache.ibatis.annotations.Mapper; + +/** + * 故障项选择持久层 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.mapper + * @Project:cloud-server + * @name:FaultTypeMapper + * @Date:2024/9/18 20:59 + */ +@Mapper +public interface FaultLabelMapper extends BaseMapper { +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultRuleMapper.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultRuleMapper.java index f1ab5b5..385ccf7 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultRuleMapper.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/mapper/FaultRuleMapper.java @@ -1,15 +1,15 @@ package com.muyu.enterprise.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.enterprise.domain.FaultRule; +import com.muyu.enterprise.domain.CarFaultRule; import org.apache.ibatis.annotations.Mapper; /** - * 故障规则持久层 + * 故障规则检测持久层 * @Author: chenruijia * @Date 2024/9/28 12.17 - * @Description FaultRuleMapper:故障规则持久层 + * @Description FaultRuleMapper:故障规则检测持久层 */ @Mapper -public interface FaultRuleMapper extends BaseMapper { +public interface FaultRuleMapper extends BaseMapper { } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java index c04c6fd..2daf6e3 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java @@ -1,5 +1,7 @@ package com.muyu.enterprise.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.muyu.enterprise.domain.CarManage; import com.muyu.enterprise.domain.dto.CarDTO; import com.muyu.enterprise.domain.vo.CarVO; @@ -34,4 +36,6 @@ public interface CarManageService extends IService { * @return */ void insertCar(CarManage carVO); + + CarManage selectVin(String carVin); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarTypeService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarTypeService.java index ca0d59e..8c117ad 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarTypeService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarTypeService.java @@ -10,6 +10,6 @@ import com.muyu.enterprise.domain.CarType; * @Date 2024/9/28 16:52 */ public interface CarTypeService extends IService { - CarType findById(Integer catTypeId); + CarType findById(Long catTypeId); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultConditionService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultConditionService.java new file mode 100644 index 0000000..6c4ae7b --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultConditionService.java @@ -0,0 +1,35 @@ +package com.muyu.enterprise.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.enterprise.domain.FaultCondition; +import com.muyu.enterprise.domain.req.FaultConditionAddReq; +import com.muyu.enterprise.domain.req.FaultConditionListReq; +import com.muyu.enterprise.domain.resp.FaultConditionTotalListResp; + +import java.util.List; + +/** + * 故障规则业务层 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.service.impl + * @Project:cloud-server + * @name:FaultRuleService + * @Date:2024/9/19 22:10 + */ +public interface FaultConditionService extends IService { + + + /** + * 故障规则 + * @param faultConditionListReq + * @return + */ + FaultConditionTotalListResp getfaultrulelist(FaultConditionListReq faultConditionListReq); + + /** + * 故障规则添加 + * @param faultConditionAddReq + * @return + */ + List selectBytypeAndlabel(FaultConditionAddReq faultConditionAddReq); +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultLabelService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultLabelService.java new file mode 100644 index 0000000..649a5fb --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultLabelService.java @@ -0,0 +1,45 @@ +package com.muyu.enterprise.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.enterprise.domain.FaultLabel; + +import java.util.List; + +/** + * 故障项选择业务层 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.service + * @Project:cloud-server + * @name:FaultTypeService + * @Date:2024/9/18 20:59 + */ +public interface FaultLabelService extends IService { + /** + * 故障名称 + * @return + */ + List select(); + + /** + * 判断故障名称是否存在 + * @param messageTypeName + * @return + */ + FaultLabel selectfaultName(String messageTypeName); + + /** + * 添加故障项表 + * @param faultLabel + * @return + */ + Integer insertfaultlabel(FaultLabel faultLabel); + + /** + * 删除对应的故障名称表信息 + * @param messageTypeId + * @return + */ + Integer delfaultlabel(Integer messageTypeId); + + List selectFaultCode(long messageTypeId); +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultRuleService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultRuleService.java index 4764c1f..d730ad1 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultRuleService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/FaultRuleService.java @@ -1,17 +1,16 @@ package com.muyu.enterprise.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.enterprise.domain.FaultRule; +import com.muyu.enterprise.domain.CarFaultRule; +import com.muyu.enterprise.domain.Cheak; import java.util.List; /** - * 故障规则业务层 + * 故障规则检测业务层 * @Author: chenruijia * @Date 2024/9/28 12.19 - * @Description FaultrRuleService:故障规则业务层 + * @Description FaultrRuleService:故障规则检测业务层 */ -public interface FaultRuleService extends IService { - List faultRuleList(FaultRule faultrRule); - - FaultRule byidRuleId(Long faultRuleId); +public interface FaultRuleService extends IService { + List checkfault(CarFaultRule carFaultRule); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarCompanyServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarCompanyServiceImpl.java index ecd3afa..1423b3f 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarCompanyServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarCompanyServiceImpl.java @@ -15,13 +15,6 @@ import org.springframework.stereotype.Service; * @author MingWei.Zong * @Date 2024/9/28 16:52 */ -/** - * 车辆企业--业务层 - * @ClassName CarCompanyService - * @Description 车辆企业 Service 层 - * @author MingWei.Zong - * @Date 2024/9/28 16:52 - */ @Service public class CarCompanyServiceImpl extends ServiceImpl implements CarCompanyService { diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarConfigServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarConfigServiceImpl.java index 1f14817..6bd22d4 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarConfigServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarConfigServiceImpl.java @@ -1,24 +1,12 @@ package com.muyu.enterprise.service.impl; -import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.muyu.enterprise.domain.CarCompany; import com.muyu.enterprise.domain.CarConfig; -import com.muyu.enterprise.domain.CarManage; -import com.muyu.enterprise.domain.dto.CarDTO; -import com.muyu.enterprise.domain.vo.CarVO; import com.muyu.enterprise.mapper.CarConfigMapper; -import com.muyu.enterprise.mapper.CarManageMapper; -import com.muyu.enterprise.service.CarCompanyService; import com.muyu.enterprise.service.CarConfigService; -import com.muyu.enterprise.service.CarManageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; - /** * 车辆配置--业务实现层 * @ClassName CarConfigServiceImpl diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java index 72f550c..b5e3a05 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java @@ -1,12 +1,10 @@ package com.muyu.enterprise.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.muyu.common.core.domain.Result; -import com.muyu.common.core.utils.StringUtils; import com.muyu.enterprise.cache.CarManageCacheService; -import com.muyu.enterprise.controller.CarCompanyController; import com.muyu.enterprise.domain.CarCompany; import com.muyu.enterprise.domain.CarConfig; import com.muyu.enterprise.domain.CarManage; @@ -16,12 +14,10 @@ import com.muyu.enterprise.mapper.CarManageMapper; import com.muyu.enterprise.service.CarCompanyService; import com.muyu.enterprise.service.CarConfigService; import com.muyu.enterprise.service.CarManageService; -import com.muyu.common.redis.service.RedisService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; import java.util.List; /** @@ -40,9 +36,9 @@ public class CarManageServiceImpl extends ServiceImpl CarListShow(CarDTO carDTO) { // 获取 企业 CarManage carManage = BeanUtil.copyProperties(carDTO, CarManage.class); - return carManageMapper.selectJoinList(CarVO.class, new MPJLambdaWrapper() + return CarManageService.selectJoinList(CarVO.class, new MPJLambdaWrapper() .selectAll(CarManage.class) // 查询所有车辆表 .select(CarCompany::getCompanyName) .select(CarConfig::getConfigName) @@ -99,16 +95,19 @@ public class CarManageServiceImpl extends ServiceImpl 0, CarManage::getCarStatus, carManage.getCarStatus()) .eq(carManage.getEnterpriseId() != null && carManage.getEnterpriseId() > 0, CarManage::getEnterpriseId, carManage.getEnterpriseId()) ); - - } @Override public void insertCar(CarManage carVO) { save(carVO); // 存到缓存中去 - carManageCacheService.put(carVO.getCarVin(),new CarManage()); + CarManageCacheService.put(carVO.getCarVin(),new CarManage()); } - + @Override + public CarManage selectVin(String carVin) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CarManage::getCarVin,carVin); + return CarManageService.selectOne(queryWrapper); + } } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarTypeTypeServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarTypeTypeServiceImpl.java index 432638a..05769bb 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarTypeTypeServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarTypeTypeServiceImpl.java @@ -23,8 +23,8 @@ public class CarTypeTypeServiceImpl private CarTypeMapper carTypeMapper; @Override - public CarType findById(Integer catTypeId) { - CarType carType= carTypeMapper.findById(catTypeId); + public CarType findById(Long catTypeId) { + CarType carType = carTypeMapper.findById(catTypeId); return carType; } } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultConditionServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultConditionServiceImpl.java new file mode 100644 index 0000000..ab01bda --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultConditionServiceImpl.java @@ -0,0 +1,82 @@ +package com.muyu.enterprise.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.muyu.enterprise.domain.CarType; +import com.muyu.enterprise.domain.FaultCondition; +import com.muyu.enterprise.domain.FaultLabel; +import com.muyu.enterprise.domain.req.FaultConditionAddReq; +import com.muyu.enterprise.domain.req.FaultConditionListReq; +import com.muyu.enterprise.domain.resp.FaultConditionListResp; +import com.muyu.enterprise.domain.resp.FaultConditionTotalListResp; +import com.muyu.enterprise.mapper.FaultConditionMapper; +import com.muyu.enterprise.service.FaultConditionService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 故障规则业务实现层 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.service.impl + * @Project:cloud-server + * @name:FaultRuleServiceImpl + * @Date:2024/9/19 22:10 + */ + +@Service +public class FaultConditionServiceImpl extends ServiceImpl implements FaultConditionService { + + @Autowired + private FaultConditionMapper faultConditionMapper; + + + + /** + * 故障规则 + * @param faultConditionListReq + * @return + */ + @Override + public FaultConditionTotalListResp getfaultrulelist(FaultConditionListReq faultConditionListReq) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + long count = this.count(queryWrapper); + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.select(FaultCondition::getFaultConditionId, + FaultCondition::getCarTypeId, + FaultCondition::getMessageId, + FaultCondition::getFaultConditionIdentification, + FaultCondition::getFaultConditionParameter) + .select(CarType::getCarTypeName) + .select(FaultLabel::getMessageTypeName, + FaultLabel::getMessageTypeCode) + .leftJoin(CarType.class,CarType::getCarTypeId,FaultCondition::getCarTypeId) + .leftJoin(FaultLabel.class,FaultLabel::getMessageTypeId,FaultCondition::getMessageId); + if (faultConditionListReq.getCarTypeId()!=0){ + wrapper.eq(CarType::getCarTypeId, faultConditionListReq.getCarTypeId()); + } + if (faultConditionListReq.getMessageId()!=0){ + wrapper.eq(FaultLabel::getMessageTypeId, faultConditionListReq.getMessageId()); + } + wrapper.last("LIMIT "+ ((faultConditionListReq.getPageNum()-1)*faultConditionListReq.getPageSize())+", "+faultConditionListReq.getPageSize()); + List faultConditionListResps = faultConditionMapper.selectJoinList(FaultConditionListResp.class, wrapper); + return FaultConditionTotalListResp.faultConditionTotalListResp(faultConditionListResps,count); + } + + /** + * 故障规则添加 判断故障规则是否存在 + * @param faultConditionAddReq + * @return + */ + @Override + public List selectBytypeAndlabel(FaultConditionAddReq faultConditionAddReq) { + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(FaultCondition::getCarTypeId,faultConditionAddReq.getCarTypeId()) + .eq(FaultCondition::getMessageId,faultConditionAddReq.getMessageId()); + List list = this.list(queryWrapper); + return list; + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultLabelServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultLabelServiceImpl.java new file mode 100644 index 0000000..d39d25f --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultLabelServiceImpl.java @@ -0,0 +1,87 @@ +package com.muyu.enterprise.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.utils.StringUtils; +import com.muyu.enterprise.domain.FaultLabel; +import com.muyu.enterprise.mapper.FaultLabelMapper; +import com.muyu.enterprise.service.FaultLabelService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 故障项选择业务实现层 + * @Author:chenruijia + * @Package:com.muyu.cloud.faultmanage.service.impl + * @Project:cloud-server + * @name:FaultTypeServiceImpl + * @Date:2024/9/18 21:00 + */ +@Service +public class FaultLabelServiceImpl extends ServiceImpl implements FaultLabelService { + @Autowired + private FaultLabelMapper faultLabelMapper; + + + /** + * 故障信息查询 + * @return + */ + @Override + public List select() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + return this.list(queryWrapper); + } + + /** + * 判断故障名称是否存在 + * @param messageTypeName + * @return + */ + @Override + public FaultLabel selectfaultName(String messageTypeName) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StringUtils.isNotEmpty(messageTypeName), + FaultLabel::getMessageTypeName, messageTypeName); + List list = this.list(queryWrapper); + if (!list.isEmpty()){ + return list.get(0); + } + return null; + } + + /** + * 添加故障项表 + * @param faultLabel + * @return + */ + @Override + public Integer insertfaultlabel(FaultLabel faultLabel) { + return faultLabelMapper.insert(FaultLabel.addfaultLabel(faultLabel)); + } + + /** + * 删除对应的故障名称表信息 + * @param messageTypeId + * @return + */ + @Override + public Integer delfaultlabel(Integer messageTypeId) { + // 使用LambdaQueryWrapper来构建查询条件 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + // 假设FaultCode实体类中有一个getMessageTypeId方法 + queryWrapper.eq(FaultLabel::getMessageTypeId, messageTypeId); + return faultLabelMapper.delete(queryWrapper); + } + + @Override + public List selectFaultCode(long messageTypeId) { + + return this.list(new LambdaQueryWrapper() + .eq(FaultLabel::getMessageTypeId,messageTypeId)) + .stream().map(FaultLabel::selectFaultLabel) + .toList(); + } +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultRuleServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultRuleServiceImpl.java index 67afa81..ff73556 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultRuleServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/FaultRuleServiceImpl.java @@ -2,40 +2,105 @@ package com.muyu.enterprise.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.common.core.utils.StringUtils; -import com.muyu.enterprise.domain.FaultRule; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.muyu.enterprise.domain.*; +import com.muyu.enterprise.domain.resp.FaultConditionResp; +import com.muyu.enterprise.mapper.CarManageMapper; +import com.muyu.enterprise.mapper.FaultConditionMapper; import com.muyu.enterprise.mapper.FaultRuleMapper; import com.muyu.enterprise.service.FaultRuleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.Assert; +import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; + /** - * 故障规则业务实现层 + * 故障规则检测业务实现层 * @Author: chenruijia * @Date 2024/9/28 12.19 - * @Description FaultrRuleServiceImpl:故障规则业务实现层 + * @Description FaultrRuleServiceImpl:故障规则检测业务实现层 */ @Service -public class FaultRuleServiceImpl extends ServiceImpl implements FaultRuleService { +@Slf4j +public class FaultRuleServiceImpl extends ServiceImpl implements FaultRuleService { + @Autowired + private CarManageMapper carManageMapper; + @Autowired + private FaultConditionMapper faultConditionMapper; @Override - public List faultRuleList(FaultRule faultRule) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (StringUtils.isNotEmpty(faultRule.getFaultName())) { - queryWrapper.eq(FaultRule::getFaultName,faultRule.getFaultName()); + public List checkfault(CarFaultRule carFaultRule) { + List vehicles = new ArrayList<>(); + // 根据车辆 VIN 判断它属于什么类型的车辆 + List carInformationList = carManageMapper.selectList( + new LambdaQueryWrapper() + .eq(CarManage::getCarVin, carFaultRule.getVin())); + // 根据车辆类型,查询表获取对应的类型的故障规则 + Long carTypeId = null; + for (CarManage carManage : carInformationList) { + carTypeId = carManage.getCarTypeId(); } - if (StringUtils.isNotEmpty(faultRule.getRuleParameters())) { - queryWrapper.eq(FaultRule::getRuleParameters,faultRule.getRuleParameters()); + if (carTypeId != null) { + List faultConditionResps = faultConditionMapper.selectJoinList(FaultConditionResp.class, new MPJLambdaWrapper() + .selectAll(FaultCondition.class) + .select(CarType::getCarTypeName) + .select(FaultLabel::getMessageTypeName) + .select(FaultLabel::getMessageTypeCode) + .leftJoin(CarType.class, CarType::getCarTypeId, FaultCondition::getCarTypeId) + .eq(FaultCondition::getCarTypeId, carTypeId)); + // 获取当前类的所有字段,不包括继承的 + Class carFaultRuleClass = carFaultRule.getClass(); + Field[] declaredFields = carFaultRuleClass.getDeclaredFields(); + for (Field declaredField : declaredFields) { + // 确保可以访问私有字段 + declaredField.setAccessible(true); + try { + // 获取字段的值 + Object value = declaredField.get(carFaultRule); + if (value != null) { + // 遍历 faultConditionResps,查找匹配的 FaultCondition + for (FaultConditionResp faultCondition : faultConditionResps) { + String faultconditionIdentification = faultCondition.getFaultConditionIdentification(); + BigDecimal faultconditionParameter = faultCondition.getFaultConditionParameter(); + // 尝试将值转换为 BigDecimal + BigDecimal bigDecimalValue = null; + if (value instanceof Number) { + Number numberValue = (Number) value; + bigDecimalValue = BigDecimal.valueOf(numberValue.doubleValue()); + } + // 判断条件选择 + if (">".equals(faultconditionIdentification) || ">".equals(faultconditionIdentification)) { + if (bigDecimalValue.compareTo(faultconditionParameter) > 0) { + vehicles.add(new Cheak(carFaultRule.getVin(), declaredField.getName() + "超出规定范围")); + } + } else if ("<".equals(faultconditionIdentification) || "<".equals(faultconditionIdentification)) { + if (bigDecimalValue.compareTo(faultconditionParameter) < 0) { + vehicles.add(new Cheak(carFaultRule.getVin(), declaredField.getName() + "过低")); + } + } else if (">=".equals(faultconditionIdentification) || ">=".equals(faultconditionIdentification)) { + if (bigDecimalValue.compareTo(faultconditionParameter) >= 0) { + vehicles.add(new Cheak(carFaultRule.getVin(), declaredField.getName() + "超出规定范围")); + } + } else if ("<=".equals(faultconditionIdentification) || "<=".equals(faultconditionIdentification)) { + if (bigDecimalValue.compareTo(faultconditionParameter) <= 0) { + vehicles.add(new Cheak(carFaultRule.getVin(), declaredField.getName() + "过低")); + } + } else { + if (bigDecimalValue.compareTo(faultconditionParameter) == 0) { + vehicles.add(new Cheak(carFaultRule.getVin(), declaredField.getName() + "已达到故障点")); + } + } + } + } + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } } - return this.list(queryWrapper); - } - - @Override - public FaultRule byidRuleId(Long faultRuleId) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - Assert.notNull(faultRuleId, "规则ID不可为空"); - queryWrapper.eq(FaultRule::getFaultRuleId, faultRuleId); - return this.getOne(queryWrapper); + return vehicles; } } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/CarManageMapper.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/CarManageMapper.xml deleted file mode 100644 index 2626ceb..0000000 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/CarManageMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/VehicleManageMapper.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/VehicleManageMapper.xml deleted file mode 100644 index 7f3f444..0000000 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/VehicleManageMapper.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/VehicleValueMapper.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/VehicleValueMapper.xml deleted file mode 100644 index 8efe1ab..0000000 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/car/VehicleValueMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/manage/CarMessageMapper.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/manage/CarMessageMapper.xml deleted file mode 100644 index b0d850d..0000000 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/manage/CarMessageMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/message/CarTemplateMapper.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/message/CarTemplateMapper.xml deleted file mode 100644 index fa46ed1..0000000 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/message/CarTemplateMapper.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/warn/CarTypeMapper.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/warn/CarTypeMapper.xml deleted file mode 100644 index 2e4a8ea..0000000 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/warn/CarTypeMapper.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/warn/WarnStrategyMapper.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/warn/WarnStrategyMapper.xml deleted file mode 100644 index 620c5b6..0000000 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/resources/mapper/warn/WarnStrategyMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/constant/CacheHandlerConstants.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/constant/CacheHandlerConstants.java index 4ded5df..efd350a 100644 --- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/constant/CacheHandlerConstants.java +++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/constant/CacheHandlerConstants.java @@ -10,7 +10,7 @@ public class CacheHandlerConstants { /** * 车辆管理缓存标识 */ - public static final String CAR_MANAGE_KEY = "carManage"; + public static final String CAR_MANAGE_KEY = "CarManage"; /** * 故障规则缓存标识 diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java index ff0e571..4ecddcc 100644 --- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java +++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/consumer/GoOnlineConsumer.java @@ -35,7 +35,7 @@ public class GoOnlineConsumer { /** * 车辆管理缓存服务 */ - private final CarManageCacheService carManageCacheService; + private final CarManageCacheService CarManageCacheService; /** * 车辆故障缓存服务 @@ -66,7 +66,7 @@ public class GoOnlineConsumer { public void online(String vin) { log.info("车辆vin码:{},该车辆已上线", vin); cacheUtil.put(vin, new HashMap() {{ - put(CacheHandlerConstants.CAR_MANAGE_KEY, carManageCacheService.get(vin)); + put(CacheHandlerConstants.CAR_MANAGE_KEY, CarManageCacheService.get(vin)); put(CacheHandlerConstants.FAULT_RULE_KEY, carFaultCacheService.get(vin)); put(CacheHandlerConstants.ELECTRONIC_FENCE_KEY, electronicFenceCacheService.get(vin)); put(CacheHandlerConstants.WARN_RULE_KEY, carWarnCacheService.get(vin)); diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java index d7b13bd..3a24dc4 100644 --- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java +++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IdentifyingFailuresEventListener.java @@ -2,7 +2,7 @@ package com.muyu.event.process.listener; import com.alibaba.fastjson2.JSONObject; import com.muyu.common.core.exception.ServiceException; -import com.muyu.enterprise.domain.FaultRule; +import com.muyu.enterprise.domain.CarFaultRule; import com.muyu.event.process.basic.BasicEvent; import com.muyu.event.process.basic.BasicEventListener; import com.muyu.event.process.constant.CacheHandlerConstants; @@ -36,7 +36,7 @@ public class IdentifyingFailuresEventListener implements BasicEventListener> optionalDataMap = Optional.ofNullable((Map) cacheUtil.get((String) data.get("vin"))); optionalDataMap - .map(dataMap -> (FaultRule) dataMap.get(CacheHandlerConstants.FAULT_RULE_KEY)) + .map(dataMap -> (CarFaultRule) dataMap.get(CacheHandlerConstants.FAULT_RULE_KEY)) .orElseThrow(() -> new ServiceException("故障规则未找到")); } }