初始化CRICS

This commit is contained in:
2025-12-11 09:17:16 +08:00
commit 83247ec0a2
2735 changed files with 787765 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// 空调模式
/// </summary>
public enum AirConditionMode
{
/// <summary>
/// 制冷
/// </summary>
Cold = 1,
/// <summary>
/// 制热
/// </summary>
Hot = 2,
/// <summary>
/// 送风
/// </summary>
Wind = 4,
/// <summary>
/// 除湿
/// </summary>
Dehumidification = 8
}
}

128
Domain/AirProperty.cs Normal file
View File

@@ -0,0 +1,128 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// 空调属性
/// </summary>
public enum AirProperty
{
/// <summary>
/// 开关
/// </summary>
OnOff = 1,
/// <summary>
/// 设定温度
/// </summary>
SettingTemp = 2,
/// <summary>
/// 补偿温度
/// </summary>
CompensatoryTemp = 3,
/// <summary>
/// 风速
/// </summary>
Speed = 4,
/// <summary>
/// 模式
/// </summary>
Mode = 5,
/// <summary>
/// 锁定温度
/// </summary>
LockTemp = 6,
/// <summary>
/// 保温温度
/// </summary>
KeepTemp = 7,
/// <summary>
/// 初始温度
/// </summary>
InitTemp = 8,
/// <summary>
/// 最高温度
/// </summary>
HighTemp = 9,
/// <summary>
/// 最低温度
/// </summary>
LowerTemp = 10,
/// <summary>
/// 冷热转换延时
/// </summary>
ColdHotSwitchDelayTime = 11,
/// <summary>
/// 模式方式
/// </summary>
ColdHotMode = 12,
/// <summary>
/// 死区温度
/// </summary>
DeadTemp = 13,
/// <summary>
/// 热偏差
/// </summary>
HotDevition = 14,
/// <summary>
/// 冷偏差
/// </summary>
ColdDevition = 15,
/// <summary>
/// 欢迎模式时间
/// </summary>
WelcomeTime = 16,
/// <summary>
/// 是否关联房态
/// </summary>
RelateRoomStatus = 17,
/// <summary>
/// 是否关联门磁
/// </summary>
RelateDoorContact = 18,
/// <summary>
/// 温度到达停止风机运行
/// </summary>
FanStop = 19,
/// <summary>
/// 禁止风机高速运行
/// </summary>
DisableFanHighSpeed = 20,
/// <summary>
/// 睡眠模式
/// </summary>
SleepMode = 21,
/// <summary>
/// 空调定时
/// </summary>
Time = 22,
/// <summary>
/// 季节属性
/// </summary>
Season = 23
}
}

128
Domain/AlarmSetting.cs Normal file
View File

@@ -0,0 +1,128 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class AlarmSetting
{
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 分类
/// </summary>
public virtual char Type
{
get;
set;
}
/// <summary>
/// Code
/// </summary>
public virtual string Code
{
get;
set;
}
/// <summary>
/// Name
/// </summary>
public virtual string Name
{
get;
set;
}
/// <summary>
/// EName
/// </summary>
public virtual string EName
{
get;
set;
}
/// <summary>
/// Value
/// </summary>
public virtual string Value
{
get;
set;
}
/// <summary>
/// Color
/// </summary>
public virtual string Color
{
get;
set;
}
/// <summary>
/// Sort
/// </summary>
public virtual int Sort
{
get;
set;
}
/// <summary>
/// 与下位机通信ID
/// </summary>
public virtual int ModalTypeID
{
get;
set;
}
/// <summary>
/// 是否启用声声音报警
/// </summary>
public virtual bool Beep
{
get;
set;
}
/// <summary>
/// AppApply
/// </summary>
public virtual bool AppApply
{
get;
set;
}
public override bool Equals(object obj)
{
AlarmSetting o = obj as AlarmSetting;
if (o == null)
{
return false;
}
return HotelID == o.HotelID && this.Type == o.Type && Code == o.Code;
}
public override int GetHashCode()
{
int hashCode = base.GetHashCode();
hashCode ^= Type.GetHashCode();
if (!String.IsNullOrEmpty(Code)) {
hashCode ^= Code.GetHashCode();
}
return hashCode;
}
}
}

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="AlarmSetting" table="tb_AlarmSetting">
<cache usage="read-write" />
<composite-id>
<key-property name="HotelID" column="HotelID" type="int" />
<key-property name="Type" column="Type" type="char" />
<key-property name="Code" column="Code" type="string" />
</composite-id>
<property name="Name" column="Name" type="string" />
<property name="EName" column="EName" type="string" />
<property name="Value" column="Value" type="string" />
<property name="Color" column="Color" type="string" />
<property name="Sort" column="Sort" type="int" />
<property name="ModalTypeID" column="ModalTypeID" type="int" />
<property name="Beep" column="Beep" type="bool" />
<property name="AppApply" column="AppApply" type="bool" />
</class>
</hibernate-mapping>

20
Domain/ApiFaceEntity.cs Normal file
View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.ApiFaceEntity
{
public class RpcData
{
/// <summary>
/// 设备序列号
/// </summary>
public string serialNo { get; set; }
/// <summary>
///
/// </summary>
public string left { get; set; }
}
}

51
Domain/AppHotel.cs Normal file
View File

@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class AppHotel
{
/// <summary>
/// Code
/// </summary>
public virtual string Code
{
get;
set;
}
/// <summary>
/// Value
/// </summary>
public virtual string Value
{
get;
set;
}
/// <summary>
/// Sort
/// </summary>
public virtual int? Sort
{
get;
set;
}
/// <summary>
/// Remark
/// </summary>
public virtual string Remark
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
}
}

12
Domain/AppHotel.hbm.xml Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="AppHotel" table="tb_AppHotel">
<id name="Code" column="Code" type="string" unsaved-value="0">
<generator class="assigned" />
</id>
<property name="Value" column="Value" type="string" />
<property name="Sort" column="Sort" type="int" />
<property name="Remark" column="Remark" type="string" />
<property name="HotelID" column="HotelID" type="int" />
</class>
</hibernate-mapping>

108
Domain/AppMenu.cs Normal file
View File

@@ -0,0 +1,108 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class AppMenu
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 类型0app1微信
/// </summary>
public virtual int Type
{
get;
set;
}
/// <summary>
/// 代码
/// </summary>
public virtual string Code
{
get;
set;
}
/// <summary>
/// 菜单名称
/// </summary>
public virtual string Name
{
get;
set;
}
/// <summary>
/// 英文名称
/// </summary>
public virtual string EnglishName
{
get;
set;
}
/// <summary>
/// Icon
/// </summary>
public virtual string Icon
{
get;
set;
}
/// <summary>
/// Url
/// </summary>
public virtual string Url
{
get;
set;
}
/// <summary>
/// 样式
/// </summary>
public virtual string Class
{
get;
set;
}
/// <summary>
/// 排序
/// </summary>
public virtual int Sort
{
get;
set;
}
/// <summary>
/// 启用
/// </summary>
public virtual bool ActiveIndicator
{
get;
set;
}
/// <summary>
/// 宽度
/// </summary>
public virtual int Width
{
get;
set;
}
}
}

18
Domain/AppMenu.hbm.xml Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="AppMenu" table="tb_AppMenus">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HotelID" column="HotelID" type="int" />
<property name="Type" column="Type" type="int" />
<property name="Code" column="Code" type="string" />
<property name="Name" column="Name" type="string" />
<property name="EnglishName" column="EnglishName" type="string" />
<property name="Icon" column="Icon" type="string" />
<property name="Url" column="Url" type="string" />
<property name="Class" column="Class" type="string" />
<property name="Sort" column="Sort" type="int" />
<property name="ActiveIndicator" column="ActiveIndicator" type="bool" />
</class>
</hibernate-mapping>

43
Domain/AppRoom.cs Normal file
View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class AppRoom
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// app mac地址
/// </summary>
public virtual string MAC
{
get;
set;
}
/// <summary>
/// 房号
/// </summary>
public virtual string RoomNumber
{
get;
set;
}
}
}

11
Domain/AppRoom.hbm.xml Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="AppRoom" table="tb_AppRoom">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="MAC" column="MAC" type="string" />
<property name="RoomNumber" column="RoomNumber" type="string" />
<property name="HotelID" column="HotelID" type="int" />
</class>
</hibernate-mapping>

18
Domain/CarbonScene.cs Normal file
View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// </summary>
public class CarbonScene
{
public virtual int ID { get; set; }
public virtual int HostID { get; set; }
public virtual string Status { get; set; }
public virtual string TriggerSource { get; set; }
public virtual DateTime CreateTime { get; set; }
}
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.CarbonScene, Domain" table="tb_CarbonStatus">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostID" column="HostID" type="int" />
<property name="Status" column="Status" type="string" />
<property name="TriggerSource" column="TriggerSource" type="string" />
<property name="CreateTime" column="CreateTime" type="DateTime" />
</class>
</hibernate-mapping>

18
Domain/ControlType.cs Normal file
View File

@@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Text;
namespace Domain
{
public enum ControlType
{
[Description("二管制")]
Two = 0,
[Description("四管制")]
Four = 1
}
}

25
Domain/CurtainCtrl.cs Normal file
View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public enum CurtainCtrl
{
/// <summary>
/// 开
/// </summary>
Open = 0x01,
/// <summary>
/// 关
/// </summary>
Close = 0x02,
/// <summary>
/// 停止
/// </summary>
Stop = 0x03,
}
}

43
Domain/DateTimeUnit.cs Normal file
View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// 时间单位
/// </summary>
public enum DateTimeUnit
{
/// <summary>
/// 年
/// </summary>
Year = 0,
/// <summary>
/// 月
/// </summary>
Month = 1,
/// <summary>
/// 日
/// </summary>
Day = 2,
/// <summary>
/// 小时
/// </summary>
Hour = 3,
/// <summary>
/// 分钟
/// </summary>
Minute = 4,
/// <summary>
/// 秒
/// </summary>
Second = 5
}
}

243
Domain/DeviceType.cs Normal file
View File

@@ -0,0 +1,243 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.ComponentModel;
using System.Text;
namespace Domain
{
public enum DeviceType
{
/// <summary>
/// 主机继电器
/// </summary>
[Description("主机继电器")]
Relay = 1,
/// <summary>
/// 弱电输出
/// </summary>
[Description("弱电输出")]
LVout = 3,
/// <summary>
/// 服务信息
/// </summary>
[Description("服务信息")]
ServiceInfo = 4,
/// <summary>
/// 窗帘
/// </summary>
[Description("窗帘")]
Curtain = 5,
/// <summary>
/// 开关扩展
/// </summary>
[Description("开关扩展")]
SwitchExpand = 6,
/// <summary>
/// 空调
/// </summary>
[Description("空调")]
AirConditioner = 7,
/// <summary>
/// 红外感应
/// </summary>
[Description("红外感应")]
InFrared = 8,
/// <summary>
/// 空气质量检测
/// </summary>
[Description("空气质量检测")]
AirDetect = 9,
/// <summary>
/// 插卡取电
/// </summary>
[Description("插卡取电")]
CardPower = 10,
/// <summary>
/// 地暖
/// </summary>
[Description("地暖")]
FloorHot = 11,
/// <summary>
/// 扩展继电器
/// </summary>
[Description("扩展继电器")]
Expand = 14,
/// <summary>
/// 电视
/// </summary>
[Description("电视")]
TV = 15,
/// <summary>
/// LED调光
/// </summary>
[Description("LED调光")]
Dimmer = 16,
/// <summary>
/// 可控硅调光
/// </summary>
[Description("可控硅调光")]
Traic = 17,
/// <summary>
/// 灯带调光
/// </summary>
[Description("灯带调光")]
Strip = 18,
/// <summary>
/// PWM调光
/// </summary>
[Description("PWM调光")]
PWMDimmer = 23,
/// <summary>
/// PWM扩展
/// </summary>
[Description("PWM扩展")]
PWMExpand = 24,
/// <summary>
/// 音乐
/// </summary>
[Description("音乐")]
Music = 21,
/// <summary>
/// 微信锁
/// </summary>
[Description("微信锁")]
WXLock = 20,
/// <summary>
/// PB LED
/// </summary>
[Description("PB LED")]
PBLED = 25,
/// <summary>
/// 485A9IO继电器
/// </summary>
[Description("485A9IO继电器")]
A9IORelay = 28,
/// <summary>
/// PB20
/// </summary>
[Description("PB20")]
PB20 = 30,
/// <summary>
/// PB20-LD
/// </summary>
[Description("PB20-LD")]
PB20_LD = 31,
/// <summary>
/// PB20-LS
/// </summary>
[Description("PB20-LS")]
PB20_LS = 32,
/// <summary>
/// PB20-RELAY
/// </summary>
[Description("PB20-RELAY")]
PB20_RELAY = 33,
/// <summary>
/// 色温
/// </summary>
[Description("色温")]
ColorTemp = 34,
/// <summary>
/// 地址是054000001
/// </summary>
[Description("碳达人")]
CarbonVIP = 54,
//窗帘地址是013001000
[Description("485窗帘")]
Curtain485 =100
}
//public enum OldDeviceType
//{
// /// <summary>
// /// 灯光
// /// </summary>
// [Description("灯光")]
// Light = 0,
// /// <summary>
// /// 调光灯
// /// </summary>
// [Description("调光")]
// LightDimmer = 1,
// /// <summary>
// /// 空调1
// /// </summary>
// [Description("空调1")]
// AirConditioner1 = 3,
// /// <summary>
// /// 空调2
// /// </summary>
// [Description("空调2")]
// AirConditioner2 = 14,
// /// <summary>
// /// 空调3
// /// </summary>
// [Description("空调3")]
// AirConditioner3 = 15,
// /// <summary>
// /// 空调4
// /// </summary>
// [Description("空调4")]
// AirConditioner4 = 16,
// /// <summary>
// /// 窗帘
// /// </summary>
// [Description("窗帘")]
// Curtain = 6,
// /// <summary>
// /// 窗纱
// /// </summary>
// [Description("窗纱")]
// Gauze = 7
//}
public enum DeviceSubtype
{
/// <summary>
/// 风速高
/// </summary>
SpeedHigh = 0,
/// <summary>
/// 风速中
/// </summary>
SpeedMiddle = 1,
/// <summary>
/// 风速低
/// </summary>
SpeedLow = 2,
/// <summary>
/// 热阀开
/// </summary>
HotValve = 3,
/// <summary>
/// 冷阀开
/// </summary>
ColdValve = 4,
/// <summary>
/// 窗帘开
/// </summary>
CurtainOpen = 5,
/// <summary>
/// 窗帘关
/// </summary>
CurtainClose = 6,
/// <summary>
/// 窗纱开
/// </summary>
GauzeOpen = 7,
/// <summary>
/// 窗纱关
/// </summary>
GauzeClose = 8
}
}

415
Domain/Domain.csproj Normal file
View File

@@ -0,0 +1,415 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{A42D287A-8EF4-48F6-B14C-7F9CA834F786}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Domain</RootNamespace>
<AssemblyName>Domain</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\WebSite\Bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Iesi.Collections, Version=1.0.1.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\lib\NHibernate\Iesi.Collections.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AirConditionMode.cs" />
<Compile Include="AirProperty.cs" />
<Compile Include="AlarmSetting.cs" />
<Compile Include="AppHotel.cs" />
<Compile Include="AppMenu.cs" />
<Compile Include="CarbonScene.cs" />
<Compile Include="ControlType.cs" />
<Compile Include="CurtainCtrl.cs" />
<Compile Include="DateTimeUnit.cs" />
<Compile Include="FaultRecord.cs" />
<Compile Include="FaultType.cs" />
<Compile Include="GroupMenu.cs" />
<Compile Include="HostAir.cs" />
<Compile Include="HostAirRecord.cs" />
<Compile Include="HostModal.cs" />
<Compile Include="HostModalRecord.cs" />
<Compile Include="HostRoomCard.cs" />
<Compile Include="HostUpdateStatus.cs" />
<Compile Include="HotelAirControl.cs" />
<Compile Include="IoTXiaoDuEntity.cs" />
<Compile Include="Language.cs" />
<Compile Include="LightScene.cs" />
<Compile Include="DeviceType.cs" />
<Compile Include="ModalType.cs" />
<Compile Include="ModelType.cs" />
<Compile Include="Group.cs" />
<Compile Include="Host.cs" />
<Compile Include="HostUpdate.cs" />
<Compile Include="Model.cs" />
<Compile Include="ModelDetail.cs" />
<Compile Include="MusicKey.cs" />
<Compile Include="PowerSupplyCtrl.cs" />
<Compile Include="IoTRokidEntity.cs" />
<Compile Include="Room.cs" />
<Compile Include="RoomCard.cs" />
<Compile Include="RoomCardType.cs" />
<Compile Include="RoomModal.cs" />
<Compile Include="RoomService.cs" />
<Compile Include="RoomStatus.cs" />
<Compile Include="RoomStatusAid.cs" />
<Compile Include="RoomType.cs" />
<Compile Include="RoomTypeAir.cs" />
<Compile Include="RoomTypeModal.cs" />
<Compile Include="RoomTypeScene.cs" />
<Compile Include="RoomTypeSceneModal.cs" />
<Compile Include="SearchHost.cs" />
<Compile Include="SpeedType.cs" />
<Compile Include="SysActiveUser.cs" />
<Compile Include="SysAuthority.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SysRole.cs" />
<Compile Include="SysSetting.cs" />
<Compile Include="SysUsers.cs" />
<Compile Include="SysSystemLogs.cs" />
<Compile Include="TempType.cs" />
<Compile Include="TvKey.cs" />
<Compile Include="AppRoom.cs" />
<Compile Include="RoomServiceRecord.cs" />
<Compile Include="SysHotel.cs" />
<Compile Include="WXMenus.cs" />
<Compile Include="RoomTypeWXMenus.cs" />
<Compile Include="HotelSeason.cs" />
<Compile Include="HostFaults.cs" />
<Compile Include="HostTimingControl.cs" />
<Compile Include="WXMessage.cs" />
<Compile Include="HostScene.cs" />
<Compile Include="HostFaultRecords.cs" />
<Compile Include="ApiFaceEntity.cs" />
<Compile Include="ManualVisit.cs" />
<Compile Include="IoTDUIEntity.cs" />
<Compile Include="HostWordsReport.cs" />
<Compile Include="SysOauth2.cs" />
<Compile Include="SysHotelGroup.cs" />
<Compile Include="SysProvince.cs" />
<Compile Include="SysCity.cs" />
<Compile Include="SysCounty.cs" />
<Compile Include="IoTHuaWeiEntity.cs" />
<Compile Include="RoomTypeChannels.cs" />
<Compile Include="RoomTypeProgramFiles.cs" />
<Compile Include="IoTFeiErEntity.cs" />
<Compile Include="IoTTCLEntity.cs" />
<Compile Include="IoTLZEntity.cs" />
<Compile Include="HostRCU.cs" />
<Compile Include="IoTXiaoMiEntity.cs" />
<Compile Include="HostUpdateApi.cs" />
<Compile Include="IoTAliGenieEntity.cs" />
<Compile Include="IoTOpenAIEntity.cs" />
<Compile Include="IoTRemoteControlEntity.cs" />
<Compile Include="Test.cs" />
<Compile Include="KongTiaoTimer.cs" />
<Compile Include="RoomNobodyHowTo.cs" />
<Compile Include="RoomNobodyHowToLog.cs" />
<Compile Include="ECO_Setting.cs" />
<Compile Include="dev_MonitorLog.cs" />
<Compile Include="TFTP_Set.cs" />
<Compile Include="LieECO.cs" />
<Compile Include="IoTHiWeiEntity.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysUsers.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysRole.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysAuthority.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Group.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Host.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostUpdate.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="AlarmSetting.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Model.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ModelDetail.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysSystemLogs.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomType.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomCard.hbm.xml" />
<EmbeddedResource Include="RoomStatus.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="SysSetting.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomModal.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostAir.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostModal.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomService.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostUpdateStatus.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Overview.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomStatusAid.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomTypeScene.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomTypeSceneModal.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="FaultType.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="FaultRecord.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomCardType.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostRoomCard.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomTypeModal.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj">
<Project>{B3F29715-E925-4E56-9248-580F06C3BC11}</Project>
<Name>Common</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomTypeAir.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ModalType.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="AppMenu.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="AppHotel.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="AppRoom.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostModalRecord.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostAirRecord.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomServiceRecord.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysActiveUser.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysHotel.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomTypeWXMenus.hbm.xml" />
<EmbeddedResource Include="WXMenus.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HotelSeason.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostFaults.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostTimingControl.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="WXMessage.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostScene.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostFaultRecords.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ManualVisit.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostWordsReport.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysOauth2.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysHotelGroup.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysProvince.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysCity.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="SysCounty.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomTypeChannels.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomTypeProgramFiles.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HotelAirControl.hbm.xml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="HostRCU.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Test.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="KongTiaoTimer.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomNobodyHowTo.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="RoomNobodyHowToLog.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ECO_Setting.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="CarbonScene.hbm.xml" />
<EmbeddedResource Include="ECO_Detail.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="TFTP_Set.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="dev_MonitorLog.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Compile Include="ECO_Detail.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="LieECO.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

22
Domain/ECO_Detail.cs Normal file
View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// 它的名字虽然是KongTiao ,但是只要有 定期延时的任务,都可以用它来 延期执行,时间不限
/// 比如 5天50天100天等
/// </summary>
public class ECO_Detail
{
public virtual int ID { get; set; }
public virtual int HotelID { get; set; }
public virtual int HostID { get; set; }
public virtual string RoomNo { get; set; }
public virtual string TriggerTime { get; set; }
public virtual int ECO_ID { get; set; }
public virtual bool IsTrigger { get; set; }
}
}

14
Domain/ECO_Detail.hbm.xml Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.ECO_Detail, Domain" table="ECO_Detail">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HotelID" column="HotelID" type="int" />
<property name="HostID" column="HostID" type="int" />
<property name="RoomNo" column="RoomNo" type="string" />
<property name="TriggerTime" column="TriggerTime" type="string" />
<property name="ECO_ID" column="ECO_ID" type="int" />
<property name="IsTrigger" column="IsTrigger" type="bool" />
</class>
</hibernate-mapping>

25
Domain/ECO_Setting.cs Normal file
View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// 它的名字虽然是KongTiao ,但是只要有 定期延时的任务,都可以用它来 延期执行,时间不限
/// 比如 5天50天100天等
/// </summary>
public class ECO_Setting
{
public virtual int ID { get; set; }
public virtual int HostID { get; set; }
public virtual int HotelID { get; set; }
public virtual string RoomNo { get; set; }
public virtual string StartTime { get; set; }
public virtual string EndTime { get; set; }
public virtual string AddOrCutDown { get; set; }
public virtual int ActValue { get; set; }
public virtual string CreateTime { get; set; }
public virtual bool IsEnable { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.ECO_Setting, Domain" table="ECO_Setting">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HotelID" column="HotelID" type="int" />
<property name="AddOrCutDown" column="AddOrCutDown" type="string" />
<property name="HostID" column="HostID" type="int" />
<property name="RoomNo" column="RoomNo" type="string" />
<property name="ActValue" column="ActValue" type="int" />
<property name="StartTime" column="StartTime" type="string" />
<property name="EndTime" column="EndTime" type="string" />
<property name="CreateTime" column="CreateTime" type="string" />
<property name="IsEnable" column="IsEnable" type="bool" />
</class>
</hibernate-mapping>

147
Domain/FaultRecord.cs Normal file
View File

@@ -0,0 +1,147 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class FaultRecord
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 维修状态0未维修1已维修
/// </summary>
public virtual int Status
{
get;
set;
}
/// <summary>
/// 注销:1已注销
/// </summary>
public virtual bool IsCancel
{
get;
set;
}
/// <summary>
/// 故障编号
/// </summary>
public virtual string Number
{
get;
set;
}
/// <summary>
/// 房号
/// </summary>
public virtual string RoomNumber
{
get;
set;
}
/// <summary>
/// 故障类别
/// </summary>
public virtual FaultType FaultType
{
get;
set;
}
/// <summary>
/// 故障发生时间
/// </summary>
public virtual DateTime? FaultTime
{
get;
set;
}
/// <summary>
/// 故障描述
/// </summary>
public virtual string Description
{
get;
set;
}
/// <summary>
/// 登记人
/// </summary>
public virtual string RegisteredPerson
{
get;
set;
}
/// <summary>
/// 登记时间
/// </summary>
public virtual DateTime? RegisteredTime
{
get;
set;
}
/// <summary>
/// 维修人
/// </summary>
public virtual string RepairPerson
{
get;
set;
}
/// <summary>
/// 维修时间
/// </summary>
public virtual DateTime? RepairTime
{
get;
set;
}
/// <summary>
/// 维修内容
/// </summary>
public virtual string RepairContent
{
get;
set;
}
/// <summary>
/// 注销人
/// </summary>
public virtual string CancelPerson
{
get;
set;
}
/// <summary>
/// 注销时间
/// </summary>
public virtual DateTime? CancelTime
{
get;
set;
}
/// <summary>
/// 注销原因
/// </summary>
public virtual string CancelReason
{
get;
set;
}
}
}

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="FaultRecord" table="tb_FaultRecords">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="Status" column="Status" type="int" />
<property name="IsCancel" column="IsCancel" type="bool" />
<property name="Number" column="Number" type="string" />
<property name="RoomNumber" column="RoomNumber" type="string" />
<many-to-one name="FaultType" column="FaultTypeID" not-found="ignore" cascade="none" />
<property name="FaultTime" column="FaultTime" type="DateTime" />
<property name="Description" column="Description" type="string" />
<property name="RegisteredPerson" column="RegisteredPerson" type="string" />
<property name="RegisteredTime" column="RegisteredTime" type="DateTime" />
<property name="RepairPerson" column="RepairPerson" type="string" />
<property name="RepairTime" column="RepairTime" type="DateTime" />
<property name="RepairContent" column="RepairContent" type="string" />
<property name="CancelPerson" column="CancelPerson" type="string" />
<property name="CancelTime" column="CancelTime" type="DateTime" />
<property name="CancelReason" column="CancelReason" type="string" />
<property name="HotelID" column="HotelID" type="int" />
</class>
<sql-query name="GenerateFaultNumber">
<return-scalar column="FaultNumber" type="string"/>
exec GenerateFaultNumber
</sql-query>
</hibernate-mapping>

51
Domain/FaultType.cs Normal file
View File

@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class FaultType
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 故障编号
/// </summary>
public virtual string Code
{
get;
set;
}
/// <summary>
/// 故障名称
/// </summary>
public virtual string Name
{
get;
set;
}
/// <summary>
/// 故障说明
/// </summary>
public virtual string Remark
{
get;
set;
}
}
}

12
Domain/FaultType.hbm.xml Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="FaultType" table="tb_FaultType">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="Code" column="Code" type="string" />
<property name="Name" column="Name" type="string" />
<property name="Remark" column="Remark" type="string" />
<property name="HotelID" column="HotelID" type="int" />
</class>
</hibernate-mapping>

70
Domain/Group.cs Normal file
View File

@@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class Group
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 父级分组
/// </summary>
public virtual Group Parent
{
get;
set;
}
/// <summary>
/// Name
/// </summary>
public virtual string Name
{
get;
set;
}
/// <summary>
/// Sort
/// </summary>
public virtual int Sort
{
get;
set;
}
public override bool Equals(object obj)
{
Group group = obj as Group;
if (group == null)
{
return false;
}
return this.ID == group.ID;
}
public override int GetHashCode()
{
return this.ID.GetHashCode();
}
}
}

13
Domain/Group.hbm.xml Normal file
View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.Group, Domain" table="tb_Groups" lazy="false">
<cache usage="read-write" />
<id name="ID" column="ID" type="int" unsaved-value="null">
<generator class="native" />
</id>
<many-to-one name="Parent" column="ParentID" not-found="ignore" cascade="none" lazy="false" foreign-key="FK_tb_Groups_tb_Groups" />
<property name="Name" column="Name" type="string" />
<property name="Sort" column="Sort" type="int" />
<property name="HotelID" column="HotelID" type="int" />
</class>
</hibernate-mapping>

24
Domain/GroupMenu.cs Normal file
View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class GroupMenu
{
private IList<GroupMenu> subGroupMenus = new List<GroupMenu>();
public int ID { get; set; }
public string Name { get; set; }
public int Sort { get; set; }
public IList<GroupMenu> SubGroupMenus
{
get { return this.subGroupMenus; }
set { if (value != null) { this.subGroupMenus = value; } }
}
}
}

663
Domain/Host.cs Normal file
View File

@@ -0,0 +1,663 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class Host
{
private DateTime registerDate = DateTime.Now;
private string ip = "192.168.1.200";
private string subnetMask = "255.255.255.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>
/// Hotel
/// </summary>
public virtual SysHotel SysHotel
{
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 { return this.ip; }
set
{
this.ip = value;
}
}
/// <summary>
/// 子网掩码
/// </summary>
public virtual string SubnetMask
{
get { return this.subnetMask; }
set
{
//if (String.IsNullOrEmpty(value))
//{
// throw new ArgumentNullException("SubnetMask");
//}
this.subnetMask = value;
}
}
/// <summary>
/// 网关
/// </summary>
public virtual string Gateway
{
get { return this.gateway; }
set
{
//if (String.IsNullOrEmpty(value))
//{
// throw new ArgumentNullException("Gateway");
//}
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
{
//if (value < 0 || value > 65535)
//{
// throw new ArgumentOutOfRangeException("Port");
//}
this.port = value;
}
}
/// <summary>
/// 局域网端口
/// </summary>
public virtual int LanPort
{
get { return this.port; }
set
{
this.port = value;
}
}
/// <summary>
/// MAC
/// </summary>
public virtual string MAC
{
get;
set;
}
/// <summary>
/// 所属楼层
/// </summary>
public virtual Group Group
{
get;
set;
}
/// <summary>
/// 房型
/// </summary>
public virtual RoomType RoomType
{
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 RoomStatus RoomStatus
{
get;
set;
}
/// <summary>
/// 身份
/// </summary>
public virtual RoomCard RoomCard
{
get;
set;
}
/*
/// <summary>
/// 求救
/// </summary>
public virtual bool SOS
{
get;
set;
}
/// <summary>
/// 请求清理
/// </summary>
public virtual bool Clear
{
get;
set;
}
/// <summary>
/// 请勿打扰
/// </summary>
public virtual bool DND
{
get;
set;
}
/// <summary>
/// 请求服务
/// </summary>
public virtual bool RequestService
{
get;
set;
}
/// <summary>
/// 请求退房
/// </summary>
public virtual bool RequestCheckOut
{
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>
/// 绑定小米小爱音箱的序列号
/// </summary>
public virtual string XiaoMiCUID
{
get;
set;
}
/// <summary>
/// TCL电视序列号
/// </summary>
public virtual string TCLCUID
{
get;
set;
}
/// <summary>
/// TCL 技能ID
/// </summary>
public virtual string TCLSkillID
{
get;
set;
}
/// <summary>
/// 华为电视序列号
/// </summary>
public virtual string HuaWeiCUID
{
get;
set;
}
/// <summary>
/// 天猫精灵序列号
/// </summary>
public virtual string TianMaoCUID
{
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 string WXValidate
{
get;
set;
}
/// <summary>
/// 机型
/// </summary>
public virtual string Model
{
get;
set;
}
/// <summary>
/// Launcher
/// </summary>
public virtual string LauncherVersion
{
get;
set;
}
/// <summary>
/// 升级状态0升级就绪1升级完成2升级出错
/// </summary>
public virtual int UpgradeStatus
{
get;
set;
}
/// <summary>
/// 升级时间
/// </summary>
public virtual DateTime? UpgradeTime
{
get;
set;
}
/// <summary>
/// 最近一次通讯帧号
/// </summary>
public virtual int FrameNo
{
get;
set;
}
/// <summary>
/// 最近一次更新通讯帧号的时间
/// </summary>
public virtual DateTime? FrameNoTime
{
get;
set;
}
/// <summary>
/// 是否已删除
/// </summary>
public virtual bool IsDeleted
{
get;
set;
}
public virtual string DisableStartTime { get; set; }
public virtual string DisableEndTime { get; set; }
public virtual bool IsWelcomeDisableTime { get; set; }
public virtual string FCS_locationUUID { get; set; }
public virtual string HiWeiCUID { get; set; }
}
}

85
Domain/Host.hbm.xml Normal file
View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.Host, Domain" table="tb_Hosts">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostNumber" column="HostNumber" type="string" />
<property name="RoomNumber" column="RoomNumber" type="string" />
<property name="MAC" column="MAC" type="string" />
<property name="ServerIP" column="ServerIP" type="string" />
<property name="ServerPort" column="ServerPort" type="int" />
<property name="IPType" column="IPType" type="int" />
<property name="IP" column="IP" type="string" />
<property name="Port" column="Port" type="int" />
<property name="LanIP" column="LanIP" type="string" />
<property name="LanPort" column="LanPort" type="int" />
<property name="SubnetMask" column="SubnetMask" type="string" />
<property name="Gateway" column="Gateway" type="string" />
<property name="DNS" column="DNS" type="string" />
<many-to-one name="Group" column="GroupID" not-found="ignore" cascade="none" lazy="false" foreign-key="FK_tb_Hosts_tb_Groups" />
<many-to-one name="RoomType" column="RoomTypeID" not-found="ignore" cascade="none" foreign-key="FK_tb_Hosts_tb_RoomType" />
<property name="Status" column="Status" type="bool" />
<property name="Version" column="Version" type="string" />
<property name="ConfigVersion" column="ConfigVersion" type="string" />
<property name="Remark" column="Remark" type="string" />
<property name="RegisterDate" column="RegisterDate" type="DateTime" />
<many-to-one name="RoomStatus" class="RoomStatus" column="RoomStatusID" not-found="ignore" cascade="none" foreign-key="FK_tb_Hosts_tb_RoomStatus" />
<many-to-one name="RoomCard" class="RoomCard" column="RoomCardID" not-found="ignore" update="false" cascade="none" foreign-key="FK_tb_Hosts_tb_RoomCard" />
<!--<property name="SOS" column="SOS" type="bool" />
<property name="Clear" column="Clear" type="bool" />
<property name="DND" column="DND" type="bool" />
<property name="RequestService" column="RequestService" type="bool" />
<property name="RequestCheckOut" column="RequestCheckOut" type="bool" />
<property name="CurrentTemp" column="CurrentTemp" type="int" />
<property name="SettingTemp" column="SettingTemp" type="int" />
<property name="Speed" column="Speed" type="int" />
<property name="RoomStatusAidIDs" column="RoomStatusAidIDs" type="string" />
<property name="IsConnectingRoom" column="IsConnectingRoom" type="bool" />
<property name="ConnectingRooms" column="ConnectingRooms" type="string" />-->
<property name="DoorLockStatus" column="DoorLockStatus" type="bool" />
<property name="DoorLockStatusUpdateTime" column="DoorLockStatusUpdateTime" type="DateTime" />
<property name="SafeStatus" column="SafeStatus" type="int" />
<property name="HostTemp" column="HostTemp" type="int" />
<many-to-one name="SysHotel" class="SysHotel" column="HotelID" not-found="ignore" cascade="none" foreign-key="FK_tb_Hosts_tb_Sys_Hotels" />
<property name="PowerSupply" column="PowerSupply" type="bool" />
<property name="AuthorizedHours" column="AuthorizedHours" type="int" />
<property name="LockStatus" column="LockStatus" type="int" />
<property name="LockVoltage" column="LockVoltage" type="float" />
<property name="ProductKey" column="ProductKey" type="string" />
<property name="DeviceName" column="DeviceName" type="string" />
<property name="DeviceSecret" column="DeviceSecret" type="string" />
<property name="IotId" column="IotId" type="string" />
<property name="IsPublish" column="IsPublish" type="bool" />
<property name="HostSecret" column="HostSecret" type="string" />
<property name="RokidWebhookUrl" column="RokidWebhookUrl" type="string" />
<property name="XiaoDuCUID" column="XiaoDuCUID" type="string" />
<property name="TCLCUID" column="TCLCUID" type="string" />
<property name="TCLSkillID" column="TCLSkillID" type="string" />
<property name="HuaWeiCUID" column="HuaWeiCUID" type="string" />
<property name="TianMaoCUID" column="TianMaoCUID" type="string" />
<property name="IsSyncRoomNumber" column="IsSyncRoomNumber" type="bool" />
<property name="IsAutoUpdate" column="IsAutoUpdate" type="bool" />
<property name="MACBindDate" column="MACBindDate" type="DateTime" />
<property name="ExpireTime" column="ExpireTime" type="DateTime" />
<property name="RunTime" column="RunTime" type="DateTime" />
<property name="SetExpireTime" column="SetExpireTime" type="DateTime" />
<property name="IsLock" column="IsLock" type="bool" />
<property name="Season" column="Season" type="string" />
<property name="Last_Modified_Time" column="Last_Modified_Time" type="DateTime" />
<property name="XiaoMiCUID" column="XiaoMiCUID" type="string" />
<property name="WXValidate" column="WXValidate" type="string" />
<property name="Model" column="Model" type="string" />
<property name="LauncherVersion" column="LauncherVersion" type="string" />
<property name="UpgradeStatus" column="UpgradeStatus" type="int" />
<property name="UpgradeTime" column="UpgradeTime" type="DateTime" />
<property name="FrameNo" column="FrameNo" type="int" />
<property name="FrameNoTime" column="FrameNoTime" type="DateTime" />
<property name="IsDeleted" column="IsDeleted" type="bool" />
<property name="DisableStartTime" column="DisableStartTime" type="string" />
<property name="DisableEndTime" column="DisableEndTime" type="string" />
<property name="IsWelcomeDisableTime" column="IsWelcomeDisableTime" type="bool" />
<property name="FCS_locationUUID" column="FCS_locationUUID" type="string" />
<property name="HiWeiCUID" column="HiWeiCUID" type="string" />
</class>
</hibernate-mapping>

384
Domain/HostAir.cs Normal file
View File

@@ -0,0 +1,384 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostAir
{
#region Private Properties
//设置默认值
private bool onOff = true;
private int currentTemp = 0;
private int settingTemp = 22;
private int speed = 0;
private int keepTemp = 22;
private int initTemp = 22;
private int hightTemp = 33;
private int lowerTemp = 16;
private int deadTemp = 2;
private int hotDevition = 2;
private int coldDevition = 2;
private int welcomeTime = 30;
private bool isLockTemp = false;
private int lockTemp = 22;
private int mode = 0;
private int valve = 0;
private ControlType controlType = ControlType.Two;
private float compensatoryTemp = 0;
private bool relateRoomStatus = true;
private bool relateDoorContact = false;
private int coldHotMode = 0;
private int coldHotSwitchDelayTime = 30;
private bool fanStop = false;
private bool disableFanHighSpeed = false;
private bool sleepFlag = false;
private string sleepStartTime = "00:00";
private string sleepEndTime = "00:00";
private int sleepDevition = 0;
private bool timeFlag = false;
private string timeStartTime1 = "00:00";
private string timeEndTime1 = "00:00";
private string timeStartTime2 = "00:00";
private string timeEndTime2 = "00:00";
private string timeStartTime3 = "00:00";
private string timeEndTime3 = "00:00";
#endregion
/// <summary>
/// HostID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// 设备
/// </summary>
public virtual RoomTypeAir Modal
{
get;
set;
}
/// <summary>
/// 空调No
/// </summary>
public virtual int No
{
get;
set;
}
/// <summary>
/// 空调开关状态0/关1/开
/// </summary>
public virtual bool OnOff
{
get { return this.onOff; }
set { this.onOff = value; }
}
/// <summary>
/// 当前温度
/// </summary>
public virtual int CurrentTemp
{
get { return this.currentTemp; }
set { this.currentTemp = value; }
}
/// <summary>
/// 设定温度
/// </summary>
public virtual int SettingTemp
{
get { return this.settingTemp; }
set { this.settingTemp = value; }
}
/// <summary>
/// 风速: 1/低速, 2/中速, 3/高速, 0/自动
/// </summary>
public virtual int Speed
{
get { return this.speed; }
set { this.speed = value; }
}
/// <summary>
/// 保温温度
/// </summary>
public virtual int KeepTemp
{
get { return this.keepTemp; }
set { this.keepTemp = value; }
}
/// <summary>
/// 初始温度
/// </summary>
public virtual int InitTemp
{
get { return this.initTemp; }
set { this.initTemp = value; }
}
/// <summary>
/// 最高温度
/// </summary>
public virtual int HightTemp
{
get { return this.hightTemp; }
set { this.hightTemp = value; }
}
/// <summary>
/// 最低温度
/// </summary>
public virtual int LowerTemp
{
get { return this.lowerTemp; }
set { this.lowerTemp = value; }
}
/// <summary>
/// 死区温度
/// </summary>
public virtual int DeadTemp
{
get { return this.deadTemp; }
set { this.deadTemp = value; }
}
/// <summary>
/// 热
/// </summary>
public virtual int HotDevition
{
get { return this.hotDevition; }
set { this.hotDevition = value; }
}
/// <summary>
/// 冷偏差
/// </summary>
public virtual int ColdDevition
{
get { return this.coldDevition; }
set { this.coldDevition = value; }
}
/// <summary>
/// 欢迎模式时间(分钟)
/// </summary>
public virtual int WelcomeTime
{
get { return this.welcomeTime; }
set { this.welcomeTime = value; }
}
/// <summary>
/// 是否锁定温度
/// </summary>
public virtual bool IsLockTemp
{
get { return this.isLockTemp; }
set { this.isLockTemp = value; }
}
/// <summary>
/// 锁定温度
/// </summary>
public virtual int LockTemp
{
get { return this.lockTemp; }
set { this.lockTemp = value; }
}
/// <summary>
/// 模式: 1/制冷模式2/制热模式4/送风模式0自动
/// </summary>
public virtual int Mode
{
get { return this.mode; }
set { this.mode = value; }
}
/// <summary>
/// 阀状态: 1阀开2阀关
/// </summary>
public virtual int Valve
{
get { return this.valve; }
set { this.valve = value; }
}
/// <summary>
/// 空调管制0/二管制1/四管制
/// </summary>
public virtual ControlType ControlType
{
get { return this.controlType; }
set { this.controlType = value; }
}
/// <summary>
/// 补偿温度
/// </summary>
public virtual float CompensatoryTemp
{
get { return this.compensatoryTemp; }
set { this.compensatoryTemp = value; }
}
/// <summary>
/// 是否关联房态
/// </summary>
public virtual bool RelateRoomStatus
{
get { return this.relateRoomStatus; }
set { this.relateRoomStatus = value; }
}
/// <summary>
/// 是否关联门磁
/// </summary>
public virtual bool RelateDoorContact
{
get { return this.relateDoorContact; }
set { this.relateDoorContact = value; }
}
/// <summary>
/// 手自动模式
/// </summary>
public virtual int ColdHotMode
{
get { return this.coldHotMode; }
set { this.coldHotMode = value; }
}
/// <summary>
/// 冷热转换延时,单位:秒
/// </summary>
public virtual int ColdHotSwitchDelayTime
{
get { return this.coldHotSwitchDelayTime; }
set { this.coldHotSwitchDelayTime = value; }
}
/// <summary>
/// 温度到达停止风机运行
/// </summary>
public virtual bool FanStop
{
get { return this.fanStop; }
set { this.fanStop = value; }
}
/// <summary>
/// 禁止风机高速运行0/否1/是
/// </summary>
public virtual bool DisableFanHighSpeed
{
get { return this.disableFanHighSpeed; }
set { this.disableFanHighSpeed = value; }
}
/// <summary>
/// 启用睡眠标志
/// </summary>
public virtual bool SleepFlag
{
get { return this.sleepFlag; }
set { this.sleepFlag = value; }
}
/// <summary>
/// 睡眠开始时间
/// </summary>
public virtual string SleepStartTime
{
get { return this.sleepStartTime; }
set { this.sleepStartTime = value; }
}
/// <summary>
/// 睡眠结束时间
/// </summary>
public virtual string SleepEndTime
{
get { return this.sleepEndTime; }
set { this.sleepEndTime = value; }
}
/// <summary>
/// 睡眠模式偏差
/// </summary>
public virtual int SleepDevition
{
get { return this.sleepDevition; }
set { this.sleepDevition = value; }
}
/// <summary>
/// 启动定时
/// </summary>
public virtual bool TimeFlag
{
get { return this.timeFlag; }
set { this.timeFlag = value; }
}
/// <summary>
/// 定时开始时间1
/// </summary>
public virtual string TimeStartTime1
{
get { return this.timeStartTime1; }
set { this.timeStartTime1 = value; }
}
/// <summary>
/// 定时结束时间1
/// </summary>
public virtual string TimeEndTime1
{
get { return this.timeEndTime1; }
set { this.timeEndTime1 = value; }
}
/// <summary>
/// 定时开始时间2
/// </summary>
public virtual string TimeStartTime2
{
get { return this.timeStartTime2; }
set { this.timeStartTime2 = value; }
}
/// <summary>
/// 定时结束时间2
/// </summary>
public virtual string TimeEndTime2
{
get { return this.timeEndTime2; }
set { this.timeEndTime2 = value; }
}
/// <summary>
/// 定时开始时间3
/// </summary>
public virtual string TimeStartTime3
{
get { return this.timeStartTime3; }
set { this.timeStartTime3 = value; }
}
/// <summary>
/// 定时结束时间3
/// </summary>
public virtual string TimeEndTime3
{
get { return this.timeEndTime3; }
set { this.timeEndTime3 = value; }
}
public override bool Equals(object obj)
{
HostModal o = obj as HostModal;
if (o == null)
{
return false;
}
return this.HostID == o.HostID && this.Modal.ID == o.Modal.ID;
}
public override int GetHashCode()
{
return this.HostID.GetHashCode() ^ this.Modal.GetHashCode();
}
}
}

46
Domain/HostAir.hbm.xml Normal file
View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostAir" table="tb_HostAir">
<composite-id>
<key-property name="HostID" column="HostID" type="int" />
<key-many-to-one name="Modal" column="RoomTypeAirID" class="RoomTypeAir" foreign-key="FK_tb_HostAir_tb_RoomTypeAir" />
</composite-id>
<property name="No" column="No" type="int" />
<property name="OnOff" column="Running" type="bool" />
<property name="CurrentTemp" column="CurrentTemp" type="int" />
<property name="SettingTemp" column="SettingTemp" type="int" />
<property name="Speed" column="Speed" type="int" />
<property name="KeepTemp" column="KeepTemp" type="int" />
<property name="InitTemp" column="InitTemp" type="int" />
<property name="HightTemp" column="HightTemp" type="int" />
<property name="LowerTemp" column="LowerTemp" type="int" />
<property name="DeadTemp" column="DeadTemp" type="int" />
<property name="HotDevition" column="HotDevition" type="int" />
<property name="ColdDevition" column="ColdDevition" type="int" />
<property name="WelcomeTime" column="WelcomeTime" type="int" />
<property name="IsLockTemp" column="IsLockTemp" type="bool" />
<property name="LockTemp" column="LockTemp" type="int" />
<property name="Mode" column="Mode" type="int" />
<property name="Valve" column="Valve" type="int" />
<property name="ControlType" column="ControlType" type="ControlType" />
<property name="CompensatoryTemp" column="CompensatoryTemp" type="float"/>
<property name="RelateRoomStatus" column="RelateRoomStatus" type="bool" />
<property name="RelateDoorContact" column="RelateDoorContact" type="bool" />
<property name="ColdHotMode" column="ColdHotMode" type="int" />
<property name="ColdHotSwitchDelayTime" column="ColdHotSwitchDelayTime" type="int" />
<property name="FanStop" column="FanStop" type="bool" />
<property name="DisableFanHighSpeed" column="DisableFanHighSpeed" type="bool" />
<property name="SleepFlag" column="SleepFlag" type="bool" />
<property name="SleepStartTime" column="SleepStartTime" type="string" />
<property name="SleepEndTime" column="SleepEndTime" type="string" />
<property name="SleepDevition" column="SleepDevition" type="int" />
<property name="TimeFlag" column="TimeFlag" type="bool" />
<property name="TimeStartTime1" column="TimeStartTime1" type="string" />
<property name="TimeEndTime1" column="TimeEndTime1" type="string" />
<property name="TimeStartTime2" column="TimeStartTime2" type="string" />
<property name="TimeEndTime2" column="TimeEndTime2" type="string" />
<property name="TimeStartTime3" column="TimeStartTime3" type="string" />
<property name="TimeEndTime3" column="TimeEndTime3" type="string" />
</class>
</hibernate-mapping>

76
Domain/HostAirRecord.cs Normal file
View File

@@ -0,0 +1,76 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostAirRecord
{
/// <summary>
/// ID
/// </summary>
public virtual long ID
{
get;
set;
}
/// <summary>
/// 主机ID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// 房号
/// </summary>
public virtual string RoomNumber
{
get;
set;
}
/// <summary>
/// 空调序号
/// </summary>
public virtual int AirNo
{
get;
set;
}
/// <summary>
/// 温度类型
/// </summary>
public virtual TempType TempType
{
get;
set;
}
/// <summary>
/// 温度值
/// </summary>
public virtual int Temp
{
get;
set;
}
/// <summary>
/// 开始时间
/// </summary>
public virtual DateTime StartTime
{
get;
set;
}
/// <summary>
/// 结束时间
/// </summary>
public virtual DateTime? EndTime
{
get;
set;
}
}
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostAirRecord" table="tb_HostAirRecords">
<id name="ID" column="ID" type="long" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostID" column="HostID" type="int" />
<property name="RoomNumber" column="RoomNumber" type="string" />
<property name="AirNo" column="AirNo" type="int" />
<property name="TempType" column="TempType" type="TempType" />
<property name="Temp" column="Temp" type="int" />
<property name="StartTime" column="StartTime" type="DateTime" />
<property name="EndTime" column="EndTime" type="DateTime" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,91 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostFaultRecords
{
/// <summary>
/// ID
/// </summary>
public virtual long ID
{
get;
set;
}
/// <summary>
/// HostID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// RoomNumber
/// </summary>
public virtual string RoomNumber
{
get;
set;
}
/// <summary>
/// RoomTypeID
/// </summary>
public virtual int RoomTypeID
{
get;
set;
}
/// <summary>
/// RoomTypeModalID
/// </summary>
public virtual int RoomTypeModalID
{
get;
set;
}
/// <summary>
/// 485设备地址
/// </summary>
public virtual string ModalAddress
{
get;
set;
}
/// <summary>
/// 异常类型1在线状态0在线1离线2电量0~100%3电流4 1901故障检测次数
/// </summary>
public virtual int Type
{
get;
set;
}
/// <summary>
/// 异常值
/// </summary>
public virtual int Value
{
get;
set;
}
/// <summary>
/// 异常发生时间
/// </summary>
public virtual DateTime Date
{
get;
set;
}
}
}

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostFaultRecords" table="tb_HostFaultRecords">
<id name="ID" column="ID" type="long" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostID" column="HostID" type="int" />
<property name="RoomNumber" column="RoomNumber" type="string" />
<property name="RoomTypeID" column="RoomTypeID" type="int" />
<property name="RoomTypeModalID" column="RoomTypeModalID" type="int" />
<property name="ModalAddress" column="ModalAddress" type="string" />
<property name="Type" column="Type" type="int" />
<property name="Value" column="Value" type="int" />
<property name="Date" column="Date" type="DateTime" />
</class>
</hibernate-mapping>

115
Domain/HostFaults.cs Normal file
View File

@@ -0,0 +1,115 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostFaults
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HostID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// 485设备地址
/// </summary>
public virtual string Address
{
get;
set;
}
/// <summary>
/// 异常状态1离线0在线
/// </summary>
public virtual int AbnormalStatus
{
get;
set;
}
/// <summary>
/// 异常状态日期
/// </summary>
public virtual DateTime StatusDate
{
get;
set;
}
/// <summary>
/// 异常电量0~100
/// </summary>
public virtual int AbnormalElectricQty
{
get;
set;
}
/// <summary>
/// 异常电量日期
/// </summary>
public virtual DateTime ElectricQtyDate
{
get;
set;
}
/// <summary>
/// 异常3电流
/// </summary>
public virtual int Abnormal3
{
get;
set;
}
/// <summary>
/// 异常3产生日期
/// </summary>
public virtual DateTime Abnormal3Date
{
get;
set;
}
/// <summary>
/// 异常41901故障检测次数
/// </summary>
public virtual int Abnormal4
{
get;
set;
}
/// <summary>
/// 异常4产生日期
/// </summary>
public virtual DateTime Abnormal4Date
{
get;
set;
}
/// <summary>
/// 设备单个回路状态0正常1损坏
/// </summary>
public virtual int Abnormal5
{
get;
set;
}
/// <summary>
/// 设备单个回路状态产生日期
/// </summary>
public virtual DateTime Abnormal5Date
{
get;
set;
}
}
}

20
Domain/HostFaults.hbm.xml Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostFaults" table="tb_HostFaults">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostID" column="HostID" type="int" />
<property name="Address" column="Address" type="string" />
<property name="AbnormalStatus" column="AbnormalStatus" type="int" />
<property name="StatusDate" column="StatusDate" type="DateTime" />
<property name="AbnormalElectricQty" column="AbnormalElectricQty" type="int" />
<property name="ElectricQtyDate" column="ElectricQtyDate" type="DateTime" />
<property name="Abnormal3" column="Abnormal3" type="int" />
<property name="Abnormal3Date" column="Abnormal3Date" type="DateTime" />
<property name="Abnormal4" column="Abnormal4" type="int" />
<property name="Abnormal4Date" column="Abnormal4Date" type="DateTime" />
<property name="Abnormal5" column="Abnormal5" type="int" />
<property name="Abnormal5Date" column="Abnormal5Date" type="DateTime" />
</class>
</hibernate-mapping>

114
Domain/HostModal.cs Normal file
View File

@@ -0,0 +1,114 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostModal
{
/// <summary>
/// HostID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// 设备
/// </summary>
public virtual RoomTypeModal Modal
{
get;
set;
}
/// <summary>
/// 状态1开2关
/// </summary>
public virtual int Status
{
get;
set;
}
/// <summary>
/// 亮度
/// </summary>
public virtual int Brightness
{
get;
set;
}
/// <summary>
/// 当前温度
/// </summary>
public virtual int CurrentTemp
{
get;
set;
}
/// <summary>
/// 设定温度
/// </summary>
public virtual int SettingTemp
{
get;
set;
}
/// <summary>
/// 风速
/// </summary>
public virtual int FanSpeed
{
get;
set;
}
/// <summary>
/// 模式
/// </summary>
public virtual int Mode
{
get;
set;
}
/// <summary>
/// 阀门
/// </summary>
public virtual int Valve
{
get;
set;
}
/// <summary>
/// 当天开启时长
/// </summary>
public virtual int Time
{
get;
set;
}
public virtual DateTime? UpdateTime
{
get;
set;
}
public override bool Equals(object obj)
{
HostModal o = obj as HostModal;
if (o == null)
{
return false;
}
return this.HostID == o.HostID && this.Modal.ID == o.Modal.ID;
}
public override int GetHashCode()
{
return this.HostID.GetHashCode() ^ this.Modal.GetHashCode();
}
}
}

18
Domain/HostModal.hbm.xml Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostModal" table="tb_HostModal">
<composite-id>
<key-property name="HostID" column="HostID" type="int" />
<key-many-to-one name="Modal" column="RoomTypeModalID" class="RoomTypeModal" foreign-key="FK_tb_HostModal_tb_RoomTypeModal" />
</composite-id>
<property name="Status" column="Status" type="int" />
<property name="Brightness" column="Brightness" type="int" />
<property name="CurrentTemp" column="CurrentTemp" type="int" />
<property name="SettingTemp" column="SettingTemp" type="int" />
<property name="FanSpeed" column="FanSpeed" type="int" />
<property name="Mode" column="Mode" type="int" />
<property name="Valve" column="Valve" type="int" />
<property name="Time" column="Time" type="int" />
<property name="UpdateTime" column="UpdateTime" type="DateTime" />
</class>
</hibernate-mapping>

83
Domain/HostModalRecord.cs Normal file
View File

@@ -0,0 +1,83 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostModalRecord
{
/// <summary>
/// ID
/// </summary>
public virtual long ID
{
get;
set;
}
/// <summary>
/// HostID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// RoomNumber
/// </summary>
public virtual string RoomNumber
{
get;
set;
}
/// <summary>
/// RoomTypeID
/// </summary>
public virtual int RoomTypeID
{
get;
set;
}
/// <summary>
/// RoomTypeModalID
/// </summary>
public virtual int RoomTypeModalID
{
get;
set;
}
/// <summary>
/// ModalAddress
/// </summary>
public virtual string ModalAddress
{
get;
set;
}
/// <summary>
/// StartTime
/// </summary>
public virtual DateTime StartTime
{
get;
set;
}
/// <summary>
/// EndTime
/// </summary>
public virtual DateTime? EndTime
{
get;
set;
}
/// <summary>
/// 状态1开2关
/// </summary>
public virtual int Status
{
get;
set;
}
}
}

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostModalRecord" table="tb_HostModalRecords">
<id name="ID" column="ID" type="long" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostID" column="HostID" type="int" />
<property name="RoomNumber" column="RoomNumber" type="string" />
<property name="RoomTypeID" column="RoomTypeID" type="int" />
<property name="RoomTypeModalID" column="RoomTypeModalID" type="int" />
<property name="ModalAddress" column="ModalAddress" type="string" />
<property name="StartTime" column="StartTime" type="DateTime" />
<property name="EndTime" column="EndTime" type="DateTime" />
<property name="Status" column="Status" type="int" />
</class>
</hibernate-mapping>

267
Domain/HostRCU.cs Normal file
View File

@@ -0,0 +1,267 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostRCU
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HostID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// IP类型0未知1自动2手动
/// </summary>
public virtual int IPType
{
get;
set;
}
/// <summary>
/// TypeNumber
/// </summary>
public virtual string TypeNumber
{
get;
set;
}
/// <summary>
/// LanIP
/// </summary>
public virtual string LanIP
{
get;
set;
}
/// <summary>
/// ServerIP
/// </summary>
public virtual string ServerIP
{
get;
set;
}
/// <summary>
/// SubnetMask
/// </summary>
public virtual string SubnetMask
{
get;
set;
}
/// <summary>
/// Gateway
/// </summary>
public virtual string Gateway
{
get;
set;
}
/// <summary>
/// LanPort
/// </summary>
public virtual int LanPort
{
get;
set;
}
/// <summary>
/// DNS
/// </summary>
public virtual string DNS
{
get;
set;
}
/// <summary>
/// Version
/// </summary>
public virtual string Version
{
get;
set;
}
/// <summary>
/// RunTime
/// </summary>
public virtual DateTime RunTime
{
get;
set;
}
/// <summary>
/// LauncherVersion
/// </summary>
public virtual string LauncherVersion
{
get;
set;
}
/// <summary>
/// MAC
/// </summary>
public virtual string MAC
{
get;
set;
}
/// <summary>
/// HotelCode
/// </summary>
public virtual string HotelCode
{
get;
set;
}
/// <summary>
/// RoomTypeID
/// </summary>
public virtual int RoomTypeID
{
get;
set;
}
/// <summary>
/// ConfigVersion
/// </summary>
public virtual string ConfigVersion
{
get;
set;
}
/// <summary>
/// RoomStatusID
/// </summary>
public virtual int RoomStatusID
{
get;
set;
}
/// <summary>
/// RoomStatus
/// </summary>
public virtual string RoomStatus
{
get;
set;
}
/// <summary>
/// Season
/// </summary>
public virtual string Season
{
get;
set;
}
/// <summary>
/// LockStatus
/// </summary>
public virtual int LockStatus
{
get;
set;
}
/// <summary>
/// ExpireTime
/// </summary>
public virtual DateTime ExpireTime
{
get;
set;
}
/// <summary>
/// SetExpireTime
/// </summary>
public virtual DateTime SetExpireTime
{
get;
set;
}
/// <summary>
/// RoomNumber
/// </summary>
public virtual string RoomNumber
{
get;
set;
}
/// <summary>
/// RoomTypeRemark
/// </summary>
public virtual string RoomTypeRemark
{
get;
set;
}
/// <summary>
/// RoomRemark
/// </summary>
public virtual string RoomRemark
{
get;
set;
}
/// <summary>
/// Core
/// </summary>
public virtual string Core
{
get;
set;
}
/// <summary>
/// Model
/// </summary>
public virtual string Model
{
get;
set;
}
/// <summary>
/// HotelName
/// </summary>
public virtual string HotelName
{
get;
set;
}
/// <summary>
/// RoomType
/// </summary>
public virtual string RoomType
{
get;
set;
}
/// <summary>
/// UpdateTime
/// </summary>
public virtual DateTime UpdateTime
{
get;
set;
}
}
}

39
Domain/HostRCU.hbm.xml Normal file
View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.HostRCU, Domain" table="tb_HostsRCU">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostID" column="HostID" type="int" />
<property name="HotelID" column="HotelID" type="int" />
<property name="IPType" column="IPType" type="int" />
<property name="TypeNumber" column="TypeNumber" type="string" />
<property name="LanIP" column="LanIP" type="string" />
<property name="ServerIP" column="ServerIP" type="string" />
<property name="SubnetMask" column="SubnetMask" type="string" />
<property name="Gateway" column="Gateway" type="string" />
<property name="LanPort" column="LanPort" type="int" />
<property name="DNS" column="DNS" type="string" />
<property name="Version" column="Version" type="string" />
<property name="RunTime" column="RunTime" type="DateTime" />
<property name="LauncherVersion" column="LauncherVersion" type="string" />
<property name="MAC" column="MAC" type="string" />
<property name="HotelCode" column="HotelCode" type="string" />
<property name="RoomTypeID" column="RoomTypeID" type="int" />
<property name="ConfigVersion" column="ConfigVersion" type="string" />
<property name="RoomStatusID" column="RoomStatusID" type="int" />
<property name="RoomStatus" column="RoomStatus" type="string" />
<property name="Season" column="Season" type="string" />
<property name="LockStatus" column="LockStatus" type="int" />
<property name="ExpireTime" column="ExpireTime" type="DateTime" />
<property name="SetExpireTime" column="SetExpireTime" type="DateTime" />
<property name="RoomNumber" column="RoomNumber" type="string" />
<property name="RoomTypeRemark" column="RoomTypeRemark" type="string" />
<property name="RoomRemark" column="RoomRemark" type="string" />
<property name="Core" column="Core" type="string" />
<property name="Model" column="Model" type="string" />
<property name="HotelName" column="HotelName" type="string" />
<property name="RoomType" column="RoomType" type="string" />
<property name="UpdateTime" column="UpdateTime" type="DateTime" />
</class>
</hibernate-mapping>

108
Domain/HostRoomCard.cs Normal file
View File

@@ -0,0 +1,108 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostRoomCard
{
/// <summary>
/// ID
/// </summary>
public virtual long ID
{
get;
set;
}
/// <summary>
/// HostID
/// </summary>
public virtual int? HostID
{
get;
set;
}
/// <summary>
/// 房号
/// </summary>
public virtual string RoomNumber
{
get;
set;
}
/// <summary>
/// 房卡
/// </summary>
public virtual RoomCard RoomCard
{
get;
set;
}
/// <summary>
/// 房卡编号
/// </summary>
public virtual string CardNumber
{
get;
set;
}
/// <summary>
/// 房卡类型ID
/// </summary>
public virtual RoomCardType CardType
{
get;
set;
}
/// <summary>
/// 员工编号
/// </summary>
public virtual string UserNumber
{
get;
set;
}
/// <summary>
/// 员工姓名
/// </summary>
public virtual string UserName
{
get;
set;
}
/// <summary>
/// 插卡时间
/// </summary>
public virtual DateTime? InCardTime
{
get;
set;
}
/// <summary>
/// 拔卡时间
/// </summary>
public virtual DateTime? OutCardTime
{
get;
set;
}
/// <summary>
/// 是否报警与金天鹅对接插卡后尚未开房5分钟后报警
/// </summary>
public virtual bool? IsAlarm
{
get;
set;
}
/// <summary>
/// 时长(分钟)
/// </summary>
public virtual long Duration
{
get;
set;
}
}
}

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostRoomCard" table="tb_HostRoomCard">
<id name="ID" column="ID" type="long" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostID" column="HostID" type="int" />
<property name="RoomNumber" column="RoomNumber" type="string" />
<many-to-one name="RoomCard" column="RoomCardID" not-found="ignore" cascade="none" />
<property name="CardNumber" column="CardNumber" type="string" />
<many-to-one name="CardType" column="CardTypeID" not-found="ignore" cascade="none" />
<property name="UserNumber" column="UserNumber" type="string" />
<property name="UserName" column="UserName" type="string" />
<property name="InCardTime" column="InCardTime" type="DateTime" />
<property name="OutCardTime" column="OutCardTime" type="DateTime" />
<property name="IsAlarm" column="IsAlarm" type="bool" />
<property name="Duration" formula="DATEDIFF(MINUTE,InCardTime,ISNULL(OutCardTime,GETDATE()))" type="long" />
</class>
</hibernate-mapping>

64
Domain/HostScene.cs Normal file
View File

@@ -0,0 +1,64 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostScene
{
/// <summary>
/// HostID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// 场景
/// </summary>
public virtual RoomTypeScene Scene
{
get;
set;
}
/// <summary>
/// 状态1开2关
/// </summary>
public virtual int Status
{
get;
set;
}
/// <summary>
/// 当天开启时长
/// </summary>
public virtual int Time
{
get;
set;
}
public virtual DateTime? UpdateTime
{
get;
set;
}
public override bool Equals(object obj)
{
HostScene o = obj as HostScene;
if (o == null)
{
return false;
}
return this.HostID == o.HostID && this.Scene.ID == o.Scene.ID;
}
public override int GetHashCode()
{
return this.HostID.GetHashCode() ^ this.Scene.GetHashCode();
}
}
}

12
Domain/HostScene.hbm.xml Normal file
View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostScene" table="tb_HostScene">
<composite-id>
<key-property name="HostID" column="HostID" type="int" />
<key-many-to-one name="Scene" column="RoomTypeSceneID" class="RoomTypeScene" foreign-key="FK_tb_HostScene_tb_RoomTypeScene" />
</composite-id>
<property name="Status" column="Status" type="int" />
<property name="Time" column="Time" type="int" />
<property name="UpdateTime" column="UpdateTime" type="DateTime" />
</class>
</hibernate-mapping>

124
Domain/HostTimingControl.cs Normal file
View File

@@ -0,0 +1,124 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostTimingControl
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// 酒店ID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 主机ID多个以逗号隔开
/// </summary>
public virtual string HostIDs
{
get;
set;
}
/// <summary>
/// 楼层ID
/// </summary>
public virtual int GroupID
{
get;
set;
}
/// <summary>
/// 房型ID
/// </summary>
public virtual int RoomTypeID
{
get;
set;
}
/// <summary>
/// 房态ID
/// </summary>
public virtual int RoomStatusID
{
get;
set;
}
/// <summary>
/// 房卡ID
/// </summary>
public virtual int RoomCardTypeID
{
get;
set;
}
/// <summary>
/// 场景ID
/// </summary>
public virtual int RoomTypeSceneID
{
get;
set;
}
/// <summary>
/// 定时类型0每天1每周2每月
/// </summary>
public virtual int TimingType
{
get;
set;
}
/// <summary>
/// 具体星期几还是几号
/// </summary>
public virtual string TimingDay
{
get;
set;
}
/// <summary>
/// 时间(时:分)
/// </summary>
public virtual string Timing
{
get;
set;
}
/// <summary>
/// 执行状态0未执行1已执行
/// </summary>
public virtual bool ExecStatus
{
get;
set;
}
/// <summary>
/// 执行时间
/// </summary>
public virtual DateTime ExecTime
{
get;
set;
}
/// <summary>
/// 启用
/// </summary>
public virtual bool ActiveIndicator
{
get;
set;
}
}
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostTimingControl" table="tb_HostTimingControl">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HotelID" column="HotelID" type="int" />
<property name="HostIDs" column="HostIDs" type="string" />
<property name="GroupID" column="GroupID" type="int" />
<property name="RoomTypeID" column="RoomTypeID" type="int" />
<property name="RoomStatusID" column="RoomStatusID" type="int" />
<property name="RoomCardTypeID" column="RoomCardTypeID" type="int" />
<property name="RoomTypeSceneID" column="RoomTypeSceneID" type="int" />
<property name="TimingType" column="TimingType" type="int" />
<property name="TimingDay" column="TimingDay" type="string" />
<property name="Timing" column="Timing" type="string" />
<property name="ExecStatus" column="ExecStatus" type="bool" />
<property name="ExecTime" column="ExecTime" type="DateTime" />
<property name="ActiveIndicator" column="ActiveIndicator" type="bool" />
</class>
</hibernate-mapping>

101
Domain/HostUpdate.cs Normal file
View File

@@ -0,0 +1,101 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostUpdate
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 文件类型0/主机固件文件1/配置数据文件
/// </summary>
public virtual FileType FileType
{
get;
set;
}
/// <summary>
/// 升级包名称
/// </summary>
public virtual string FileName
{
get;
set;
}
/// <summary>
/// 路径
/// </summary>
public virtual string Href
{
get;
set;
}
/// <summary>
/// Md5值
/// </summary>
public virtual string Md5
{
get;
set;
}
/// <summary>
/// 文件大小
/// </summary>
public virtual long Size
{
get;
set;
}
/// <summary>
/// 上传日期
/// </summary>
public virtual DateTime UploadTime
{
get;
set;
}
/// <summary>
/// 上传人
/// </summary>
public virtual string Account
{
get;
set;
}
}
public enum FileType
{
/// <summary>
/// 主机固件文件
/// </summary>
Firmware = 0,
/// <summary>
/// 主机配置数据文件
/// </summary>
Config = 1,
/// <summary>
/// 主机有效期文件
/// </summary>
RCUValidate = 3
}
}

16
Domain/HostUpdate.hbm.xml Normal file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.HostUpdate, Domain" table="tb_HostUpdate">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="FileType" column="FileType" type="FileType" />
<property name="FileName" column="FileName" type="string" />
<property name="Href" column="Href" type="string" />
<property name="Md5" column="Md5" type="string" />
<property name="Size" column="Size" type="long" />
<property name="UploadTime" column="UploadTime" type="DateTime" />
<property name="Account" column="Account" type="string" />
<property name="HotelID" column="HotelID" type="int" />
</class>
</hibernate-mapping>

125
Domain/HostUpdateApi.cs Normal file
View File

@@ -0,0 +1,125 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostUpdateApi
{
/// <summary>
/// 房型ID
/// </summary>
public virtual int RoomTypeid
{
get;
set;
}
/// <summary>
/// 房型
/// </summary>
public virtual string RoomTypeName
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int hotelId
{
get;
set;
}
/// <summary>
/// 酒店名称
/// </summary>
public virtual string hotelName
{
get;
set;
}
/// <summary>
/// 返回状态 true为成功, false为失败
/// </summary>
public virtual bool Status
{
get;
set;
}
/// <summary>
/// 机型
/// </summary>
public virtual string ModelName
{
get;
set;
}
/// <summary>
/// 文件数量
/// </summary>
public virtual int FileCount
{
get;
set;
}
/// <summary>
/// 考虑到可能有多个文件
/// </summary>
public virtual List<HostUpdateApiDataList> datalist { get; set; }
public virtual string ErrMsg { get; set; }
}
public class HostUpdateApiDataList
{
/// <summary>
/// 文件名
/// </summary>
public virtual string Filename
{
get;
set;
}
/// <summary>
/// Luncher版本
/// </summary>
public virtual string LuncherVer
{
get;
set;
}
/// <summary>
/// 当前文件位置
/// </summary>
public virtual string Filenumber
{
get;
set;
}
/// <summary>
/// 起始地址
/// </summary>
public virtual string HexStart
{
get;
set;
}
/// <summary>
/// 大写32位MD5
/// </summary>
public virtual string md5
{
get;
set;
}
/// <summary>
/// 主要数据 base64
/// </summary>
public virtual string data
{
get;
set;
}
}
}

View File

@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostUpdateStatus
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// 主机ID
/// </summary>
public virtual Host Host
{
get;
set;
}
/// <summary>
/// 升级包ID
/// </summary>
public virtual HostUpdate HostUpdate
{
get;
set;
}
/// <summary>
/// 发布时间
/// </summary>
public virtual DateTime? PublishTime
{
get;
set;
}
/// <summary>
/// 升级时间
/// </summary>
public virtual DateTime? UpdatedTime
{
get;
set;
}
/// <summary>
/// 状态0升级就绪1升级完成2升级出错
/// </summary>
public virtual int Status
{
get;
set;
}
}
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostUpdateStatus" table="tb_HostUpdateStatus">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<many-to-one name="Host" column="HostID" />
<many-to-one name="HostUpdate" column="HostUpdateID" />
<property name="PublishTime" column="PublishTime" type="DateTime" />
<property name="UpdatedTime" column="UpdatedTime" type="DateTime" />
<property name="Status" column="Status" type="int" />
</class>
</hibernate-mapping>

67
Domain/HostWordsReport.cs Normal file
View File

@@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class HostWordsReport
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HostID
/// </summary>
public virtual int HostID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 485设备地址
/// </summary>
public virtual string ModalAddress
{
get;
set;
}
/// <summary>
/// 文字类型01客需服务02电视控制03RCU异常信息
/// </summary>
public virtual int Type
{
get;
set;
}
/// <summary>
/// 文字内容
/// </summary>
public virtual string Sentence
{
get;
set;
}
/// <summary>
/// 创建日期
/// </summary>
public virtual DateTime CreatedDate
{
get;
set;
}
}
}

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HostWordsReport" table="tb_HostWordsReport">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HostID" column="HostID" type="int" />
<property name="HotelID" column="HotelID" type="int" />
<property name="ModalAddress" column="ModalAddress" type="string" />
<property name="Type" column="Type" type="int" />
<property name="Sentence" column="Sentence" type="string" />
<property name="CreatedDate" column="CreatedDate" type="DateTime" />
</class>
</hibernate-mapping>

100
Domain/HotelAirControl.cs Normal file
View File

@@ -0,0 +1,100 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;
namespace Domain
{
public class HotelAirControl
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// 所属酒店
/// </summary>
public virtual SysHotel SysHotel
{
get;
set;
}
/// <summary>
/// 条件1出租后2取电后3断电后
/// </summary>
public virtual int ConditionType
{
get;
set;
}
/// <summary>
/// 季节1春2夏3冬
/// </summary>
public virtual int Season
{
get;
set;
}
/// <summary>
/// 启用1是0否
/// </summary>
public virtual bool ActiveIndicator
{
get;
set;
}
/// <summary>
/// 状态1开2关
/// </summary>
public virtual int Status
{
get;
set;
}
/// <summary>
/// 设定温度
/// </summary>
public virtual int SettingTemp
{
get;
set;
}
/// <summary>
/// 模式1制冷2制热3送风
/// </summary>
public virtual int Mode
{
get;
set;
}
/// <summary>
/// 风速0自动1低2中3高
/// </summary>
public virtual int FanSpeed
{
get;
set;
}
/// <summary>
/// 修改时间
/// </summary>
public virtual DateTime ModifiedDate
{
get;
set;
}
/// <summary>
/// 延时时间(单位:秒)
/// </summary>
public virtual int DelayTime
{
get;
set;
}
}
}

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HotelAirControl" table="tb_HotelAirControl">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<many-to-one name="SysHotel" column="HotelID" not-found="ignore" cascade="none" />
<property name="ConditionType" column="ConditionType" type="int" />
<property name="Season" column="Season" type="int" />
<property name="ActiveIndicator" column="ActiveIndicator" type="bool" />
<property name="Status" column="Status" type="int" />
<property name="SettingTemp" column="SettingTemp" type="int" />
<property name="Mode" column="Mode" type="int" />
<property name="FanSpeed" column="FanSpeed" type="int" />
<property name="ModifiedDate" column="ModifiedDate" type="DateTime" />
<property name="DelayTime" column="DelayTime" type="int" />
</class>
</hibernate-mapping>

132
Domain/HotelSeason.cs Normal file
View File

@@ -0,0 +1,132 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Runtime.Serialization;
namespace Domain
{
public class HotelSeason
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// 所属酒店
/// </summary>
public virtual SysHotel SysHotel
{
get;
set;
}
/// <summary>
/// 月份1
/// </summary>
public virtual int Month1
{
get;
set;
}
/// <summary>
/// 月份2
/// </summary>
public virtual int Month2
{
get;
set;
}
/// <summary>
/// 月份3
/// </summary>
public virtual int Month3
{
get;
set;
}
/// <summary>
/// 月份4
/// </summary>
public virtual int Month4
{
get;
set;
}
/// <summary>
/// 月份5
/// </summary>
public virtual int Month5
{
get;
set;
}
/// <summary>
/// 月份6
/// </summary>
public virtual int Month6
{
get;
set;
}
/// <summary>
/// 月份7
/// </summary>
public virtual int Month7
{
get;
set;
}
/// <summary>
/// 月份8
/// </summary>
public virtual int Month8
{
get;
set;
}
/// <summary>
/// 月份9
/// </summary>
public virtual int Month9
{
get;
set;
}
/// <summary>
/// 月份10
/// </summary>
public virtual int Month10
{
get;
set;
}
/// <summary>
/// 月份11
/// </summary>
public virtual int Month11
{
get;
set;
}
/// <summary>
/// 月份12
/// </summary>
public virtual int Month12
{
get;
set;
}
/// <summary>
/// 是否已删除
/// </summary>
public virtual bool IsDeleted
{
get;
set;
}
}
}

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="HotelSeason" table="tb_HotelSeason">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<many-to-one name="SysHotel" column="HotelID" not-found="ignore" cascade="none" />
<property name="Month1" column="Month1" type="int" />
<property name="Month2" column="Month2" type="int" />
<property name="Month3" column="Month3" type="int" />
<property name="Month4" column="Month4" type="int" />
<property name="Month5" column="Month5" type="int" />
<property name="Month6" column="Month6" type="int" />
<property name="Month7" column="Month7" type="int" />
<property name="Month8" column="Month8" type="int" />
<property name="Month9" column="Month9" type="int" />
<property name="Month10" column="Month10" type="int" />
<property name="Month11" column="Month11" type="int" />
<property name="Month12" column="Month12" type="int" />
<property name="IsDeleted" column="IsDeleted" type="bool" />
</class>
</hibernate-mapping>

347
Domain/IoTAliGenieEntity.cs Normal file
View File

@@ -0,0 +1,347 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTAliGenieEntity
{
public class BaseInfo
{
/// <summary>
/// xxxx酒店
/// </summary>
public string appName { get; set; }
/// <summary>
/// MD5
/// </summary>
public string authType { get; set; }
/// <summary>
/// 酒店ID
/// </summary>
public string hotelId { get; set; }
/// <summary>
/// 请求ID
/// </summary>
public string requestId { get; set; }
/// <summary>
/// 请求时间戳
/// </summary>
public long requestTime { get; set; }
/// <summary>
/// 房号
/// </summary>
public string roomNo { get; set; }
/// <summary>
/// token
/// </summary>
public string token { get; set; }
}
public class DevicesItem
{
/// <summary>
/// LightDimmingLightAirconditionCurtainLaceCurtain窗纱TVDoor门ExhaustFan排气扇
/// </summary>
public string name { get; set; }
/// <summary>
/// 设备编号device-1-10
/// </summary>
public string number { get; set; }
/// <summary>
/// 设备名称:卧室电视灯带
/// </summary>
public string deviceName { get; set; }
/// <summary>
/// 别名
/// </summary>
public List<string> aliasList { get; set; }
/// <summary>
/// 0 代表关1 代表开
/// </summary>
public int? @switch { get; set; }
/// <summary>
/// 数值0~100目前调光型设备 最低20、最高100
/// </summary>
public int? value { get; set; }
/// <summary>
/// value 调高x
/// </summary>
public int? value_up { get; set; }
/// <summary>
/// value 调低x
/// </summary>
public int? value_down { get; set; }
/// <summary>
/// 场景模式custom自定义
/// </summary>
public string modeType { get; set; }
/// <summary>
/// 模式auto 为自动cold为制冷heat 为制热,或场景英文代码
/// </summary>
public string mode { get; set; }
/// <summary>
/// 新添加的模式名字
/// </summary>
public string modeName { get; set; }
/// <summary>
/// 风速调到x 档
/// </summary>
public int? fanSpeed { get; set; }
/// <summary>
/// 温度调到x 度
/// </summary>
public int? temperature { get; set; }
/// <summary>
/// 室温,仅返回状态使用,无法调节
/// </summary>
public int? roomTemperature { get; set; }
/// <summary>
/// 风速调高x 档
/// </summary>
public int? fanSpeed_up { get; set; }
/// <summary>
/// 风速调低x 档
/// </summary>
public int? fanSpeed_down { get; set; }
/// <summary>
/// 温度调高x 度
/// </summary>
public int? temperature_up { get; set; }
/// <summary>
/// 温度调低x 度
/// </summary>
public int? temperature_down { get; set; }
/// <summary>
/// pause暂停continue继续
/// </summary>
public string action { get; set; }
/// <summary>
/// 频道名称,如中央一套。
/// </summary>
public string channelName { get; set; }
/// <summary>
/// 切换到第几台
/// </summary>
public int? channelNumber { get; set; }
/// <summary>
/// 增加台
/// </summary>
public int? channelNumber_up { get; set; }
/// <summary>
/// 减少台
/// </summary>
public int? channelNumber_down { get; set; }
/// <summary>
/// 音量
/// </summary>
public int? volume { get; set; }
/// <summary>
/// 电视音量增加步长为5
/// </summary>
public int? volume_up { get; set; }
/// <summary>
/// 电视音量减少步长为5
/// </summary>
public int? volume_down { get; set; }
/// <summary>
/// 电视静音:mute = 1 电视取消静音: mute = 0
/// </summary>
public int? mute { get; set; }
}
public class Command
{
/// <summary>
/// 指令类型QUERYALLCONTROL为控制指令QUERY为查询指令LOG为工单指令
/// </summary>
public string commandType { get; set; }
/// <summary>
/// 设备属性列表:设备控制或状态查询请求使用
/// </summary>
public List<DevicesItem> devices { get; set; }
}
/// <summary>
/// 请求获取设备列表
/// </summary>
public class Request
{
/// <summary>
/// 基本信息
/// </summary>
public BaseInfo baseInfo { get; set; }
/// <summary>
/// 指令类型
/// </summary>
public Command command { get; set; }
}
public class GroupsItem
{
/// <summary>
/// 位置名称:房间
/// </summary>
public string groupName { get; set; }
/// <summary>
/// 位置room
/// </summary>
public string groupId { get; set; }
/// <summary>
/// 设备列表
/// </summary>
public List<DevicesItem> devices { get; set; }
}
public class Result
{
/// <summary>
/// 是否支持红外设备标志。注:
/// 传入true时表示会覆盖原本已配置的红外设备信息
/// 传入false时表示会保留原本已配置的红外设备信息
/// </summary>
public bool enableInfraredDeviceImport { get; set; }
/// <summary>
/// 是否支持mesh设备标志默认不传会走覆盖逻辑注:
/// 传入true时表示会覆盖原本已配置的mesh设备信息
/// 传入false时表示会保留原本已配置的mesh设备信息
/// </summary>
public bool enableMeshDeviceImport { get; set; }
/// <summary>
/// 客控方语音发现设备,需要设备导入请按以下结构返回设备数据完成服务端配置
/// </summary>
public List<GroupsItem> groups { get; set; }
/// <summary>
/// 客控方语音发现设备,需要关联房间的场景模式请按照以下结构返回场景内容完成场景的关联
/// </summary>
public List<SceneModeItem> sceneModes { get; set; }
/// <summary>
///
/// </summary>
public List<DevicesItem> status { get; set; }
}
public class SceneModeItem
{
/// <summary>
/// 场景编码
/// </summary>
public string SceneId { get; set; }
/// <summary>
/// 场景名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 场景图标
/// </summary>
public string Icon { get; set; }
/// <summary>
/// 场景描述信息
/// </summary>
public string Description { get; set; }
/// <summary>
/// 触发语料
/// </summary>
public List<string> CorpusList { get; set; }
/// <summary>
/// 是否带屏显示1显示0不显示
/// </summary>
public int isDisplayScreen { get; set; }
}
/// <summary>
/// 响应回复设备列表
/// </summary>
public class Response
{
/// <summary>
/// 结果集
/// </summary>
public Result result { get; set; }
/// <summary>
/// 是否成功
/// </summary>
public bool success { get; set; }
/// <summary>
/// 请求ID
/// </summary>
public string requestId { get; set; }
/// <summary>
/// 响应时间戳
/// </summary>
public long responseTime { get; set; }
/// <summary>
/// 消息
/// </summary>
public string message { get; set; }
/// <summary>
/// 状态代码200正常500控制系统内部错误501不支持的操作404不支持的设备
/// </summary>
public int statusCode { get; set; }
}
/// <summary>
/// 自定义场景
/// </summary>
public class RcuScene
{
/// <summary>
/// 酒店id
/// </summary>
public string HotelId { get; set; }
/// <summary>
/// 导入配置
/// </summary>
public ImportHotelConfig ImportHotelConfig { get; set; }
}
public class ImportHotelConfig
{
/// <summary>
/// 酒店RCU自定义场景
/// </summary>
public List<RcuCustomScenes> RcuCustomScenes { get; set; }
}
public class RcuCustomScenes
{
/// <summary>
/// 场景编码
/// </summary>
public string SceneId { get; set; }
/// <summary>
/// 场景名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 场景图标
/// </summary>
public string Icon { get; set; }
/// <summary>
/// 场景描述信息
/// </summary>
public string Description { get; set; }
/// <summary>
/// 触发语料
/// </summary>
public List<string> CorpusList { get; set; }
}
public class ApiResult
{
/// <summary>
/// 调用返回码除约定的SUCCESS_CODE外其余由服务提供者自定义
/// </summary>
public int StatusCode { get; set; }
/// <summary>
/// 服务的实际返回结果
/// </summary>
public bool Result { get; set; }
/// <summary>
/// 附加信息,典型应用场景是对失败调用进行简述,方便调用方定位问题
/// </summary>
public string Message { get; set; }
/// <summary>
/// 阿里云为该请求生成的唯一标识符。
/// </summary>
public string RequestId { get; set; }
}
}

391
Domain/IoTDUIEntity.cs Normal file
View File

@@ -0,0 +1,391 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTDUIEntity
{
public class Header
{
/// <summary>
/// 消息的唯一标识符长度小于128个字符。messageId仅用于标识消息无其他使用。建议使用随机生成的UUID作为messageId。
/// </summary>
public string messageId { get; set; }
/// <summary>
/// 指令的类别。 目前支持的类别有DuerOS.ConnectedHome.Discovery发现设备指令。DuerOS.ConnectedHome.Control控制设备指令。DuerOS.ConnectedHome.Query查询设备指令。
/// </summary>
public string @namespace { get; set; }
/// <summary>
/// 指令的名称。
/// </summary>
public string name { get; set; }
/// <summary>
/// payload的版本号。
/// </summary>
public string payloadVersion { get; set; }
}
public class Brightness
{
/// <summary>
/// 灯光亮度的百分比值是double类型取值范围为0100。其中0表示灯在打开时的最小亮度100表示灯的最大亮度。
/// </summary>
public string value { get; set; }
}
public class DeltaBrightness
{
public string value { get; set; }
}
public class Temperature
{
/// <summary>
/// 温度设定之前设备的温度是double类型。
/// </summary>
public string value { get; set; }
}
public class DeltaTemperature
{
public string value { get; set; }
}
public class Volume
{
public string value { get; set; }
}
public class DeltaVolume
{
public string value { get; set; }
}
public class Channel
{
public string value { get; set; }
}
public class ChannelName
{
public string value { get; set; }
}
public class DeltaChannel
{
public string value { get; set; }
}
/// <summary>
/// 设备的风速对象包含一个属性值value或者一个属性值level取决于用户自然表达。
/// </summary>
public class SpeedLevel
{
/// <summary>
/// 设备的风速值是int类型取值范围是110。用户表达具体风速值时会出该字段。
/// </summary>
public string value { get; set; }
}
public class DeltaSpeedLevel
{
public string value { get; set; }
}
/// <summary>
/// 湿度
/// </summary>
public class Humidity
{
public string value { get; set; }
}
public class DeltaHumidity
{
public string value { get; set; }
}
public class Mode
{
/// <summary>
/// 设备类型
/// </summary>
public string deviceType { get; set; }
/// <summary>
/// 设备模式,与设备类型相关,不同设备类型的模式不同
/// </summary>
public string value { get; set; }
}
/// <summary>
/// 调整风向
/// </summary>
public class DeltaAngel
{
public string value { get; set; }
}
public class Color
{
public string value { get; set; }
}
/// <summary>
/// 定时操作对应的触发时间,为时间戳,精确到秒。
/// </summary>
public class Timestamp
{
public int value { get; set; }
}
public class Request
{
public class Appliance
{
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
/// <summary>
/// 提供给设备云使用存放设备或场景相关的附加信息是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
/// </summary>
public Dictionary<string, string> additionalApplianceDetails { get; set; }
}
public class Payload
{
/// <summary>
/// 设备云端获取的access token。
/// </summary>
public string accessToken { get; set; }
/// <summary>
/// /仅当使用家庭组功能会出现此字段表示仅期望获取对应家庭组下的设备列表IOT厂商仅返回对应group下的设备即可
/// </summary>
public string group { get; set; }
/// <summary>
/// 设备
/// </summary>
public Appliance appliance { get; set; }
/// <summary>
/// 定时控制
/// </summary>
public Timestamp timestamp { get; set; }
public Brightness brightness { get; set; }
public DeltaBrightness deltaBrightness { get; set; }
public Temperature temperature { get; set; }
public DeltaTemperature deltaTemperature { get; set; }
public Volume volumn { get; set; }
public DeltaVolume deltaVolumn { get; set; }
public Channel channel { get; set; }
public ChannelName channelName { get; set; }
public DeltaChannel deltaChannel { get; set; }
public SpeedLevel speedLevel { get; set; }
public DeltaSpeedLevel deltaSpeedLevel { get; set; }
public Humidity humidity { get; set; }
public DeltaHumidity deltaHumidity { get; set; }
public Mode mode { get; set; }
public int duration { get; set; }
public DeltaAngel deltaAngel { get; set; }
public Color color { get; set; }
}
public class AppliancesRequest
{
public Header header { get; set; }
public Payload payload { get; set; }
}
}
public class DiscoverResponse
{
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public class Attributes
{
/// <summary>
/// 属性名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string name { get; set; }
/// <summary>
/// 属性值支持多种json类型。
/// </summary>
public string value { get; set; }
/// <summary>
/// 属性值的单位名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string scale { get; set; }
/// <summary>
/// 属性值取样的时间戳,单位是秒。
/// </summary>
public string timestampOfSample { get; set; }
/// <summary>
/// 属性值取样的时间误差单位是ms。如果设备使用的是轮询时间间隔的取样方式那么uncertaintyInMilliseconds就等于时间间隔。如温度传感器每1秒取样1次那么uncertaintyInMilliseconds的值就是1000。
/// </summary>
public string uncertaintyInMilliseconds { get; set; }
}
/// <summary>
/// discoveredGroups 对象的数组,该对象包含可发现分组,与用户设备帐户相关联的。 如果没有与用户帐户关联的分组,此属性应包含一个空数组。 如果发生错误,该属性可以为空数组[]。阵列中允许的最大项目数量为10。
/// </summary>
public class DiscoveredGroups
{
/// <summary>
/// 用户用来识别分组的名称, 不应包含特殊字符或标点符号长度不超过20字符。
/// </summary>
public string groupName { get; set; }
/// <summary>
/// 分组所包含设备ID的数组要求设备ID必须是已经发现的设备中的ID否则会同步失败每个分组设备ID数量不超过50。
/// </summary>
public List<string> applianceIds { get; set; }
/// <summary>
/// 分组备注信息不能超过128个字符。
/// </summary>
public string groupNotes { get; set; }
/// <summary>
/// 提供给技能使用的分组相关的附加信息的键值对。该属性的内容不能超过2000字符。而且DuerOS也不了解或使用这些数据。
/// </summary>
public Dictionary<string, string> additionalGroupDetails { get; set; }
}
public class DiscoveredAppliances
{
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
/// <summary>
/// 设备属于的分组或家庭组。
///家庭组是为当一个用户账号拥有或管理了多个家庭或酒店多个房间的设备,期望控制时对这些家庭或房间做隔离的场景而设计的。
///使用家庭组时,思必驰服务将仅从对应组下面筛选目标设备,用户语音指令中无需特别指明设备位置即可轻松控制,实现与无分组场景无差别的用户体验,适合酒店、学校、图书馆等场景使用
/// </summary>
public string group { get; set; }
/// <summary>
/// 设备类型,设备商只能传规定值。
/// </summary>
public string applianceType { get; set; }
/// <summary>
/// 用户用来识别设备的名称。 是字符串类型不能包含特殊字符和标点符号长度不能超过128个字符。
/// </summary>
public string friendlyName { get; set; }
/// <summary>
/// 别名
/// </summary>
public List<string> aliasNames { get; set; }
/// <summary>
/// 别名
/// </summary>
public List<string> nicknames { get; set; }
/// <summary>
/// 设备厂商
/// </summary>
public string manufacturerName { get; set; }
/// <summary>
/// 设备型号
/// </summary>
public string modelName { get; set; }
/// <summary>
/// 设备的位置
/// </summary>
public string zone { get; set; }
/// <summary>
/// 设备支持的操作类型数组。
/// </summary>
public List<string> actions { get; set; }
/// <summary>
/// 设备的描述信息
/// </summary>
public string description { get; set; }
/// <summary>
/// 提供给设备云使用存放设备或场景相关的附加信息是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
/// </summary>
public Dictionary<string, string> additionalApplianceDetails { get; set; }
/// <summary>
/// 定时操作对应的触发时间为时间戳精确到秒。仅在namespace:DUI.SmartHome.Control且name:TimingXXX的指令中出现
/// </summary>
public int timestamp { get; set; }
/// <summary>
/// 操作的持续时间。单位:秒。仅在namespace:DUI.SmartHome.Control的指令中存在
/// </summary>
public int duration { get; set; }
/// <summary>
/// 定时操作对应的完成时间为时间戳精确到秒。仅在namespace:DUI.SmartHome.Control且name:TimingXXX的指令中出现
/// </summary>
public int endtime { get; set; }
/// <summary>
/// 指定受控的区域/隔间非必传参数仅在DUI.SmartHome.Control指令中存在。
///设备类型对应的合法值如下:
///FRIDGE: REFRIGERATOR(冷藏室), FREEZER(冷冻室), SMARTCONVERTIBLE(变温区)
///GAS_STOVE: LEFT_STOVE(左灶具), RIGHT_STOVE(右灶具)
///INDUCTION_COOKER: LEFT_STOVE(左灶具), RIGHT_STOVE(右灶具)
/// </summary>
public string compartment { get; set; }
}
public class Payload
{
/// <summary>
/// 云端获取的accessToken
/// </summary>
public string accessToken { get; set; }
/// <summary>
/// 以对象数组返回客户关联设备云帐户的设备、场景。如客户关联帐户没有设备、场景则返回空数组。如果在发现过程中出现错误字段值设置为null, 用户允许接入的最大的设备数量是300。
/// </summary>
public List<DiscoveredAppliances> appliances { get; set; }
}
public class AppliancesResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// 设备信息
/// </summary>
public Payload payload { get; set; }
}
}
public class ControlRequest
{
public class Appliance
{
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
/// <summary>
/// 提供给设备云使用存放设备或场景相关的附加信息是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
/// </summary>
public Dictionary<string, string> additionalApplianceDetails { get; set; }
}
}
public class ControlResponse
{
public class Payload
{
}
public class ControlAppResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}
public class Error
{
public class Payload
{
public string errorCode { get; set; }
public string message { get; set; }
}
public class ErrorResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}
}

264
Domain/IoTFeiErEntity.cs Normal file
View File

@@ -0,0 +1,264 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTFerErEntity
{
/// <summary>
/// 本次用户输入的内容被理解为某个应用时的应用信息,用于一个开发者多个应用服务地址只有一个的时候的应用区分
/// </summary>
public class ApplicationInfo
{
/// <summary>
/// 开发者在平台创建应用时平台分配的ID
/// </summary>
public string application_id { get; set; }
/// <summary>
/// 开发者在平台创建应用时,填写的应用名称
/// </summary>
public string application_name { get; set; }
/// <summary>
/// 应用的版本号保留字段默认为“10000”
/// </summary>
public string application_version { get; set; }
}
public class Attributes
{
/// <summary>
///
/// </summary>
public string focus { get; set; }
/// <summary>
/// 小智
/// </summary>
public string bizname { get; set; }
/// <summary>
///
/// </summary>
public string type { get; set; }
}
/// <summary>
/// 会话相关的数据包含本次会话的ID、用户历史输入内容、会话中保持的槽值等
/// </summary>
public class Session
{
/// <summary>
/// 是否为新会话true 是 false 否
/// </summary>
public bool is_new { get; set; }
/// <summary>
/// 本次交互会话中的会话ID由平台方负责保持在一次会话结束前此ID不会变化
/// </summary>
public string session_id { get; set; }
/// <summary>
/// 会话具体参数,依据每个应用的不同,参数也不相同,此字段中主要以之前的槽值为主。
/// </summary>
public Attributes attributes { get; set; }
}
/// <summary>
/// 用户相关的数据包含用户的ID、用户正对当前应用的一个基础设置
/// </summary>
public class User
{
/// <summary>
/// 用户在平台相对于开发者某个应用的ID应用不同用户的ID也会不同
/// </summary>
public string user_id { get; set; }
/// <summary>
/// 用户具体参数,依据每个应用的不同,参数也不相同,此字段中主要以用户针对当前应用的基础配置,如:默认手机号、默认地址等。
/// </summary>
public Attributes attributes { get; set; }
}
/// <summary>
/// 个性化语义识别出来的用户当前输入对应的语义结果槽值当status为INTENT时不为空。注槽值的key以及取值与开发者当前的应用文法是一一对应的
/// </summary>
public class Slots
{
/// <summary>
///
/// </summary>
public string focus { get; set; }
/// <summary>
/// 小智
/// </summary>
public string bizname { get; set; }
/// <summary>
///
/// </summary>
public string operation_type { get; set; }
/// <summary>
/// 客厅
/// </summary>
public string room { get; set; }
/// <summary>
/// 灯
/// </summary>
public string category { get; set; }
}
public class Extend
{
/// <summary>
///
/// </summary>
public string NO_REC { get; set; }
}
/// <summary>
/// 请求包体
/// </summary>
public class Request
{
/// <summary>
/// 版本号,格式:X.X, 目前默认为1.0
/// </summary>
public string versionid { get; set; }
/// <summary>
/// 状态LAUNCH、INTENT、END、NOTICE,详细描述见6.2
/// </summary>
public string status { get; set; }
/// <summary>
/// 交互流水号,唯一标识一次平台对开发者服务的调用
/// </summary>
public string sequence { get; set; }
/// <summary>
/// 平台发送请求到开发者服务的的时间,格式为:当前时间的毫秒值
/// </summary>
public long timestamp { get; set; }
/// <summary>
/// 本次用户输入的内容被理解为某个应用时的应用信息,用于一个开发者多个应用服务地址只有一个的时候的应用区分
/// </summary>
public ApplicationInfo application_info { get; set; }
/// <summary>
/// 会话相关的数据包含本次会话的ID、用户历史输入内容、会话中保持的槽值等
/// </summary>
public Session session { get; set; }
/// <summary>
/// 用户相关的数据包含用户的ID、用户正对当前应用的一个基础设置
/// </summary>
public User user { get; set; }
/// <summary>
/// 用户本次内容:让小智关闭客厅灯。
/// </summary>
public string input_text { get; set; }
/// <summary>
/// 个性化语义识别出来的用户当前输入对应的语义结果槽值当status为INTENT时不为空。注槽值的key以及取值与开发者当前的应用文法是一一对应的
/// </summary>
public Slots slots { get; set; }
/// <summary>
/// 会话结束原因详见附录6.1当status为END时不为空其它情况为空。
/// </summary>
public string ended_reason { get; set; }
/// <summary>
/// 通知类型用于开发者详见附录6.3当status为NOTICE时不为空其它情况为空。
/// </summary>
public string notice_type { get; set; }
/// <summary>
///
/// </summary>
public Extend extend { get; set; }
}
/// <summary>
/// 开发者需要设备播报的内容。注:设备会依据开发者给出的顺序播报
/// </summary>
public class DirectiveItems
{
/// <summary>
/// 类型1.TTS 2.AUDIO
/// </summary>
public string type { get; set; }
/// <summary>
/// TS播报内容。AUDIO 的url连接,请使用http的播放地址音频格式为mp3、ma4。例如好的已帮您关闭了客厅灯
/// </summary>
public string content { get; set; }
}
/// <summary>
/// 开发者需要设备播报的内容。注:设备会依据开发者给出的顺序播报
/// </summary>
public class Directive
{
/// <summary>
///
/// </summary>
public List<DirectiveItems> directive_items { get; set; }
}
/// <summary>
/// 开发者需要平台推送到设备关联的手机APP展现的内容其中连接内可包含文本图片
/// </summary>
public class Card
{
/// <summary>
/// 开发者需要平台推送到用户设备关联的手机APP上展现的标题内容。注不能超过20个字
/// </summary>
public string title { get; set; }
/// <summary>
/// APP展现内容类型1.纯文字2.图片(暂未开放)3.外部连接
/// </summary>
public string type { get; set; }
/// <summary>
/// type为1时使用
/// </summary>
public string text { get; set; }
/// <summary>
/// type为3时使用
/// </summary>
public string url { get; set; }
}
public class RichContent
{
/// <summary>
/// 类型1.文字2.图片
/// </summary>
public string type { get; set; }
/// <summary>
/// 类型为1时文字内容类型为2时图片连接连接长度不可超过512个字符
/// </summary>
public string content { get; set; }
}
/// <summary>
/// 应答包体
/// </summary>
public class Response
{
/// <summary>
/// 版本号,回传平台端调用时传递的版本号, 目前默认为1.0
/// </summary>
public string versionid { get; set; }
/// <summary>
/// 由开发者服务决定本次会话是否结束,如果标识为结束(true)平台会清除本次会话在平台保持的会话数据如果标识为不结束false平台继续为用户保持当前会话数据。
/// </summary>
public bool is_end { get; set; }
/// <summary>
/// 交互流水号,回传平台调用时传递的值
/// </summary>
public string sequence { get; set; }
/// <summary>
/// 开发者服务应答平台的请求的时间,格式为:当前时间的毫秒值
/// </summary>
public int timestamp { get; set; }
/// <summary>
/// 需要的槽值:如不为空,飞尔云会主动为开发者收集此槽值服务,如用户输入的说法不符合槽值提取规则,则视为未识别重复收集。如为空则表明不需要平台关注槽值的识别,全部透传到第三方应用进行判断
/// </summary>
public string need_slot { get; set; }
/// <summary>
/// 开发者需要设备播报的内容。注:设备会依据开发者给出的顺序播报
/// </summary>
public Directive directive { get; set; }
/// <summary>
/// 开发者需要平台推送到设备关联的手机APP展现的内容其中连接内可包含文本图片
/// </summary>
public Card push_to_app { get; set; }
/// <summary>
/// 当设备未能识别用户说话时给用户的重新提示语以引导用户进行后继的对话其中可以包含文本播报和流媒体播报。如果该字段为空且设备发生未识别用户说话时则设备会重复播放directive字段的内容
/// </summary>
public Directive repeat_directive { get; set; }
/// <summary>
/// 扩展字段,目前支持的扩展内容是,上一次会话拒识时,要不要让设备响应用户的下一次拒识的输入, 如果NO_REC需大写取值0时播报响应。取值1时不播报。默认是0
/// </summary>
public Extend extend { get; set; }
}
}

354
Domain/IoTHiWeiEntity.cs Normal file
View File

@@ -0,0 +1,354 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTHiWeiEntity
{
public class Header
{
/// <summary>
/// 指令的名称。DiscoverAppliancesRequestDiscoverAppliancesResponseTurnOnRequestTurnOnConfirmationGetTurnOnStateRequestGetTurnOnStateResponse
/// </summary>
public string name { get; set; }
/// <summary>
/// 指令的类别。 LZOS.DiscoveryLZOS.ControlLZOS.Query
/// </summary>
public string @namespace { get; set; }
}
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public class Attributes
{
/// <summary>
/// 属性名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string name { get; set; }
/// <summary>
/// 属性值支持多种json类型。
/// </summary>
public string value { get; set; }
/// <summary>
/// 属性值的单位名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string scale { get; set; }
/// <summary>
/// 属性值取样的时间戳,单位是秒。
/// </summary>
public string timestampOfSample { get; set; }
/// <summary>
/// 属性值取样的时间误差单位是ms。如果设备使用的是轮询时间间隔的取样方式那么uncertaintyInMilliseconds就等于时间间隔。如温度传感器每1秒取样1次那么uncertaintyInMilliseconds的值就是1000。
/// </summary>
public string uncertaintyInMilliseconds { get; set; }
}
public class DiscoveredAppliances
{
/// <summary>
/// 支持的设备、场景类型。
/// </summary>
public List<string> applianceTypes { get; set; }
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
/// <summary>
/// 设备型号名称是字符串类型长度不能超过128个字符。
/// </summary>
public string modelName { get; set; }
/// <summary>
/// 供应商提供的设备版本。是字符串类型长度不能超过128个字符。
/// </summary>
public string version { get; set; }
/// <summary>
/// 别名
/// </summary>
public List<string> nicknames { get; set; }
/// <summary>
/// 设备环境
/// </summary>
public string environment { get; set; }
/// <summary>
/// 设备的分区
/// </summary>
public string partition { get; set; }
/// <summary>
/// 用户用来识别设备的名称。 是字符串类型不能包含特殊字符和标点符号长度不能超过128个字符。
/// </summary>
public string friendlyName { get; set; }
/// <summary>
/// 设备相关的描述描述内容提需要提及设备厂商使用场景及连接方式长度不超过128个字符。
/// </summary>
public string friendlyDescription { get; set; }
/// <summary>
/// 设备当前是否能够到达。true表示设备当前可以到达false表示当前设备不能到达。
/// </summary>
public bool isReachable { get; set; }
/// <summary>
/// 设备支持的操作类型数组。
/// </summary>
public List<string> actions { get; set; }
/// <summary>
/// 提供给设备云使用存放设备或场景相关的附加信息是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
/// </summary>
public Dictionary<string, string> additionalApplianceDetails { get; set; }
/// <summary>
/// 设备厂商的名字。
/// </summary>
public string manufacturerName { get; set; }
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public List<Attributes> attributes { get; set; }
}
/// <summary>
/// discoveredGroups 对象的数组,该对象包含可发现分组,与用户设备帐户相关联的。 如果没有与用户帐户关联的分组,此属性应包含一个空数组。 如果发生错误,该属性可以为空数组[]。阵列中允许的最大项目数量为10。
/// </summary>
public class DiscoveredGroups
{
/// <summary>
/// 分组id
/// </summary>
public string groupId { get; set; }
/// <summary>
/// 用户用来识别分组的名称, 不应包含特殊字符或标点符号长度不超过20字符。
/// </summary>
public string groupName { get; set; }
/// <summary>
/// 分组所包含设备ID的数组要求设备ID必须是已经发现的设备中的ID否则会同步失败每个分组设备ID数量不超过50。
/// </summary>
public List<string> applianceIds { get; set; }
/// <summary>
/// 分组备注信息不能超过128个字符。
/// </summary>
public string groupNotes { get; set; }
/// <summary>
/// 提供给技能使用的分组相关的附加信息的键值对。该属性的内容不能超过2000字符。而且DuerOS也不了解或使用这些数据。
/// </summary>
public Dictionary<string, string> additionalGroupDetails { get; set; }
}
public class Appliance
{
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
}
/// <summary>
/// 设备的亮度
/// </summary>
public class Brightness
{
/// <summary>
/// 灯光亮度的百分比值是double类型取值范围为0100。其中0表示灯在打开时的最小亮度100表示灯的最大亮度。
/// </summary>
public double value { get; set; }
}
public class DeltaPercentage
{
/// <summary>
/// 亮度增加的百分比值是float类型取值范围是0100。
/// </summary>
public float value { get; set; }
}
public class Color
{
/// <summary>
/// 灯光设置的色相是double类型取值范围为0.00〜360.00。
/// </summary>
public double hue { get; set; }
/// <summary>
/// 灯光设置饱和度是double类型取值范围为0.0000〜1.0000。
/// </summary>
public double saturation { get; set; }
/// <summary>
/// 灯光设置的亮度是double类型取值范围为0.0000〜1.0000。
/// </summary>
public double brightness { get; set; }
}
public class AchievedState
{
public Color color { get; set; }
}
public class DeltaValue
{
/// <summary>
/// 设备调整温度值是float类型。
/// </summary>
public string value { get; set; }
/// <summary>
/// 温度计量单位。有CELSIUS(摄氏温度)和FAHRENHEIT(华氏温度)两种计量单位默认使用CELSIUS。
/// </summary>
public string scale { get; set; }
}
/// <summary>
/// 温度设定之前的设备模式。
/// </summary>
public class Mode
{
/// <summary>
/// 设备类型
/// </summary>
public string deviceType { get; set; }
/// <summary>
/// 设备模式,与设备类型相关,不同设备类型的模式不同
/// </summary>
public string value { get; set; }
}
public class Temperature
{
/// <summary>
/// 温度设定之前设备的温度是double类型。
/// </summary>
public double value { get; set; }
/// <summary>
/// 温度计量单位
/// </summary>
public string scale { get; set; }
}
/// <summary>
/// 设备的风速对象包含一个属性值value或者一个属性值level取决于用户自然表达。
/// </summary>
public class FanSpeed
{
/// <summary>
/// 设备的风速值是int类型取值范围是110。用户表达具体风速值时会出该字段。
/// </summary>
public int value { get; set; }
/// <summary>
/// 设备的风速档位级别是string类型取值范围是(min、low、middle、high、max、auto))。用户表达风速级别时,会出该字段。
/// </summary>
public string level { get; set; }
}
public class PreviousState
{
/// <summary>
/// 亮度设置前的对象。
/// </summary>
public Brightness brightness { get; set; }
/// <summary>
/// 温度设置成功后的设备模式。
/// </summary>
public Mode mode { get; set; }
/// <summary>
/// 温度设置成功后设备的温度是double类型。
/// </summary>
public Temperature temperature { get; set; }
/// <summary>
/// 设备的风速对象包含一个属性值value。
/// </summary>
public FanSpeed fanSpeed { get; set; }
}
public class Payload
{
/// <summary>
/// 设备云端获取的access token。
/// </summary>
public string accessToken { get; set; }
/// <summary>
/// 客房音箱设备序列码
/// </summary>
public string cuid { get; set; }
/// <summary>
/// 以对象数组返回客户关联设备云帐户的设备、场景。如客户关联帐户没有设备、场景则返回空数组。如果在发现过程中出现错误字段值设置为null, 用户允许接入的最大的设备数量是300。
/// </summary>
public List<DiscoveredAppliances> discoveredAppliances { get; set; }
/// <summary>
/// 对象的数组,该对象包含可发现分组,与用户设备帐户相关联的。 如果没有与用户帐户关联的分组,此属性应包含一个空数组。 如果发生错误,该属性可以为空数组[]。阵列中允许的最大项目数量为10。
/// </summary>
public List<DiscoveredGroups> discoveredGroups { get; set; }
/// <summary>
/// 设备操作的具体对象包括applianceId和additionalApplianceDetails。
/// </summary>
public Appliance appliance { get; set; }
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public List<Attributes> attributes { get; set; }
/// <summary>
/// 灯光亮度的对象。
/// </summary>
public Brightness brightness { get; set; }
/// <summary>
/// 温度设置成功后的设备模式。
/// </summary>
public Mode mode { get; set; }
/// <summary>
/// 温度设置成功后设备的温度是double类型。
/// </summary>
public Temperature targetTemperature { get; set; }
/// <summary>
/// 设备的风速对象包含一个属性值value。
/// </summary>
public FanSpeed fanSpeed { get; set; }
/// <summary>
/// 亮度设置前的对象。
/// </summary>
public PreviousState previousState { get; set; }
/// <summary>
/// 亮度增加的百分比对象。
/// </summary>
public DeltaPercentage deltaPercentage { get; set; }
/// <summary>
/// 灯设置的颜色。包括色相、饱和度、亮度HSB颜色模型。
/// </summary>
public Color color { get; set; }
/// <summary>
/// 颜色更改后设备的状态
/// </summary>
public AchievedState achievedState { get; set; }
/// <summary>
/// 设备温度调整信息
/// </summary>
public DeltaValue deltaValue { get; set; }
}
/// <summary>
/// 发现设备请求
/// </summary>
public class DiscoverAppliancesRequest
{
public Header header { get; set; }
public Payload payload { get; set; }
}
/// <summary>
/// 发现设备响应
/// </summary>
public class DiscoverAppliancesResponse
{
public Header header { get; set; }
public Payload payload { get; set; }
}
/// <summary>
/// 控制设备请求
/// </summary>
public class ControlAppliancesRequest
{
public Header header { get; set; }
public Payload payload { get; set; }
}
/// <summary>
/// 控制设备响应
/// </summary>
public class ControlAppliancesResponse
{
public Header header { get; set; }
public Payload payload { get; set; }
}
public class ErrorResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}

572
Domain/IoTHuaWeiEntity.cs Normal file
View File

@@ -0,0 +1,572 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTHuaWeiEntity
{
/// <summary>
/// 智能家居设备发现请求的定义
/// </summary>
public class SmartHomeContentInfoReq
{
/// <summary>
/// FULL
/// </summary>
public string dataType { get; set; }
/// <summary>
/// 请求体中的分页结构,携带分页查询条件。
/// </summary>
public PaginationReq pagination { get; set; }
/// <summary>
/// 时间格式yyyyMMddHHmmss
/// </summary>
//public string timestamp { get; set; }
}
/// <summary>
/// 请求体中的分页结构,携带分页查询条件。
/// </summary>
public class PaginationReq
{
/// <summary>
/// 分页大小限制。最小0默认1000
/// </summary>
public long limit { get; set; }
/// <summary>
/// 分页起始下标。不携带时表示从第一条开始查询实际是整数类型。最大16
/// </summary>
public string start { get; set; }
}
/// <summary>
/// 智能家居设备发现响应的定义 首行描述该文件保存的内容,包括:实体类型、设备类型、语言种类;
/// 排在前面的热词记录表示热度越高,需要系统优先识别它们的语音语义;
/// 排在后面的热词记录,在达到系统规格上限时会被优先老化掉。
/// 热词数量一般建议不超过标准词+别名的数量总共不超过1万个词。
/// 数量超规格的词系统会认为非热词,人工会定期审视这些词,确定是否定期纳入系统版本的全量实体词库。
/// </summary>
public class SmartHomeContentInfoRsp
{
/// <summary>
/// 元数据内容记录数
/// </summary>
public List<SmartHomeContentInfoItem> data { get; set; }
/// <summary>
/// 本次请求的响应分页信息(总计多少条记录,下一次请求从哪一条开始)。响应体中的分页结构,携带后续查询的分页信息。
/// </summary>
public PaginationRsp pagination { get; set; }
/// <summary>
/// 被调用方期望下一次调用携带的时间戳。时间格式yyyyMMddHHmmss
/// </summary>
public string expectedNextTimestamp { get; set; }
/// <summary>
/// 返回状态
/// </summary>
public string errorCode { get; set; }
/// <summary>
/// 描述
/// </summary>
public string errorMessage { get; set; }
}
/// <summary>
/// 智能家居设备发现数据的响应内容定义
/// </summary>
public class SmartHomeContentInfoItem
{
/// <summary>
/// 国家码如CN缺省为空表示不区分国家
/// </summary>
public string countryCode { get; set; }
/// <summary>
/// 设备类型,缺省为空,表示不区分设备类型,当前只支持大屏设备类型 3-大屏(电视)多个设备类型用逗号分割
/// </summary>
public string deviceType { get; set; }
/// <summary>
/// 语言种类如zh-CN缺省为空表示不区分语言
/// </summary>
public string language { get; set; }
/// <summary>
/// 华为侧语音助手提供的VirtualTerminal虚终端请联系华为侧语音助手接口人
/// </summary>
public string vtId { get; set; }
/// <summary>
/// 智能家居设备数据的实际内容
/// </summary>
public List<SmartHomePayloadObjDef> payload { get; set; }
/// <summary>
/// 开发者支持的自定义场景列表,如回家场景,睡眠场景
/// </summary>
public List<SmartHomeSceneRuleObjDef> sceneRuleList { get; set; }
}
/// <summary>
/// 开发者需要华为侧语音助手识别的场景名定义,华为侧在命中用户的语音意图后会放在调用开发者的接口的意图字段中传递给开发者
/// </summary>
public class SmartHomeSceneRuleObjDef
{
/// <summary>
/// 该词的标准名称,所有的标准名称、别名需要保证唯一;
/// 如果无法保证唯一性,则系统会做如下容错处理:
/// 1、别名与标准词冲突了去掉别名
/// 2、标准词之间冲突了去掉后面出现的标准词及其所拥有的别名词
/// 3、别名之间冲突了去掉后出现的别名
/// 最大长度128
/// </summary>
public string name { get; set; }
/// <summary>
/// 词的标准名称,所有的标准名称、别名需要保证唯一;
/// 如果无法保证唯一性,则系统会做如下容错处理:
/// 1、别名与标准词冲突了去掉别名
/// 2、标准词之间冲突了去掉后面出现的标准词及其所拥有的别名词
/// 3、别名之间冲突了去掉后出现的别名
/// 最大长度128
/// </summary>
public string value { get; set; }
/// <summary>
/// 该词的别名,一个标准词可存在多个别名。
/// </summary>
public string[] valueAlias { get; set; }
}
/// <summary>
/// 智能家居设备发现的单条响应内容定义
/// </summary>
public class SmartHomePayloadObjDef
{
/// <summary>
/// 本设备的设备类型,华为侧语音助手语义解析支持的设备类型,请联系华为侧语音助手接口人获取
/// </summary>
public string deviceType { get; set; }
/// <summary>
/// 设备名和设备别名定义
/// </summary>
public List<SmartHomeDeviceObjDef> deviceList { get; set; }
/// <summary>
/// 本设备支持的意图名列表,具体华为侧语音助手语义解析支持的意图名,请联系华为侧语音助手接口人获取
/// </summary>
public string[] actionList { get; set; }
/// <summary>
/// 本设备支持的房间名和房间别名定义
/// </summary>
public List<SmartHomeRoomObjDef> roomList { get; set; }
}
/// <summary>
/// 智能家居设备属性定义,当前仅包括名字和别名
/// </summary>
public class SmartHomeDeviceObjDef
{
/// <summary>
/// 该词的标准名称,所有的标准名称、别名需要保证唯一;
/// 如果无法保证唯一性,则系统会做如下容错处理:
/// 1、别名与标准词冲突了去掉别名
/// 2、标准词之间冲突了去掉后面出现的标准词及其所拥有的别名词
/// 3、别名之间冲突了去掉后出现的别名
/// 最大长度128
/// </summary>
public string name { get; set; }
/// <summary>
/// 词的标准名称,所有的标准名称、别名需要保证唯一;
/// 如果无法保证唯一性,则系统会做如下容错处理:
/// 1、别名与标准词冲突了去掉别名
/// 2、标准词之间冲突了去掉后面出现的标准词及其所拥有的别名词
/// 3、别名之间冲突了去掉后出现的别名
/// 最大长度128
/// </summary>
public string value { get; set; }
/// <summary>
/// 该词的别名,一个标准词可存在多个别名。
/// </summary>
public string[] valueAlias { get; set; }
}
/// <summary>
/// 智能家居房间属性定义,当前仅包括名字和别名
/// </summary>
public class SmartHomeRoomObjDef
{
/// <summary>
/// 该词的标准名称,所有的标准名称、别名需要保证唯一;
/// 如果无法保证唯一性,则系统会做如下容错处理:
/// 1、别名与标准词冲突了去掉别名
/// 2、标准词之间冲突了去掉后面出现的标准词及其所拥有的别名词
/// 3、别名之间冲突了去掉后出现的别名
/// 最大长度128
/// </summary>
public string name { get; set; }
/// <summary>
/// 词的标准名称,所有的标准名称、别名需要保证唯一;
/// 如果无法保证唯一性,则系统会做如下容错处理:
/// 1、别名与标准词冲突了去掉别名
/// 2、标准词之间冲突了去掉后面出现的标准词及其所拥有的别名词
/// 3、别名之间冲突了去掉后出现的别名
/// 最大长度128
/// </summary>
public string value { get; set; }
/// <summary>
/// 该词的别名,一个标准词可存在多个别名。
/// </summary>
public string[] valueAlias { get; set; }
}
/// <summary>
/// 响应体中的分页结构,携带后续查询的分页信息。
/// </summary>
public class PaginationRsp
{
/// <summary>
/// 下一次分页请求的开始位置不携带时没有更多的数据实际是整数类型。最大16
/// </summary>
public string next { get; set; }
/// <summary>
/// 所有的数据条目数(不分页).最小0
/// </summary>
public long total { get; set; }
}
/// <summary>
/// 华为设备控制rcu
/// </summary>
public class SmartHomeIntentReq
{
/// <summary>
///
/// </summary>
public string version { get; set; }
/// <summary>
///
/// </summary>
public Session session { get; set; }
/// <summary>
///
/// </summary>
public Endpoint endpoint { get; set; }
/// <summary>
///
/// </summary>
public Header header { get; set; }
/// <summary>
///
/// </summary>
public Inquire inquire { get; set; }
}
public class Session
{
/// <summary>
///
/// </summary>
public string isNew { get; set; }
/// <summary>
///
/// </summary>
public string sessionId { get; set; }
}
public class Endpoint
{
/// <summary>
///
/// </summary>
public Auth auth { get; set; }
/// <summary>
///
/// </summary>
public Device device { get; set; }
/// <summary>
///
/// </summary>
public string locale { get; set; }
/// <summary>
///
/// </summary>
public string roamingCountryCode { get; set; }
}
public class Auth
{
/// <summary>
///
/// </summary>
public Application application { get; set; }
}
public class Application
{
/// <summary>
///
/// </summary>
public string appId { get; set; }
}
public class Device
{
/// <summary>
///
/// </summary>
public string deviceId { get; set; }
public string oaid { get; set; }
public string timezone { get; set; }
}
public class Header
{
/// <summary>
///
/// </summary>
public string type { get; set; }
/// <summary>
///
/// </summary>
public string timestamp { get; set; }
}
public class Inquire
{
/// <summary>
///
/// </summary>
public string inquireId { get; set; }
/// <summary>
///
/// </summary>
public Intent intent { get; set; }
/// <summary>
///
/// </summary>
public Utterance utterance { get; set; }
}
public class Utterance
{
public string original { get; set; }//打开客厅的窗帘
public string type { get; set; }//text
}
public class Intent
{
/// <summary>
///
/// </summary>
public string intentCategoryId { get; set; }
public string name { get; set; }
public string originalIntentName { get; set; }
public bool passNewIntent { get; set; }
/// <summary>
///
/// </summary>
public Slots slots { get; set; }
}
public class Slots
{
/// <summary>
/// 设备类型
/// </summary>
public SmarthomeDevicetype smarthomeDevicetype { get; set; }
/// <summary>
/// 设备名称
/// </summary>
public SmarthomeDevicename smarthomeDevicename { get; set; }
/// <summary>
/// 场景名称
/// </summary>
public SmarthomeRulename smarthomeRulename { get; set; }
/// <summary>
/// 所属房间
/// </summary>
public SmarthomeRoom smarthomeRoom { get; set; }
/// <summary>
/// 所有设备
/// </summary>
public SmarthomeAlldevice smarthomeAlldevice { get; set; }
/// <summary>
/// 空调设定温度值
/// </summary>
public SmarthomeCharactervalue smarthomeCharactervalue { get; set; }
/// <summary>
/// 服务或客需名称
/// </summary>
public SmarthomeTarget smarthomeTarget { get; set; }
/// <summary>
/// 服务或客需动作
/// </summary>
public SmarthomeAction smarthomeAction { get; set; }
}
public class SmarthomeDevicetype
{
/// <summary>
///
/// </summary>
public string name { get; set; }
/// <summary>
///
/// </summary>
public string slotType { get; set; }
/// <summary>
///
/// </summary>
public List<ValuesItem> values { get; set; }
}
public class ValuesItem
{
/// <summary>
///
/// </summary>
public string real { get; set; }
}
public class SmarthomeDevicename
{
/// <summary>
///
/// </summary>
public string name { get; set; }
/// <summary>
///
/// </summary>
public string slotType { get; set; }
/// <summary>
///
/// </summary>
public List<ValuesItem> values { get; set; }
}
public class SmarthomeRulename
{
/// <summary>
///
/// </summary>
public string name { get; set; }
/// <summary>
///
/// </summary>
public string slotType { get; set; }
/// <summary>
///
/// </summary>
public List<ValuesItem> values { get; set; }
}
public class SmarthomeRoom
{
/// <summary>
///
/// </summary>
public string name { get; set; }
/// <summary>
///
/// </summary>
public string slotType { get; set; }
/// <summary>
///
/// </summary>
public List<ValuesItem> values { get; set; }
}
public class SmarthomeAlldevice
{
/// <summary>
///
/// </summary>
public string name { get; set; }
/// <summary>
///
/// </summary>
public string slotType { get; set; }
/// <summary>
///
/// </summary>
public List<ValuesItem> values { get; set; }
}
public class SmarthomeCharactervalue
{
/// <summary>
///
/// </summary>
public string name { get; set; }
/// <summary>
///
/// </summary>
public string slotType { get; set; }
/// <summary>
///
/// </summary>
public List<ValuesItem> values { get; set; }
}
/// <summary>
/// 服务或客需名称
/// </summary>
public class SmarthomeTarget
{
/// <summary>
///
/// </summary>
public string name { get; set; }
/// <summary>
///
/// </summary>
public string slotType { get; set; }
/// <summary>
///
/// </summary>
public List<ValuesItem> values { get; set; }
}
/// <summary>
/// 服务或客需动作
/// </summary>
public class SmarthomeAction
{
/// <summary>
///
/// </summary>
public string name { get; set; }
/// <summary>
///
/// </summary>
public string slotType { get; set; }
/// <summary>
///
/// </summary>
public List<ValuesItem> values { get; set; }
}
/// <summary>
/// 华为意图控制回复
/// </summary>
public class SmartHomeIntentRsp
{
/// <summary>
///
/// </summary>
public string version { get; set; }
/// <summary>
///
/// </summary>
public Reply reply { get; set; }
/// <summary>
///
/// </summary>
public string errorCode { get; set; }
/// <summary>
///
/// </summary>
public string errorMessage { get; set; }
}
public class Reply
{
/// <summary>
///
/// </summary>
public bool isEndSession { get; set; }
}
}

352
Domain/IoTLZEntity.cs Normal file
View File

@@ -0,0 +1,352 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTLZEntity
{
public class Header
{
/// <summary>
/// 指令的名称。DiscoverAppliancesRequestDiscoverAppliancesResponseTurnOnRequestTurnOnConfirmationGetTurnOnStateRequestGetTurnOnStateResponse
/// </summary>
public string name { get; set; }
/// <summary>
/// 指令的类别。 LZOS.DiscoveryLZOS.ControlLZOS.Query
/// </summary>
public string @namespace { get; set; }
}
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public class Attributes
{
/// <summary>
/// 属性名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string name { get; set; }
/// <summary>
/// 属性值支持多种json类型。
/// </summary>
public string value { get; set; }
/// <summary>
/// 属性值的单位名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string scale { get; set; }
/// <summary>
/// 属性值取样的时间戳,单位是秒。
/// </summary>
public string timestampOfSample { get; set; }
/// <summary>
/// 属性值取样的时间误差单位是ms。如果设备使用的是轮询时间间隔的取样方式那么uncertaintyInMilliseconds就等于时间间隔。如温度传感器每1秒取样1次那么uncertaintyInMilliseconds的值就是1000。
/// </summary>
public string uncertaintyInMilliseconds { get; set; }
}
public class DiscoveredAppliances
{
/// <summary>
/// 支持的设备、场景类型。
/// </summary>
public List<string> applianceTypes { get; set; }
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
/// <summary>
/// 设备型号名称是字符串类型长度不能超过128个字符。
/// </summary>
public string modelName { get; set; }
/// <summary>
/// 供应商提供的设备版本。是字符串类型长度不能超过128个字符。
/// </summary>
public string version { get; set; }
/// <summary>
/// 用户用来识别设备的名称。 是字符串类型不能包含特殊字符和标点符号长度不能超过128个字符。
/// </summary>
public string friendlyName { get; set; }
/// <summary>
/// 设备相关的描述描述内容提需要提及设备厂商使用场景及连接方式长度不超过128个字符。
/// </summary>
public string friendlyDescription { get; set; }
/// <summary>
/// 别名
/// </summary>
public List<string> nicknames { get; set; }
/// <summary>
/// 设备当前是否能够到达。true表示设备当前可以到达false表示当前设备不能到达。
/// </summary>
public bool isReachable { get; set; }
/// <summary>
/// 设备环境
/// </summary>
public string environment { get; set; }
/// <summary>
/// 设备的分区
/// </summary>
public string partition { get; set; }
/// <summary>
/// 设备支持的操作类型数组。
/// </summary>
public List<string> actions { get; set; }
/// <summary>
/// 提供给设备云使用存放设备或场景相关的附加信息是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
/// </summary>
public Dictionary<string, string> additionalApplianceDetails { get; set; }
/// <summary>
/// 设备厂商的名字。
/// </summary>
public string manufacturerName { get; set; }
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public List<Attributes> attributes { get; set; }
}
/// <summary>
/// discoveredGroups 对象的数组,该对象包含可发现分组,与用户设备帐户相关联的。 如果没有与用户帐户关联的分组,此属性应包含一个空数组。 如果发生错误,该属性可以为空数组[]。阵列中允许的最大项目数量为10。
/// </summary>
public class DiscoveredGroups
{
/// <summary>
/// 分组id
/// </summary>
public string groupId { get; set; }
/// <summary>
/// 用户用来识别分组的名称, 不应包含特殊字符或标点符号长度不超过20字符。
/// </summary>
public string groupName { get; set; }
/// <summary>
/// 分组所包含设备ID的数组要求设备ID必须是已经发现的设备中的ID否则会同步失败每个分组设备ID数量不超过50。
/// </summary>
public List<string> applianceIds { get; set; }
/// <summary>
/// 分组备注信息不能超过128个字符。
/// </summary>
public string groupNotes { get; set; }
/// <summary>
/// 提供给技能使用的分组相关的附加信息的键值对。该属性的内容不能超过2000字符。而且DuerOS也不了解或使用这些数据。
/// </summary>
public Dictionary<string, string> additionalGroupDetails { get; set; }
}
public class Appliance
{
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
}
/// <summary>
/// 设备的亮度
/// </summary>
public class Brightness
{
/// <summary>
/// 灯光亮度的百分比值是double类型取值范围为0100。其中0表示灯在打开时的最小亮度100表示灯的最大亮度。
/// </summary>
public double value { get; set; }
}
public class DeltaPercentage
{
/// <summary>
/// 亮度增加的百分比值是float类型取值范围是0100。
/// </summary>
public float value { get; set; }
}
public class Color
{
/// <summary>
/// 灯光设置的色相是double类型取值范围为0.00〜360.00。
/// </summary>
public double hue { get; set; }
/// <summary>
/// 灯光设置饱和度是double类型取值范围为0.0000〜1.0000。
/// </summary>
public double saturation { get; set; }
/// <summary>
/// 灯光设置的亮度是double类型取值范围为0.0000〜1.0000。
/// </summary>
public double brightness { get; set; }
}
public class AchievedState
{
public Color color { get; set; }
}
public class DeltaValue
{
/// <summary>
/// 设备调整温度值是float类型。
/// </summary>
public string value { get; set; }
/// <summary>
/// 温度计量单位。有CELSIUS(摄氏温度)和FAHRENHEIT(华氏温度)两种计量单位默认使用CELSIUS。
/// </summary>
public string scale { get; set; }
}
/// <summary>
/// 温度设定之前的设备模式。
/// </summary>
public class Mode
{
/// <summary>
/// 设备类型
/// </summary>
public string deviceType { get; set; }
/// <summary>
/// 设备模式,与设备类型相关,不同设备类型的模式不同
/// </summary>
public string value { get; set; }
}
public class Temperature
{
/// <summary>
/// 温度设定之前设备的温度是double类型。
/// </summary>
public double value { get; set; }
/// <summary>
/// 温度计量单位
/// </summary>
public string scale { get; set; }
}
/// <summary>
/// 设备的风速对象包含一个属性值value或者一个属性值level取决于用户自然表达。
/// </summary>
public class FanSpeed
{
/// <summary>
/// 设备的风速值是int类型取值范围是110。用户表达具体风速值时会出该字段。
/// </summary>
public int value { get; set; }
/// <summary>
/// 设备的风速档位级别是string类型取值范围是(min、low、middle、high、max、auto))。用户表达风速级别时,会出该字段。
/// </summary>
public string level { get; set; }
}
public class PreviousState
{
/// <summary>
/// 亮度设置前的对象。
/// </summary>
public Brightness brightness { get; set; }
/// <summary>
/// 温度设置成功后的设备模式。
/// </summary>
public Mode mode { get; set; }
/// <summary>
/// 温度设置成功后设备的温度是double类型。
/// </summary>
public Temperature temperature { get; set; }
/// <summary>
/// 设备的风速对象包含一个属性值value。
/// </summary>
public FanSpeed fanSpeed { get; set; }
}
public class Payload
{
/// <summary>
/// 设备云端获取的access token。
/// </summary>
public string accessToken { get; set; }
/// <summary>
/// 客房音箱设备序列码
/// </summary>
public string cuid { get; set; }
/// <summary>
/// 以对象数组返回客户关联设备云帐户的设备、场景。如客户关联帐户没有设备、场景则返回空数组。如果在发现过程中出现错误字段值设置为null, 用户允许接入的最大的设备数量是300。
/// </summary>
public List<DiscoveredAppliances> discoveredAppliances { get; set; }
/// <summary>
/// 对象的数组,该对象包含可发现分组,与用户设备帐户相关联的。 如果没有与用户帐户关联的分组,此属性应包含一个空数组。 如果发生错误,该属性可以为空数组[]。阵列中允许的最大项目数量为10。
/// </summary>
public List<DiscoveredGroups> discoveredGroups { get; set; }
/// <summary>
/// 设备操作的具体对象包括applianceId和additionalApplianceDetails。
/// </summary>
public Appliance appliance { get; set; }
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public List<Attributes> attributes { get; set; }
/// <summary>
/// 灯光亮度的对象。
/// </summary>
public Brightness brightness { get; set; }
/// <summary>
/// 温度设置成功后的设备模式。
/// </summary>
public Mode mode { get; set; }
/// <summary>
/// 温度设置成功后设备的温度是double类型。
/// </summary>
public Temperature targetTemperature { get; set; }
/// <summary>
/// 设备的风速对象包含一个属性值value。
/// </summary>
public FanSpeed fanSpeed { get; set; }
/// <summary>
/// 亮度设置前的对象。
/// </summary>
public PreviousState previousState { get; set; }
/// <summary>
/// 亮度增加的百分比对象。
/// </summary>
public DeltaPercentage deltaPercentage { get; set; }
/// <summary>
/// 灯设置的颜色。包括色相、饱和度、亮度HSB颜色模型。
/// </summary>
public Color color { get; set; }
/// <summary>
/// 颜色更改后设备的状态
/// </summary>
public AchievedState achievedState { get; set; }
/// <summary>
/// 设备温度调整信息
/// </summary>
public DeltaValue deltaValue { get; set; }
}
/// <summary>
/// 发现设备请求
/// </summary>
public class DiscoverAppliancesRequest
{
public Header header { get; set; }
public Payload payload { get; set; }
}
/// <summary>
/// 发现设备响应
/// </summary>
public class DiscoverAppliancesResponse
{
public Header header { get; set; }
public Payload payload { get; set; }
}
/// <summary>
/// 控制设备请求
/// </summary>
public class ControlAppliancesRequest
{
public Header header { get; set; }
public Payload payload { get; set; }
}
/// <summary>
/// 控制设备响应
/// </summary>
public class ControlAppliancesResponse
{
public Header header { get; set; }
public Payload payload { get; set; }
}
public class ErrorResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}

101
Domain/IoTOpenAIEntity.cs Normal file
View File

@@ -0,0 +1,101 @@
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>
/// 设备类型详细支持的设备列表见附录airControllightcurtain
/// </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; }
}
}

View File

@@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTRemoteControlEntity
{
public class Request
{
/// <summary>
/// 客控厂商提供给每个酒店的账号ID
/// </summary>
public string userId { get; set; }
/// <summary>
/// 房间号
/// </summary>
public string roomNum { get; set; }
/// <summary>
/// 遥控器名称标示
/// </summary>
public string command { get; set; }
/// <summary>
/// 传递词条
/// </summary>
public string mode { get; set; }
/// <summary>
/// 时间戳,秒
/// </summary>
public long timestamp { get; set; }
/// <summary>
/// (userId+roomNum+ timestamp)的md5值
/// </summary>
public string sign { get; set; }
}
/// <summary>
/// 统⼀错误
/// </summary>
public class Error
{
/// <summary>
/// 0成功-1失败
/// </summary>
public int code { get; set; }
/// <summary>
/// 失败内容
/// </summary>
public string msg { get; set; }
}
}

451
Domain/IoTRokidEntity.cs Normal file
View File

@@ -0,0 +1,451 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.Rokid.Request
{
public class Authorization
{
/// <summary>
/// BearerToken
/// </summary>
public string type { get; set; }
/// <summary>
/// a-token-from-skill
/// </summary>
public string token { get; set; }
}
public class Header
{
/// <summary>
/// 5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4
/// </summary>
public string messageId { get; set; }
/// <summary>
/// Rokid.Control
/// </summary>
public string @namespace { get; set; }
/// <summary>
/// Brightness.Adjust
/// </summary>
public string name { get; set; }
/// <summary>
/// v1
/// </summary>
public string payloadVersion { get; set; }
/// <summary>
/// Authorization
/// </summary>
public Authorization authorization { get; set; }
}
public class AdditionalInfo
{
/// <summary>
/// value
/// </summary>
public string key { get; set; }
}
public class States
{
/// <summary>
/// Color
/// </summary>
public string @interface { get; set; }
/// <summary>
/// Value
/// </summary>
public string value { get; set; }
}
public class Endpoint
{
/// <summary>
/// 开发者自己定义的终端Id
/// </summary>
public string endpointId { get; set; }
/// <summary>
/// AdditionalInfo
/// </summary>
public AdditionalInfo additionalInfo { get; set; }
/// <summary>
/// States
/// </summary>
public List<States> states { get; set; }
}
public class Payload
{
/// <summary>
/// 相对值
/// </summary>
public int? delta { get; set; }
/// <summary>
/// 百分比
/// </summary>
public int? value { get; set; }
}
public class RootRequest
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Endpoint
/// </summary>
public Endpoint endpoint { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}
namespace Domain.Rokid.Discovery
{
public class Header
{
/// <summary>
/// 5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4
/// </summary>
public string messageId { get; set; }
/// <summary>
/// Rokid
/// </summary>
public string @namespace { get; set; }
/// <summary>
/// DiscoveryResponse
/// </summary>
public string name { get; set; }
/// <summary>
/// v1
/// </summary>
public string payloadVersion { get; set; }
}
public class AdditionalInfo
{
/// <summary>
/// value
/// </summary>
public string key { get; set; }
}
public class Capabilities
{
/// <summary>
/// Switch
/// </summary>
public string @interface { get; set; }
/// <summary>
/// SupportedOperations
/// </summary>
public List<string> supportedOperations { get; set; }
/// <summary>
/// ProactivelyReported
/// </summary>
public bool proactivelyReported { get; set; }
/// <summary>
/// Retrievable
/// </summary>
public bool retrievable { get; set; }
}
/// <summary>
/// 自定义技能
/// </summary>
public static class CustomerCapabilities
{
/// <summary>
/// 开关技能
/// </summary>
/// <returns></returns>
public static List<Capabilities> SwitchCapabilities()
{
List<Capabilities> capabilities = new List<Capabilities>();
capabilities.Add(new Capabilities
{
@interface = "Switch",
supportedOperations = new List<string> { "On", "Off" },
proactivelyReported = true,
retrievable = true
});
return capabilities;
}
/// <summary>
/// 窗帘技能
/// </summary>
/// <returns></returns>
public static List<Capabilities> MotionSwitchCapabilities()
{
List<Capabilities> capabilities = new List<Capabilities>();
capabilities.Add(new Capabilities
{
@interface = "Switch",
supportedOperations = new List<string> { "On", "Off" },
proactivelyReported = true,
retrievable = true
});
capabilities.Add(new Capabilities
{
@interface = "MotionSwitch",
supportedOperations = new List<string> { "On", "Off" },
proactivelyReported = true,
retrievable = true
});
return capabilities;
}
/// <summary>
/// 调光技能
/// </summary>
/// <returns></returns>
public static List<Capabilities> BrightnessCapabilities()
{
List<Capabilities> capabilities = new List<Capabilities>();
capabilities.Add(new Capabilities
{
@interface = "Switch",
supportedOperations = new List<string> { "On", "Off" },
proactivelyReported = true,
retrievable = true
});
capabilities.Add(new Capabilities
{
@interface = "Brightness",
supportedOperations = new List<string> { "Set", "SetMax", "SetMin", "Adjust" },
proactivelyReported = true,
retrievable = true
});
return capabilities;
}
/// <summary>
/// 空调技能
/// </summary>
/// <returns></returns>
public static List<Capabilities> AirCapabilities()
{
List<Capabilities> capabilities = new List<Capabilities>();
capabilities.Add(new Capabilities
{
@interface = "Switch",//开关
supportedOperations = new List<string> { "On", "Off" },
proactivelyReported = true,
retrievable = true
});
capabilities.Add(new Capabilities
{
@interface = "Temperature",//温度
supportedOperations = new List<string> { "Set", "SetMax", "SetMin", "Adjust" },
proactivelyReported = true,
retrievable = true
});
capabilities.Add(new Capabilities
{
@interface = "FanSpeed",//风速
supportedOperations = new List<string> { "Set", "SetMax", "SetMin", "Adjust" },//自动0,高3,低1,中2
proactivelyReported = true,
retrievable = true
});
capabilities.Add(new Capabilities
{
@interface = "Mode",//模式
supportedOperations = new List<string> { "Auto", "Cool", "Heat", "Fan" },//"Manual","Dry", "Silent", "Energy", "Sleep"
proactivelyReported = true,
retrievable = true
});
return capabilities;
}
}
public class States
{
/// <summary>
/// Switch
/// </summary>
public string @interface { get; set; }
/// <summary>
/// On
/// </summary>
public string value { get; set; }
/// <summary>
/// 2018-03-15T18:00:00.000Z
/// </summary>
public string timeOfSample { get; set; }
}
public class Endpoints
{
/// <summary>
/// blwrcu_8101_light001
/// </summary>
public string endpointId { get; set; }
/// <summary>
/// light
/// </summary>
public string displayType { get; set; }
/// <summary>
/// 床头灯
/// </summary>
public string displayName { get; set; }
/// <summary>
/// 房号
/// </summary>
public string recommendRoomName { get; set; }
/// <summary>
/// 家名
/// </summary>
public string recommendHomeName { get; set; }
/// <summary>
/// GROSS-REIS-LAMPE-ALPHA
/// </summary>
public string modelId { get; set; }
/// <summary>
/// AdditionalInfo
/// </summary>
public AdditionalInfo additionalInfo { get; set; }
/// <summary>
/// Capabilities
/// </summary>
public List<Capabilities> capabilities { get; set; }
/// <summary>
/// States
/// </summary>
public List<States> states { get; set; }
}
public class Payload
{
/// <summary>
/// Endpoints
/// </summary>
public List<Endpoints> endpoints { get; set; }
}
public class DiscoveryResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}
namespace Domain.Rokid.Control
{
public class Header
{
/// <summary>
/// 5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4
/// </summary>
public string messageId { get; set; }
/// <summary>
/// Rokid
/// </summary>
public string @namespace { get; set; }
/// <summary>
/// Response
/// </summary>
public string name { get; set; }
/// <summary>
/// v1
/// </summary>
public string payloadVersion { get; set; }
}
public class States
{
/// <summary>
/// Color
/// </summary>
public string @interface { get; set; }
/// <summary>
/// Value
/// </summary>
public string value { get; set; }
}
public class Endpoint
{
/// <summary>
/// 开发者自己定义的终端Id
/// </summary>
public string endpointId { get; set; }
/// <summary>
/// States
/// </summary>
public List<States> states { get; set; }
}
public class Payload
{
}
public class ControlResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Endpoint
/// </summary>
public Endpoint endpoint { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}
namespace Domain.Rokid.Error
{
public class Header
{
/// <summary>
/// 789-123
/// </summary>
public string messageId { get; set; }
/// <summary>
/// Rokid
/// </summary>
public string @namespace { get; set; }
/// <summary>
/// ErrorResponse
/// </summary>
public string name { get; set; }
/// <summary>
/// v1
/// </summary>
public string payloadVersion { get; set; }
}
public class Payload
{
/// <summary>
/// E_DRIVER_ERROR
/// </summary>
public string name { get; set; }
/// <summary>
/// 发生了一些不可告人的错误
/// </summary>
public string message { get; set; }
}
public class ErrorResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}

29
Domain/IoTTCLEntity.cs Normal file
View File

@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTTCLEntity
{
public class TCLRequest
{
public string code { get; set; }
public string msg { get; set; }
public List<TCLData> data { get; set; }
public TCLInfo info { get; set; }
}
public class TCLData
{
public string deviceID { get; set; }
public string deviceType { get; set; }
public string deviceName { get; set; }
public string value { get; set; }
}
public class TCLInfo
{
public string hotel { get; set; }
public string room { get; set; }
public string mac { get; set; }
}
}

544
Domain/IoTXiaoDuEntity.cs Normal file
View File

@@ -0,0 +1,544 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTXiaoDuEntity
{
public class Header
{
/// <summary>
/// 消息的唯一标识符长度小于128个字符。messageId仅用于标识消息无其他使用。建议使用随机生成的UUID作为messageId。
/// </summary>
public string messageId { get; set; }
/// <summary>
/// 指令的类别。 目前支持的类别有DuerOS.ConnectedHome.Discovery发现设备指令。DuerOS.ConnectedHome.Control控制设备指令。DuerOS.ConnectedHome.Query查询设备指令。
/// </summary>
public string @namespace { get; set; }
/// <summary>
/// 指令的名称。
/// </summary>
public string name { get; set; }
/// <summary>
/// payload的版本号。
/// </summary>
public string payloadVersion { get; set; }
}
/// <summary>
/// 表示设备定时设置的值,它指定一个数字,代表时间戳,单位是秒。
/// </summary>
public class Timestamp
{
//public double value { get; set; }
/// <summary>
/// 定时:每天
/// </summary>
public string raw { get; set; }
}
public class Value
{
public string timePoint { get; set; }
public string cycle { get; set; }
}
/// <summary>
/// 设备的亮度
/// </summary>
public class Brightness
{
/// <summary>
/// 灯光亮度的百分比值是double类型取值范围为0100。其中0表示灯在打开时的最小亮度100表示灯的最大亮度。
/// </summary>
public double value { get; set; }
}
public class RGBValue
{
public LightingRgb value { get; set; }
}
public class LightingRgb
{
public string r { get; set; }
public string g { get; set; }
public string b { get; set; }
}
public class DeltaPercentage
{
/// <summary>
/// 亮度增加的百分比值是float类型取值范围是0100。
/// </summary>
public float value { get; set; }
}
public class DeltaValue
{
/// <summary>
/// 设备调整温度值是float类型。
/// </summary>
public string value { get; set; }
/// <summary>
/// 温度计量单位。有CELSIUS(摄氏温度)和FAHRENHEIT(华氏温度)两种计量单位默认使用CELSIUS。
/// </summary>
public string scale { get; set; }
}
public class Color
{
/// <summary>
/// 灯光设置的色相是double类型取值范围为0.00〜360.00。
/// </summary>
public double hue { get; set; }
/// <summary>
/// 灯光设置饱和度是double类型取值范围为0.0000〜1.0000。
/// </summary>
public double saturation { get; set; }
/// <summary>
/// 灯光设置的亮度是double类型取值范围为0.0000〜1.0000。
/// </summary>
public double brightness { get; set; }
}
public class TargetTemperature
{
/// <summary>
/// 设备设定的目标温度值。
/// </summary>
public string value { get; set; }
/// <summary>
/// 温度计量单位。有CELSIUS(摄氏温度)和FAHRENHEIT(华氏温度)两种计量单位默认使用CELSIUS。
/// </summary>
public string scale { get; set; }
}
/// <summary>
/// 温度设定之前的设备模式。
/// </summary>
public class Mode
{
/// <summary>
/// 设备类型
/// </summary>
public string deviceType { get; set; }
/// <summary>
/// 设备模式,与设备类型相关,不同设备类型的模式不同
/// </summary>
public string value { get; set; }
}
public class Temperature
{
/// <summary>
/// 温度设定之前设备的温度是double类型。
/// </summary>
public double value { get; set; }
}
/// <summary>
/// 设备的风速对象包含一个属性值value或者一个属性值level取决于用户自然表达。
/// </summary>
public class FanSpeed
{
/// <summary>
/// 设备的风速值是int类型取值范围是110。用户表达具体风速值时会出该字段。
/// </summary>
public int value { get; set; }
/// <summary>
/// 设备的风速档位级别是string类型取值范围是(min、low、middle、high、max、auto))。用户表达风速级别时,会出该字段。
/// </summary>
public string level { get; set; }
}
/// <summary>
/// 设备移动方向信息。
/// </summary>
public class Direction
{
/// <summary>
/// 方向设置值的列表,目前支持的值有:FORWARD向前BACKWARD向后LEFT向左RIGHT向右CLOCKWISE顺时针转COUNTERCLOCKWISE逆时针转
/// </summary>
public string value { get; set; }
/// <summary>
/// 方向类型,目前支持的值有:MOVE移动BLOW吹风SWING摇摆
/// </summary>
public string type { get; set; }
}
public class Request
{
public class Appliance
{
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
/// <summary>
/// 提供给设备云使用存放设备或场景相关的附加信息是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
/// </summary>
public Dictionary<string, string> additionalApplianceDetails { get; set; }
}
public class Payload
{
/// <summary>
/// 设备云端获取的access token。
/// </summary>
public string accessToken { get; set; }
/// <summary>
/// 被授权的百度账号开放ID与设备云账号一一对应。设备云端需要将该字段与用户账号一一对应起来存储其它协议中如果需要携带openUid字段时则需要返回用户账号对应的openUid值。
/// </summary>
public string openUid { get; set; }
/// <summary>
/// 客房音箱设备序列码
/// </summary>
public string cuid { get; set; }
/// <summary>
/// 自定义技能ID
/// </summary>
public string botId { get; set; }
/// <summary>
/// 设备操作的具体对象包括applianceId和additionalApplianceDetails。
/// </summary>
public Appliance appliance { get; set; }
/// <summary>
/// 表示打开设备的子功能,例如,打开关闭灶台的灯光、根据此字段识别此类的请求
/// </summary>
public string function { get; set; }
/// <summary>
/// 表示设备定时设置的值,它指定一个数字,代表时间戳,单位是秒。
/// </summary>
public Timestamp timestamp { get; set; }
/// <summary>
/// 灯光亮度的对象。
/// </summary>
public Brightness brightness { get; set; }
/// <summary>
/// RGB灯
/// </summary>
public RGBValue lightingRgb { get; set; }
/// <summary>
/// 亮度增加的百分比对象。
/// </summary>
public DeltaPercentage deltaPercentage { get; set; }
/// <summary>
/// 灯设置的颜色。包括色相、饱和度、亮度HSB颜色模型。
/// </summary>
public Color color { get; set; }
/// <summary>
/// 设备温度调整信息
/// </summary>
public DeltaValue deltaValue { get; set; }
/// <summary>
/// 设备设定的目标温度。
/// </summary>
public TargetTemperature targetTemperature { get; set; }
public TargetTemperature colorTemperature { get; set; }
/// <summary>
/// 设备设定的目标风风速。
/// </summary>
public FanSpeed fanSpeed { get; set; }
/// <summary>
/// 设备设定的目标风模式
/// </summary>
public Mode mode { get; set; }
/// <summary>
/// 设备移动方向信息。
/// </summary>
public Direction direction { get; set; }
}
public class AppliancesRequest
{
public Header header { get; set; }
public Payload payload { get; set; }
}
}
public class DiscoverResponse
{
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public class Attributes
{
/// <summary>
/// 属性名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string name { get; set; }
/// <summary>
/// 属性值支持多种json类型。
/// </summary>
public string value { get; set; }
/// <summary>
/// 属性值的单位名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string scale { get; set; }
/// <summary>
/// 属性值取样的时间戳,单位是秒。
/// </summary>
public string timestampOfSample { get; set; }
/// <summary>
/// 属性值取样的时间误差单位是ms。如果设备使用的是轮询时间间隔的取样方式那么uncertaintyInMilliseconds就等于时间间隔。如温度传感器每1秒取样1次那么uncertaintyInMilliseconds的值就是1000。
/// </summary>
public string uncertaintyInMilliseconds { get; set; }
}
/// <summary>
/// discoveredGroups 对象的数组,该对象包含可发现分组,与用户设备帐户相关联的。 如果没有与用户帐户关联的分组,此属性应包含一个空数组。 如果发生错误,该属性可以为空数组[]。阵列中允许的最大项目数量为10。
/// </summary>
public class DiscoveredGroups
{
/// <summary>
/// 用户用来识别分组的名称, 不应包含特殊字符或标点符号长度不超过20字符。
/// </summary>
public string groupName { get; set; }
/// <summary>
/// 分组所包含设备ID的数组要求设备ID必须是已经发现的设备中的ID否则会同步失败每个分组设备ID数量不超过50。
/// </summary>
public List<string> applianceIds { get; set; }
/// <summary>
/// 分组备注信息不能超过128个字符。
/// </summary>
public string groupNotes { get; set; }
/// <summary>
/// 提供给技能使用的分组相关的附加信息的键值对。该属性的内容不能超过2000字符。而且DuerOS也不了解或使用这些数据。
/// </summary>
public Dictionary<string, string> additionalGroupDetails { get; set; }
}
public class DiscoveredAppliances
{
/// <summary>
/// 支持的设备、场景类型。
/// </summary>
public List<string> applianceTypes { get; set; }
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
/// <summary>
/// 设备型号名称是字符串类型长度不能超过128个字符。
/// </summary>
public string modelName { get; set; }
/// <summary>
/// 供应商提供的设备版本。是字符串类型长度不能超过128个字符。
/// </summary>
public string version { get; set; }
/// <summary>
/// 用户用来识别设备的名称。 是字符串类型不能包含特殊字符和标点符号长度不能超过128个字符。
/// </summary>
public string friendlyName { get; set; }
/// <summary>
/// 设备相关的描述描述内容提需要提及设备厂商使用场景及连接方式长度不超过128个字符。
/// </summary>
public string friendlyDescription { get; set; }
/// <summary>
/// 别名
/// </summary>
public List<string> nicknames { get; set; }
/// <summary>
/// 设备当前是否能够到达。true表示设备当前可以到达false表示当前设备不能到达。
/// </summary>
public bool reachable { get; set; }
/// <summary>
/// 设备支持的操作类型数组。
/// </summary>
public List<string> actions { get; set; }
/// <summary>
/// 提供给设备云使用存放设备或场景相关的附加信息是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
/// </summary>
public Dictionary<string, string> additionalApplianceDetails { get; set; }
/// <summary>
/// 设备厂商的名字。
/// </summary>
public string manufacturerName { get; set; }
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
//public List<Attributes> attributes { get; set; }
}
public class Payload
{
/// <summary>
/// 以对象数组返回客户关联设备云帐户的设备、场景。如客户关联帐户没有设备、场景则返回空数组。如果在发现过程中出现错误字段值设置为null, 用户允许接入的最大的设备数量是300。
/// </summary>
public List<DiscoveredAppliances> discoveredAppliances { get; set; }
/// <summary>
/// 对象的数组,该对象包含可发现分组,与用户设备帐户相关联的。 如果没有与用户帐户关联的分组,此属性应包含一个空数组。 如果发生错误,该属性可以为空数组[]。阵列中允许的最大项目数量为10。
/// </summary>
public List<DiscoveredGroups> discoveredGroups { get; set; }
}
public class AppliancesResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// 设备信息
/// </summary>
public Payload payload { get; set; }
}
}
public class ControlRequest
{
public class Appliance
{
/// <summary>
/// 设备标识符。标识符在用户拥有的所有设备上必须是唯一的。此外标识符需要在同一设备的多个发现请求之间保持一致。标识符可以包含任何字母或数字和以下特殊字符_ - = # ; : ? @ &。标识符不能超过256个字符。
/// </summary>
public string applianceId { get; set; }
/// <summary>
/// 提供给设备云使用存放设备或场景相关的附加信息是键值对。DuerOS不解析或使用这些数据。该属性的内容不能超过5000字节。
/// </summary>
public Dictionary<string, string> additionalApplianceDetails { get; set; }
}
public class Payload
{
/// <summary>
/// 设备云端获取的access token。
/// </summary>
public string accessToken { get; set; }
/// <summary>
/// 设备操作的具体对象包括applianceId和additionalApplianceDetails。
/// </summary>
public Appliance appliance { get; set; }
/// <summary>
/// 表示设备定时设置的值,它指定一个数字,代表时间戳,单位是秒。
/// </summary>
public string timestamp { get; set; }
/// <summary>
/// 灯光亮度的对象。
/// </summary>
public Brightness brightness { get; set; }
/// <summary>
/// 亮度增加的百分比对象。
/// </summary>
public DeltaPercentage deltaPercentage { get; set; }
/// <summary>
/// 灯设置的颜色。包括色相、饱和度、亮度HSB颜色模型。
/// </summary>
public Color color { get; set; }
/// <summary>
/// 设备温度调整信息
/// </summary>
public DeltaValue deltaValue { get; set; }
/// <summary>
/// 设备设定的目标温度。
/// </summary>
public TargetTemperature targetTemperature { get; set; }
/// <summary>
/// 设备的风速对象包含一个属性值value或者一个属性值level取决于用户自然表达。
/// </summary>
public FanSpeed fanSpeed { get; set; }
}
public class ControlAppRequest
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}
public class ControlResponse
{
/// <summary>
/// 设备的属性信息。当设备没有属性信息时协议中不需要传入该字段。每个设备允许同步的最大的属性数量是10。
/// </summary>
public class Attributes
{
/// <summary>
/// 属性名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string name { get; set; }
/// <summary>
/// 属性值支持多种json类型。
/// </summary>
public string value { get; set; }
/// <summary>
/// 属性值的单位名称支持数字、字母和下划线长度不能超过128个字符。
/// </summary>
public string scale { get; set; }
/// <summary>
/// 属性值取样的时间戳,单位是秒。
/// </summary>
public string timestampOfSample { get; set; }
/// <summary>
/// 属性值取样的时间误差单位是ms。如果设备使用的是轮询时间间隔的取样方式那么uncertaintyInMilliseconds就等于时间间隔。如温度传感器每1秒取样1次那么uncertaintyInMilliseconds的值就是1000。
/// </summary>
public string uncertaintyInMilliseconds { get; set; }
}
public class PreviousState
{
/// <summary>
/// 亮度设置前的对象。
/// </summary>
public Brightness brightness { get; set; }
/// <summary>
/// 温度设置成功后的设备模式。
/// </summary>
public Mode mode { get; set; }
/// <summary>
/// 温度设置成功后设备的温度是double类型。
/// </summary>
public Temperature temperature { get; set; }
/// <summary>
/// 设备的风速对象包含一个属性值value。
/// </summary>
public FanSpeed fanSpeed { get; set; }
}
public class Payload
{
/// <summary>
/// 亮度设置后的对象。
/// </summary>
public Brightness brightness { get; set; }
/// <summary>
/// 亮度设置前的对象。
/// </summary>
public PreviousState previousState { get; set; }
/// <summary>
/// 设备属性信息,支持上报一个或多个属性信息。
/// </summary>
public List<Attributes> attributes { get; set; }
/// <summary>
/// 温度设置后的对象。
/// </summary>
public Temperature temperature { get; set; }
/// <summary>
/// 风速设置后的对象。
/// </summary>
public FanSpeed fanSpeed { get; set; }
/// <summary>
/// 模式设置后的对象。
/// </summary>
public Mode mode { get; set; }
}
public class ControlAppResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}
public class Error
{
public class Payload
{
}
public class ErrorResponse
{
/// <summary>
/// Header
/// </summary>
public Header header { get; set; }
/// <summary>
/// Payload
/// </summary>
public Payload payload { get; set; }
}
}
}

102
Domain/IoTXiaoMiEntity.cs Normal file
View File

@@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain.IoTXiaoMiEntity
{
/// <summary>
/// 统⼀请求头
/// </summary>
public class Header
{
}
/// <summary>
/// 统⼀请求body
/// </summary>
public class Body
{
/// <summary>
/// 该Id 由请求服务器⽣成消息应答和信息请求中的requedtId 必须⼀致
/// </summary>
public string requestId { get; set; }
/// <summary>
/// 该属性由请求服务器发送消息应答和信息请求中的intent 必须⼀致
/// </summary>
public string intent { get; set; }
/// <summary>
/// 根据请求接⼝的不同,内容也不同
/// </summary>
public Data data { get; set; }
}
/// <summary>
/// 根据请求接⼝的不同,内容也不同
/// </summary>
public class Data
{
/// <summary>
/// 为房间绑定的唯⼀⾳箱SN
/// </summary>
public string uniqueKey { get; set; }
}
/// <summary>
/// 回复同步设备
/// </summary>
public class Response
{
/// <summary>
/// 该Id 由请求服务器⽣成消息应答和信息请求中的requedtId 必须⼀致
/// </summary>
public string requestId { get; set; }
/// <summary>
/// 该属性由请求服务器发送消息应答和信息请求中的intent 必须⼀致
/// </summary>
public string intent { get; set; }
/// <summary>
/// 特殊情况会说明,未说明置空
/// </summary>
public string kind { get; set; }
/// <summary>
/// 设备信息
/// </summary>
public List<Device> devices { get; set; }
}
/// <summary>
/// 设备信息
/// </summary>
public class Device
{
/// <summary>
/// 枚举值:"Scene", "Light", "AC", "Curtain", "TV", "Switch"
/// </summary>
public string deviceType { get; set; }
/// <summary>
/// did 即DeviceID是设备的唯⼀标识符必须是字符串不能超过50个字符该did由开发者⾃⾏设置场景类型下did对应场景ID如 “SCENE-SWIMMING-18”
/// </summary>
public string did { get; set; }
/// <summary>
/// 产品的名称,该字段由开发者⾃⾏设置
/// </summary>
public string deviceName { get; set; }
/// <summary>
/// ⾃定义标识如没有可传空⾮场景类型下都为空串场景类型下personalize对应触发关键字触发语句通过逗号分隔
/// </summary>
public string personalize { get; set; }
}
/// <summary>
/// 统⼀错误
/// </summary>
public class Error
{
/// <summary>
/// -101
/// </summary>
public int code { get; set; }
/// <summary>
///
/// </summary>
public string description { get; set; }
}
}

26
Domain/KongTiaoTimer.cs Normal file
View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// 它的名字虽然是KongTiao ,但是只要有 定期延时的任务,都可以用它来 延期执行,时间不限
/// 比如 5天50天100天等
/// </summary>
public class KongTiaoTimer
{
public virtual int ID { get; set; }
public virtual int HotelID { get; set; }
public virtual string HotelCode { get; set; }
public virtual int HostID { get; set; }
public virtual string RoomNo { get; set; }
public virtual string MissonKey { get; set; }
public virtual int IsCancel { get; set; }
public virtual string StartTime { get; set; }
public virtual string EndTime { get; set; }
public virtual string CreateTime { get; set; }
public virtual string CreateDate { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.KongTiaoTimer, Domain" table="KongTiaoTimer">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="HotelID" column="HotelID" type="int" />
<property name="HotelCode" column="HotelCode" type="string" />
<property name="HostID" column="HostID" type="int" />
<property name="RoomNo" column="RoomNo" type="string" />
<property name="MissonKey" column="MissonKey" type="string" />
<property name="IsCancel" column="IsCancel" type="int" />
<property name="StartTime" column="StartTime" type="string" />
<property name="EndTime" column="EndTime" type="string" />
<property name="CreateTime" column="CreateTime" type="string" />
</class>
</hibernate-mapping>

25
Domain/Language.cs Normal file
View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public enum Language
{
/// <summary>
/// 中文
/// </summary>
CN = 0,
/// <summary>
/// 英文
/// </summary>
EN = 1,
/// <summary>
/// 台湾繁体
/// </summary>
ZH_TW = 2
}
}

26
Domain/LieECO.cs Normal file
View File

@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// </summary>
public class LieECO
{
public virtual int ID { get; set; }
public virtual string StartTime { get; set; }
public virtual string EndTime { get; set; }
public virtual bool AbsEnable { get; set; }
public virtual int AbsValue { get; set; }
public virtual bool RelativeEnable { get; set; }
public virtual int RelativeValue { get; set; }
public virtual bool IsEnable { get; set; }
public virtual int DelayTime{get;set;}
public virtual string HotelCode { get; set; }
public virtual int HotelID { get; set; }
public virtual DateTime CreateTime { get; set; }
}
}

19
Domain/LieECO.hbm.xml Normal file
View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Domain.LieECO, Domain" table="LieECO">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="StartTime" column="StartTime" type="string" />
<property name="EndTime" column="EndTime" type="string" />
<property name="AbsEnable" column="AbsEnable" type="bool" />
<property name="AbsValue" column="AbsValue" type="int" />
<property name="RelativeEnable" column="RelativeEnable" type="bool" />
<property name="RelativeValue" column="RelativeValue" type="int" />
<property name="IsEnable" column="IsEnable" type="bool" />
<property name="DelayTime" column="DelayTime" type="int" />
<property name="HotelCode" column="HotelCode" type="string" />
<property name="HotelID" column="HotelID" type="int" />
<property name="CreateTime" column="CreateTime" type="DateTime" />
</class>
</hibernate-mapping>

63
Domain/LightScene.cs Normal file
View File

@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
/// <summary>
/// 灯光模式设置
/// </summary>
public class LightSceneSetting
{
/// <summary>
/// 控制类型0/开关模式1/定时模式
/// </summary>
public int Type;
/// <summary>
/// 开关模式下有效
/// </summary>
public bool OnOff;
/// <summary>
/// 定时模式下有效,定时启用标志
/// </summary>
public bool TimeFlag;
/// <summary>
/// 定时开始时间1
/// </summary>
public string TimeStart1;
/// <summary>
/// 定时结束时间1
/// </summary>
public string TimeEnd1;
/// <summary>
/// 定时开始时间2
/// </summary>
public string TimeStart2;
/// <summary>
/// 定时结束时间2
/// </summary>
public string TimeEnd2;
/// <summary>
/// 定时开始时间3
/// </summary>
public string TimeStart3;
/// <summary>
/// 定时结束时间3
/// </summary>
public string TimeEnd3;
/// <summary>
/// 灯光模式ID
/// </summary>
public int SceneID;
}
}

59
Domain/ManualVisit.cs Normal file
View File

@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class ManualVisit
{
/// <summary>
/// ID
/// </summary>
public virtual long ID
{
get;
set;
}
/// <summary>
/// 姓名
/// </summary>
public virtual string Name
{
get;
set;
}
/// <summary>
/// 公司名
/// </summary>
public virtual string CompanyName
{
get;
set;
}
/// <summary>
/// 电话号码
/// </summary>
public virtual string PhoneNumber
{
get;
set;
}
/// <summary>
/// 验证码
/// </summary>
public virtual string ValidateCode
{
get;
set;
}
/// <summary>
/// 创建时间
/// </summary>
public virtual DateTime CreatedDate
{
get;
set;
}
}
}

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="ManualVisit" table="tb_ManualVisit">
<id name="ID" column="ID" type="long" unsaved-value="0">
<generator class="native" />
</id>
<property name="Name" column="Name" type="string" length="20" />
<property name="CompanyName" column="CompanyName" type="string" length="30" />
<property name="PhoneNumber" column="PhoneNumber" type="string" length="20" />
<property name="ValidateCode" column="ValidateCode" type="string" length="4" />
<property name="CreatedDate" column="CreatedDate" type="DateTime" />
</class>
</hibernate-mapping>

27
Domain/ModalType.cs Normal file
View File

@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class ModalType
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// Name
/// </summary>
public virtual string Name
{
get;
set;
}
}
}

9
Domain/ModalType.hbm.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="ModalType" table="tb_ModalType">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="assigned" />
</id>
<property name="Name" column="Name" type="string" />
</class>
</hibernate-mapping>

134
Domain/Model.cs Normal file
View File

@@ -0,0 +1,134 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class Model
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// 配置方案名称
/// </summary>
public virtual string Name
{
get;
set;
}
/// <summary>
/// 温度修正值
/// </summary>
public virtual int CorrectedTemp
{
get;
set;
}
/// <summary>
/// 到达温度后风机是否保持低速运行
/// </summary>
public virtual bool FanRunStatus
{
get;
set;
}
/// <summary>
/// 屋内无人时排气扇状态0关1开2定时
/// </summary>
public virtual int ExhaustFanStatus
{
get;
set;
}
/// <summary>
/// 定时时长(分钟/每小时)
/// </summary>
public virtual int ExhausFanTime
{
get;
set;
}
/// <summary>
/// 红外延时断电时间(分)
/// </summary>
public virtual int InfraredDelayPO
{
get;
set;
}
/// <summary>
/// 门磁延时断电时间(秒)
/// </summary>
public virtual int DoorDelayPO
{
get;
set;
}
/// <summary>
/// 拔卡延时断电时间(秒)
/// </summary>
public virtual int PullCardDelayPO
{
get;
set;
}
/// <summary>
/// 节能模式详细
/// </summary>
public virtual ICollection<ModelDetail> Details
{
get;
set;
}
/// <summary>
/// 备注
/// </summary>
public virtual string Remark
{
get;
set;
}
/// <summary>
/// 编辑时间
/// </summary>
public virtual DateTime ModifiedDate
{
get;
set;
}
/// <summary>
/// 应用时间
/// </summary>
public virtual DateTime? ApplyDate
{
get;
set;
}
/// <summary>
/// 操作人
/// </summary>
public virtual string ApplyUser
{
get;
set;
}
/// <summary>
/// 所应用的主机ID以逗号隔开
/// </summary>
public virtual string Hosts
{
get;
set;
}
}
}

26
Domain/Model.hbm.xml Normal file
View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="Model" table="tb_Models">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="Name" column="Name" type="string" />
<property name="CorrectedTemp" column="CorrectedTemp" type="int" />
<property name="FanRunStatus" column="FanRunStatus" type="bool" />
<property name="ExhaustFanStatus" column="ExhaustFanStatus" type="int" />
<property name="ExhausFanTime" column="ExhausFanTime" type="int" />
<property name="InfraredDelayPO" column="InfraredDelayPO" type="int" />
<property name="DoorDelayPO" column="DoorDelayPO" type="int" />
<property name="PullCardDelayPO" column="PullCardDelayPO" type="int" />
<bag name="Details" table="tb_ModelDetail" cascade="all" inverse="true" lazy="false">
<key column="ModelID"/>
<one-to-many class="ModelDetail" />
</bag>
<property name="Remark" column="Remark" type="string" />
<property name="ModifiedDate" column="ModifiedDate" type="DateTime" />
<property name="ApplyDate" column="ApplyDate" type="DateTime" />
<property name="ApplyUser" column="ApplyUser" type="string" />
<property name="Hosts" column="Hosts" type="string" />
</class>
</hibernate-mapping>

102
Domain/ModelDetail.cs Normal file
View File

@@ -0,0 +1,102 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class ModelDetail
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// Model
/// </summary>
public virtual Model Model
{
get;
set;
}
/// <summary>
/// 状态
/// </summary>
public virtual string ModelStatus
{
get;
set;
}
/// <summary>
/// 开关
/// </summary>
public virtual byte OnOff
{
get;
set;
}
/// <summary>
/// 类型手动0自动1
/// </summary>
public virtual ModelType ModelType
{
get;
set;
}
/// <summary>
/// 速度停止0低速1中速2高速3
/// </summary>
public virtual SpeedType? Speed
{
get;
set;
}
/// <summary>
/// 夏季温度
/// </summary>
public virtual int? SummerTemp
{
get;
set;
}
/// <summary>
/// 冬季温度
/// </summary>
public virtual int? WinterTemp
{
get;
set;
}
/// <summary>
/// 定时控制
/// </summary>
public virtual bool TimingControl
{
get;
set;
}
/// <summary>
/// 定时时长(分钟/每小时)
/// </summary>
public virtual int? Timer
{
get;
set;
}
/// <summary>
/// 允许用电
/// </summary>
public virtual bool AllowElectric
{
get;
set;
}
}
}

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="ModelDetail" table="tb_ModelDetail">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<many-to-one name="Model" class="Model" column="ModelID" cascade="none" />
<property name="ModelStatus" column="ModelStatus" type="string" />
<property name="OnOff" column="OnOff" type="byte" />
<property name="ModelType" column="ModelType" type="ModelType" />
<property name="Speed" column="Speed" type="SpeedType" />
<property name="SummerTemp" column="SummerTemp" type="int" />
<property name="WinterTemp" column="WinterTemp" type="int" />
<property name="TimingControl" column="TimingControl" type="bool" />
<property name="Timer" column="Timer" type="int" />
<property name="AllowElectric" column="AllowElectric" type="bool" />
</class>
</hibernate-mapping>

20
Domain/ModelType.cs Normal file
View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public enum ModelType
{
/// <summary>
/// 手动
/// </summary>
Manul = 0,
/// <summary>
/// 自动
/// </summary>
Auto = 1
}
}

66
Domain/MusicKey.cs Normal file
View File

@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public enum MusicKey
{
/// <summary>
/// 音乐播放
/// </summary>
Play = 0x01,
/// <summary>
/// 暂停播放
/// </summary>
Pause = 0x02,
/// <summary>
/// 上一首
/// </summary>
Prev = 0x03,
/// <summary>
/// 下一首
/// </summary>
Next = 0x04,
/// <summary>
/// 音量+
/// </summary>
VoiceInc = 0x05,
/// <summary>
/// 音量-
/// </summary>
VoiceDec = 0x06,
/// <summary>
/// 静音
/// </summary>
Mute = 0x07,
/// <summary>
/// 取消静音
/// </summary>
Unmute = 0x08,
/// <summary>
/// 顺序播放
/// </summary>
SequentialPlay = 0x09,
/// <summary>
/// 随机播放
/// </summary>
RandomPlay = 0x0A,
/// <summary>
/// 单曲播放
/// </summary>
SingleCycle = 0x0B,
}
}

71
Domain/Overview.hbm.xml Normal file
View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<sql-query name="QueryRoomServiceState">
<return-scalar column="DND" type="int" />
<return-scalar column="Clean" type="int" />
<return-scalar column="Call" type="int" />
<return-scalar column="Checkout" type="int" />
<return-scalar column="SOS" type="int" />
<return-scalar column="Laundry" type="int" />
<return-scalar column="Luggage" type="int" />
<return-scalar column="MealDelivery" type="int" />
<return-scalar column="DrawCloth" type="int" />
exec QueryRoomServiceState
</sql-query>
<sql-query name="QueryRoomRentState">
<return-scalar column="RentedRoom" type="int" />
<return-scalar column="RoomForRent" type="int" />
<return-scalar column="CheckoutRoom" type="int" />
<return-scalar column="EmptyRoom" type="int" />
<return-scalar column="RoomTotal" type="int" />
<return-scalar column="RentPercent" type="int" />
<return-scalar column="SomeoneRentRoom" type="int" />
<return-scalar column="NoOneRentRoom" type="int" />
<return-scalar column="SomeoneNotRentRoom" type="int" />
<return-scalar column="NoOneNotRentRoom" type="int" />
exec QueryRoomRentState :hotelID
</sql-query>
<sql-query name="QueryRoomState">
<return-scalar column="ConnectingRoom" type="int" />
<return-scalar column="NotEnergySavingRoom" type="int" />
<return-scalar column="FaultRoom" type="int" />
<return-scalar column="SunRoom" type="int" />
<return-scalar column="GroupOrientedLeasingRoom" type="int" />
<return-scalar column="SuiteRoom" type="int" />
<return-scalar column="ReligiousRoom" type="int" />
<return-scalar column="AmbulatoryRoom" type="int" />
<return-scalar column="VIPRoom" type="int" />
exec QueryRoomState
</sql-query>
<sql-query name="QueryAirConditionState">
<return-scalar column="Running" type="int" />
<return-scalar column="NoRunning" type="int" />
<!--<return-scalar column="SpeedLow" type="int" />
<return-scalar column="SpeedMedium" type="int" />
<return-scalar column="SpeedHigh" type="int" />
<return-scalar column="ColdValveOn" type="int" />
<return-scalar column="ThermalValveOn" type="int" />
<return-scalar column="LockModeRoom" type="int" />
<return-scalar column="TimingRoom" type="int" />
<return-scalar column="ManualModeRoom" type="int" />
<return-scalar column="DisableSpeedHighRoom" type="int" />
<return-scalar column="EnableRoomStatusRoom" type="int" />
<return-scalar column="EnableSleepModeRoom" type="int" />-->
exec QueryAirConditionState :hotelID
</sql-query>
<sql-query name="QueryDoorState">
<return-scalar column="RoonOpen" type="int" />
<return-scalar column="RoomClose" type="int" />
exec QueryDoorState :hotelID
</sql-query>
<sql-query name="QuerySafeBoxState">
<return-scalar column="SafeNormalSwitch" type="int" />
<return-scalar column="GuestsAreNotSafeOpen" type="int" />
<return-scalar column="CheckOutTheSafeShutdown" type="int" />
exec QuerySafeBoxState
</sql-query>
</hibernate-mapping>

20
Domain/PowerSupplyCtrl.cs Normal file
View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public enum PowerSupplyCtrl
{
/// <summary>
/// 正常
/// </summary>
Normal = 0x00,
/// <summary>
/// 锁定
/// </summary>
Lock = 0x01,
}
}

View File

@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下
// 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("Domain")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Domain")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("b3aeea08-6b28-4f12-9d71-11e729636929")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

56
Domain/Room.cs Normal file
View File

@@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class Room
{
public int HostID { get; set; }
public string HostNumber { get; set; }
/// <summary>
/// 主机在线状态1在线0离线
/// </summary>
public bool HostStatus { get; set; }
public string RoomNumber { get; set; }
public int RoomStatusID { get; set; }
public string RoomStatus { get; set; }
public bool DoorLock { get; set; }
public string Identity { get; set; }
//public bool IsConnectingRoom { get; set; }
public bool PowerSupply { get; set; }//客房电源
/// <summary>
/// 锁状态
/// </summary>
public int LockStatus { get; set; }
/// <summary>
/// 锁电压
/// </summary>
public float LockVoltage { get; set; }
/// <summary>
/// 外设离线数量
/// </summary>
public int PeripheralOfflineCount { get; set; }
/// <summary>
/// 外设低电数量
/// </summary>
public int PeripheralLowPowerCount { get; set; }
public int GroupID { get; set; }
public int GroupSort { get; set; }
public string IP { get; set; }
public string MAC { get; set; }
}
}

67
Domain/RoomCard.cs Normal file
View File

@@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class RoomCard
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// HotelID
/// </summary>
public virtual int HotelID
{
get;
set;
}
/// <summary>
/// 房卡编号
/// </summary>
public virtual string CardNumber
{
get;
set;
}
/// <summary>
/// 房卡类型
/// </summary>
public virtual RoomCardType RoomCardType
{
get;
set;
}
/// <summary>
/// 员工编号
/// </summary>
public virtual string UserNumber
{
get;
set;
}
/// <summary>
/// 员工姓名
/// </summary>
public virtual string UserName
{
get;
set;
}
/// <summary>
/// Sort
/// </summary>
public virtual int Sort
{
get;
set;
}
}
}

14
Domain/RoomCard.hbm.xml Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="RoomCard" table="tb_RoomCard">
<id name="ID" column="ID" type="int" unsaved-value="0">
<generator class="native" />
</id>
<property name="CardNumber" column="CardNumber" type="string" />
<many-to-one name="RoomCardType" class="RoomCardType" column="CardTypeID" not-found="ignore" update="false" cascade="none" foreign-key="FK_tb_RoomCard_tb_RoomCardType" />
<property name="UserNumber" column="UserNumber" type="string" />
<property name="UserName" column="UserName" type="string" />
<property name="Sort" column="Sort" type="int" />
<property name="HotelID" column="HotelID" type="int" />
</class>
</hibernate-mapping>

43
Domain/RoomCardType.cs Normal file
View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class RoomCardType
{
/// <summary>
/// ID
/// </summary>
public virtual int ID
{
get;
set;
}
/// <summary>
/// 中文名称
/// </summary>
public virtual string Name
{
get;
set;
}
/// <summary>
/// 英文名称
/// </summary>
public virtual string EName
{
get;
set;
}
/// <summary>
/// 繁体名称
/// </summary>
public virtual string TWName
{
get;
set;
}
}
}

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="RoomCardType" table="tb_RoomCardType">
<id name="ID" column="ID" type="int" unsaved-value="none">
<generator class="assigned" />
</id>
<property name="Name" column="TypeName" type="string" />
<property name="EName" column="ETypeName" type="string" />
<property name="TWName" column="TWTypeName" type="string" />
</class>
</hibernate-mapping>

67
Domain/RoomModal.cs Normal file
View File

@@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Domain
{
public class RoomModal
{
/// <summary>
/// 回路地址
/// </summary>
public virtual string ModalAddress
{
get;
set;
}
/// <summary>
/// 输出口
/// </summary>
public virtual string Outlet
{
get;
set;
}
/// <summary>
/// 名称
/// </summary>
public virtual string Name
{
get;
set;
}
/// <summary>
/// 功率(单位:瓦)
/// </summary>
public virtual int Power
{
get;
set;
}
/// <summary>
/// 类型
/// </summary>
public virtual DeviceType Type
{
get;
set;
}
/// <summary>
/// Color
/// </summary>
public virtual string Color
{
get;
set;
}
/// <summary>
/// Sort
/// </summary>
public virtual int Sort
{
get;
set;
}
}
}

14
Domain/RoomModal.hbm.xml Normal file
View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="Domain" namespace="Domain">
<class name="RoomModal" table="tb_RoomModal">
<id name="ModalAddress" column="ModalAddress" type="string" unsaved-value="0">
<generator class="assigned" />
</id>
<property name="Outlet" column="Outlet" type="string" />
<property name="Name" column="Name" type="string" />
<property name="Power" column="Power" type="int" />
<property name="Type" column="Type" type="int" />
<property name="Color" column="Color" type="string" />
<property name="Sort" column="Sort" type="int" />
</class>
</hibernate-mapping>

Some files were not shown because too many files have changed in this diff Show More