CMVR-IOT/cmvr-iot-inspection/src/main/java/com/cmvr/inspection/domain/InspectionRobot.java
lixiaolong 54df691ea6 feat(inspection): 新增扬声器播放音频功能并优化机器人状态同步机制
- 在 ActionEnum 中添加 SPEAKER_PLAYAUDIO 操作类型
- 配置机器人状态检查任务的启用和时间间隔参数
- 移除应用配置中的废弃TTS外部接口配置
- 实现 EdgeSpeakerOperateService 中的音频播放功能和参数验证
- 重构 FlowActionExecutorService 以支持多种操作类型的服务分发
- 更新数据库表结构中机器人状态字段的含义和注释说明
- 修改 InspectionRobot 实体类中的状态定义和业务编号描述
- 扩展 InspectionRobotMapper 接口以支持运行时状态更新和候选查询
- 实现 InspectionRobotService 中的 AGV 请求构建和状态同步逻辑
- 添加 RobotRuntimeStateRefreshTask 定时任务来同步机器人运行状态
- 修复 InspectionTaskInstanceService 中的重复机器人ID设置问题
- 优化 RobotQuicStateService 中的设备状态判断逻辑
2026-08-07 16:17:12 +08:00

117 lines
3.2 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.cmvr.inspection.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import com.cmvr.common.annotation.Excel;
import com.cmvr.common.core.domain.BaseEntity;
import java.util.Date;
/**
* 巡检机器人对象 inspection_robot
*
* @author cmvr-iot
* @since 2026-05-29
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel("巡检机器人")
public class InspectionRobot extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** id */
@ApiModelProperty("id")
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/** Permanent robot identity reported by QUIC. */
@Excel(name = "机器人ID")
@ApiModelProperty("机器人永久唯一ID")
private String robotId;
/** Business display code. It is not an edge device ID. */
@Excel(name = "机器人业务编号")
@ApiModelProperty("机器人业务编号,仅用于业务展示,不作为设备ID")
private String robotCode;
/** 机器人名称 */
@Excel(name = "机器人名称")
@ApiModelProperty("机器人名称")
private String robotName;
/** 机器人型号 */
@Excel(name = "机器人型号")
@ApiModelProperty("机器人型号")
private String robotModel;
/** 机器人类型 */
@Excel(name = "机器人类型")
@ApiModelProperty("机器人类型")
private String robotType;
/** IP地址 */
@Excel(name = "IP地址")
@ApiModelProperty("IP地址")
private String ipAddress;
/** 端口号 */
@Excel(name = "端口号")
@ApiModelProperty("端口号")
private Long port;
/** 当前地图 */
@Excel(name = "当前地图")
@ApiModelProperty("当前地图")
private String currentMapId;
/** 当前状态 */
@Excel(name = "当前状态")
@ApiModelProperty("AGV运行模式(0未知 1断开 2空闲 3手动 4自动 5充电 6暂停 7停止 8故障 9急停)")
private String status;
/** 电量百分比 */
@Excel(name = "电量百分比")
@ApiModelProperty("电量百分比")
private Integer batteryLevel;
/** 当前位置 */
@Excel(name = "当前位置")
@ApiModelProperty("当前位置")
private String currentPosition;
/** QUIC runtime state, independent from the robot business status. */
@ApiModelProperty("连接状态:0离线,1在线")
private String connectStatus;
@ApiModelProperty("当前QUIC节点ID")
private String quicNodeId;
@ApiModelProperty("当前QUIC会话ID")
private String quicSessionId;
@ApiModelProperty("边缘端启动ID")
private String quicBootId;
@ApiModelProperty("QUIC连接来源IP")
private String observedIp;
@ApiModelProperty("边缘端软件版本")
private String softwareVersion;
@ApiModelProperty("最后心跳时间")
private Date lastHeartbeatTime;
@ApiModelProperty("归档状态:0正常,1归档")
private String archivedStatus;
}