feat():围栏和故障的缓存

dev.operation
86191 2024-09-30 18:45:08 +08:00
parent 7149ea8f1c
commit 476d6ae0b7
18 changed files with 252 additions and 33 deletions

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.53.251:8848
user-name: nacos
password: nacos
namespace: four
namespace: lgy
# Spring
spring:
application:

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.53.251:8848
user-name: nacos
password: nacos
namespace: four
namespace: lgy
# Spring
spring:

View File

@ -6,7 +6,7 @@ nacos:
addr: 47.101.53.251:8848
user-name: nacos
password: nacos
namespace: four
namespace: lgy
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring
amqp:

View File

@ -7,7 +7,7 @@ nacos:
addr: 47.101.53.251:8848
user-name: nacos
password: nacos
namespace: four
namespace: lgy
# Spring
spring:

View File

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

View File

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

View File

@ -1,5 +1,13 @@
com.muyu.cache.CarTypeCacheService
com.muyu.cache.DataTypeCacheService
com.muyu.cache.ElectronicFenceCacheService
com.muyu.cache.ElectronicFenceGroupCacheService
com.muyu.cache.EnterpriseCacheService
com.muyu.cache.MessageTemplateCacheService
com.muyu.cache.MessageTemplateTypeCacheService
com.muyu.cache.SysCarCacheService
com.muyu.cache.SysCarFaultCacheService
com.muyu.cache.SysCarFaultMessageCacheService
com.muyu.cache.TemplateCacheService
com.muyu.cache.WarnRuleCacheService
com.muyu.cache.WarnStrategyCacheService

View File

