对接报警系统

vehicle-xiaofan
黄大举 2024-04-06 22:36:25 +08:00
parent eac2010731
commit de724ddfbd
16 changed files with 327 additions and 191 deletions

View File

@ -105,6 +105,10 @@
<groupId>com.muyu</groupId> <groupId>com.muyu</groupId>
<artifactId>muyu-business-common</artifactId> <artifactId>muyu-business-common</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-business-remote</artifactId>
</dependency>
</dependencies> </dependencies>

View File

@ -37,197 +37,197 @@ public class BreakdownImpl implements VehicleService{
@Override @Override
public void eventResolution(VehicleData vehicleData) { public void eventResolution(VehicleData vehicleData) {
// log.info("故障事件解析"); log.info("故障事件解析");
// if (StateConstant.VEHICLE_STATUS != vehicleData.getVehicleStatus() if (StateConstant.VEHICLE_STATUS != vehicleData.getVehicleStatus()
// || StateConstant.CHARGING_STATUS!=vehicleData.getChgStatus() || StateConstant.CHARGING_STATUS!=vehicleData.getChgStatus()
// || StateConstant.OPERATING_STATUS!=vehicleData.getOperatingStatus() || StateConstant.OPERATING_STATUS!=vehicleData.getOperatingStatus()
// || StateConstant.SOC_STATUS!=vehicleData.getSocStatus() || StateConstant.SOC_STATUS!=vehicleData.getSocStatus()
// || StateConstant.CHARGING_ENERGY_STORAGE_STATUS != vehicleData.getChargingEnergyStorageStatus() || StateConstant.CHARGING_ENERGY_STORAGE_STATUS != vehicleData.getChargingEnergyStorageStatus()
// || StateConstant.DRIVE_MOTOR_STATUS != vehicleData.getDriveMotorStatus() || StateConstant.DRIVE_MOTOR_STATUS != vehicleData.getDriveMotorStatus()
// || StateConstant.POSITION_STATUS != vehicleData.getPositionStatus() || StateConstant.POSITION_STATUS != vehicleData.getPositionStatus()
// || StateConstant.EAS_STATUS != vehicleData.getEasStatus() || StateConstant.EAS_STATUS != vehicleData.getEasStatus()
// || StateConstant.PTC_STATUS != vehicleData.getPtcStatus() || StateConstant.PTC_STATUS != vehicleData.getPtcStatus()
// || StateConstant.ABS_STATUS != vehicleData.getAbsStatus() || StateConstant.ABS_STATUS != vehicleData.getAbsStatus()
// || StateConstant.MCU_STATUS != vehicleData.getMcuStatus() || StateConstant.MCU_STATUS != vehicleData.getMcuStatus()
// || StateConstant.HEATING_STATUS != vehicleData.getHeatingStatus() || StateConstant.HEATING_STATUS != vehicleData.getHeatingStatus()
// || StateConstant.BATTERY_STATUS != vehicleData.getBatteryStatus() || StateConstant.BATTERY_STATUS != vehicleData.getBatteryStatus()
// || StateConstant.BATTERY_INSULATION_STATUS != vehicleData.getBatteryInsulationStatus() || StateConstant.BATTERY_INSULATION_STATUS != vehicleData.getBatteryInsulationStatus()
// || StateConstant.DCDC_STATUS != vehicleData.getDcdcStatus() || StateConstant.DCDC_STATUS != vehicleData.getDcdcStatus()
// || StateConstant.CHG_STATUS != vehicleData.getChgStatus()){ || StateConstant.CHG_STATUS != vehicleData.getChgStatus()){
FaultLogs faultLogsAddReq = new FaultLogs();
faultLogsAddReq.setCarVin(vehicleData.getVin());
// /**
// * 车辆状态
// */
// private int vehicleStatus ;
if (vehicleData.getVehicleStatus()==0){
faultLogsAddReq.setFaultCode("GTB001");
faultLogsAddReq.setFaultLevel(3);
}
// /**
// * 充电状态
// */
// private int chargingStatus;
if (vehicleData.getChargingStatus()==0){
faultLogsAddReq.setFaultCode("GTB002");
faultLogsAddReq.setFaultLevel(3);
}
// /**
// * 运行状态
// */
// private int operatingStatus;
if (vehicleData.getOperatingStatus()==0){
faultLogsAddReq.setFaultCode("GTB003");
faultLogsAddReq.setFaultLevel(3);
}
// /**
// * SOC
// */
// private int socStatus;
if (vehicleData.getSocStatus()==0){
faultLogsAddReq.setFaultCode("GTO001");
faultLogsAddReq.setFaultLevel(2);
}
// //
// //
// FaultLogs faultLogsAddReq = new FaultLogs(); //GTO003
// faultLogsAddReq.setCarVin(vehicleData.getVin());
// // /**
// // /** // * 可充电储能装置工作状态
// // */
// // private int chargingEnergyStorageStatus ;
// // * 车辆状态 if (vehicleData.getChargingEnergyStorageStatus()==0){
// // */ faultLogsAddReq.setFaultCode("GTO002");
// // private int vehicleStatus ; faultLogsAddReq.setFaultLevel(2);
// }
// if (vehicleData.getVehicleStatus()==0){ // /**
// faultLogsAddReq.setFaultCode("GTB001"); // * 驱动电机状态
// faultLogsAddReq.setFaultLevel(3); // */
// } // private int driveMotorStatus ;
// // /** if (vehicleData.getDriveMotorStatus()==0){
// // * 充电状态 faultLogsAddReq.setFaultCode("GT0003");
// // */ faultLogsAddReq.setFaultLevel(2);
// // private int chargingStatus; }
// if (vehicleData.getChargingStatus()==0){ // /**
// faultLogsAddReq.setFaultCode("GTB002"); // * 定位是否有效
// faultLogsAddReq.setFaultLevel(3); // */
// } // private int positionStatus ;
// // /** if (vehicleData.getPositionStatus()==0){
// // * 运行状态 faultLogsAddReq.setFaultCode("GT0004");
// // */ faultLogsAddReq.setFaultLevel(2);
// // private int operatingStatus; } //GTO004
// if (vehicleData.getOperatingStatus()==0){ //GTO005
// faultLogsAddReq.setFaultCode("GTB003"); //GTO006
// faultLogsAddReq.setFaultLevel(3); //GTO007
// } // /**
// // /** // * EAS(汽车防盗系统)状态
// // * SOC // */
// // */ // private int easStatus ;
// // private int socStatus; if (vehicleData.getEasStatus()==0){
// if (vehicleData.getSocStatus()==0){ faultLogsAddReq.setFaultCode("GTO005");
// faultLogsAddReq.setFaultCode("GTO001"); faultLogsAddReq.setFaultLevel(2);
// faultLogsAddReq.setFaultLevel(2); }
// } // /**
// // // * PTC(电动加热器)状态
// // // */
// //GTO003 // private int ptcStatus ;
// if (vehicleData.getPtcStatus()==0){
// // /**
// // * 可充电储能装置工作状态 faultLogsAddReq.setFaultCode("GTO006");
// // */ faultLogsAddReq.setFaultLevel(2);
// // private int chargingEnergyStorageStatus ; }
// if (vehicleData.getChargingEnergyStorageStatus()==0){ // /**
// faultLogsAddReq.setFaultCode("GTO002"); // * EPS(电动助力系统)状态
// faultLogsAddReq.setFaultLevel(2); // */
// } // private int epsStatus ;
// // /** if (vehicleData.getEpsStatus()==0){
// // * 驱动电机状态
// // */ faultLogsAddReq.setFaultCode("GTO007");
// // private int driveMotorStatus ; faultLogsAddReq.setFaultLevel(2);
// if (vehicleData.getDriveMotorStatus()==0){ }
// faultLogsAddReq.setFaultCode("GT0003"); // /**
// faultLogsAddReq.setFaultLevel(2); // * ABS(防抱死)状态
// } // */
// // /** // private int absStatus ;
// // * 定位是否有效 if (vehicleData.getAbsStatus()==0){
// // */
// // private int positionStatus ; faultLogsAddReq.setFaultCode("GTX001");
// if (vehicleData.getPositionStatus()==0){ faultLogsAddReq.setFaultLevel(1);
// faultLogsAddReq.setFaultCode("GT0004"); }
// faultLogsAddReq.setFaultLevel(2);
// } //GTO004 // /**
// //GTO005 // * MCU(电机/逆变器)状态
// //GTO006 // */
// //GTO007 // private int mcuStatus ;
// // /** if (vehicleData.getMcuStatus()==0){
// // * EAS(汽车防盗系统)状态
// // */ faultLogsAddReq.setFaultCode("GTX002");
// // private int easStatus ; faultLogsAddReq.setFaultLevel(1);
// if (vehicleData.getEasStatus()==0){ }
// faultLogsAddReq.setFaultCode("GTO005"); // /**
// faultLogsAddReq.setFaultLevel(2); // * 动力电池加热状态
// } // */
// // /** // private int heatingStatus ;
// // * PTC(电动加热器)状态 if (vehicleData.getHeatingStatus()==0){
// // */
// // private int ptcStatus ; faultLogsAddReq.setFaultCode("GTX003");
// if (vehicleData.getPtcStatus()==0){ faultLogsAddReq.setFaultLevel(1);
// }
// faultLogsAddReq.setFaultCode("GTO006"); // /**
// faultLogsAddReq.setFaultLevel(2); // * 动力电池当前状态
// } // */
// // /** // private int batteryStatus ;
// // * EPS(电动助力系统)状态 if (vehicleData.getBatteryStatus()==0){
// // */
// // private int epsStatus ; faultLogsAddReq.setFaultCode("GTX004");
// if (vehicleData.getEpsStatus()==0){ faultLogsAddReq.setFaultLevel(1);
// }
// faultLogsAddReq.setFaultCode("GTO007"); // /**
// faultLogsAddReq.setFaultLevel(2); // * 动力电池保温状态
// } // */
// // /** // private int batteryInsulationStatus ;
// // * ABS(防抱死)状态 if (vehicleData.getBatteryInsulationStatus()==0){
// // */
// // private int absStatus ; faultLogsAddReq.setFaultCode("GTX005");
// if (vehicleData.getAbsStatus()==0){ faultLogsAddReq.setFaultLevel(1);
// }
// faultLogsAddReq.setFaultCode("GTX001"); // /**
// faultLogsAddReq.setFaultLevel(1); // * DCDC(电力交换系统)状态
// } // */
// // private int dcdcStatus ;
// // /** if (vehicleData.getDcdcStatus()==0){
// // * MCU(电机/逆变器)状态
// // */ faultLogsAddReq.setFaultCode("GTX006");
// // private int mcuStatus ; faultLogsAddReq.setFaultLevel(1);
// if (vehicleData.getMcuStatus()==0){ }
// // /**
// faultLogsAddReq.setFaultCode("GTX002"); // * CHG(充电机)状态
// faultLogsAddReq.setFaultLevel(1); // */
// } // private int chgStatus ;
// // /** if (vehicleData.getChgStatus()==0){
// // * 动力电池加热状态
// // */ faultLogsAddReq.setFaultCode("GTX007");
// // private int heatingStatus ; faultLogsAddReq.setFaultLevel(1);
// if (vehicleData.getHeatingStatus()==0){ }
// // rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE, RabbitMqConfig.KEY,faultLogsAddReq, message -> {
// faultLogsAddReq.setFaultCode("GTX003"); // message.getMessageProperties().setMessageId(UUID.randomUUID().toString());
// faultLogsAddReq.setFaultLevel(1); // return message;
// } // } ,new CorrelationData(UUID.randomUUID().toString()));
// // /**
// // * 动力电池当前状态
// // */
// // private int batteryStatus ; String key = "breakdown";
// if (vehicleData.getBatteryStatus()==0){ String value = JSON.toJSONString(faultLogsAddReq);
// redisTemplate.opsForSet().add(key, value);
// faultLogsAddReq.setFaultCode("GTX004"); long expireTime = 30;
// faultLogsAddReq.setFaultLevel(1); redisTemplate.expire(key, expireTime, TimeUnit.MINUTES);
// } }
// // /**
// // * 动力电池保温状态
// // */
// // private int batteryInsulationStatus ;
// if (vehicleData.getBatteryInsulationStatus()==0){
//
// faultLogsAddReq.setFaultCode("GTX005");
// faultLogsAddReq.setFaultLevel(1);
// }
// // /**
// // * DCDC(电力交换系统)状态
// // */
// // private int dcdcStatus ;
// if (vehicleData.getDcdcStatus()==0){
//
// faultLogsAddReq.setFaultCode("GTX006");
// faultLogsAddReq.setFaultLevel(1);
// }
// // /**
// // * CHG(充电机)状态
// // */
// // private int chgStatus ;
// if (vehicleData.getChgStatus()==0){
//
// faultLogsAddReq.setFaultCode("GTX007");
// faultLogsAddReq.setFaultLevel(1);
// }
//// rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE, RabbitMqConfig.KEY,faultLogsAddReq, message -> {
//// message.getMessageProperties().setMessageId(UUID.randomUUID().toString());
//// return message;
//// } ,new CorrelationData(UUID.randomUUID().toString()));
//
//
//
// String key = "breakdown";
// String value = JSON.toJSONString(faultLogsAddReq);
// redisTemplate.opsForSet().add(key, value);
// long expireTime = 30;
// redisTemplate.expire(key, expireTime, TimeUnit.MINUTES);
// }
log.info("故障事件结束"); log.info("故障事件结束");
} }

View File

@ -4,6 +4,7 @@ package com.muyu.analyze.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.muyu.analyze.mapper.VehicleMapper; import com.muyu.analyze.mapper.VehicleMapper;
import com.muyu.analyze.service.VehicleService; import com.muyu.analyze.service.VehicleService;
import com.muyu.business.remote.RemoteAlarmLogsService;
import com.muyu.system.common.domain.Car; import com.muyu.system.common.domain.Car;
import com.muyu.system.common.domain.Fence; import com.muyu.system.common.domain.Fence;
import com.muyu.system.common.domain.VehicleData; import com.muyu.system.common.domain.VehicleData;
@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import static java.lang.Double.parseDouble; import static java.lang.Double.parseDouble;
@ -33,6 +35,8 @@ public class FenceAlarmImpl implements VehicleService {
@Autowired @Autowired
private VehicleMapper vehicleMapper; private VehicleMapper vehicleMapper;
@Override @Override
public void eventResolution(VehicleData analyze) { public void eventResolution(VehicleData analyze) {
@ -66,6 +70,14 @@ public class FenceAlarmImpl implements VehicleService {
System.out.println("车辆vin:"+vin+"------在安全区"); System.out.println("车辆vin:"+vin+"------在安全区");
}else { }else {
System.out.println("车辆vin:"+vin+"------驶出围栏---报警"); System.out.println("车辆vin:"+vin+"------驶出围栏---报警");
String key = "fenceType1";
String value = JSON.toJSONString(fence);
redisTemplate.opsForSet().add(key, value);
long expireTime = 30;
redisTemplate.expire(key, expireTime, TimeUnit.MINUTES);
} }
} }
@ -73,6 +85,13 @@ public class FenceAlarmImpl implements VehicleService {
if (fence.getFenceType().equals("驶入")){ if (fence.getFenceType().equals("驶入")){
if (withinFence){ if (withinFence){
System.out.println("车辆vin:"+vin+"------驶入禁行区----报警"); System.out.println("车辆vin:"+vin+"------驶入禁行区----报警");
String key = "fenceType1";
String value = JSON.toJSONString(fence);
redisTemplate.opsForSet().add(key, value);
long expireTime = 30;
redisTemplate.expire(key, expireTime, TimeUnit.MINUTES);
}else{ }else{
System.out.println("车辆vin:"+vin+"------在安全区"); System.out.println("车辆vin:"+vin+"------在安全区");
} }

View File

@ -16,6 +16,10 @@
<groupId>com.muyu</groupId> <groupId>com.muyu</groupId>
<artifactId>muyu-business-common</artifactId> <artifactId>muyu-business-common</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-system-common</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -4,6 +4,7 @@ import com.muyu.business.domain.req.*;
import com.muyu.business.remote.factory.*; import com.muyu.business.remote.factory.*;
import com.muyu.common.core.constant.*; import com.muyu.common.core.constant.*;
import com.muyu.common.core.domain.*; import com.muyu.common.core.domain.*;
import com.muyu.system.common.domain.Fence;
import org.springframework.cloud.openfeign.*; import org.springframework.cloud.openfeign.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -20,4 +21,13 @@ public interface RemoteAlarmLogsService {
*/ */
@PostMapping @PostMapping
public Result add(@RequestBody AlarmLogsAddReq alarmLogsAddReq, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception; public Result add(@RequestBody AlarmLogsAddReq alarmLogsAddReq, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception;
} }

View File

@ -3,6 +3,7 @@ package com.muyu.business.remote.factory;
import com.muyu.business.domain.req.*; import com.muyu.business.domain.req.*;
import com.muyu.business.remote.*; import com.muyu.business.remote.*;
import com.muyu.common.core.domain.*; import com.muyu.common.core.domain.*;
import com.muyu.system.common.domain.Fence;
import org.slf4j.*; import org.slf4j.*;
import org.springframework.cloud.openfeign.*; import org.springframework.cloud.openfeign.*;
import org.springframework.stereotype.*; import org.springframework.stereotype.*;
@ -26,6 +27,8 @@ public class RemoteAlarmLogsFallbackFactory implements FallbackFactory<RemoteAla
public Result add(AlarmLogsAddReq alarmLogsAddReq, String source) { public Result add(AlarmLogsAddReq alarmLogsAddReq, String source) {
return Result.error("报存报警日志失败:" + throwable.getMessage()); return Result.error("报存报警日志失败:" + throwable.getMessage());
} }
}; };
} }
} }

