# Conflicts:
#	cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/server/service/impl/FaultRuleServiceImpl.java
dev.wei
WeiRan 2024-09-29 22:23:10 +08:00
commit 207125c795
12 changed files with 58 additions and 47 deletions

View File

@ -5,13 +5,11 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.domain.req.CarInformationAddReq; import com.muyu.domain.req.CarInformationAddReq;
import com.muyu.domain.req.CarInformationUpdReq; import com.muyu.domain.req.CarInformationUpdReq;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
@ -46,7 +44,7 @@ public class CarInformation {
*/ */
// @TableName(value = "car_information_VIN") // @TableName(value = "car_information_VIN")
@TableField(value = "car_information_VIN") @TableField(value = "car_information_VIN")
private String carInformationVIN; private String carInformationVin;
/** /**
* *
*/ */
@ -135,7 +133,7 @@ public class CarInformation {
public static CarInformation carInformationAddBuilder(CarInformationAddReq carInformation) { public static CarInformation carInformationAddBuilder(CarInformationAddReq carInformation) {
return CarInformation.builder() return CarInformation.builder()
.carInformationVIN(carInformation.getCarInformationVin()) .carInformationVin(carInformation.getCarInformationVin())
.carInformationLicensePlate(carInformation.getCarInformationLicensePlate()) .carInformationLicensePlate(carInformation.getCarInformationLicensePlate())
.carInformationBrand(carInformation.getCarInformationBrand()) .carInformationBrand(carInformation.getCarInformationBrand())
.carInformationColor(carInformation.getCarInformationColor()) .carInformationColor(carInformation.getCarInformationColor())

View File

@ -1,6 +1,7 @@
package com.muyu.domain; package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.domain.req.FaultCodeAddReq; import com.muyu.domain.req.FaultCodeAddReq;
@ -63,18 +64,22 @@ public class FaultCode {
/** /**
* *
*/ */
@TableField(exist = false)
private String faulttypeName; private String faulttypeName;
/** /**
* *
*/ */
@TableField(exist = false)
private String messageTypeName; private String messageTypeName;
/** /**
* *
*/ */
@TableField(exist = false)
private String messageTypeCode; private String messageTypeCode;
/** /**
* *
*/ */
@TableField(exist = false)
private String messageTypeBelongs; private String messageTypeBelongs;
@ -103,10 +108,15 @@ public class FaultCode {
} }
public static FaultCode faultCodeBuilder(FaultCode faultCode) {
return FaultCode.builder()
.faultcodeId(faultCode.getFaultcodeId())
.messageTypeId(faultCode.getMessageTypeId())
.faultcodeNumber(faultCode.getFaultcodeNumber())
.faultGroup(faultCode.faultGroup)
.faultBit(faultCode.faultBit)
.faultValue(faultCode.faultValue)
.isWarning(faultCode.isWarning)
.build();
}
} }

View File

@ -1,6 +1,7 @@
package com.muyu.domain; package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.domain.req.FaultConditionAddReq; import com.muyu.domain.req.FaultConditionAddReq;
@ -54,14 +55,17 @@ public class FaultCondition {
/** /**
* *
*/ */
@TableField(exist = false)
private String carTypeName; private String carTypeName;
/** /**
* *
*/ */
@TableField(exist = false)
private String messageTypeName; private String messageTypeName;
/** /**
* *
*/ */
@TableField(exist = false)
private String messageTypeCode; private String messageTypeCode;

View File

@ -26,7 +26,6 @@ public class FenceGroupReq {
/** /**
* *
*/ */
private List<CarFence> carFences; private List<CarFence> carFences;
/** /**
* *

View File

@ -8,10 +8,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@ -45,8 +42,8 @@ public class CarMessageController {
@PostMapping("/insertCarMessage") @PostMapping("/insertCarMessage")
@Operation(summary = "添加报文信息") @Operation(summary = "添加报文信息")
public Result<Integer> insertCarMessage(@Validated @RequestBody CarMessage carMessage){ public Result<Integer> insertCarMessage(@Validated @RequestBody CarMessage carMessage){
boolean inserted = carMessageService.insertCarMessage(carMessage); int inserted = carMessageService.insertCarMessage(carMessage);
if (inserted){ if (inserted>0){
return Result.success(200,"添加成功"); return Result.success(200,"添加成功");
} }
return Result.error(402,"添加失败"); return Result.error(402,"添加失败");
@ -58,9 +55,9 @@ public class CarMessageController {
*/ */
@PostMapping("/delectByCarMessageId") @PostMapping("/delectByCarMessageId")
@Operation(summary = "删除报文信息") @Operation(summary = "删除报文信息")
public Result<Integer> delectByCarMessageId(Integer carMessageId){ public Result<Integer> delectByCarMessageId(@RequestParam(name = "carMessageId") Integer carMessageId){
boolean deleteByCarMessageId = carMessageService.delectByCarMessageId(carMessageId); int deleteByCarMessageId = carMessageService.delectByCarMessageId(carMessageId);
if (deleteByCarMessageId){ if (deleteByCarMessageId>0){
return Result.success(200,"删除成功"); return Result.success(200,"删除成功");
} }
return Result.error(402,"删除失败"); return Result.error(402,"删除失败");
@ -72,8 +69,8 @@ public class CarMessageController {
@PostMapping("/updateCarMessage") @PostMapping("/updateCarMessage")
@Operation(summary = "修改报文信息") @Operation(summary = "修改报文信息")
public Result<Integer> updateCarMessage(@Validated @RequestBody CarMessage carMessage){ public Result<Integer> updateCarMessage(@Validated @RequestBody CarMessage carMessage){
boolean updateCarMessage = carMessageService.updateCarMessage(carMessage); int updateCarMessage = carMessageService.updateCarMessage(carMessage);
if(updateCarMessage) if(updateCarMessage>0)
{ {
return Result.success(200,"修改成功"); return Result.success(200,"修改成功");
} }

View File

@ -8,8 +8,8 @@ import java.util.List;
/** /**
* *
* @author 17353
*/ */
@Mapper
public interface CarMessageMapper extends MPJBaseMapper<CarMessage> { public interface CarMessageMapper extends MPJBaseMapper<CarMessage> {
} }

View File

@ -1,7 +1,6 @@
package com.muyu.server.service; package com.muyu.server.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.domain.Result;
import com.muyu.domain.CarMessage; import com.muyu.domain.CarMessage;
import com.muyu.domain.resp.CarMessageResp; import com.muyu.domain.resp.CarMessageResp;
@ -23,19 +22,19 @@ public interface CarMessageService extends IService<CarMessage> {
/** /**
* *
*/ */
boolean insertCarMessage(CarMessage carMessage); int insertCarMessage(CarMessage carMessage);
/** /**
* *
*/ */
boolean delectByCarMessageId(Integer carMessageId); int delectByCarMessageId(Integer carMessageId);
/** /**
* *
*/ */
boolean updateCarMessage(CarMessage carMessage); int updateCarMessage(CarMessage carMessage);
/** /**
* *

View File

@ -1,12 +1,8 @@
package com.muyu.server.service.impl; package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.StringUtils;
import com.muyu.domain.CarFence; import com.muyu.domain.CarFence;
import com.muyu.domain.CarInformation; import com.muyu.domain.CarInformation;
@ -69,7 +65,7 @@ public class CarInformationServiceImpl
.leftJoin(CarType.class, CarType::getCarTypeId, CarInformation::getCarInformationType) .leftJoin(CarType.class, CarType::getCarTypeId, CarInformation::getCarInformationType)
.eq(StringUtils.isNotEmpty(carInformationListReq.getCarInformationVIN()) .eq(StringUtils.isNotEmpty(carInformationListReq.getCarInformationVIN())
,CarInformation::getCarInformationVIN ,CarInformation::getCarInformationVin
, carInformationListReq.getCarInformationVIN()) , carInformationListReq.getCarInformationVIN())
.eq(StringUtils.isNotNull(carInformationListReq.getCarTypeId()) .eq(StringUtils.isNotNull(carInformationListReq.getCarTypeId())
,CarType::getCarTypeId, carInformationListReq.getCarTypeId()) ,CarType::getCarTypeId, carInformationListReq.getCarTypeId())
@ -80,7 +76,7 @@ public class CarInformationServiceImpl
,CarInformation::getCarInformationState ,CarInformation::getCarInformationState
, carInformationListReq.getCarInformationState()) , carInformationListReq.getCarInformationState())
.like(StringUtils.isNotEmpty(carInformationListReq.getCarInformationVIN()) .like(StringUtils.isNotEmpty(carInformationListReq.getCarInformationVIN())
,CarInformation::getCarInformationVIN ,CarInformation::getCarInformationVin
, carInformationListReq.getCarInformationVIN()) , carInformationListReq.getCarInformationVIN())
.eq(StringUtils.isNotEmpty( carInformationListReq.getCarInformationMotorModel()) .eq(StringUtils.isNotEmpty( carInformationListReq.getCarInformationMotorModel())
,CarInformation::getCarInformationMotorModel ,CarInformation::getCarInformationMotorModel

View File

@ -53,24 +53,24 @@ public class CarMessageServiceImpl
* *
*/ */
@Override @Override
public boolean insertCarMessage(CarMessage carMessage) { public int insertCarMessage(CarMessage carMessage) {
return this.save(CarMessage.carMessageAddBuilder(carMessage)); return carMessageMapper.insert(CarMessage.carMessageAddBuilder(carMessage));
} }
/** /**
* *
*/ */
@Override @Override
public boolean delectByCarMessageId(Integer carMessageId) { public int delectByCarMessageId(Integer carMessageId) {
return this.removeById(carMessageId); return carMessageMapper.deleteById(carMessageId);
} }
/** /**
* *
*/ */
@Override @Override
public boolean updateCarMessage(CarMessage carMessage) { public int updateCarMessage(CarMessage carMessage) {
// Integer integer = carMessageMapper.updateCarMessage(carMessage); // Integer integer = carMessageMapper.updateCarMessage(carMessage);
return this.updateById(CarMessage.carMessageUpdBuilder(carMessage, carMessage::getMessageTypeId)); return carMessageMapper.updateById(CarMessage.carMessageUpdBuilder(carMessage, carMessage::getMessageTypeId));
} }
/** /**
* *

View File

@ -85,7 +85,7 @@ public class FaultCodeServiceImpl extends ServiceImpl<FaultCodeMapper, FaultCode
LambdaQueryWrapper<FaultCode> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<FaultCode> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StringUtils.isNotEmpty(faultcodeNumber), queryWrapper.eq(StringUtils.isNotEmpty(faultcodeNumber),
FaultCode::getFaultcodeNumber, faultcodeNumber); FaultCode::getFaultcodeNumber, faultcodeNumber);
List<FaultCode> list = this.list(queryWrapper); List<FaultCode> list = this.list(queryWrapper).stream().map(FaultCode::faultCodeBuilder).toList();
FaultCode faultCode=null; FaultCode faultCode=null;
if (!list.isEmpty()){ if (!list.isEmpty()){
faultCode=list.get(0); faultCode=list.get(0);

View File

@ -1,13 +1,11 @@
package com.muyu.server.service.impl; package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.StringUtils;
import com.muyu.domain.CarInformation; import com.muyu.domain.CarInformation;
import com.muyu.domain.FaultCode; import com.muyu.domain.FaultCode;
import com.muyu.domain.FaultCondition;
import com.muyu.domain.FaultLog; import com.muyu.domain.FaultLog;
import com.muyu.domain.req.FaultLogListReq; import com.muyu.domain.req.FaultLogListReq;
import com.muyu.domain.resp.FaultLogListResp; import com.muyu.domain.resp.FaultLogListResp;
@ -49,7 +47,7 @@ public class FaultLogServiceImpl extends ServiceImpl<FaultLogMapper, FaultLog> i
FaultLog::getStartwarningTime, FaultLog::getStartwarningTime,
FaultLog::getEndwarningTime) FaultLog::getEndwarningTime)
.select(FaultCode::getFaultcodeNumber) .select(FaultCode::getFaultcodeNumber)
.select(CarInformation::getCarInformationVIN) .select(CarInformation::getCarInformationVin)
.leftJoin(FaultCode.class,FaultCode::getFaultcodeId,FaultLog::getFaultcodeId) .leftJoin(FaultCode.class,FaultCode::getFaultcodeId,FaultLog::getFaultcodeId)
.leftJoin(CarInformation.class,CarInformation::getCarInformationId,FaultLog::getCarInformationId) .leftJoin(CarInformation.class,CarInformation::getCarInformationId,FaultLog::getCarInformationId)
.eq(StringUtils.isNotEmpty(faultLogListReq.getCarVin()), .eq(StringUtils.isNotEmpty(faultLogListReq.getCarVin()),

View File

@ -1,8 +1,11 @@
package com.muyu.server.service.impl; package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.query.MPJLambdaQueryWrapper; import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.domain.*; import com.muyu.domain.*;
import com.muyu.domain.resp.FaultConditionResp; import com.muyu.domain.resp.FaultConditionResp;
import com.muyu.server.mapper.CarFenceMapper; import com.muyu.server.mapper.CarFenceMapper;
@ -16,6 +19,7 @@ import org.springframework.stereotype.Service;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
/** /**
@ -46,10 +50,15 @@ public class FaultRuleServiceImpl extends ServiceImpl<FaultRuleMapper, CarFaultR
public List<Vehicle> checkfault(CarFaultRule carFaultRule) { public List<Vehicle> checkfault(CarFaultRule carFaultRule) {
List<Vehicle> vehicles = new ArrayList<>(); List<Vehicle> vehicles = new ArrayList<>();
//根据车辆VIN判断它属于什么类型的车辆 //根据车辆VIN判断它属于什么类型的车辆
CarInformation carInformation = carInformationMapper.selectById(carFaultRule.getVin()); List<CarInformation> carInformationList = carInformationMapper.selectList(
Integer carInformationType = carInformation.getCarInformationType(); new LambdaQueryWrapper<CarInformation>()
// carInformationService.selectTypeByVIN(carFaultRule.getVin()); .eq(CarInformation::getCarInformationVin, carFaultRule.getVin()));
//根据车辆类型,查询表获取对应的类型的故障规则 //根据车辆类型,查询表获取对应的类型的故障规则
Integer carInformationType = null;
for (CarInformation carInformation : carInformationList) {
carInformationType= carInformation.getCarInformationType();
}
List<FaultConditionResp> faultConditionResps = faultConditionMapper.selectJoinList(FaultConditionResp.class, new MPJLambdaWrapper<FaultCondition>() List<FaultConditionResp> faultConditionResps = faultConditionMapper.selectJoinList(FaultConditionResp.class, new MPJLambdaWrapper<FaultCondition>()
.selectAll(FaultCondition.class) .selectAll(FaultCondition.class)
@ -57,7 +66,8 @@ public class FaultRuleServiceImpl extends ServiceImpl<FaultRuleMapper, CarFaultR
.select(FaultLabel::getMessageTypeName) .select(FaultLabel::getMessageTypeName)
.select(FaultLabel::getMessageTypeCode) .select(FaultLabel::getMessageTypeCode)
.leftJoin(CarType.class, CarType::getCarTypeId, FaultCondition::getCarTypeId) .leftJoin(CarType.class, CarType::getCarTypeId, FaultCondition::getCarTypeId)
.leftJoin(FaultLabel.class, FaultLabel::getMessageTypeId, FaultCondition::getMessageTypeId)); .leftJoin(FaultLabel.class, FaultLabel::getMessageTypeId, FaultCondition::getMessageTypeId)
.eq(FaultCondition::getCarTypeId,carInformationType));
//获取当前类的所有字段,不包括继承的 //获取当前类的所有字段,不包括继承的
Class<? extends CarFaultRule> carFaultRuleClass = carFaultRule.getClass(); Class<? extends CarFaultRule> carFaultRuleClass = carFaultRule.getClass();
Field[] declaredFields = carFaultRuleClass.getDeclaredFields(); Field[] declaredFields = carFaultRuleClass.getDeclaredFields();