| package com.genersoft.iot.vmp.service.impl; | 
|   | 
| import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm; | 
| import com.genersoft.iot.vmp.service.IDeviceAlarmService; | 
| import org.junit.runner.RunWith; | 
| import org.springframework.boot.test.context.SpringBootTest; | 
| import org.springframework.test.context.junit4.SpringRunner; | 
|   | 
| import javax.annotation.Resource; | 
| import java.text.SimpleDateFormat; | 
| import java.util.Date; | 
|   | 
|   | 
| @SpringBootTest | 
| @RunWith(SpringRunner.class) | 
| class DeviceAlarmServiceImplTest { | 
|   | 
|     @Resource | 
|     private IDeviceAlarmService deviceAlarmService; | 
|   | 
|     SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | 
|   | 
|     @org.junit.jupiter.api.Test | 
|     void getAllAlarm() { | 
| //        deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111",null,null,null, null, null); | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, null, null, null, null, | 
| //                null, null).getSize()); | 
| // | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, null, null, | 
| //                null, null).getSize()); | 
| // | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "1", null, null, | 
| //                null, null).getSize()); | 
| // | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "2", null, null, | 
| //                null, null).getSize()); | 
| // | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "3", null, null, | 
| //                null, null).getSize()); | 
| // | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "4", null, null, | 
| //                null, null).getSize()); | 
| // | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", "5", null, null, | 
| //                null, null).getSize()); | 
| // | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, "1", null, | 
| //                null, null).getSize()); | 
|   | 
| //        System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, "1", null, | 
| //                null, null).getSize()); | 
|   | 
|         System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, null, null, | 
|                 "2021-01-01 00:00:00", null).getSize()); | 
|   | 
|         System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, null, null, | 
|                 null, "2021-04-01 09:00:00").getSize()); | 
|   | 
|         System.out.println(deviceAlarmService.getAllAlarm(0, 10000, "11111111111111111111", null, null, null, | 
|                 "2021-02-01 01:00:00", "2021-04-01 04:00:00").getSize()); | 
|     } | 
|   | 
|   | 
|     @org.junit.jupiter.api.Test | 
|     void add() { | 
|         for (int i = 0; i < 1000; i++) { | 
|             DeviceAlarm deviceAlarm = new DeviceAlarm(); | 
|             deviceAlarm.setDeviceId("11111111111111111111"); | 
|             deviceAlarm.setAlarmDescription("test_" + i); | 
|   | 
|             /** | 
|              * 报警方式 , 1为电话报警, 2为设备报警, 3为短信报警, 4为 GPS报警, 5为视频报警, 6为设备故障报警, | 
|              *      * 7其他报警;可以为直接组合如12为电话报警或 设备报警- | 
|              */ | 
|             deviceAlarm.setAlarmMethod((int)(Math.random()*7 + 1) + ""); | 
|             Date date = randomDate("2021-01-01 00:00:00", "2021-06-01 00:00:00"); | 
|             deviceAlarm.setAlarmTime(format.format(date)); | 
|             /** | 
|              * 报警级别, 1为一级警情, 2为二级警情, 3为三级警情, 4为四级 警情- | 
|              */ | 
|             deviceAlarm.setAlarmPriority((int)(Math.random()*4 + 1) + ""); | 
|             deviceAlarm.setLongitude(116.325); | 
|             deviceAlarm.setLatitude(39.562); | 
|             deviceAlarmService.add(deviceAlarm); | 
|         } | 
|   | 
|     } | 
|   | 
|     @org.junit.jupiter.api.Test | 
|     void clearAlarmBeforeTime() { | 
|         deviceAlarmService.clearAlarmBeforeTime(null,null, null); | 
|     } | 
|   | 
|   | 
|   | 
|   | 
|     private Date randomDate(String beginDate, String endDate) { | 
|         try { | 
|   | 
|             Date start = format.parse(beginDate);//构造开始日期 | 
|             Date end = format.parse(endDate);//构造结束日期 | 
|             //getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 | 
|             if (start.getTime() >= end.getTime()) { | 
|                 return null; | 
|             } | 
|             long date = random(start.getTime(), end.getTime()); | 
|             return new Date(date); | 
|         } catch (Exception e) { | 
|             e.printStackTrace(); | 
|         } | 
|         return null; | 
|     } | 
|   | 
|     private static long random(long begin, long end) { | 
|         long rtn = begin + (long) (Math.random() * (end - begin)); | 
|         //如果返回的是开始时间和结束时间,则递归调用本函数查找随机值 | 
|         if (rtn == begin || rtn == end) { | 
|             return random(begin, end); | 
|         } | 
|         return rtn; | 
|     } | 
| } |