Merge branch 'dev.fault.change' into dev

dev.fault
sy200 2024-10-10 19:05:44 +08:00
commit a87e40318f
36 changed files with 232 additions and 1385 deletions

View File

@ -1,26 +0,0 @@
package com.muyu.enterprise.cache;
import com.muyu.common.cache.CacheAbsBacis;
import com.muyu.domain.FaultInfo;
import java.util.List;
/**
*
*/
public class AllFaultCacheService extends CacheAbsBacis<String, List<FaultInfo>> {
@Override
public void clear() {
}
@Override
public String keyPre() {
return "AllFault:info:";
}
@Override
public String decode(String key) {
return key.replace("AllFault:info:", "");
}
}

View File

@ -1,24 +0,0 @@
package com.muyu.enterprise.cache;
import com.muyu.common.cache.CacheAbsBacis;
import com.muyu.domain.FaultInfo;
/**
*
*/
public class FaultCacheService extends CacheAbsBacis<String, FaultInfo> {
@Override
public void clear() {
}
@Override
public String keyPre() {
return "fault:info:";
}
@Override
public String decode(String key) {
return key.replace("fault:info:", "");
}
}

View File

@ -1,4 +1,3 @@
com.muyu.enterprise.cache.AllFaultCacheService
com.muyu.enterprise.cache.AllFenceCahceService com.muyu.enterprise.cache.AllFenceCahceService
com.muyu.enterprise.cache.AllFenceGroupCahceService com.muyu.enterprise.cache.AllFenceGroupCahceService
com.muyu.enterprise.cache.AllMessageValueCacheService com.muyu.enterprise.cache.AllMessageValueCacheService
@ -7,7 +6,6 @@ com.muyu.enterprise.cache.AllVehicleTypeCacheService
com.muyu.enterprise.cache.AllWarnRuleCacheService com.muyu.enterprise.cache.AllWarnRuleCacheService
com.muyu.enterprise.cache.AllWarnStrategyAndVinCacheService com.muyu.enterprise.cache.AllWarnStrategyAndVinCacheService
com.muyu.enterprise.cache.AllWarnStrategyCacheService com.muyu.enterprise.cache.AllWarnStrategyCacheService
com.muyu.enterprise.cache.FaultCacheService
com.muyu.enterprise.cache.FenceCahceService com.muyu.enterprise.cache.FenceCahceService
com.muyu.enterprise.cache.FenceGroupCahceService com.muyu.enterprise.cache.FenceGroupCahceService
com.muyu.enterprise.cache.MessageTemplateCacheService com.muyu.enterprise.cache.MessageTemplateCacheService
@ -16,5 +14,3 @@ com.muyu.enterprise.cache.VehicleCacheService
com.muyu.enterprise.cache.VehicleTypeCacheService com.muyu.enterprise.cache.VehicleTypeCacheService
com.muyu.enterprise.cache.WarnRuleCacheService com.muyu.enterprise.cache.WarnRuleCacheService
com.muyu.enterprise.cache.WarnStrategyCacheService com.muyu.enterprise.cache.WarnStrategyCacheService

View File