View File

@ -6,6 +6,7 @@ import com.muyu.common.swagger.annotation.EnableCustomSwagger2;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
/** /**
* @ProjectName: colud-vehicles * @ProjectName: colud-vehicles
@ -19,6 +20,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableCustomSwagger2 @EnableCustomSwagger2
@EnableRyFeignClients @EnableRyFeignClients
@SpringBootApplication @SpringBootApplication
@EnableScheduling
@MapperScan("com.muyu.business.mapper") @MapperScan("com.muyu.business.mapper")
public class MuYuBusinessApplication { public class MuYuBusinessApplication {
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -10,8 +10,10 @@ import com.muyu.common.core.web.page.*;
import com.muyu.common.log.annotation.*; import com.muyu.common.log.annotation.*;
import com.muyu.common.log.enums.*; import com.muyu.common.log.enums.*;
import com.muyu.common.security.annotation.*; import com.muyu.common.security.annotation.*;
import com.muyu.system.common.domain.Fence;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.*; import org.springframework.beans.factory.annotation.*;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.*; import java.util.*;
@ -56,6 +58,11 @@ public class AlarmLogsController extends BaseController {
return toAjax(alarmLogsService.insertAlarmLogs(AlarmLogs.alarmLogsAddReq(alarmLogsAddReq))); return toAjax(alarmLogsService.insertAlarmLogs(AlarmLogs.alarmLogsAddReq(alarmLogsAddReq)));
} }
// @Scheduled(cron = "0/10 * * * * * ")
public void alarmLogsService() {
alarmLogsService.alarmLogsService();
}
/** /**
* *
*/ */

