Merge branch 'dev.fault' into dev

# Conflicts:
#	cloud-modules/cloud-modules-vehicle-gateway/src/main/resources/bootstrap.yml
dev.processing.beautify
李东佳 2024-10-08 10:50:55 +08:00
commit 90e94c2736
37 changed files with 1551 additions and 20 deletions

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# Spring
spring:
application:

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# Spring
spring:

View File

@ -0,0 +1,30 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain
* @FilenameCustom
* @Description TODO
* @Date2024/9/21 19:15
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "custom")
public class Custom {
@TableId(value = "c_id", type = IdType.AUTO)
private Integer cId;
@Excel(name = "值")
private String customName;
}

View File

@ -0,0 +1,92 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.annotation.Excel.ColumnType;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain
* @FilenameFault
* @Description TODO
* @Date2024/9/18 11:04
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "fault")
public class Fault extends BaseEntity {
/**
*
*/
@Excel(name = "参数主键", cellType = ColumnType.NUMERIC)
@TableId( type = IdType.AUTO)
private Long id;
/**
*
*/
@Excel(name = "车辆故障编码")
private String faultCode;
/**
*
*/
@Excel(name = "车辆故障名称")
private String faultName;
/**
*
*/
@Excel(name = "辆故障类型")
private String faultType;
/**
* VIN
*/
@Excel(name = "故障VIN编码")
private String carVin;
/**
*
*/
@Excel(name = "车辆故障标签")
private String faultLabel;
/**
*
*/
@Excel(name = "车辆故障位")
private String faultBit;
/**
*
*/
@Excel(name = "车辆故障值")
private String faultValue;
/**
*
*/
@Excel(name = "故障级别")
private String faultWarn;
/**
* Y.N.
*/
@Excel(name = "报警状态Y.是N.否)")
private String warnStatus;
/**
*
*/
@Excel(name = "故障描述信息")
private String faultDesc;
/**
* (1. 2. 3. 4.)
*/
@Excel(name = "启用状态(1.待处理 2.处理中 3.已处理 4.忽略)")
private String state;
}

View File

@ -0,0 +1,21 @@
package com.muyu.domain;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain
* @FilenameFaultConstant
* @Description TODO
* @Date2024/9/19 14:33
*/
public class FaultConstant {
/**
*
*/
public static final String FAULT_INFO_PREFIX = "fault:";
/**
*
*/
public static final String FAULT_LIST = "fault_list";
}

View File

@ -0,0 +1,77 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain.vo
* @FilenameFaultInfo
* @Description TODO
* @Date2024/9/16 20:23
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "fault_info", autoResultMap = true)
public class FaultInfo extends BaseEntity {
/**
* id
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
*
*/
@Excel(name = "故障码")
private String faultCode;
/**
*
*/
@Excel(name = "故障类型")
private String faultType;
/**
*
*/
@Excel(name = "故障组")
private String groupName;
/**
*
*/
@Excel(name = "故障位")
private Integer faultBit;
/**
*
*/
@Excel(name = "故障值")
private String faultValue;
/**
*
*/
@Excel(name = "故障标签")
private String faultTab;
/**
*
*/
@Excel(name = "是否警告")
private Long isWarning;
}

View File

@ -0,0 +1,67 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain
* @FilenameFaultLog
* @Description TODO
* @Date2024/9/16 20:11
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "fault_log", autoResultMap = true)
public class FaultLog{
/**
* id
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
*
*/
@Excel(name = "故障码")
private String faultCode;
/**
* VIN
*/
@Excel(name = "车辆VIN")
private String vin;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:dd:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "开始报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:dd:ss")
private Date warningTime;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:dd:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "结束报警时间", width = 30, dateFormat = "yyyy-MM-dd HH:dd:ss")
private Date normalTime;
}

View File

