jinpengyong
2024-02-02 28923b3d67c58b032bc4ff128aa1d5e62d73dba1
fix:提交实时在线率接口
3 files modified
33 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/controller/DeviceOnlineRateController.java 9 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/DeviceService.java 4 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java 20 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/DeviceOnlineRateController.java
@@ -52,4 +52,13 @@
        Map<String, Object> detail = deviceService.detail(mac, startTime, endTime, type);
        return ResultMessage.ok(detail);
    }
    @GetMapping("state")
    @ApiOperation("当前在线率")
    public ResultMessage state(Integer organizationId){
        Map<String, Object> start = deviceService.getStart(organizationId);
        return  ResultMessage.ok(start);
    }
}
screen-api/src/main/java/com/moral/api/service/DeviceService.java
@@ -87,5 +87,9 @@
    Map<String,Object>  detail(String mac,String startTime,String endTime, String type);
    Map<String,Object> getStart(Integer organizationId);
    Map<String,Object>  detailV1(String mac,String startTime,String endTime, String type);
}
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -969,6 +969,26 @@
    }
    @Override
    public Map<String,Object> getStart(Integer organizationId) {
        HashMap<String, Object> map = new HashMap<>();
        List<OnlineRateVo> lists = deviceMapper.getLists(organizationId, null);
        if (!ObjectUtils.isEmpty(lists)){
            Map<String, List<OnlineRateVo>> collect = lists.stream().collect(Collectors.groupingBy(OnlineRateVo::getState));
            int size1 = lists.size();
            int size = collect.get("0").size();
            int i = size1 - size;
            //总数
            map.put("sum",lists.size());
            //在线
            map.put("online",i);
            double number = (double) i / size1 * 100;
            String result = String.format("%.2f", number);
            map.put("onlineRate",result);
        }
        return map;
    }
    @Override
    public Map<String, Object> detailV1(String mac, String startTime, String endTime, String type) {
        HashMap<String, Object> rsMap = new HashMap<>();
        Map<String, Object> map = new TreeMap<>(