You've already forked FrameTour-BE
feat(ExtraDevice): 添加外部设备管理功能
- 创建了 ExtraDeviceController 提供分页查询外部设备列表的API接口 - 新增 ExtraDeviceService 和 ExtraDeviceServiceImpl 实现设备查询逻辑 - 添加 ExtraDevicePageQueryReq 和 ExtraDeviceRespVO 请求响应数据模型 - 扩展 ExtraDeviceMapper 支持分页查询外部设备列表 - 实现景区名称填充和设备在线状态判断功能 - 集成 Redis 获取设备心跳时间判断在线状态 - 添加了完整的参数校验和异常处理机制
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package com.ycwl.basic.model.pc.extraDevice.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 外部设备分页查询请求
|
||||
*/
|
||||
@Data
|
||||
public class ExtraDevicePageQueryReq {
|
||||
/**
|
||||
* 景区ID (支持 Long 或字符串格式的Long)
|
||||
*/
|
||||
private Long scenicId;
|
||||
|
||||
/**
|
||||
* 页码,默认1
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页大小,默认20
|
||||
*/
|
||||
private Integer pageSize = 20;
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.ycwl.basic.model.pc.extraDevice.resp;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 外部设备响应VO
|
||||
* 对应文档中的 ExtraDeviceResp 结构
|
||||
*/
|
||||
@Data
|
||||
public class ExtraDeviceRespVO {
|
||||
/**
|
||||
* 设备ID (JSON输出为字符串)
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 景区ID (JSON输出为字符串)
|
||||
*/
|
||||
private Long scenicId;
|
||||
|
||||
/**
|
||||
* 景区名称 (从景区服务获取)
|
||||
*/
|
||||
private String scenicName;
|
||||
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 设备标识
|
||||
*/
|
||||
private String ident;
|
||||
|
||||
/**
|
||||
* 数据库状态
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 心跳时间 (格式: yyyy-MM-dd HH:mm:ss)
|
||||
*/
|
||||
private String keepaliveAt;
|
||||
|
||||
/**
|
||||
* 在线状态: 1=在线, 0=离线
|
||||
* 判断逻辑:5分钟内有心跳则在线
|
||||
*/
|
||||
private Integer online;
|
||||
}
|
||||
Reference in New Issue
Block a user