| | |
| | | parameters.put("yearAndMonth",yearAndMonth); |
| | | parameters.put("macs",macs); |
| | | List<Map<String, Object>> datas = historyMinutelyService.getFiveMinutesDataByMacsAndTime(parameters); |
| | | datas = insertDeviceInfo(datas,devices); |
| | | return new ResultBean<List<Map<String, Object>>>(datas); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * @Description: 返回结果添加设备经纬度以及state |
| | | * @Param: [datas, devices] |
| | | * @return: java.util.List<java.util.Map<java.lang.String,java.lang.Object>> |
| | | * @Author: 下雨听风 |
| | | * @Date: 2020/10/19 |
| | | */ |
| | | public List<Map<String, Object>> insertDeviceInfo(List<Map<String, Object>> datas,List<Device> devices ){ |
| | | Map<String,Device> map = new HashMap<>(); |
| | | devices.forEach(p->{ |
| | | map.put(p.getMac(),p); |
| | | }); |
| | | |
| | | datas.forEach(p->{ |
| | | String mac = (String) p.get("mac"); |
| | | Device device = map.get(mac); |
| | | List list = LatLngTransformation.Convert_BD09_To_GCJ02(device.getLatitude(), device.getLongitude()); |
| | | p.put("longitude",list.get(0)); |
| | | p.put("latitude",list.get(1)); |
| | | p.put("state",device.getState()); |
| | | }); |
| | | return datas; |
| | | } |
| | | |
| | | /** |
| | |
| | | String yearAndMonth = ""; |
| | | String startTime = ""; |
| | | Integer endMinute = Integer.parseInt(String.valueOf(minute.charAt(minute.length() - 1))); |
| | | if (endMinute >= 5) { |
| | | if (endMinute >= 6||endMinute==0) {//分钟结尾如果是 6 7 8 9 0 比如12:16,12:20进入, 则获取12:10-12:15的数据 |
| | | date = DateUtil.rollMinute(date, -1); |
| | | StringBuilder time = new StringBuilder(sdf.format(date)); |
| | | startTime = time.replace(15, 19, "0:00").toString(); |
| | | } else { |
| | | date = DateUtil.rollMinute(date, -5); |
| | | }else {// 分钟结尾如果是1 2 3 4 5 则获取上个五分钟数据 比如12:11分钟进入 则获取12:05-12:10的数据 |
| | | date = DateUtil.rollMinute(date, -9); |
| | | StringBuilder time = new StringBuilder(sdf.format(date)); |
| | | startTime = time.replace(15, 19, "5:00").toString(); |
| | | } |