using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Domain.IoTOpenAIEntity
{
    /// <summary>
    /// 收到命令
    /// </summary>
    public class Request
    {
        /// <summary>
        /// OpenAI语音系统授权生成
        /// </summary>
        public string appId { get; set; }
        /// <summary>
        /// unix时间戳（时间相差不能超过 1 分钟）
        /// </summary>
        public long timestamp { get; set; }
        /// <summary>
        /// 6位随机字符串（ 0 9 、 a z 、 A Z ）不允许特殊字符串
        /// </summary>
        public string rand { get; set; }
        /// <summary>
        /// sha1签名（十六进制）
        /// </summary>
        public string sign { get; set; }
        /// <summary>
        /// 请求id （方便进行调试和日志追踪
        /// </summary>
        public string requestId { get; set; }
        /// <summary>
        /// 技能名称，该参数不会变化，统一为： smartControl，场景scene
        /// </summary>
        public string skill { get; set; }
        /// <summary>
        /// OpenAI语音平台酒店 Id
        /// </summary>
        public string hotelId { get; set; }
        /// <summary>
        /// 酒店房间号
        /// </summary>
        public string roomNumber { get; set; }
        /// <summary>
        /// 房间类型（客厅、卧室），如果用户在对话中不涉及到房间类型则不会传递
        /// </summary>
        public string location { get; set; }
        /// <summary>
        /// 设备类型（详细支持的设备列表见附录）：airControl，light，curtain
        /// </summary>
        public string device { get; set; }
        /// <summary>
        /// 设备类型名字
        /// </summary>
        public string deviceName { get; set; }
        /// <summary>
        /// 设备指令（开on ，关 off，设置set）
        /// </summary>
        public string insType { get; set; }
        /// <summary>
        /// 设备指令值
        /// </summary>
        public string value { get; set; }
        /// <summary>
        /// 操作的设备范围（所有all）
        /// </summary>
        public string range { get; set; }
        /// <summary>
        /// 语音转义后的文本
        /// </summary>
        public string text { get; set; }
        /// <summary>
        /// 场景名字：睡眠模式，明亮模式，温馨模式，观影模式，休闲模式等等
        /// </summary>
        public string sceneName { get; set; }
    }
    /// <summary>
    /// 响应
    /// </summary>
    public class Response
    {
        /// <summary>
        /// 返回值：200操作成功，401房间不存在，402设备不存在，403设备不支持该操作，405设备操作失败，500未知错误，411场景不存在，415场景操作失败
        /// </summary>
        public string code { get; set; }
        /// <summary>
        /// 返回描述
        /// </summary>
        public string msg { get; set; }
        /// <summary>
        /// 公共参数的requestId
        /// </summary>
        public string requestId { get; set; }
        /// <summary>
        /// 当前时间戳
        /// </summary>
        public long timestamp { get; set; }
    }
}

