Commit bef419a6add516ac7e4ea8ba21d2ca9c573e69a3
1 parent
724b2882
添加sql脚本
Showing
2 changed files
with
138 additions
and
0 deletions
sql/mysql.sql
| @@ -60,6 +60,22 @@ create table device_channel | @@ -60,6 +60,22 @@ create table device_channel | ||
| 60 | primary key (channelId, deviceId) | 60 | primary key (channelId, deviceId) |
| 61 | ); | 61 | ); |
| 62 | 62 | ||
| 63 | +create table device_alarm | ||
| 64 | +( | ||
| 65 | + id int auto_increment | ||
| 66 | + primary key, | ||
| 67 | + deviceId varchar(50) not null, | ||
| 68 | + alarmPriority varchar(50) not null, | ||
| 69 | + alarmMethod varchar(50), | ||
| 70 | + alarmTime varchar(50) not null, | ||
| 71 | + alarmDescription varchar(255), | ||
| 72 | + longitude double null, | ||
| 73 | + latitude double null, | ||
| 74 | + alarmType varchar(50) | ||
| 75 | +); | ||
| 76 | + | ||
| 77 | + | ||
| 78 | + | ||
| 63 | create table device_mobile_position | 79 | create table device_mobile_position |
| 64 | ( | 80 | ( |
| 65 | deviceId varchar(50) not null, | 81 | deviceId varchar(50) not null, |
src/test/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImplTest.java
0 → 100644
| 1 | +package com.genersoft.iot.vmp.service.impl; | ||
| 2 | + | ||
| 3 | +import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm; | ||
| 4 | +import com.genersoft.iot.vmp.service.IDeviceAlarmService; | ||
| 5 | +import org.junit.runner.RunWith; | ||
| 6 | +import org.springframework.boot.test.context.SpringBootTest; | ||
| 7 | +import org.springframework.test.context.junit4.SpringRunner; | ||
| 8 | + | ||
| 9 | +import javax.annotation.Resource; | ||
| 10 | +import java.text.SimpleDateFormat; | ||
| 11 | +import java.util.Date; | ||
| 12 | + | ||
| 13 | + | ||
| 14 | +@SpringBootTest | ||
| 15 | +@RunWith(SpringRunner.class) | ||
| 16 | +class DeviceAlarmServiceImplTest { | ||
| 17 | + | ||
| 18 | + @Resource | ||
| 19 | + private IDeviceAlarmService deviceAlarmService; | ||
| 20 | + | ||
| 21 | + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
| 22 | + | ||
| 23 | + @org.junit.jupiter.api.Test | ||
| 24 | + void getAllAlarm() { | ||
| 25 | +// deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111",null,null,null, null, null); | ||
| 26 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, null, null, null, null, | ||
| 27 | +// null, null).getSize()); | ||
| 28 | +// | ||
| 29 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, null, null, | ||
| 30 | +// null, null).getSize()); | ||
| 31 | +// | ||
| 32 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "1", null, null, | ||
| 33 | +// null, null).getSize()); | ||
| 34 | +// | ||
| 35 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "2", null, null, | ||
| 36 | +// null, null).getSize()); | ||
| 37 | +// | ||
| 38 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "3", null, null, | ||
| 39 | +// null, null).getSize()); | ||
| 40 | +// | ||
| 41 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "4", null, null, | ||
| 42 | +// null, null).getSize()); | ||
| 43 | +// | ||
| 44 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "5", null, null, | ||
| 45 | +// null, null).getSize()); | ||
| 46 | +// | ||
| 47 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, "1", null, | ||
| 48 | +// null, null).getSize()); | ||
| 49 | + | ||
| 50 | +// System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, "1", null, | ||
| 51 | +// null, null).getSize()); | ||
| 52 | + | ||
| 53 | + System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, null, null, | ||
| 54 | + "2021-01-01 00:00:00", null).getSize()); | ||
| 55 | + | ||
| 56 | + System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, null, null, | ||
| 57 | + null, "2021-04-01 09:00:00").getSize()); | ||
| 58 | + | ||
| 59 | + System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, null, null, | ||
| 60 | + "2021-02-01 01:00:00", "2021-04-01 04:00:00").getSize()); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + | ||
| 64 | + @org.junit.jupiter.api.Test | ||
| 65 | + void add() { | ||
| 66 | + for (int i = 0; i < 1000; i++) { | ||
| 67 | + DeviceAlarm deviceAlarm = new DeviceAlarm(); | ||
| 68 | + deviceAlarm.setDeviceId("11111111111111111111"); | ||
| 69 | + deviceAlarm.setAlarmDescription("test_" + i); | ||
| 70 | + | ||
| 71 | + /** | ||
| 72 | + * 报警方式 , 1为电话报警, 2为设备报警, 3为短信报警, 4为 GPS报警, 5为视频报警, 6为设备故障报警, | ||
| 73 | + * * 7其他报警;可以为直接组合如12为电话报警或 设备报警- | ||
| 74 | + */ | ||
| 75 | + deviceAlarm.setAlarmMethod((int)(Math.random()*7 + 1) + ""); | ||
| 76 | + Date date = randomDate("2021-01-01 00:00:00", "2021-06-01 00:00:00"); | ||
| 77 | + deviceAlarm.setAlarmTime(format.format(date)); | ||
| 78 | + /** | ||
| 79 | + * 报警级别, 1为一级警情, 2为二级警情, 3为三级警情, 4为四级 警情- | ||
| 80 | + */ | ||
| 81 | + deviceAlarm.setAlarmPriority((int)(Math.random()*4 + 1) + ""); | ||
| 82 | + deviceAlarm.setLongitude(116.325); | ||
| 83 | + deviceAlarm.setLatitude(39.562); | ||
| 84 | + deviceAlarmService.add(deviceAlarm); | ||
| 85 | + } | ||
| 86 | + | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + @org.junit.jupiter.api.Test | ||
| 90 | + void clearAlarmBeforeTime() { | ||
| 91 | + deviceAlarmService.clearAlarmBeforeTime(null,null, null); | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + | ||
| 95 | + | ||
| 96 | + | ||
| 97 | + private Date randomDate(String beginDate, String endDate) { | ||
| 98 | + try { | ||
| 99 | + | ||
| 100 | + Date start = format.parse(beginDate);//构造开始日期 | ||
| 101 | + Date end = format.parse(endDate);//构造结束日期 | ||
| 102 | + //getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 | ||
| 103 | + if (start.getTime() >= end.getTime()) { | ||
| 104 | + return null; | ||
| 105 | + } | ||
| 106 | + long date = random(start.getTime(), end.getTime()); | ||
| 107 | + return new Date(date); | ||
| 108 | + } catch (Exception e) { | ||
| 109 | + e.printStackTrace(); | ||
| 110 | + } | ||
| 111 | + return null; | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + private static long random(long begin, long end) { | ||
| 115 | + long rtn = begin + (long) (Math.random() * (end - begin)); | ||
| 116 | + //如果返回的是开始时间和结束时间,则递归调用本函数查找随机值 | ||
| 117 | + if (rtn == begin || rtn == end) { | ||
| 118 | + return random(begin, end); | ||
| 119 | + } | ||
| 120 | + return rtn; | ||
| 121 | + } | ||
| 122 | +} | ||
| 0 | \ No newline at end of file | 123 | \ No newline at end of file |