- 仪表、门禁、摄像头状态统计

- 仪表层级树显示每层仪表数
- 仪表概况调整排序
- 小程序端接口更改
This commit is contained in:
2025-09-09 18:16:53 +08:00
parent 2816c22a4d
commit f91333de3a
15 changed files with 323 additions and 13 deletions

View File

@@ -4,11 +4,13 @@ import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.sis.sdk.e8.E8PlatformApi;
import org.dromara.sis.sdk.e8.domain.QueryDto;
import org.dromara.sis.sdk.e8.domain.accessControl.req.AccessRecordFindReq;
import org.dromara.sis.sdk.e8.domain.accessControl.res.AccessRecordFindRes;
import org.dromara.sis.sdk.e8.domain.door.res.AuthDoorDeviceFindRes;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,6 +18,9 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author yuyongle
@@ -25,14 +30,16 @@ import java.util.Date;
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/visitor")
public class SisVisitorController {
@RequestMapping("/e8")
public class E8Controller {
private final E8PlatformApi e8PlatformApi;
/**
* 查询人员通行记录
*
* @return tableDataInfo
*/
@GetMapping("/list")
@GetMapping("/visitor/list")
public TableDataInfo<AccessRecordFindRes> list(@RequestParam(required = false) String begTime,
@RequestParam(required = false) String endTime,
@NotNull(message = "页码不能为空") @RequestParam Integer pageNum,
@@ -67,4 +74,18 @@ public class SisVisitorController {
dto.setMaxResultCount(pageSize);
return e8PlatformApi.getPageAccessRecordList(dto);
}
/**
* 查询门禁设备在线情况
*
* @return Map
*/
@GetMapping("/door/online")
public R<Map<String, Long>> doorOnline() {
List<AuthDoorDeviceFindRes> list = e8PlatformApi.getPageAuthDoorDeviceList();
Map<String, Long> map = new HashMap<>();
map.put("on", list.stream().filter(o -> o.getOnlineStatus() == 1).count());
map.put("off", list.stream().filter(o -> o.getOnlineStatus() == 0).count());
return R.ok(map);
}
}

View File

@@ -23,7 +23,9 @@ import org.dromara.sis.service.ISisDeviceManageService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 设备管理
@@ -114,5 +116,17 @@ public class SisDeviceManageController extends BaseController {
return R.ok(sisDeviceManageService.tree());
}
/**
* 统计设备在线状态
*
* @return map
*/
@GetMapping("/online")
public R<Map<String, Long>> getOnlineStatus() {
List<SisDeviceManageVo> list = sisDeviceManageService.queryList(new SisDeviceManageBo());
Map<String, Long> map = new HashMap<>();
map.put("on", list.stream().filter(o -> o.getDeviceStatus() == 1).count());
map.put("off", list.stream().filter(o -> o.getDeviceStatus() == 0).count());
return R.ok(map);
}
}

View File

@@ -61,6 +61,11 @@ public class SisDeviceManageVo implements Serializable {
*/
private Integer deviceType;
/**
* 设备在线状态 0:离线 1:在线 2:未知
*/
private Integer deviceStatus;
/**
* 设备类型
*/

View File

@@ -29,4 +29,9 @@ public class AuthDoorDeviceFindRes {
* 门禁Id
*/
private Long deviceId;
/**
* 门禁状态
*/
private Integer onlineStatus;
}