@ -0,0 +1,45 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain
* @FilenameCustom
* @Description TODO
* @Date2024/9/21 18:39
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "rule")
public class Rule {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@Excel(name = "messageId")
private Long messageId;
@Excel(name = "carId")
private Integer carId;
@Excel(name = "cId")
private Integer cId;
@Excel(name = "tId")
private Integer tId;
@Excel(name = "ruleValue")
private Integer ruleValue;
}

View File

@ -0,0 +1,28 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain
* @FilenameType
* @Description TODO
* @Date2024/9/22 10:03
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "type")
public class Type {
@TableId(value = "t_id", type = IdType.AUTO)
private Integer tId;
private String typeName;
}

View File

@ -0,0 +1,58 @@
package com.muyu.domain.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain
* @FilenameCustom
* @Description TODO
* @Date2024/9/21 18:39
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "rule")
public class RuleVo {
@Excel(name = "id")
private Long id;
@Excel(name = "比较类型")
private Integer cId;
@Excel(name = "messageId")
private Long messageId;
@Excel(name = "标签")
private String messageLabel;
@Excel(name = "车辆id")
private Integer carId;
@Excel(name = "车辆故障类型id")
private Integer tId;
@Excel(name = "参数值")
private Integer ruleValue;
@Excel(name = "标准")
private String customName;
@Excel(name = "故障类型name")
private String typeName;
@Excel(name = "车辆类型name")
private String carName;
}

View File

@ -11,6 +11,7 @@
<artifactId>cloud-modules-enterprise-server</artifactId>
<version>3.6.3</version>
<!--企业业务平台-->
<description>
cloud-modules-enterprise-server 企业业务平台

View File

@ -0,0 +1,110 @@
package com.muyu.enterprise.controller;
import com.muyu.enterprise.service.FaultService;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.domain.Fault;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.controller
* @FilenameFaultController
* @Description TODO
* @Date2024/9/17 11:08
*/
@Log4j2
@RestController
@Tag(name = "故障管理列", description = "故障管理列")
@RequestMapping("/fault")
public class FaultController extends BaseController {
@Autowired
private FaultService faultService;
/**
*
*/
@GetMapping("/list")
@RequiresPermissions("fault:fault:list")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<TableDataInfo<Fault>> list(Fault fault) {
startPage();
List<Fault> list = faultService.pageQuery(fault);
return getDataTable(list);
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@RequiresPermissions("fault:fault:export")
public void export(HttpServletResponse response, Fault fault) {
List<Fault> list = faultService.pageQuery(fault);
ExcelUtil<Fault> util = new ExcelUtil<Fault>(Fault.class);
util.exportExcel(response, list, "车辆故障管理数据");
}
/**
*
*/
@GetMapping(value = "/{id}")
public Result<String> getConfigKey (@PathVariable("id") String id) {
return success(faultService.getById(id));
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.INSERT)
@PostMapping
@RequiresPermissions("fault:fault:add")
public Result add(@RequestBody Fault fault) {
faultService.save(fault);
return Result.success(null,"成功");
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.UPDATE)
@PutMapping
@RequiresPermissions("fault:fault:edit")
public Result edit(@RequestBody Fault fault) {
faultService.updateById(fault);
return Result.success(null,"成功");
}
/**
*
*/
@Log(title = "车辆故障管理删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
@RequiresPermissions("fault:fault:remove")
public Result remove(@PathVariable("id") Long[] id) {
return Result.success(faultService.removeBatchByIds(Arrays.asList(id)), "成功");
}
}

View File

@ -0,0 +1,114 @@
package com.muyu.enterprise.controller;
import com.muyu.enterprise.service.FaultInfoService;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.domain.FaultInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.controller
* @FilenameFaultController
* @Description TODO
* @Date2024/9/17 11:08
*/
@Log4j2
@RestController
@Tag(name = "故障管理列", description = "故障管理列")
@RequestMapping("/info")
public class FaultInfoController extends BaseController {
@Autowired
private FaultInfoService service;
/**
*
*/
@GetMapping("/list")
@RequiresPermissions("fault:fault:list")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<TableDataInfo<FaultInfo>> list(FaultInfo faultInfo) {
startPage();
List<FaultInfo> list = service.pageQuery(faultInfo);
return getDataTable(list);
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@RequiresPermissions("fault:fault:export")
public void export(HttpServletResponse response, FaultInfo fault) {
List<FaultInfo> list = service.pageQuery(fault);
ExcelUtil<FaultInfo> util = new ExcelUtil<FaultInfo>(FaultInfo.class);
util.exportExcel(response, list, "车辆故障管理数据");
}
/**
*
*/
@GetMapping(value = "/{id}")
public Result<String> getConfigKey (@PathVariable("id") String id) {
return success(service.getById(id));
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.INSERT)
@PostMapping
@RequiresPermissions("fault:info:add")
public Result add(@RequestBody FaultInfo fault) {
service.save(fault);
return Result.success(null, "成功");
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.UPDATE)
@PutMapping
@RequiresPermissions("fault:info:edit")
public Result edit(@RequestBody FaultInfo fault) {
service.updateById(fault);
return Result.success(null, "成功");
}
/**
*
*/
@Log(title = "车辆故障管理删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
@RequiresPermissions("fault:info:remove")
public Result remove(@PathVariable("id") Long[] id) {
return Result.success(service.removeBatchByIds(Arrays.asList(id)), "成功");
}
}

View File

@ -0,0 +1,126 @@
package com.muyu.enterprise.controller;
import com.muyu.enterprise.service.FaultLogService;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.domain.FaultLog;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.muyu.common.log.annotation.Log;
import java.util.Arrays;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.controller
* @FilenameFaultLogController
* @Description TODO
* @Date2024/9/16 20:20
*/
@RestController
@RequestMapping("/log")
public class FaultLogController extends BaseController {
@Autowired
private FaultLogService faultLogService;
/**
*
*/
@GetMapping("/list")
@RequiresPermissions("fault:log:list")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<TableDataInfo<FaultLog>> list(FaultLog fault) {
startPage();
List<FaultLog> list = faultLogService.pageQuery(fault);
return getDataTable(list);
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@RequiresPermissions("fault:log:export")
public void export(HttpServletResponse response, FaultLog fault) {
List<FaultLog> list = faultLogService.pageQuery(fault);
ExcelUtil<FaultLog> util = new ExcelUtil<FaultLog>(FaultLog.class);
util.exportExcel(response, list, "车辆故障管理数据");
}
/**
*
*/
@GetMapping(value = "/{id}")
public Result<String> getConfigKey (@PathVariable("id") String id) {
return success(faultLogService.getById(id));
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.INSERT)
@PostMapping
@RequiresPermissions("fault:log:add")
public Result add(@RequestBody FaultLog fault) {
faultLogService.save(fault);
return Result.success(null, "成功");
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.UPDATE)
@PutMapping
@RequiresPermissions("fault:log:edit")
public Result edit(@RequestBody FaultLog fault) {
faultLogService.updateById(fault);
return Result.success(null, "成功");
}
/**
*
*/
@Log(title = "车辆故障管理删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
@RequiresPermissions("fault:log:remove")
public Result remove(@PathVariable("id") Long[] id) {
return Result.success(faultLogService.removeBatchByIds(Arrays.asList(id)), "成功");
}
/**
*
*/
@PostMapping("/addLog")
public Result addLog(@RequestBody FaultLog log){
faultLogService.insertFaultLog(log);
return Result.success();
}
/**
*
*/
@PostMapping("/updateLog")
public Result updateLog(@RequestBody FaultLog log){
faultLogService.updateFaultLogByStatus(log);
return Result.success();
}
}

View File

@ -0,0 +1,147 @@
package com.muyu.enterprise.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.domain.*;
import com.muyu.domain.vo.RuleVo;
import com.muyu.enterprise.service.RuleService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.controller
* @FilenameRuleController
* @Description TODO
* @Date2024/9/21 18:42
*/
@Log4j2
@RestController
@Tag(name = "规则", description = "故障管理列")
@RequestMapping("/rules")
public class RuleController extends BaseController {
@Autowired
private RuleService ruleService;
/**
*
*/
@GetMapping("/list")
@RequiresPermissions("fault:rules:list")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<TableDataInfo<RuleVo>> list(RuleVo fault) {
startPage();
List<RuleVo> list = ruleService.pageQueryRule(fault);
return getDataTable(list);
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@RequiresPermissions("fault:rules:export")
public void export(HttpServletResponse response, Rule fault) {
List<Rule> list = ruleService.pageQuery(fault);
ExcelUtil<Rule> util = new ExcelUtil<Rule>(Rule.class);
util.exportExcel(response, list, "车辆故障管理数据");
}
/**
*
*/
@GetMapping(value = "/{id}")
public Result<String> getConfigKey(@PathVariable("id") String id) {
return success(ruleService.getById(id));
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.INSERT)
@PostMapping
@RequiresPermissions("fault:rules:add")
public Result add(@RequestBody Rule fault) {
return Result.success(ruleService.insertFault(fault), "成功");
}
/**
*
*/
@Log(title = "车辆故障管理", businessType = BusinessType.UPDATE)
@PutMapping
@RequiresPermissions("fault:rules:edit")
public Result edit(@RequestBody Rule fault) {
return Result.success(ruleService.updateFault(fault), "成功");
}
/**
*
*/
@Log(title = "车辆故障管理删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{id}")
@RequiresPermissions("fault:rules:remove")
public Result remove(@PathVariable("id") Long[] id) {
return Result.success(ruleService.removeBatchByIds(Arrays.asList(id)), "成功");
}
/**
*
*/
@GetMapping("/custom")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<List<Custom>> custom(Custom fault) {
return ruleService.pageQueryList(fault);
}
/**
*
*/
@GetMapping("/car")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<List<Vehicle>> car(Vehicle fault) {
return ruleService.pageQueryCar(fault);
}
/**
*
*/
@GetMapping("/type")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<List<Type>> type(Type fault) {
return ruleService.pageQueryType(fault);
}
/**
*
*/
@GetMapping("/MessageValue")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<List<MessageValue>> MessageValue(MessageValue fault) {
return ruleService.pageQueryMessageValue(fault);
}
}

View File

@ -0,0 +1,24 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.domain.FaultInfo;
import org.apache.ibatis.annotations.Mapper;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.mapper
* @FilenameFaultInfoMapper
* @Description TODO
* @Date2024/9/19 22:19
*/
@Mapper
public interface FaultInfoMapper extends BaseMapper<FaultInfo> {
int insertFaultinfo(FaultInfo faultInfo);
int updateFaultinfo(FaultInfo faultInfo);
}

View File

@ -0,0 +1,30 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.domain.FaultLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.ArrayList;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.mapper
* @FilenameFaultLogMapper
* @Description TODO
* @Date2024/9/16 21:15
*/
@Mapper
public interface FaultLogMapper extends BaseMapper<FaultLog> {
Long selectFaultId(FaultLog log);
int updateFaultLogByTime(FaultLog log);
void insertBatchFaultLog(@Param("logs") List<FaultLog> logs);
}

View File

@ -0,0 +1,20 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.domain.Fault;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.mapper
* @FilenameFaultMapper
* @Description TODO
* @Date2024/9/18 11:16
*/
@Mapper
public interface FaultMapper extends BaseMapper<Fault> {
}

View File

@ -0,0 +1,35 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.domain.*;
import com.muyu.domain.vo.RuleVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.mapper
* @FilenameRuleMapper
* @Description TODO
* @Date2024/9/21 18:50
*/
@Mapper
public interface RuleMapper extends BaseMapper<Rule> {
int insertFault(Rule faultInfo);
int updateFault(Rule faultInfo);
List<RuleVo> pageQueryRule(RuleVo fault);
List<Custom> pageQueryList(Custom fault);
List<Vehicle> pageQueryCar(Vehicle fault);
List<Type> pageQueryType(Type fault);
List<MessageValue> pageQueryMessageValue(MessageValue fault);
}

View File

@ -0,0 +1,28 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.FaultInfo;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.service
* @FilenameIFaultInfoService
* @Description TODO
* @Date2024/9/19 22:15
*/
public interface FaultInfoService extends IService<FaultInfo> {
/**
*
*
* @param faultInfo
* @return
*/
List<FaultInfo> pageQuery(FaultInfo faultInfo);
}

View File

@ -0,0 +1,34 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.FaultLog;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.service
* @FilenameIFaultLogService
* @Description TODO
* @Date2024/9/16 20:26
*/
public interface FaultLogService extends IService<FaultLog> {
/**
*
* @param fault
* @return
*/
List<FaultLog> pageQuery(FaultLog fault);
public int insertFaultLog(FaultLog log);
public int updateFaultLogByStatus(FaultLog log);
}

View File

@ -0,0 +1,28 @@
package com.muyu.enterprise.service;
;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.Fault;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.service
* @FilenameIFaultService
* @Description TODO
* @Date2024/9/18 11:12
*/
public interface FaultService extends IService<Fault> {
/**
*
*
* @param fault
* @return
*/
List<Fault> pageQuery(Fault fault);
}

View File

@ -0,0 +1,52 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.domain.Result;
import com.muyu.domain.*;
import com.muyu.domain.vo.RuleVo;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.service
* @FilenameRuleService
* @Description TODO
* @Date2024/9/21 18:47
*/
public interface RuleService extends IService<Rule> {
/**
*
*
* @param fault
* @return
*/
List<Rule> pageQuery(Rule fault);
List<RuleVo> pageQueryRule(RuleVo fault);
/**
*
*
* @param fault
* @return
*/
public int insertFault(Rule fault);
/**
*
*
* @param fault
* @return
*/
public int updateFault(Rule fault);
Result<List<Custom>> pageQueryList(Custom fault);
Result<List<Vehicle>> pageQueryCar(Vehicle fault);
Result<List<Type>> pageQueryType(Type fault);
Result<List<MessageValue>> pageQueryMessageValue(MessageValue fault);
}

View File

@ -0,0 +1,49 @@
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.domain.FaultInfo;
import com.muyu.enterprise.mapper.FaultInfoMapper;
import com.muyu.enterprise.service.FaultInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.service.impl
* @FilenameIFaultInfoServiceImpl
* @Description TODO
* @Date2024/9/19 22:16
*/
@Service
public class FaultInfoServiceImpl extends ServiceImpl<FaultInfoMapper, FaultInfo> implements FaultInfoService {
@Autowired
private FaultInfoMapper faultInfoMapper;
/**
*
* @param faultInfo
* @return fault
*/
@Override
public List<FaultInfo> pageQuery(FaultInfo faultInfo) {
LambdaQueryWrapper<FaultInfo> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(faultInfo.getFaultCode())) {
queryWrapper.like(FaultInfo::getFaultCode, faultInfo.getFaultCode());
}
if (StringUtils.isNotEmpty(faultInfo.getFaultType())) {
queryWrapper.like(FaultInfo::getFaultType, faultInfo.getFaultType());
}
if (StringUtils.isNotEmpty(faultInfo.getGroupName())) {
queryWrapper.like(FaultInfo::getGroupName, faultInfo.getGroupName());
}
return this.list(queryWrapper);
}
}

View File

@ -0,0 +1,73 @@
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.domain.FaultLog;
import com.muyu.enterprise.mapper.FaultLogMapper;
import com.muyu.enterprise.service.FaultLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.service
* @FilenameIFaultLogServiceImpl
* @Description TODO
* @Date2024/9/16 20:37
*/
@Service
public class FaultLogServiceImpl extends ServiceImpl<FaultLogMapper, FaultLog> implements FaultLogService {
@Autowired
private FaultLogMapper faultLogMapper;
@Override
public List<FaultLog> pageQuery(FaultLog fault) {
LambdaQueryWrapper<FaultLog> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(fault.getFaultCode())) {
queryWrapper.like(FaultLog::getFaultCode, fault.getFaultCode());
}
if (StringUtils.isNotEmpty(fault.getVin())) {
queryWrapper.like(FaultLog::getVin, fault.getVin());
}
// 时间区间查询
if (fault.getWarningTime() != null ) {
queryWrapper.gt(FaultLog::getWarningTime, fault.getWarningTime());
}
if (fault.getNormalTime() != null ) {
queryWrapper.lt(FaultLog::getNormalTime, fault.getNormalTime());
}
return this.list(queryWrapper);
}
/**
*
* @param log
*/
@Override
public int insertFaultLog(FaultLog log) {
return 0;
}
/**
*
* @param log
*/
@Override
public int updateFaultLogByStatus(FaultLog log) {
log.setId(faultLogMapper.selectFaultId(log));
return faultLogMapper.updateFaultLogByTime(log);
}
}

View File

@ -0,0 +1,63 @@
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.common.core.web.domain.BaseEntity;
import com.muyu.domain.Fault;
import com.muyu.enterprise.mapper.FaultMapper;
import com.muyu.enterprise.service.FaultService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.service
* @FilenameIFaultServiceImpl
* @Description TODO
* @Date2024/9/18 11:14
*/
@Service
public class FaultServiceImpl extends ServiceImpl<FaultMapper, Fault> implements FaultService {
@Autowired
private FaultMapper faultMapper;
/**
*
* @param fault
* @return fault
*/
@Override
public List<Fault> pageQuery(Fault fault) {
LambdaQueryWrapper<Fault> queryWrapper = new LambdaQueryWrapper<>();
if (StringUtils.isNotEmpty(fault.getFaultCode())) {
queryWrapper.like(Fault::getFaultCode, fault.getFaultCode());
}
if (StringUtils.isNotEmpty(fault.getFaultType())) {
queryWrapper.like(Fault::getFaultType, fault.getFaultType());
}
if (StringUtils.isNotEmpty(fault.getFaultName())) {
queryWrapper.like(Fault::getFaultName, fault.getFaultName());
}
Object beginTime = fault.getParams().get("beginTime");
if (Objects.nonNull(beginTime) && beginTime instanceof Date beginDate) {
queryWrapper.gt(BaseEntity::getCreateTime, beginDate);
}
Object endTime = fault.getParams().get("endTime");
if (Objects.nonNull(endTime) && endTime instanceof Date endDate) {
queryWrapper.lt(BaseEntity::getCreateTime, endDate);
}
return this.list(queryWrapper);
}
}

View File

@ -0,0 +1,106 @@
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.domain.Result;
import com.muyu.domain.*;
import com.muyu.domain.vo.RuleVo;
import com.muyu.enterprise.mapper.RuleMapper;
import com.muyu.enterprise.service.RuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @AuthorChenYan
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.service
* @FilenameRuleServiceImpl
* @Description TODO
* @Date2024/9/21 18:49
*/
@Service
public class RuleServiceImpl extends ServiceImpl<RuleMapper, Rule> implements RuleService {
@Autowired
private RuleMapper ruleMapper;
/**
*
* @param fault
* @return fault
*/
@Override
public List<Rule> pageQuery(Rule fault) {
LambdaQueryWrapper<Rule> queryWrapper = new LambdaQueryWrapper<>();
if (fault.getRuleValue()!=null) {
queryWrapper.like(Rule::getRuleValue, fault.getRuleValue());
}
return this.list(queryWrapper);
}
@Override
public List<RuleVo> pageQueryRule(RuleVo fault) {
List<RuleVo>list=ruleMapper.pageQueryRule(fault);
return list;
}
/**
*
* @param fault
* @return
*/
@Override
public Result<List<Custom>> pageQueryList(Custom fault) {
List<Custom>list=ruleMapper.pageQueryList(fault);
return Result.success(list,"成功");
}
@Override
public Result<List<Vehicle>> pageQueryCar(Vehicle fault) {
List<Vehicle>list=ruleMapper.pageQueryCar(fault);
return Result.success(list,"成功");
}
@Override
public Result<List<Type>> pageQueryType(Type fault) {
List<Type>list=ruleMapper.pageQueryType(fault);
return Result.success(list,"成功");
}
@Override
public Result<List<MessageValue>> pageQueryMessageValue(MessageValue fault) {
List<MessageValue>list=ruleMapper.pageQueryMessageValue(fault);
return Result.success(list,"成功");
}
/***
* insertFault
* @param faultInfo
* @return
*/
@Override
public int insertFault(Rule faultInfo) {
int i = ruleMapper.insertFault(faultInfo);
return i;
}
/**
* updateFault
* @param faultInfo
* @return
*/
@Override
public int updateFault(Rule faultInfo) {
int i = ruleMapper.updateFault(faultInfo);
return i;
}
}

View File

@ -8,7 +8,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.enterprise.mapper.FaultLogMapper">
<insert id="insertBatchFaultLog">
insert into faultlog (fault_code, vin, warning_time)
values
<foreach collection="logs" item="temp" separator=",">
(#{temp.faultCode},#{temp.vin},#{temp.warningTime})
</foreach>
</insert>
<update id="updateFaultLogByTime">
update faultlog
set normal_time = #{normalTime}
where id = #{id}
</update>
<select id="selectFaultId" resultType="java.lang.Long">
select max(id)
from faultlog
where fault_code = #{faultCode}
and vin = #{vin}
</select>
</mapper>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.enterprise.mapper.RuleMapper">
<insert id="insertFault">
INSERT INTO `vehicle-basic`.`rule` ( `message_id`, `car_id`, `c_id`, `t_id`, `rule_value`)
VALUES ( #{messageId}, #{carId}, #{cId}, #{tId}, #{ruleValue})
</insert>
<update id="updateFault">
UPDATE `rule`
SET `message_id`=#{messageId},
`car_id` = #{carId},
`c_id` = #{cId},
`t_id` = #{tId},
`rule_value` = #{ruleValue}
WHERE `id` = #{id};
</update>
<select id="pageQueryRule" resultType="com.muyu.domain.vo.RuleVo">
SELECT
rule.id,
rule.car_id,
rule.c_id,
rule.t_id,
rule.message_id,
rule_value,
custom_name AS customName,
type_name AS typeName,
car.car_name AS carName,
message_value.message_label AS messageLabel
FROM
rule
LEFT JOIN custom ON rule.c_id = custom.c_id
LEFT JOIN type ON rule.t_id = type.t_id
LEFT JOIN car ON rule.car_id = car.car_id
LEFT JOIN message_value ON rule.message_id = message_value.message_id
</select>
<select id="pageQueryList" resultType="com.muyu.domain.Custom">
select * from custom
</select>
<select id="pageQueryCar" resultType="com.muyu.domain.Vehicle">
select * from vehicle
</select>
<select id="pageQueryType" resultType="com.muyu.domain.Type">
select * from type
</select>
<select id="pageQueryMessageValue" resultType="com.muyu.domain.MessageValue">
select * from message_value
</select>
</mapper>

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# Spring
spring:

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# Spring
spring:

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# Spring
spring:

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: warn
namespace: fault
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
spring:
@ -58,13 +58,3 @@ spring:
logging:
level:
com.muyu.system.mapper: DEBUG
aliyun:
access-key-id: LTAI5t7Fnx2QLTYLSu9357wP
access-key-secret: 3LOnydNZ25ytsTGczuSygElx0HJ6nN
endpoint: ecs-cn-hangzhou.aliyuncs.com
region-id: cn-shanghai
image-id: m-uf66taa8r57ky0pg3e7s
instance-type: ecs.t6-c1m1.large
security-group-id: sg-uf6hyictocodexptlgiv
switch-id: vsw-uf6ags5luz17qd6ckn2tb
amount: 1

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.49.53:8848
user-name: nacos
password: nacos
namespace: seven
namespace: fault
# Spring
spring: