|  |  | 
 |  |  | package com.ruoyi.device.camera.service.impl; | 
 |  |  |  | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | 
 |  |  |         List<Map<String, Object>> result = ardCamerasMapper.getCamerasByDeptId(deptId); | 
 |  |  |         return result; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Boolean getCameraOperationByCameraId(String id, String userId) { | 
 |  |  |         Boolean result = ardCamerasMapper.getCameraOperationByCameraId(id,userId); | 
 |  |  |         return result; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> getChannelByCameraId(String id) { | 
 |  |  |         List<Map<String,Object>> result = ardCamerasMapper.getChannelByCameraId(id); | 
 |  |  |         Map<String,Object> resultMap = new HashMap(); | 
 |  |  |         if(result.size() == 1){ | 
 |  |  |             resultMap.put("chanNo", result.get(0).get("chan_no")); | 
 |  |  |             return resultMap; | 
 |  |  |         }else{ | 
 |  |  |             String configValue = (String) result.get(0).get("config_value"); | 
 |  |  |             String beginTime = configValue.split("-")[0]; | 
 |  |  |             String endTime = configValue.split("-")[1]; | 
 |  |  |             Date now = new Date(); | 
 |  |  |             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | 
 |  |  |             String nowDay = sdf.format(now); | 
 |  |  |             try{ | 
 |  |  |                 Long beginDate = sdf.parse(nowDay).getTime() | 
 |  |  |                         + Integer.parseInt(beginTime.split(":")[0]) * 60 * 60 *1000 | 
 |  |  |                         + Integer.parseInt(beginTime.split(":")[1]) * 60 *1000; | 
 |  |  |                 Long endDate = sdf.parse(nowDay).getTime() | 
 |  |  |                         + Integer.parseInt(endTime.split(":")[0]) * 60 * 60 *1000 | 
 |  |  |                         + Integer.parseInt(endTime.split(":")[1]) * 60 *1000; | 
 |  |  |                 if(now.getTime() >= beginDate && now.getTime() <= endDate){ | 
 |  |  |                     result = result.stream().filter(map -> ((Integer)map.get("chan_no")) == 1).collect(Collectors.toList()); | 
 |  |  |                     resultMap.put("chanNo", result.get(0).get("chan_no")); | 
 |  |  |                     return resultMap; | 
 |  |  |                 }else{ | 
 |  |  |                     result = result.stream().filter(map -> ((Integer)map.get("chan_no")) == 2).collect(Collectors.toList()); | 
 |  |  |                     resultMap.put("chanNo", result.get(0).get("chan_no")); | 
 |  |  |                     return resultMap; | 
 |  |  |                 } | 
 |  |  |             }catch (Exception e){ | 
 |  |  |                 e.printStackTrace(); | 
 |  |  |                 return resultMap; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |