Files
Web_HotelServices_Prod/Models/HELPMODELS.cs
2025-11-26 11:18:26 +08:00

1243 lines
30 KiB
C#
Raw Permalink 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.
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Models
{
public class ReturnData<T>
{
public bool IsSuccess { get; set; }
public T Result { get; set; }
}
public class HotelGroups
{
public int Id { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
public string Desc { get; set; }
public DateTime CreateTime { get; set; } = DateTime.Now;
}
public class HotelsAsync
{
/// <summary>
///
/// </summary>
public int ID { get; set; }
/// <summary>
///
/// </summary>
public string Code { get; set; }
/// <summary>
/// 默认酒店
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public string EName { get; set; }
/// <summary>
/// 默認酒店
/// </summary>
public string TWName { get; set; }
/// <summary>
///
/// </summary>
public string Contact { get; set; }
/// <summary>
///
/// </summary>
public string Phone { get; set; }
/// <summary>
///
/// </summary>
public string Address { get; set; }
/// <summary>
///
/// </summary>
public string ValidateDate { get; set; }
/// <summary>
///
/// </summary>
public DateTime CreatDate { get; set; }
/// <summary>
///
/// </summary>
public string Remark { get; set; }
/// <summary>
///
/// </summary>
public int Status { get; set; }
/// <summary>
///
/// </summary>
public bool IsApprove { get; set; }
/// <summary>
///
/// </summary>
public int SysHotelGroupID { get; set; }
/// <summary>
/// 宝来威
/// </summary>
public string SysHotelGroupName { get; set; }
}
public class HotelDataItem
{
public string HotelGroupsName { get; set; }
public int HotelGroupsId { get; set; }
public List<HotelsItem> Hotels { get; set; }
}
public class AuthItem
{
public int AuthotypeId { get; set; }
public int AuthorityId { get; set; }
public string AuthorityName { get; set; }
}
public class HotelsItem
{
public List<AuthItem> Auth { get; set; }
public string HotelName { get; set; }
public string Code { get; set; }
public int HotelId { get; set; }
}
public class Userinfo
{
public string HeadImg { get; set; }
public string Uid { get; set; } = string.Empty;
}
public class Datainfo
{
public Userinfo Userinfo { get; set; }
public List<HotelDataItem> HotelData { get; set; }
public string Token { get; set; }
}
public class Root<T>
{
public T Data { get; set; }
public int Status { get; set; }
public string Message { get; set; }
}
public class asyncroomtype
{
public int Code { get; set; }
public string Name { get; set; }
}
# region TCP
/// <summary>
/// TCP 通讯类容 具体数据命令 请看同步目录文档 DOC-BLV-C1-V04a-20220321.docx 8.5TCP通讯格式
/// </summary>
public class TCPDATA
{
/// <summary>
/// 命令枚举
/// </summary>
public enum RCU_CMD
{
/// <summary>
/// 获取RUCS设备缓存
/// </summary>
GET_RUCS_RCU_LIST,// 1
/// <summary>
/// RUCS主动发送服务消息日志
/// </summary>
RUCS_DEBUGLOG, // 2 RUCS_DEBUGLOG
/// <summary>
/// RUCS 控制下发
/// </summary>
CONTROL_RCU_DEVISSUED,//3
/// <summary>
/// RUCS 升级下发
/// </summary>
RCU_UPGRADE_ISSUED,
/// <summary>
/// RUCS升级测试进度
/// </summary>
RUCS_CONN_UPGRADE_PROGRESS,
/// <summary>
/// RUCS 升级测试结果
/// </summary>
RUCS_CONN_UPGRADE_RESULTS
}
public class REATED_IDS
{
public string RELATED_MSG_ID { get; set; }
public string RELATED_TCP_ID { get; set; }
public string RELATED_UDP_ID { get; set; }
}
/// <summary>
/// 每条TCP通讯生成时自动生成一个ID有发送者+时间戳组成
/// </summary>
public string TCP_ID { get; set; }
/// <summary>
/// 数据生成时间
/// </summary>
public DateTime DATETIME { get; set; } = DateTime.Now;
/// <summary>
/// //跟本条数据生成有关的信息ID如果没有关联ID则选择空白
/// </summary>
public REATED_IDS REATED_IDs { get; set; }
/// <summary>
/// 是否记录到日志,,如无本参数则默认写入日志
/// </summary>
public bool LOG_TO_DB { get; set; }
/// <summary>
/// //命令
/// </summary>
public string CMD
{
get => cmd.ToString().ToUpper();
set
{
try
{
cmd = (RCU_CMD)Enum.Parse(typeof(RCU_CMD), value.ToUpper());
}
catch (Exception ex)
{
throw new Exception("数据不规范" + ex.Message);
}
}
}
RCU_CMD cmd
{
get;
set;
}
/// <summary>
/// 消 息参数,根据命令不同,消息参数格式和内容也不同
/// </summary>
public PARAs_Class PARAM { get; set; }
/// <summary>
/// 事件跟踪信息
/// </summary>
public TrackingInfo TRACKING_INFO { get; set; }
/// <summary>
/// 事件跟踪类
/// </summary>
public class TrackingInfo
{
/// <summary>
/// 事务ID TransactionID
/// </summary>
public string TRANSACTION_ID { get; set; }
/// <summary>
/// 追踪类型 TrackingType
/// </summary>
public string TRACKING_TYPE { get; set; }
}
/// <summary>
/// 消息体类
/// </summary>
public class PARAs_Class
{
/// <summary>
/// 发起方
/// </summary>
public string Initiator { get; set; } = "WEB";
/// <summary>
/// 数据类型
/// </summary>
public string Data_Type { get; set; }
/// <summary>
/// 下发 测试类型
/// </summary>
public int Issued_Test_Type { get; set; }
/// <summary>
/// 下发命令
/// </summary>
public string Issued_CMD { get; set; }
/// <summary>
/// 下发测试消息;
/// </summary>
public string Issued_Test_Message { get; set; }
/// <summary>
/// 下发测试结果;
/// </summary>
public int Issued_Test_Result { get; set; }
/// <summary>
/// 总包数
/// </summary>
public int The_Total_Packages { get; set; }
/// <summary>
/// 当前包
/// </summary>
public int The_Current_Package { get; set; }
/// <summary>
/// 设备个数 返回和请求度需要用到 返回 不限制
/// </summary>
public int QUANTITY { get; set; }
/// <summary>
/// 返回ruc信息集合
/// </summary>
public RUCS_RCU[] RCU_INFO { get; set; }
/// <summary>
/// 返回ruc信息类
/// </summary>
public class RUCS_RCU
{
public string IDX { get; set; }
public string MAC { get; set; }
public string UUID { get; set; }
public string PUBLIC_IP { get; set; }
public string LOCAL_IP { get; set; }
public int RCU_UDP_PORT { get; set; }
public int RUCS_UDP_PORT { get; set; }
public DateTime LAST_UPDATE { get; set; }
public string LAST_UDP_SN { get; set; }
public string IS_ONLINE { get; set; }
}
/// <summary>
/// 在线状态筛选 0 全部 不赛选 1 只返回在线 2 只返回不在线
/// </summary>
public int ONLINE_STATUS { get; set; }
/// <summary>
/// 升级文件类型 文件类型; 1: app固件; 2: 配置;
/// </summary>
public int Upgrade_File_Type { get; set; } = 1;
/// <summary>
/// 是否立即复位 是否立即复位; 1: 立即复位; 2: 手动复位;
/// </summary>
public int Upgrade_Is_Reset { get; set; } = 1;
/// <summary>
/// Upgrade_TimeOut_msRCU升级超时时间;
/// </summary>
public int Upgrade_Time_Out_s { get; set; } = 10;
/// <summary>
/// 返回具有指定的mac 的ruc
/// </summary>
public List<string> MAC_LIST { get; set; }
/// <summary>
/// 数据来源
/// </summary>
//public string DataSource { get; set; }
///// <summary>
///// 数据分类
///// </summary>
//public string Data_Type { get; set; }
/// <summary>
/// 数据内容
/// </summary>
public string Message { get; set; }
/// <summary>
/// 重发次数
/// </summary>
public int Resend_Count { get; set; } = 5;
/// <summary>
/// 重发间隔 ms
/// </summary>
public int Resend_Time_Out_ms { get; set; } = 500;
/// <summary>
/// 通讯测试总包数
/// </summary>
public int Conn_Test_Package_Count { get; set; } = 500;
/// <summary>
/// 通讯测试超时;
/// </summary>
public int Conn_Test_Time_Out_s { get; set; } = 500;
/// <summary>
/// 重发失败处理 暂定 false 不告诉我发送结果 TRUE 告知
/// </summary>
public bool Resend_Fail_Handling { get; set; }
/// <summary>
/// 下发数据内容
/// </summary>
public byte[] Issued_Data { get; set; } = new byte[0];
/// <summary>
/// 下发的mac
/// </summary>
public string MAC { get; set; }
}
#endregion
#region charts 使
/// <summary>
/// charts 绘图帮助返回类
/// </summary>
public class CHARTSHELP
{
/// <summary>
/// 绘图 类型 "line"
/// </summary>
public string type { get; set; } = "line";
/// <summary>
/// 表格名
/// </summary>
public string Title { get; set; } = "line";
/// <summary>
/// DATASETS 数据集
/// </summary>
public class DATASETS
{
public string symbol { get; set; } = String.Empty;
/// <summary>
/// 数据名
/// </summary>
public string label { get; set; } = String.Empty;
/// <summary>
/// 边框颜色
/// </summary>
public string borderColor { get; set; } = String.Empty;
/// <summary>
/// 背景颜色
/// </summary>
public string backgroundColor { get; set; } = String.Empty;
/// <summary>
/// 边框宽度
/// </summary>
public int borderWidth { get; set; } = 1;
/// <summary>
/// 数据
/// </summary>
public List<int> data { get; set; } = new List<int> { };
public class Data
{
public int x { get; set; }
public int y { get; set; }
}
}
public List<DATASETS> ds { get; set; } = new List<DATASETS>();
/// <summary>
/// 共用的x轴 labels
/// </summary>
public List<string> labels { get; set; } = new List<string>();
}
#endregion
#region echarts
public class ECHARTS
{
// 图例颜色
public List<string> color { get; set; } = new List<string>();
public dynamic yAxis { get; set; } = new { };
public Title title { get; set; } = new Title();
/// <summary>
/// 鼠标移上去显示数据
/// </summary>
public dynamic tooltip { get; set; } = new { trigger = "axis" };
public XAXIS legend { get; set; } = new XAXIS();
public XAXISDATA xAxis { get; set; } = new XAXISDATA();
//public DataHelp<string> yAxis { get; set; } = new DataHelp<string>();
public List<DataHelp> series { get; set; } = new List<DataHelp> { };
public class DataHelp
{
/// <summary>
/// 取消圆点
/// </summary>
public string symbol { get; set; } = "none";
public string name { get; set; }
public string type { get; set; } = "line";
public bool stillShowZeroSum { get; set; } = false;
/// <summary>
/// 相同 的 stack 会堆叠在一起
/// </summary>
public string stack { get; set; } = null;
/// <summary>
/// 平滑
/// </summary>
public bool smooth { get; set; } = true;
public List<dynamic> data { get; set; } = new List<dynamic>();
public LINESTYLE lineStyle { get; set; } = new LINESTYLE();
public dynamic label => type == "pie" ? new { normal = new { show = true, formatter = "{b} - {c} - {d}% " } } : null;
public class LINESTYLE
{
public NORMAL normal { get; set; } = new NORMAL();
public class NORMAL
{
public string color { get; set; }
}
}
}
}
}
public class Title
{
public string text { get; set; }
}
public class XAXISDATA
{
public List<string> data { get; set; } = new List<string>();
}
public class XAXIS
{
public List<string> data { get; set; } = new List<string>();
public string icon { get; set; } = "rect";
public string type { get; set; } = "scroll";
public string orient { get; set; } = "horizontal";// "vertical";
public string top { get; set; } = "20";
public string right { get; set; } = "0";
public string left { get; set; } = "center";
}
#endregion
#region Mysql datetime datetime(3)
/// <summary>
/// Mysql 修改datetime 为datetime(3) 显示毫秒 的帮助模型类
/// </summary>
public class MysqlModel
{
public string tablename { get; set; }
public string columnName { get; set; }
public string dataType { get; set; }
}
#endregion
#region
public class Host_
{
private DateTime registerDate = DateTime.Now;
private string subnetMask = "255.0.0.0";
private string gateway = "192.168.1.1";
private string dns = "114.114.114.114";
private int port = 3341;
private bool powerSupply = true;
private int authorizedHours = -1;
private int lockStatus = 2;//1锁开2锁关
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// 主机编号
/// </summary>
public virtual string HostNumber
{
get;
set;
}
/// <summary>
/// 房间号
/// </summary>
public virtual string RoomNumber
{
get;
set;
}
/// <summary>
/// IP
/// </summary>
public virtual string IP
{
get;
set;
}
/// <summary>
/// 局域网IP
/// </summary>
public virtual string LanIP
{
get;
set;
}
/// <summary>
/// 子网掩码
/// </summary>
public virtual string SubnetMask
{
get { return this.subnetMask; }
set
{
this.subnetMask = value;
}
}
/// <summary>
/// 网关
/// </summary>
public virtual string Gateway
{
get { return this.gateway; }
set
{
this.gateway = value;
}
}
/// <summary>
/// DNS
/// </summary>
public virtual string DNS
{
get { return this.dns; }
set
{
this.dns = value;
}
}
/// <summary>
/// 端口
/// </summary>
public virtual int Port
{
get { return this.port; }
set
{
this.port = value;
}
}
/// <summary>
/// 局域网端口
/// </summary>
public virtual int LanPort
{
get;
set;
}
/// <summary>
/// MAC
/// </summary>
public virtual string MAC
{
get;
set;
}
/// <summary>
/// 状态 0离线 1在线
/// </summary>
public virtual bool Status
{
get;
set;
}
/// <summary>
/// 版本号
/// </summary>
public virtual string Version
{
get;
set;
}
/// <summary>
/// 配置数据版本号
/// </summary>
public virtual string ConfigVersion
{
get;
set;
}
/// <summary>
/// 备注
/// </summary>
public virtual string Remark
{
get;
set;
}
/// <summary>
/// 注册日期
/// </summary>
public virtual DateTime RegisterDate
{
get { return this.registerDate; }
set { this.registerDate = value; }
}
/*
/// <summary>
/// 请求服务
/// </summary>
public virtual bool RequestService
{
get;
set;
}
/// <summary>
/// 请求清理
/// </summary>
public virtual bool RequestClear
{
get;
set;
}
/// <summary>
/// 请勿打扰
/// </summary>
public virtual bool RequestDNDST
{
get;
set;
}
/// <summary>
/// 请求退房
/// </summary>
public virtual bool RequestCheckOut
{
get;
set;
}
/// <summary>
/// 求救
/// </summary>
public virtual bool SOS
{
get;
set;
}*/
/// <summary>
/// 门锁 True/开False/关
/// </summary>
public virtual bool DoorLockStatus
{
get;
set;
}
/// <summary>
/// 房门状态更新时间
/// </summary>
public virtual DateTime? DoorLockStatusUpdateTime
{
get;
set;
}
/// <summary>
/// 保险箱:0关1开2未接保险箱
/// </summary>
public virtual int SafeStatus
{
get;
set;
}
/*
/// <summary>
/// 当前温度
/// </summary>
public virtual int CurrentTemp
{
get;
set;
}
/// <summary>
/// 设定温度
/// </summary>
public virtual int SettingTemp
{
get;
set;
}
/// <summary>
/// 风速
/// </summary>
public virtual int Speed
{
get;
set;
}
/// <summary>
/// 辅助房态
/// </summary>
public virtual string RoomStatusAidIDs
{
get;
set;
}
/// <summary>
/// 是否连通房
/// </summary>
public virtual bool IsConnectingRoom
{
get;
set;
}
/// <summary>
/// 连通房ID逗号隔开
/// </summary>
public virtual string ConnectingRooms
{
get;
set;
}*/
/// <summary>
/// 主机温度
/// </summary>
public virtual int HostTemp
{
get;
set;
}
/// <summary>
/// 客房电源
/// </summary>
public virtual bool PowerSupply
{
get { return this.powerSupply; }
set { this.powerSupply = value; }
}
/// <summary>
/// 授权剩余小时
/// </summary>
public virtual int AuthorizedHours
{
get { return this.authorizedHours; }
set { this.authorizedHours = value; }
}
/// <summary>
/// 锁状态1开2关
/// </summary>
public virtual int LockStatus
{
get { return this.lockStatus; }
set { this.lockStatus = value; }
}
/// <summary>
/// 锁电压
/// </summary>
public virtual float LockVoltage
{
get;
set;
}
/// <summary>
/// 阿里云对接产品key
/// </summary>
public virtual string ProductKey
{
get;
set;
}
/// <summary>
/// 阿里云对接设备名称
/// </summary>
public virtual string DeviceName
{
get;
set;
}
/// <summary>
/// 阿里云对接设备密钥
/// </summary>
public virtual string DeviceSecret
{
get;
set;
}
/// <summary>
/// 主机密钥
/// </summary>
public virtual string HostSecret
{
get;
set;
}
/// <summary>
/// 阿里云物联网平台为该设备颁发的设备ID作为该设备的唯一标识符。
/// </summary>
public virtual string IotId
{
get;
set;
}
/// <summary>
/// 是否下发密钥给主机
/// </summary>
public virtual bool IsPublish
{
get;
set;
}
/// <summary>
/// 若琪对接的webhook url通知播放欢迎词使用
/// </summary>
public virtual string RokidWebhookUrl
{
get;
set;
}
/// <summary>
/// 绑定小度音箱的序列号
/// </summary>
public virtual string XiaoDuCUID
{
get;
set;
}
/// <summary>
/// TCL电视序列号
/// </summary>
public virtual string TCLCUID
{
get;
set;
}
/// <summary>
/// 华为电视序列号
/// </summary>
public virtual string HuaWeiCUID
{
get;
set;
}
/// <summary>
/// 是否同步房号(生产工具同步)
/// </summary>
public virtual bool IsSyncRoomNumber
{
get;
set;
}
/// <summary>
/// 是否自动升级
/// </summary>
public virtual bool IsAutoUpdate
{
get;
set;
}
/// <summary>
/// MAC绑定时间
/// </summary>
public virtual DateTime? MACBindDate
{
get;
set;
}
/// <summary>
/// IP类型1自动2手动
/// </summary>
public virtual int IPType
{
get;
set;
}
/// <summary>
/// rcu到期时间
/// </summary>
public virtual DateTime? ExpireTime
{
get;
set;
}
/// <summary>
/// rcu运行时间
/// </summary>
public virtual DateTime? RunTime
{
get;
set;
}
/// <summary>
/// 设置rcu到期时间
/// </summary>
public virtual DateTime? SetExpireTime
{
get;
set;
}
/// <summary>
/// 是否锁定
/// </summary>
public virtual bool IsLock
{
get;
set;
}
/// <summary>
/// 季节
/// </summary>
public virtual string Season
{
get;
set;
}
/// <summary>
/// 服务器IP
/// </summary>
public virtual string ServerIP
{
get;
set;
}
/// <summary>
/// 服务器端口
/// </summary>
public virtual int ServerPort
{
get;
set;
}
/// <summary>
/// 最新更新日期
/// </summary>
public virtual DateTime? Last_Modified_Time
{
get;
set;
}
/// <summary>
/// 房型
/// </summary>
public virtual int RoomTypeID
{
get;
set;
}
/// <summary>
/// 酒店
/// </summary>
public virtual int HOTELID
{
get;
set;
}
/// <summary>
/// 房态
/// </summary>
public virtual int RoomStatusID
{
get;
set;
}
#endregion
}
/// <summary>
/// Rcu自己写入的日志文件数据
/// </summary>
public class RcuData {
/// <summary>
/// 时间
/// </summary>
public DateTime createdatetime { get; set; }
/// <summary>
/// 日志内容
/// </summary>
public string log_content { get; set; }
/// <summary>
/// 日志时间
/// </summary>
public string log_datetime { get; set; }
/// <summary>
/// 日志长度
/// </summary>
public int log_len { get; set; }
/// <summary>
/// 日志sn
/// </summary>
public int log_sn { get; set; }
/// <summary>
/// 日志间隔
/// </summary>
public int log_timespan { get; set; }
/// <summary>
/// 日志类型
/// </summary>
public int log_type { get; set; }
/// <summary>
/// 是否有效
/// </summary>
public bool log_valid { get; set; }
/// <summary>
/// log文件名
/// </summary>
public string logfilename { get; set; }
/// <summary>
/// 项目id
/// </summary>
public int logprojectid { get; set; }
/// <summary>
/// 房间id
/// </summary>
public int logroomid { get; set; }
/// <summary>
/// mac
/// </summary>
public string mac { get; set; }
/// <summary>
/// 备注
/// </summary>
public string remark { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_1 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_2 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_3 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_4 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_5 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_6 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_7 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_8 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_9 { get; set; }
/// <summary>
/// 参数类型
/// </summary>
public string type_param_10 { get; set; }
}
public class LOGFILENAME {
public string logfilename { get; set; }
public string sum { get; set; }
}
}