View File

@ -12,6 +12,7 @@ import com.muyu.common.log.enums.*;
import com.muyu.common.security.annotation.*; import com.muyu.common.security.annotation.*;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.*; import org.springframework.beans.factory.annotation.*;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.validation.annotation.*; import org.springframework.validation.annotation.*;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -86,4 +87,9 @@ public class FaultLogsController extends BaseController {
public Result remove(@ApiParam(value = "故障日志Id", required = true) @PathVariable("logIds") Long[] logIds) { public Result remove(@ApiParam(value = "故障日志Id", required = true) @PathVariable("logIds") Long[] logIds) {
return toAjax(faultLogsService.deleteFaultLogsByIds(logIds)); return toAjax(faultLogsService.deleteFaultLogsByIds(logIds));
} }
@Scheduled(cron = "0/10 * * * * * ")
public void faultLogsService() {
faultLogsService.faultLogsService();
}
} }

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.*;
import com.baomidou.mybatisplus.core.mapper.*; import com.baomidou.mybatisplus.core.mapper.*;
import com.muyu.business.domain.*; import com.muyu.business.domain.*;
import com.muyu.business.domain.res.*; import com.muyu.business.domain.res.*;
import com.muyu.system.common.domain.Fence;
import java.util.*; import java.util.*;
@ -21,4 +22,9 @@ public interface AlarmLogsMapper extends BaseMapper<AlarmLogs> {
* @return * @return
*/ */
List<AlarmLogs> selectAlarmLogsList(LambdaQueryWrapper<AlarmLogs> wrapper); List<AlarmLogs> selectAlarmLogsList(LambdaQueryWrapper<AlarmLogs> wrapper);
void alarmLogsService(Fence fence);
} }