@ -1,5 +1,6 @@
package com.muyu.server.controller;
import com.muyu.cache.DataTypeCacheService;
import com.muyu.common.core.domain.Result;
import com.muyu.common.domain.DataType;
import com.muyu.server.service.DataTypeService;
@ -34,6 +35,9 @@ public class DataTypeController {
@Autowired
private DataTypeService dataTypeService;
@Autowired
private DataTypeCacheService dataTypeCacheService;
/**
*
@ -42,7 +46,13 @@ public class DataTypeController {
@PostMapping("/dataTypeList")
@Operation(summary = "数据类型列表",description = "数据类型列表")
public Result<List<DataType>> dataTypeList() {
return Result.success(dataTypeService.list());
List<DataType> list = dataTypeService.list();
// 缓存数据
list.forEach(item->dataTypeCacheService.put(item.getDataTypeId().toString(),item));
return Result.success(list);
}
}

View File

@ -60,7 +60,7 @@ public class SysCarController {
return Result.success(sysCarService.addSysCar(sysCar));
}
@PostMapping("/updateSysCar")
@PutMapping
@Operation(summary = "车辆修改",description = "车辆修改")
public Result updateSysCar(@RequestBody SysCar sysCar){
return Result.success(sysCarService.updateSysCar(sysCar));
@ -79,7 +79,7 @@ public class SysCarController {
* @param carVin
* @return
*/
@PostMapping("/findFenceByCarVin/{carVin}")
@PostMapping("/findFenceCarVin/{carVin}")
@Operation(summary = "根据车辆的VIN码查询该车的故障记录",description = "根据车辆的VIN码查询该车的故障记录")
public Result<List<SysCarFaultLogVo>> findFenceByCarVin(@PathVariable("carVin") String carVin){
return Result.success(sysCarService.findFenceByCarVin(carVin));

View File

@ -1,5 +1,6 @@
package com.muyu.server.controller;
import com.muyu.cache.TemplateCacheService;
import com.muyu.common.core.domain.Result;
import com.muyu.common.domain.Template;
import com.muyu.server.service.TemplateService;
@ -34,6 +35,8 @@ public class TemplateController {
@Autowired
private TemplateService templateService;
@Autowired
private TemplateCacheService templateCacheService;
/**
*
@ -42,7 +45,14 @@ public class TemplateController {
@PostMapping("/templateList")
@Operation(summary = "报文模版列表",description = "报文模版列表")
public Result<List<Template>> templateList() {
return Result.success(templateService.list());
List<Template> list = templateService.list();
list.forEach(template -> {
templateCacheService.put(template.getTemplateId().toString(),template);
});
return Result.success(list);
}

View File

@ -2,6 +2,7 @@ package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cache.CarTypeCacheService;
import com.muyu.common.domain.CarType;
import com.muyu.common.domain.resp.CarTypeResp;
import com.muyu.server.mapper.CarTypeMapper;
@ -13,17 +14,33 @@ import java.util.List;
@Service
public class CarTypeServiceImpl extends ServiceImpl<CarTypeMapper, CarType> implements CarTypeService{
@Autowired
private CarTypeMapper carTypeMapper;
@Autowired
private CarTypeCacheService carTypeCacheService;
@Override
public List<CarType> selectCarTypeList() {
QueryWrapper<CarType> carTypeQueryWrapper = new QueryWrapper<>();
return carTypeMapper.selectList(carTypeQueryWrapper);
List<CarType> list = carTypeMapper.selectList(carTypeQueryWrapper);
for (CarType carType : list) {
carTypeCacheService.put(carTypeCacheService.keyPre() + carType.getId(), carType);
}
return list;
}
@Override
public CarTypeResp selectCarTypeRespList(Long id) {
return carTypeMapper.selectCarTypeRespList(id);
CarTypeResp carTypeResp = carTypeMapper.selectCarTypeRespList(id);
carTypeCacheService.put(carTypeCacheService.keyPre() + id, carTypeResp);
return carTypeResp;
}
@Override
@ -31,11 +48,21 @@ private CarTypeMapper carTypeMapper;
QueryWrapper<CarType> carTypeQueryWrapper = new QueryWrapper<>();
carTypeQueryWrapper.eq("car_type_id", carTypeId);
CarType carType = carTypeMapper.selectOne(carTypeQueryWrapper);
carTypeCacheService.put(carTypeCacheService.keyPre() + carTypeId, carType);
return carType;
}
@Override
public List<CarTypeResp> findAllCars() {
return carTypeMapper.findAllCars();
List<CarTypeResp> allCars = carTypeMapper.findAllCars();
for (CarTypeResp carTypeResp : allCars) {
carTypeCacheService.put(carTypeCacheService.keyPre() + carTypeResp.getId(), carTypeResp);
}
return allCars;
}
}

View File

@ -1,6 +1,7 @@
package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cache.MessageTemplateTypeCacheService;
import com.muyu.common.domain.MessageTemplateType;
import com.muyu.server.mapper.MessageTemplateTypeMapper;
import com.muyu.server.service.MessageTemplateTypeService;
@ -20,9 +21,15 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl<MessageTemplate
@Autowired
private MessageTemplateTypeMapper messageTemplateTypeMapper;
@Autowired
private MessageTemplateTypeCacheService messageTemplateTypeCacheService;
@Override
public Integer addMessageType(MessageTemplateType messageTemplateType) {
messageTemplateTypeCacheService.put(messageTemplateType.getMessageTemplateTypeId(),messageTemplateType);
return messageTemplateTypeMapper.insert(messageTemplateType);
}
@ -33,6 +40,11 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl<MessageTemplate
messageTemplateTypeQueryWrapper.eq("template_id",templatedId);
messageTemplateTypeQueryWrapper.eq("message_class",code);
List<MessageTemplateType> messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper);
messageTemplateTypes.forEach(messageTemplateType -> {
messageTemplateTypeCacheService.put(messageTemplateType.getMessageTemplateTypeId(),messageTemplateType);
});
return messageTemplateTypes;
}
@ -42,6 +54,11 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl<MessageTemplate
messageTemplateTypeQueryWrapper.eq("template_id",templatedId);
messageTemplateTypeQueryWrapper.eq("message_class",code);
List<MessageTemplateType> messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper);
messageTemplateTypes.forEach(messageTemplateType -> {
messageTemplateTypeCacheService.put(messageTemplateType.getMessageTemplateTypeId(),messageTemplateType);
});
return messageTemplateTypes;
}
@ -51,6 +68,11 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl<MessageTemplate
messageTemplateTypeQueryWrapper.eq("template_id",templatedId);
messageTemplateTypeQueryWrapper.eq("message_class",code);
List<MessageTemplateType> messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper);
messageTemplateTypes.forEach(messageTemplateType -> {
messageTemplateTypeCacheService.put(messageTemplateType.getMessageTemplateTypeId(),messageTemplateType);
});
return messageTemplateTypes;
}
@ -59,6 +81,11 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl<MessageTemplate
QueryWrapper<MessageTemplateType> messageTemplateTypeQueryWrapper = new QueryWrapper<>();
messageTemplateTypeQueryWrapper.eq("template_id",templatedId);
List<MessageTemplateType> messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper);
messageTemplateTypes.forEach(messageTemplateType -> {
messageTemplateTypeCacheService.put(messageTemplateType.getMessageTemplateTypeId(),messageTemplateType);
});
return messageTemplateTypes;
}
@ -67,6 +94,11 @@ public class MessageTemplateTypeServiceImpl extends ServiceImpl<MessageTemplate
QueryWrapper<MessageTemplateType> messageTemplateTypeQueryWrapper = new QueryWrapper<>();
messageTemplateTypeQueryWrapper.eq("template_id",templateId);
List<MessageTemplateType> messageTemplateTypes = messageTemplateTypeMapper.selectList(messageTemplateTypeQueryWrapper);
messageTemplateTypes.forEach(messageTemplateType -> {
messageTemplateTypeCacheService.put(messageTemplateType.getMessageTemplateTypeId(),messageTemplateType);
});
return messageTemplateTypes;
}
}

View File

@ -3,6 +3,7 @@ package com.muyu.server.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cache.SysCarCacheService;
import com.muyu.common.domain.SysCar;
import com.muyu.common.domain.req.SysCarReq;
import com.muyu.common.domain.resp.SysCarFaultLogVo;
@ -19,29 +20,64 @@ import java.util.List;
public class SysCarServiceImpl extends ServiceImpl<SysCarMapper, SysCar> implements SysCarService {
@Autowired
private SysCarMapper sysCarMapper;
@Autowired
private SysCarCacheService sysCarCacheService;
@Override
public List<SysCarVo> selectSysCarVoList(SysCarReq sysCarReq) {
return sysCarMapper.selectSysCarVoList(sysCarReq);
List<SysCarVo> sysCarVos = sysCarMapper.selectSysCarVoList(sysCarReq);
sysCarVos.forEach(sysCarVo -> {
sysCarCacheService.put(String.valueOf(sysCarVo.getId()), sysCarVo);
});
return sysCarVos;
}
@Override
public SysCarVo selectSysCarVoById(Long id) {
return sysCarMapper.selectSysCarVoById(id);
SysCarVo sysCarVo = sysCarMapper.selectSysCarVoById(id);
if (sysCarVo!=null){
sysCarCacheService.put(String.valueOf(sysCarVo.getId()), sysCarVo);
}
return sysCarVo;
}
@Override
public int addSysCar(SysCar sysCar) {
return sysCarMapper.insert(sysCar);
int rows = sysCarMapper.insert(sysCar);
if (rows>0){
sysCarCacheService.put(String.valueOf(sysCar.getId()), sysCar);
}
return rows;
}
@Override
public int deleteSysCarById(Long id) {
return sysCarMapper.deleteById(id);
int rows = sysCarMapper.deleteById(id);
sysCarCacheService.remove(String.valueOf(id));
return rows;
}
@Override
public int updateSysCar(SysCar sysCar) {
return sysCarMapper.updateById(sysCar);
int rows = sysCarMapper.updateById(sysCar);
sysCarCacheService.put(String.valueOf(sysCar.getId()), sysCar);
return rows;
}
@Override
@ -54,6 +90,11 @@ public class SysCarServiceImpl extends ServiceImpl<SysCarMapper, SysCar> impleme
QueryWrapper<SysCar> sysCarQueryWrapper = new QueryWrapper<>();
sysCarQueryWrapper.eq("car_vin", carVin);
List<SysCar> sysCars = sysCarMapper.selectList(sysCarQueryWrapper);
sysCars.forEach(sysCar -> {
sysCarCacheService.put(String.valueOf(sysCar.getId()), sysCar);
});
return sysCars.isEmpty() ? null : sysCars.get(0);
}

View File

@ -1,5 +1,7 @@
package com.muyu.server.service.impl;
import com.muyu.cache.MessageTemplateCacheService;
import com.muyu.cache.MessageTemplateTypeCacheService;
import com.muyu.common.domain.MessageTemplateType;
import com.muyu.server.mapper.TemplateNeedMapper;
import com.muyu.server.service.TemplateNeedService;
@ -14,9 +16,19 @@ public class TemplateNeedServiceImpl implements TemplateNeedService {
@Autowired
private TemplateNeedMapper templateNeedMapper;
@Autowired
private MessageTemplateTypeCacheService messageTemplateTypeCacheService;
@Override
public List<MessageTemplateType> selectByTemplateId(Long templateId) {
return templateNeedMapper.selectByTemplateId(templateId);
List<MessageTemplateType> messageTemplateTypes = templateNeedMapper.selectByTemplateId(templateId);
messageTemplateTypes.forEach(messageTemplateType -> {
messageTemplateTypeCacheService.put(messageTemplateType.getMessageTemplateTypeId(),messageTemplateType);
});
return messageTemplateTypes;
}
}

View File

@ -3,6 +3,8 @@ package com.muyu.server.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cache.SysCarCacheService;
import com.muyu.cache.TemplateCacheService;
import com.muyu.common.domain.MessageTemplateType;
import com.muyu.common.domain.SysCar;
import com.muyu.common.domain.Template;
@ -44,6 +46,9 @@ public class TemplateServiceImpl extends ServiceImpl<TemplateMapper, Template> i
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private SysCarCacheService sysCarCacheService;
@Override
public void messageParsing(String templateMessage) throws SQLException, IoTDBConnectionException, ClassNotFoundException, StatementExecutionException, ExecutionException, InterruptedException {
@ -67,6 +72,11 @@ public class TemplateServiceImpl extends ServiceImpl<TemplateMapper, Template> i
//根据VIN码获取车辆信息
SysCar carByVin = sysCarService.findCarByVin(carVin);
log.info("车辆信息为:" + carByVin);
sysCarCacheService.put(carVin,carByVin);
//对应车辆所对应的报文模版
Integer templateId = carByVin.getTemplateId();
List<MessageTemplateType> templateTypeList;

View File

@ -1,6 +1,7 @@
package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cache.WarnRuleCacheService;
import com.muyu.common.domain.WarnRule;
import com.muyu.common.domain.resp.WarnRuleResp;
import com.muyu.server.mapper.WarnRuleMapper;
@ -24,6 +25,11 @@ public class WarnRuleServiceImpl
@Autowired
private WarnRuleMapper warnRuleMapper;
@Autowired
private WarnRuleCacheService warnRuleCacheService;
/**
*
*
@ -33,7 +39,11 @@ public class WarnRuleServiceImpl
@Override
public WarnRule selectWarnRuleById(Long id)
{
return warnRuleMapper.selectById(id);
WarnRule warnRule = warnRuleMapper.selectById(id);
warnRuleCacheService.put(String.valueOf(warnRule.getId()), warnRule);
return warnRule;
}
@ -46,23 +56,46 @@ public class WarnRuleServiceImpl
@Override
public List<WarnRuleResp> selectWarnRuleRespList()
{
return warnRuleMapper.selectWarnRuleRespList();
List<WarnRuleResp> warnRuleResps = warnRuleMapper.selectWarnRuleRespList();
warnRuleResps.forEach(warnRuleResp -> {
warnRuleCacheService.put(warnRuleCacheService.keyPre() + warnRuleResp.getId(), warnRuleResp);
});
return warnRuleResps;
}
@Override
public Integer addWarnRule(WarnRule warnRule) {
return warnRuleMapper.insert(warnRule);
int rows = warnRuleMapper.insert(warnRule);
if (rows>0){
warnRuleCacheService.put(String.valueOf(warnRule.getId()), warnRule);
}
return rows;
}
@Override
public Integer updWarnRule(WarnRule warnRule) {
LambdaQueryWrapper<WarnRule> queryWrapper = new LambdaQueryWrapper<>();
return warnRuleMapper.update(queryWrapper);
Integer update = warnRuleMapper.update(queryWrapper);
warnRuleCacheService.put(String.valueOf(warnRule.getId()), warnRule);
return update;
}
@Override
public List<WarnRuleResp> selectListByStrategyId(Long strategyId) {
return warnRuleMapper.selectListByStrategyId(strategyId);
List<WarnRuleResp> warnRuleResps = warnRuleMapper.selectListByStrategyId(strategyId);
warnRuleResps.forEach(warnRuleResp -> {
warnRuleCacheService.put(warnRuleCacheService.keyPre() + warnRuleResp.getId(), warnRuleResp);
});
return warnRuleResps;
}

View File

@ -2,6 +2,7 @@ package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cache.WarnStrategyCacheService;
import com.muyu.common.domain.WarnStrategy;
import com.muyu.common.domain.req.WarnStrategyReq;
import com.muyu.common.domain.resp.WarnStrategyResp;
@ -25,6 +26,9 @@ public class WarnStrategyServiceImpl
@Autowired
private WarnStrategyMapper warnStrategyMapper;
@Autowired
private WarnStrategyCacheService warnStrategyCacheService;
/**
*
*
@ -34,7 +38,11 @@ public class WarnStrategyServiceImpl
@Override
public WarnStrategy selectWarnStrategyById(Long id)
{
return warnStrategyMapper.selectById(id);
WarnStrategy warnStrategy = warnStrategyMapper.selectById(id);
warnStrategyCacheService.put(String.valueOf(warnStrategy.getId()), warnStrategy);
return warnStrategy;
}
@ -47,12 +55,23 @@ public class WarnStrategyServiceImpl
@Override
public List<WarnStrategyResp> selectWarnStrategyList(WarnStrategyReq warnStrategyReq)
{
return warnStrategyMapper.selectWarnStrategyList(warnStrategyReq);
List<WarnStrategyResp> warnStrategyResps = warnStrategyMapper.selectWarnStrategyList(warnStrategyReq);
warnStrategyResps.forEach(warnStrategyResp -> {
warnStrategyCacheService.put(warnStrategyCacheService.keyPre() + warnStrategyResp.getId(), warnStrategyResp);
});
return warnStrategyResps;
}
@Override
public Integer deleteWarnStrategy(Long id) {
return warnStrategyMapper.deleteById(id);
int rows = warnStrategyMapper.deleteById(id);
warnStrategyCacheService.remove(String.valueOf(id));
return rows;
}
@ -62,7 +81,12 @@ public class WarnStrategyServiceImpl
@Override
public Integer updWarnStrategy(WarnStrategy warnStrategy){
QueryWrapper<WarnStrategy> wrapper = new QueryWrapper<>(warnStrategy);
return warnStrategyMapper.update(wrapper);
Integer update = warnStrategyMapper.update(wrapper);
warnStrategyCacheService.remove(String.valueOf(warnStrategy.getId()));
return update;
}
/**
@ -70,7 +94,12 @@ public class WarnStrategyServiceImpl
*/
@Override
public Integer addWarnStrategy(WarnStrategy warnStrategy){
return warnStrategyMapper.insert(warnStrategy);
int rows = warnStrategyMapper.insert(warnStrategy);
warnStrategyCacheService.put(String.valueOf(warnStrategy.getId()), warnStrategy);
return rows;
}
@ -80,7 +109,14 @@ public class WarnStrategyServiceImpl
*/
@Override
public List<WarnStrategyResp> selectListByCarType(Long carTypeId) {
return warnStrategyMapper.selectListByCarType(carTypeId);
List<WarnStrategyResp> warnStrategyResps = warnStrategyMapper.selectListByCarType(carTypeId);
warnStrategyResps.forEach(warnStrategyResp -> {
warnStrategyCacheService.put(warnStrategyCacheService.keyPre() + warnStrategyResp.getId(), warnStrategyResp);
});
return warnStrategyResps;
}

View File

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