@ -1,92 +1,49 @@
package com.muyu.domain; package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; 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 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.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
/** /**
* @AuthorChenYan *
* @Project2112-car-cloud-server
* @Packagecom.muyu.fault.domain
* @FilenameFault
* @Description TODO
* @Date2024/9/18 11:04
*/ */
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @Tag(name = "fault", description = "故障信息")
@TableName(value = "fault")
public class Fault extends BaseEntity { public class Fault extends BaseEntity {
/** /**
* * id
*/ */
@Excel(name = "参数主键", cellType = ColumnType.NUMERIC) @TableId(value = "fault_id")
@TableId( type = IdType.AUTO) @Schema(description = "主键",type = "Integer")
private Long id; private Long faultId;
/** /**
* *
*/ */
@Excel(name = "车辆故障编码") @Schema(description = "故障类别",type = "String")
private String faultCode;
/**
*
*/
@Excel(name = "车辆故障名称")
private String faultName;
/**
*
*/
@Excel(name = "辆故障类型")
private String faultType; private String faultType;
/** /**
* VIN *
*/ */
@Excel(name = "故障VIN编码") @Schema(description = "故障规则(判定方式)",type = "String")
private String carVin; private String faultCustom;
/** /**
* *
*/ */
@Excel(name = "车辆故障标签") @Schema(description = "报文外键",type = "Integer")
private String faultLabel; private Integer messageId;
/**
*
*/
@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

@ -1,77 +0,0 @@
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

@ -1,67 +0,0 @@
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,26 @@
package com.muyu.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import lombok.experimental.SuperBuilder;
/**
*
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "fault_rule", autoResultMap = true)
public class FaultRule {
/**
* id
*/
@TableId(value = "fault_rule_id")
private Long faultRuleId;
private Long vehicleTypeId;
private Long messageValueId;
private String faultCondition;
private Double triggerValue;
}

View File

@ -1,45 +0,0 @@
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

@ -1,28 +0,0 @@
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,25 @@
package com.muyu.domain.resp;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@Tag(name = "故障规则列表响应数据")
public class FaultRuleResp {
private Long faultRuleId;
private String vehicleTypeName;
private String messageValueName;
private String faultCondition;
private Double triggerValue;
}

View File

@ -1,116 +0,0 @@
package com.muyu.enterprise.controller;
import com.muyu.enterprise.cache.AllFaultCacheService;
import com.muyu.enterprise.cache.FaultCacheService;
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;
/**
*
*/
@Log4j2
@RestController
@Tag(name = "故障管理列", description = "故障管理列")
@RequestMapping("/info")
public class FaultInfoController extends BaseController {
@Autowired
private FaultInfoService service;
@Autowired
private AllFaultCacheService allFaultCacheService;
/**
*
*/
@GetMapping("/list")
@RequiresPermissions("fault:fault:list")
@Operation(summary = "查询集合", description = "查询车辆故障管理列表")
public Result<TableDataInfo<FaultInfo>> list(FaultInfo faultInfo) {
startPage();
List<FaultInfo> list = service.pageQuery(faultInfo);
allFaultCacheService.put(faultInfo.getFaultCode(),list);
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 faultInfo) {
service.save(faultInfo);
//添加的数据存进缓存
// faultCacheService.put(faultInfo.);
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

@ -1,121 +0,0 @@
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;
/**
*
*/
@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,67 @@
package com.muyu.enterprise.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.domain.FaultRule;
import com.muyu.domain.resp.FaultRuleResp;
import com.muyu.enterprise.service.FaultRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
*/
@RestController
@RequestMapping("/faultRule")
public class FaultRuleController {
@Autowired
private FaultRuleService faultRuleService;
/**
*
* @return
*/
@RequestMapping(value = "/list", method = RequestMethod.GET)
public Result<List<FaultRuleResp>> list() {
List<FaultRuleResp> list = faultRuleService.selectList();
return Result.success(list);
}
/**
*
* @param faultRule
* @return
*/
@PostMapping("/add")
public Result<String> add(@RequestBody FaultRule faultRule) {
faultRuleService.save(faultRule);
return Result.success("新增成功");
}
/**
*
* @param faultRule
* @return
*/
@PutMapping("/update")
public Result<String> update(@RequestBody FaultRule faultRule) {
faultRuleService.updateById(faultRule);
return Result.success("更新成功");
}
/**
*
* @param faultRuleId
* @return
*/
@DeleteMapping("delete/{faultRuleId}")
public Result<String> delete(@PathVariable("faultRuleId") Long faultRuleId) {
faultRuleService.removeById(faultRuleId);
return Result.success("删除成功");
}
}

View File

@ -1,142 +0,0 @@
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;
/**
*
*/
@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

@ -1,35 +1,33 @@
package com.muyu.enterprise.controller; package com.muyu.enterprise.controller;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.domain.WarnStrategy;
import com.muyu.domain.req.BoundFenceGroupReq;
import com.muyu.domain.resp.BoundFenceGroup;
import com.muyu.domain.resp.WarnRuleResp;
import com.muyu.domain.resp.WarnStrategyAndVinResp;
import com.muyu.enterprise.cache.*;
import com.muyu.enterprise.service.VehicleService;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.domain.BoundMiddle; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.domain.Vehicle; import com.muyu.domain.Vehicle;
import com.muyu.domain.req.BoundFenceGroupReq;
import com.muyu.domain.req.VehicleAddReq; import com.muyu.domain.req.VehicleAddReq;
import com.muyu.domain.req.VehicleManageReq; import com.muyu.domain.req.VehicleManageReq;
import com.muyu.domain.req.VehicleUpdReq; import com.muyu.domain.req.VehicleUpdReq;
import com.muyu.domain.resp.BoundFenceGroup;
import com.muyu.domain.resp.VehicleManageResp; import com.muyu.domain.resp.VehicleManageResp;
import com.muyu.domain.resp.WarnRuleResp;
import com.muyu.enterprise.cache.AllFenceGroupCahceService;
import com.muyu.enterprise.cache.FenceGroupCahceService;
import com.muyu.enterprise.cache.VehicleCacheService;
import com.muyu.enterprise.cache.WarnStrategyCacheService;
import com.muyu.enterprise.service.VehicleService;
import com.muyu.enterprise.service.WarnStrategyService; import com.muyu.enterprise.service.WarnStrategyService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Collections;
import java.util.List; import java.util.List;
/** /**
@ -47,12 +45,6 @@ public class VehicleController extends BaseController {
//添加车辆缓存 //添加车辆缓存
@Autowired @Autowired
private VehicleCacheService vehicleCacheService; private VehicleCacheService vehicleCacheService;
//车辆信息
@Autowired
private AllVehicleCacheService allVehicleCacheService;
//缓存策略和vin
@Autowired
private AllWarnStrategyAndVinCacheService allWarnStrategyAndVinCacheService;
//缓存策略 //缓存策略
@Autowired @Autowired
private WarnStrategyService warnStrategyService; private WarnStrategyService warnStrategyService;
@ -80,7 +72,7 @@ public class VehicleController extends BaseController {
List<Vehicle> vehicleList = vehicleService.list(); List<Vehicle> vehicleList = vehicleService.list();
vehicleList.forEach(vehicle -> { vehicleList.forEach(vehicle -> {
vehicleCacheService.put(vehicle.getVehicleVin(), vehicle); vehicleCacheService.put(vehicle.getVehicleVin(), vehicle);
//根据车辆vin存储策略已经规则信息 //根据车辆vin存储策略规则信息
if(vehicle.getWarnStrategyId()!=null){ if(vehicle.getWarnStrategyId()!=null){
WarnRuleResp respList = warnStrategyService.findByWarnStrategyId(vehicle.getWarnStrategyId()); WarnRuleResp respList = warnStrategyService.findByWarnStrategyId(vehicle.getWarnStrategyId());
warnStrategyCacheService.put(vehicle.getVehicleVin(), respList); warnStrategyCacheService.put(vehicle.getVehicleVin(), respList);
@ -107,6 +99,7 @@ public class VehicleController extends BaseController {
boolean save = vehicleService.save(Vehicle.addBuild(vehicleAddReq)); boolean save = vehicleService.save(Vehicle.addBuild(vehicleAddReq));
//获取用户信息 //获取用户信息
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
loginUser.getSysUser();
//存到redis //存到redis
vehicleCacheService.put(vehicleAddReq.getVehicleVin(), Vehicle.addBuild(vehicleAddReq)); vehicleCacheService.put(vehicleAddReq.getVehicleVin(), Vehicle.addBuild(vehicleAddReq));
return Result.success(save? "新增成功" : "新增失败"); return Result.success(save? "新增成功" : "新增失败");
@ -155,7 +148,6 @@ public class VehicleController extends BaseController {
/** /**
* *
*
* @param vehicleIds * @param vehicleIds
* @return * @return
*/ */

View File

@ -29,13 +29,6 @@ public class WarnStrategyController {
@Autowired @Autowired
private WarnStrategyService warnStrategyService; private WarnStrategyService warnStrategyService;
//缓存策略
@Autowired
private WarnStrategyCacheService warnStrategyCacheService;
//列表
@Autowired
private AllWarnStrategyCacheService allWarnStrategyCacheService;
//缓存策略和vin //缓存策略和vin
@Autowired @Autowired
@ -50,10 +43,6 @@ public class WarnStrategyController {
@Operation(summary = "策略列表", description = "获取所有策略列表") @Operation(summary = "策略列表", description = "获取所有策略列表")
public Result<List<WarnVehicleResp>> strategyList(@RequestBody @Validated WarnVehicleReq req) { public Result<List<WarnVehicleResp>> strategyList(@RequestBody @Validated WarnVehicleReq req) {
List<WarnVehicleResp> list = warnStrategyService.selectList(req); List<WarnVehicleResp> list = warnStrategyService.selectList(req);
// for (WarnVehicleResp warnVehicleResp : list) {
// //存进Redis
// allWarnStrategyCacheService.put(String.valueOf(warnVehicleResp.getVehicleVin()), warnVehicleResp);
// }
return Result.success(list); return Result.success(list);
} }
@ -78,12 +67,6 @@ public class WarnStrategyController {
public Result strategyAdd(@Validated @RequestBody WarnStrategy warnStrategy){ public Result strategyAdd(@Validated @RequestBody WarnStrategy warnStrategy){
boolean save = warnStrategyService.save(warnStrategy); boolean save = warnStrategyService.save(warnStrategy);
// //存进Redis
// //获取用户信息
// LoginUser loginUser = SecurityUtils.getLoginUser();
// //获取租户唯一标识
// String databaseName = loginUser.getSysUser().getDatabaseName();
// warnStrategyCacheService.put(databaseName+warnStrategy.getWarnStrategyId(),warnStrategy);
return Result.success(save); return Result.success(save);
} }

View File

@ -1,24 +0,0 @@
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

@ -1,30 +0,0 @@
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

@ -1,20 +0,0 @@
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,10 @@
package com.muyu.enterprise.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.muyu.domain.FaultRule;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface FaultRuleMapper extends MPJBaseMapper<FaultRule> {
}

View File

@ -1,35 +0,0 @@
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

@ -1,28 +0,0 @@
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

@ -1,34 +0,0 @@
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,16 @@
package com.muyu.enterprise.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.FaultRule;
import com.muyu.domain.resp.FaultRuleResp;
import java.util.List;
public interface FaultRuleService extends IService<FaultRule> {
/**
*
* @return
*/
List<FaultRuleResp> selectList();
}

View File

@ -1,28 +0,0 @@
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

@ -1,52 +0,0 @@
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

@ -1,49 +0,0 @@
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

@ -1,73 +0,0 @@
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,39 @@
package com.muyu.enterprise.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.muyu.domain.FaultRule;
import com.muyu.domain.MessageValue;
import com.muyu.domain.VehicleType;
import com.muyu.domain.resp.FaultRuleResp;
import com.muyu.enterprise.mapper.FaultRuleMapper;
import com.muyu.enterprise.service.FaultRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class FaultRuleServiceImpl extends ServiceImpl<FaultRuleMapper, FaultRule> implements FaultRuleService {
@Autowired
private FaultRuleMapper faultRuleMapper;
/**
*
* @return
*/
@Override
public List<FaultRuleResp> selectList() {
MPJLambdaWrapper<FaultRule> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAs(FaultRule::getFaultRuleId, "faultRuleId")
.selectAs(FaultRule::getFaultCondition, "faultCondition")
.selectAs(FaultRule::getTriggerValue, "triggerValue")
.selectAs(VehicleType::getVehicleTypeName, "vehicleTypeName")
.selectAs(MessageValue::getMessageLabel, "messageValueName")
.leftJoin(VehicleType.class, VehicleType::getVehicleTypeId, FaultRule::getVehicleTypeId)
.leftJoin(MessageValue.class, MessageValue::getMessageId, FaultRule::getMessageValueId);
List<FaultRuleResp> list = faultRuleMapper.selectJoinList(FaultRuleResp.class, wrapper);
return list;
}
}

View File

@ -1,63 +0,0 @@
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

@ -1,106 +0,0 @@
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

@ -3,7 +3,6 @@ package com.muyu.enterprise.service.impl;
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.BoundMiddle;
import com.muyu.domain.FenceGroup; import com.muyu.domain.FenceGroup;
import com.muyu.domain.Vehicle; import com.muyu.domain.Vehicle;
import com.muyu.domain.VehicleType; import com.muyu.domain.VehicleType;
@ -11,13 +10,11 @@ import com.muyu.domain.req.BoundFenceGroupReq;
import com.muyu.domain.req.VehicleManageReq; import com.muyu.domain.req.VehicleManageReq;
import com.muyu.domain.resp.BoundFenceGroup; import com.muyu.domain.resp.BoundFenceGroup;
import com.muyu.domain.resp.VehicleManageResp; import com.muyu.domain.resp.VehicleManageResp;
import com.muyu.enterprise.cache.AllVehicleCacheService;
import com.muyu.enterprise.mapper.VehicleMapper; import com.muyu.enterprise.mapper.VehicleMapper;
import com.muyu.enterprise.service.VehicleService; import com.muyu.enterprise.service.VehicleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List; import java.util.List;
/** /**

View File

@ -1,29 +0,0 @@
<?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

@ -1,54 +0,0 @@
<?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

@ -47,8 +47,8 @@ public class OnLineMonitoringConsumer {
@Resource @Resource
private AllVehicleCacheService allVehicleCacheService; private AllVehicleCacheService allVehicleCacheService;
@Resource // @Resource
private FaultCacheService faultCacheService; // private FaultCacheService faultCacheService;
@Resource @Resource
private FenceCahceService fenceCahceService; private FenceCahceService fenceCahceService;
@ -69,7 +69,7 @@ public class OnLineMonitoringConsumer {
log.info("添加本地缓存,车辆vin: {}", vin); log.info("添加本地缓存,车辆vin: {}", vin);
// 获取redis中的数据 // 获取redis中的数据
Fence fence = fenceCahceService.get(vin); Fence fence = fenceCahceService.get(vin);
Object breakdown = faultCacheService.get(vin); // Object breakdown = faultCacheService.get(vin);
Vehicle vehicle = vehicleCacheService.get(vin); Vehicle vehicle = vehicleCacheService.get(vin);
WarnRule warnRule = warnRuleCacheService.get(vin); WarnRule warnRule = warnRuleCacheService.get(vin);
WarnRuleResp warnRuleResp = warnStrategyCacheService.get(vin); WarnRuleResp warnRuleResp = warnStrategyCacheService.get(vin);
@ -77,7 +77,7 @@ public class OnLineMonitoringConsumer {
// 封装从redis中获得的数据 // 封装从redis中获得的数据
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("fence",fence); map.put("fence",fence);
map.put("breakdown",breakdown); // map.put("breakdown",breakdown);
map.put("vehicle",vehicle); map.put("vehicle",vehicle);
map.put("warnRule",warnRule); map.put("warnRule",warnRule);
map.put("warnRuleResp",warnRuleResp); map.put("warnRuleResp",warnRuleResp);

View File

@ -8,7 +8,7 @@ nacos:
addr: 47.101.49.53:8848 addr: 47.101.49.53:8848
user-name: nacos user-name: nacos
password: nacos password: nacos
namespace: seven namespace: warn
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring # Spring
spring: spring:
@ -59,3 +59,13 @@ spring:
logging: logging:
level: level:
com.muyu.system.mapper: DEBUG 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