View File

@ -3,6 +3,7 @@ package com.muyu.business.mapper;
import com.baomidou.mybatisplus.core.conditions.query.*; import com.baomidou.mybatisplus.core.conditions.query.*;
import com.baomidou.mybatisplus.core.mapper.*; import com.baomidou.mybatisplus.core.mapper.*;
import com.muyu.business.domain.*; import com.muyu.business.domain.*;
import com.muyu.business.domain.req.FaultLogsAddReq;
import com.muyu.business.domain.res.*; import com.muyu.business.domain.res.*;
import java.util.*; import java.util.*;
@ -21,4 +22,8 @@ public interface FaultLogsMapper extends BaseMapper<FaultLogs> {
* @return * @return
*/ */
List<FaultLogsResponse> selectFaultLogsList(LambdaQueryWrapper<FaultLogs> wrapper); List<FaultLogsResponse> selectFaultLogsList(LambdaQueryWrapper<FaultLogs> wrapper);
void FaultLogsService(FaultLogsAddReq faultLogsAddReq);
} }

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.*;
import com.muyu.business.domain.*; import com.muyu.business.domain.*;
import com.muyu.business.domain.req.*; import com.muyu.business.domain.req.*;
import com.muyu.business.domain.res.*; import com.muyu.business.domain.res.*;
import com.muyu.system.common.domain.Fence;
import java.util.*; import java.util.*;
@ -60,4 +61,8 @@ public interface AlarmLogsService extends IService<AlarmLogs> {
* @return * @return
*/ */
int deleteAlarmLogsByIds(Long[] alarmIds); int deleteAlarmLogsByIds(Long[] alarmIds);
void alarmLogsService();
} }

View File

@ -61,4 +61,9 @@ public interface FaultLogsService extends IService<FaultLogs> {
* @return * @return
*/ */
int deleteFaultLogsByIds(Long[] logIds); int deleteFaultLogsByIds(Long[] logIds);
void faultLogsService();
} }

View File

@ -1,5 +1,6 @@
package com.muyu.business.service.impl; package com.muyu.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.*; import com.baomidou.mybatisplus.core.conditions.query.*;
import com.baomidou.mybatisplus.core.toolkit.support.*; import com.baomidou.mybatisplus.core.toolkit.support.*;
import com.baomidou.mybatisplus.extension.service.impl.*; import com.baomidou.mybatisplus.extension.service.impl.*;
@ -10,10 +11,13 @@ import com.muyu.business.mapper.*;
import com.muyu.business.service.*; import com.muyu.business.service.*;
import com.muyu.common.core.utils.*; import com.muyu.common.core.utils.*;
import com.muyu.common.security.utils.*; import com.muyu.common.security.utils.*;
import com.muyu.system.common.domain.Fence;
import org.springframework.beans.factory.annotation.*; import org.springframework.beans.factory.annotation.*;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.*; import org.springframework.stereotype.*;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit;
/** /**
* Service * Service
@ -30,6 +34,8 @@ public class AlarmLogsServiceImpl extends ServiceImpl<AlarmLogsMapper, AlarmLogs
*/ */
@Autowired @Autowired
private AlarmLogsMapper alarmLogsMapper; private AlarmLogsMapper alarmLogsMapper;
@Autowired
private StringRedisTemplate redisTemplate;
@Override @Override
public List<AlarmLogs> selectAlarmLogsList(AlarmLogsReq alarmLogsReq) { public List<AlarmLogs> selectAlarmLogsList(AlarmLogsReq alarmLogsReq) {
@ -68,4 +74,31 @@ public class AlarmLogsServiceImpl extends ServiceImpl<AlarmLogsMapper, AlarmLogs
public int deleteAlarmLogsByIds(Long[] alarmIds) { public int deleteAlarmLogsByIds(Long[] alarmIds) {
return alarmLogsMapper.deleteBatchIds(Arrays.asList(alarmIds)); return alarmLogsMapper.deleteBatchIds(Arrays.asList(alarmIds));
} }
@Override
public void alarmLogsService() {
// 获取key对应的Set中所有成员即序列化后的Fence对象
Set<String> fenceValues = redisTemplate.opsForSet().members("fenceType1");
// 遍历Set将每个序列化的Fence对象反序列化为Fence对象
for (String serializedFence : fenceValues) {
Fence fence = JSON.parseObject(serializedFence, Fence.class);
// 处理反序列化得到的Fence对象...
//车辆vin
String carVin = fence.getCarVin();
//围栏类型,驶入还是驶出
String fenceType = fence.getFenceType();
alarmLogsMapper.alarmLogsService(fence);
}
}
} }

View File

@ -1,5 +1,6 @@
package com.muyu.business.service.impl; package com.muyu.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.*; import com.baomidou.mybatisplus.core.conditions.query.*;
import com.baomidou.mybatisplus.extension.service.impl.*; import com.baomidou.mybatisplus.extension.service.impl.*;
import com.muyu.business.domain.*; import com.muyu.business.domain.*;
@ -9,12 +10,15 @@ import com.muyu.business.mapper.*;
import com.muyu.business.service.*; import com.muyu.business.service.*;
import com.muyu.common.core.utils.*; import com.muyu.common.core.utils.*;
import com.muyu.common.security.utils.*; import com.muyu.common.security.utils.*;
import com.muyu.system.common.domain.Fence;
import lombok.extern.slf4j.*; import lombok.extern.slf4j.*;
import org.springframework.beans.factory.annotation.*; import org.springframework.beans.factory.annotation.*;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.*; import org.springframework.stereotype.*;
import java.text.*; import java.text.*;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit;
/** /**
* Service * Service
@ -38,6 +42,8 @@ public class FaultLogsServiceImpl extends ServiceImpl<FaultLogsMapper, FaultLogs
*/ */
@Autowired @Autowired
private FaultCodesService faultCodesService; private FaultCodesService faultCodesService;
@Autowired
private StringRedisTemplate redisTemplate;
@Override @Override
public List<FaultLogsResponse> selectFaultLogsList(FaultLogsReq faultLogsReq) { public List<FaultLogsResponse> selectFaultLogsList(FaultLogsReq faultLogsReq) {
@ -86,4 +92,21 @@ public class FaultLogsServiceImpl extends ServiceImpl<FaultLogsMapper, FaultLogs
public int deleteFaultLogsByIds(Long[] logIds) { public int deleteFaultLogsByIds(Long[] logIds) {
return faultLogsMapper.deleteBatchIds(Arrays.asList(logIds)); return faultLogsMapper.deleteBatchIds(Arrays.asList(logIds));
} }
@Override
public void faultLogsService() {
// 获取key对应的Set中所有成员即序列化后的Fence对象
Set<String> fenceValues = redisTemplate.opsForSet().members("breakdown");
// 遍历Set将每个序列化的Fence对象反序列化为Fence对象
for (String serializedFence : fenceValues) {
FaultLogsAddReq faultLogsAddReq = JSON.parseObject(serializedFence, FaultLogsAddReq.class);
faultLogsMapper.FaultLogsService(faultLogsAddReq);
}
}
} }

View File

@ -47,4 +47,8 @@
<select id="selectAlarmLogsList" resultMap="AlarmLogsResult"> <select id="selectAlarmLogsList" resultMap="AlarmLogsResult">
<include refid="selectAlarmLogs"/> <include refid="selectAlarmLogs"/>
</select> </select>
<select id="alarmLogsService">
INSERT INTO `bwie-cloud`.`alarm_logs` (`car_vin`, `fault_code`, `dispose_time`) VALUES
(#{carVin},#{fenceType}, now());
</select>
</mapper> </mapper>