diff --git a/JiShe.IoT.Admin.sln b/JiShe.IoT.Admin.sln
index 3640144..72f0de9 100644
--- a/JiShe.IoT.Admin.sln
+++ b/JiShe.IoT.Admin.sln
@@ -264,6 +264,46 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.Domain.Sha
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.Domain", "JiShe.ServicePro\shared\JiShe.ServicePro.Domain\JiShe.ServicePro.Domain.csproj", "{0A541E29-090F-87B9-8C98-83FAA7AF0E78}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.TemplateManagement.Domain.Shared", "JiShe.ServicePro\modules\TemplateManagement\src\JiShe.ServicePro.TemplateManagement.Domain.Shared\JiShe.ServicePro.TemplateManagement.Domain.Shared.csproj", "{C6FD9406-C128-F970-DB4C-4DF3D2CEAA96}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.TemplateManagement.Domain", "JiShe.ServicePro\modules\TemplateManagement\src\JiShe.ServicePro.TemplateManagement.Domain\JiShe.ServicePro.TemplateManagement.Domain.csproj", "{5F1A2AD5-2C7B-3675-C18C-43CA06FAE05C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.OneNETManagement.Domain.Shared", "JiShe.ServicePro\modules\OneNETManagement\src\JiShe.ServicePro.OneNETManagement.Domain.Shared\JiShe.ServicePro.OneNETManagement.Domain.Shared.csproj", "{83F40CA2-B00D-A056-A920-525AFFD76FA7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.OneNETManagement.Domain", "JiShe.ServicePro\modules\OneNETManagement\src\JiShe.ServicePro.OneNETManagement.Domain\JiShe.ServicePro.OneNETManagement.Domain.csproj", "{A5585C65-378D-F06C-E463-910FA9D86BF5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.NotificationManagement.Domain.Shared", "JiShe.ServicePro\modules\NotificationManagement\src\JiShe.ServicePro.NotificationManagement.Domain.Shared\JiShe.ServicePro.NotificationManagement.Domain.Shared.csproj", "{1857A580-1862-4299-F196-CDF253CD9B40}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.NotificationManagement.Domain", "JiShe.ServicePro\modules\NotificationManagement\src\JiShe.ServicePro.NotificationManagement.Domain\JiShe.ServicePro.NotificationManagement.Domain.csproj", "{06998B3B-DFE4-080F-B679-CFEE5FE45F72}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.LanguageManagement.Domain.Shared", "JiShe.ServicePro\modules\LanguageManagement\src\JiShe.ServicePro.LanguageManagement.Domain.Shared\JiShe.ServicePro.LanguageManagement.Domain.Shared.csproj", "{BF91E40E-5703-2BB7-D67C-12640F22D35D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.LanguageManagement.Domain", "JiShe.ServicePro\modules\LanguageManagement\src\JiShe.ServicePro.LanguageManagement.Domain\JiShe.ServicePro.LanguageManagement.Domain.csproj", "{8EC3F1B8-0919-7052-3878-8F5E07BE4969}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.FileManagement.Domain", "JiShe.ServicePro\modules\FileManagement\src\JiShe.ServicePro.FileManagement.Domain\JiShe.ServicePro.FileManagement.Domain.csproj", "{C9C8F9C5-285B-11D2-709E-69B6AE6272DB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.FileManagement.Domain.Shared", "JiShe.ServicePro\modules\FileManagement\src\JiShe.ServicePro.FileManagement.Domain.Shared\JiShe.ServicePro.FileManagement.Domain.Shared.csproj", "{0799B9F8-0821-7FD0-4C25-71C4105AAC28}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.DynamicMenuManagement.Domain", "JiShe.ServicePro\modules\DynamicMenuManagement\src\JiShe.ServicePro.DynamicMenuManagement.Domain\JiShe.ServicePro.DynamicMenuManagement.Domain.csproj", "{D5453859-E05B-2A0B-A4EC-3FA789DBF719}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.DynamicMenuManagement.Domain.Shared", "JiShe.ServicePro\modules\DynamicMenuManagement\src\JiShe.ServicePro.DynamicMenuManagement.Domain.Shared\JiShe.ServicePro.DynamicMenuManagement.Domain.Shared.csproj", "{38145D89-6885-EDEE-3949-327C575F9A16}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.DeviceManagement.Domain.Shared", "JiShe.ServicePro\modules\DeviceManagement\src\JiShe.ServicePro.DeviceManagement.Domain.Shared\JiShe.ServicePro.DeviceManagement.Domain.Shared.csproj", "{52846756-6E82-0565-E219-6023F1FA4E29}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.DeviceManagement.Domain", "JiShe.ServicePro\modules\DeviceManagement\src\JiShe.ServicePro.DeviceManagement.Domain\JiShe.ServicePro.DeviceManagement.Domain.csproj", "{4A53D94C-66FF-C2A7-56C8-7EF2136B5538}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.DataDictionaryManagement.Domain.Shared", "JiShe.ServicePro\modules\DataDictionaryManagement\src\JiShe.ServicePro.DataDictionaryManagement.Domain.Shared\JiShe.ServicePro.DataDictionaryManagement.Domain.Shared.csproj", "{038FD838-9E6B-40A5-C2B7-036CFD25A715}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.DataDictionaryManagement.Domain", "JiShe.ServicePro\modules\DataDictionaryManagement\src\JiShe.ServicePro.DataDictionaryManagement.Domain\JiShe.ServicePro.DataDictionaryManagement.Domain.csproj", "{50CB80B4-B3FF-51F6-0FFA-60391FF2AF57}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.CTWingManagement.Domain.Shared", "JiShe.ServicePro\modules\CTWingManagement\src\JiShe.ServicePro.CTWingManagement.Domain.Shared\JiShe.ServicePro.CTWingManagement.Domain.Shared.csproj", "{275D7FF0-0D71-88B5-D050-E9B97D62C3B2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.CTWingManagement.Domain", "JiShe.ServicePro\modules\CTWingManagement\src\JiShe.ServicePro.CTWingManagement.Domain\JiShe.ServicePro.CTWingManagement.Domain.csproj", "{F730AD4A-AB34-4824-37B4-EC9FFD0D4154}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.BasicManagement.Domain.Shared", "JiShe.ServicePro\modules\BasicManagement\src\JiShe.ServicePro.BasicManagement.Domain.Shared\JiShe.ServicePro.BasicManagement.Domain.Shared.csproj", "{8223B0B3-2EAB-6523-1082-78022FA92ABB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "JiShe.ServicePro.BasicManagement.Domain", "JiShe.ServicePro\modules\BasicManagement\src\JiShe.ServicePro.BasicManagement.Domain\JiShe.ServicePro.BasicManagement.Domain.csproj", "{1C24FFD0-A96C-8326-A3B8-E63FC93E7896}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -670,6 +710,86 @@ Global
{0A541E29-090F-87B9-8C98-83FAA7AF0E78}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A541E29-090F-87B9-8C98-83FAA7AF0E78}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A541E29-090F-87B9-8C98-83FAA7AF0E78}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C6FD9406-C128-F970-DB4C-4DF3D2CEAA96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C6FD9406-C128-F970-DB4C-4DF3D2CEAA96}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C6FD9406-C128-F970-DB4C-4DF3D2CEAA96}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C6FD9406-C128-F970-DB4C-4DF3D2CEAA96}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5F1A2AD5-2C7B-3675-C18C-43CA06FAE05C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5F1A2AD5-2C7B-3675-C18C-43CA06FAE05C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5F1A2AD5-2C7B-3675-C18C-43CA06FAE05C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5F1A2AD5-2C7B-3675-C18C-43CA06FAE05C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {83F40CA2-B00D-A056-A920-525AFFD76FA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {83F40CA2-B00D-A056-A920-525AFFD76FA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {83F40CA2-B00D-A056-A920-525AFFD76FA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {83F40CA2-B00D-A056-A920-525AFFD76FA7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A5585C65-378D-F06C-E463-910FA9D86BF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A5585C65-378D-F06C-E463-910FA9D86BF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A5585C65-378D-F06C-E463-910FA9D86BF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A5585C65-378D-F06C-E463-910FA9D86BF5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1857A580-1862-4299-F196-CDF253CD9B40}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1857A580-1862-4299-F196-CDF253CD9B40}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1857A580-1862-4299-F196-CDF253CD9B40}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1857A580-1862-4299-F196-CDF253CD9B40}.Release|Any CPU.Build.0 = Release|Any CPU
+ {06998B3B-DFE4-080F-B679-CFEE5FE45F72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {06998B3B-DFE4-080F-B679-CFEE5FE45F72}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {06998B3B-DFE4-080F-B679-CFEE5FE45F72}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {06998B3B-DFE4-080F-B679-CFEE5FE45F72}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BF91E40E-5703-2BB7-D67C-12640F22D35D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BF91E40E-5703-2BB7-D67C-12640F22D35D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BF91E40E-5703-2BB7-D67C-12640F22D35D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BF91E40E-5703-2BB7-D67C-12640F22D35D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8EC3F1B8-0919-7052-3878-8F5E07BE4969}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8EC3F1B8-0919-7052-3878-8F5E07BE4969}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8EC3F1B8-0919-7052-3878-8F5E07BE4969}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8EC3F1B8-0919-7052-3878-8F5E07BE4969}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C9C8F9C5-285B-11D2-709E-69B6AE6272DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C9C8F9C5-285B-11D2-709E-69B6AE6272DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C9C8F9C5-285B-11D2-709E-69B6AE6272DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C9C8F9C5-285B-11D2-709E-69B6AE6272DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0799B9F8-0821-7FD0-4C25-71C4105AAC28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0799B9F8-0821-7FD0-4C25-71C4105AAC28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0799B9F8-0821-7FD0-4C25-71C4105AAC28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0799B9F8-0821-7FD0-4C25-71C4105AAC28}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D5453859-E05B-2A0B-A4EC-3FA789DBF719}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D5453859-E05B-2A0B-A4EC-3FA789DBF719}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D5453859-E05B-2A0B-A4EC-3FA789DBF719}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D5453859-E05B-2A0B-A4EC-3FA789DBF719}.Release|Any CPU.Build.0 = Release|Any CPU
+ {38145D89-6885-EDEE-3949-327C575F9A16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {38145D89-6885-EDEE-3949-327C575F9A16}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {38145D89-6885-EDEE-3949-327C575F9A16}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {38145D89-6885-EDEE-3949-327C575F9A16}.Release|Any CPU.Build.0 = Release|Any CPU
+ {52846756-6E82-0565-E219-6023F1FA4E29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {52846756-6E82-0565-E219-6023F1FA4E29}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {52846756-6E82-0565-E219-6023F1FA4E29}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {52846756-6E82-0565-E219-6023F1FA4E29}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4A53D94C-66FF-C2A7-56C8-7EF2136B5538}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4A53D94C-66FF-C2A7-56C8-7EF2136B5538}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4A53D94C-66FF-C2A7-56C8-7EF2136B5538}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4A53D94C-66FF-C2A7-56C8-7EF2136B5538}.Release|Any CPU.Build.0 = Release|Any CPU
+ {038FD838-9E6B-40A5-C2B7-036CFD25A715}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {038FD838-9E6B-40A5-C2B7-036CFD25A715}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {038FD838-9E6B-40A5-C2B7-036CFD25A715}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {038FD838-9E6B-40A5-C2B7-036CFD25A715}.Release|Any CPU.Build.0 = Release|Any CPU
+ {50CB80B4-B3FF-51F6-0FFA-60391FF2AF57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {50CB80B4-B3FF-51F6-0FFA-60391FF2AF57}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {50CB80B4-B3FF-51F6-0FFA-60391FF2AF57}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {50CB80B4-B3FF-51F6-0FFA-60391FF2AF57}.Release|Any CPU.Build.0 = Release|Any CPU
+ {275D7FF0-0D71-88B5-D050-E9B97D62C3B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {275D7FF0-0D71-88B5-D050-E9B97D62C3B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {275D7FF0-0D71-88B5-D050-E9B97D62C3B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {275D7FF0-0D71-88B5-D050-E9B97D62C3B2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F730AD4A-AB34-4824-37B4-EC9FFD0D4154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F730AD4A-AB34-4824-37B4-EC9FFD0D4154}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F730AD4A-AB34-4824-37B4-EC9FFD0D4154}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F730AD4A-AB34-4824-37B4-EC9FFD0D4154}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8223B0B3-2EAB-6523-1082-78022FA92ABB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8223B0B3-2EAB-6523-1082-78022FA92ABB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8223B0B3-2EAB-6523-1082-78022FA92ABB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8223B0B3-2EAB-6523-1082-78022FA92ABB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1C24FFD0-A96C-8326-A3B8-E63FC93E7896}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1C24FFD0-A96C-8326-A3B8-E63FC93E7896}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1C24FFD0-A96C-8326-A3B8-E63FC93E7896}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1C24FFD0-A96C-8326-A3B8-E63FC93E7896}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -785,6 +905,26 @@ Global
{6DB1C8C3-E57A-005D-D1D0-2194F6AC6537} = {72493AF2-CDAA-40A7-98AB-B8AA2B05965E}
{E5AC94F3-2C4F-2CC3-743E-382CD92638E0} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
{0A541E29-090F-87B9-8C98-83FAA7AF0E78} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {C6FD9406-C128-F970-DB4C-4DF3D2CEAA96} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {5F1A2AD5-2C7B-3675-C18C-43CA06FAE05C} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {83F40CA2-B00D-A056-A920-525AFFD76FA7} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {A5585C65-378D-F06C-E463-910FA9D86BF5} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {1857A580-1862-4299-F196-CDF253CD9B40} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {06998B3B-DFE4-080F-B679-CFEE5FE45F72} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {BF91E40E-5703-2BB7-D67C-12640F22D35D} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {8EC3F1B8-0919-7052-3878-8F5E07BE4969} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {C9C8F9C5-285B-11D2-709E-69B6AE6272DB} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {0799B9F8-0821-7FD0-4C25-71C4105AAC28} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {D5453859-E05B-2A0B-A4EC-3FA789DBF719} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {38145D89-6885-EDEE-3949-327C575F9A16} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {52846756-6E82-0565-E219-6023F1FA4E29} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {4A53D94C-66FF-C2A7-56C8-7EF2136B5538} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {038FD838-9E6B-40A5-C2B7-036CFD25A715} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {50CB80B4-B3FF-51F6-0FFA-60391FF2AF57} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {275D7FF0-0D71-88B5-D050-E9B97D62C3B2} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {F730AD4A-AB34-4824-37B4-EC9FFD0D4154} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
+ {8223B0B3-2EAB-6523-1082-78022FA92ABB} = {D9FCBD0B-51A1-4527-83DC-ACA7B06F91F7}
+ {1C24FFD0-A96C-8326-A3B8-E63FC93E7896} = {73E6E64F-DA5A-437A-A147-B9CA9CCB038D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
diff --git a/src/JiShe.IoT.Application/IoTApplicationModule.cs b/src/JiShe.IoT.Application/IoTApplicationModule.cs
index 8b76d8a..39b6e1e 100644
--- a/src/JiShe.IoT.Application/IoTApplicationModule.cs
+++ b/src/JiShe.IoT.Application/IoTApplicationModule.cs
@@ -10,6 +10,7 @@ using JiShe.ServicePro.FreeSqlProvider;
using JiShe.ServicePro.IoTDBManagement;
using JiShe.ServicePro.OneNETManagement;
using JiShe.ServicePro.OneNETManagement.Subscribers;
+using JiShe.ServicePro.PulsarProvider;
using JiShe.ServicePro.TemplateManagement;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
@@ -30,6 +31,7 @@ namespace JiShe.IoT
typeof(ServiceProFreeRedisProviderModule),
typeof(CTWingManagementApplicationModule),
typeof(OneNETManagementApplicationModule),
+ typeof(ServiceProPulsarProviderModule),
typeof(JiSheServiceProEMQXProviderModule),
typeof(DeviceManagementApplicationModule)
)]
diff --git a/src/JiShe.IoT.DbMigrator/appsettings.json b/src/JiShe.IoT.DbMigrator/appsettings.json
index 50941a7..5a815dc 100644
--- a/src/JiShe.IoT.DbMigrator/appsettings.json
+++ b/src/JiShe.IoT.DbMigrator/appsettings.json
@@ -1,41 +1,37 @@
{
- "ConnectionStrings": {
- "Default": "Host=192.168.111.174;Port=5432;Database=jisheiotprodb67;Username=postgres;Password=JiShe!aqG#5kGgh&0;Encoding=UTF8;Pooling=true;Pooling=true;Minimum Pool Size=5;Maximum Pool Size=100;"
+ "App": {
+ "SelfUrl": "http://localhost:44315",
+ "CorsOrigins": "https://*.IoT.com,http://localhost:4200,http://localhost:3100,http://localhost:80,http://10.10.10.104:4200"
},
- "IoTDBOptions": {
- "UserName": "root",
- "Password": "Lixiao@1980",
- //"TreeModelClusterList": [ "192.168.111.174:6667", "47.110.60.222:6667", "47.110.62.104:6667" ],
- //"TableModelClusterList": [ "192.168.111.174:6667", "47.110.60.222:6667", "47.110.62.104:6667" ],
- "TreeModelClusterList": [ "192.168.111.174:30710" ],
- "TableModelClusterList": [ "192.168.111.174:30710" ],
- "PoolSize": 32,
- "DataBaseName": "jisheiotdata",
- "OpenDebugMode": false,
- "UseTableSessionPoolByDefault": false
+ "ConnectionStrings": {
+ "Default": "Host=47.110.53.196;Port=35432;Database=jisheiotprodb68;Username=postgres;Password=JiShe!aqG#5kGgh&0;Encoding=UTF8;Pooling=true;Pooling=true;Minimum Pool Size=5;Maximum Pool Size=100;"
},
- "FreeRedisOptions": {
- "ConnectionString": "192.168.111.42:30712,password=1q3J@BGf!yhTaD46nS#,abortConnect=false,connectTimeout=30000,allowAdmin=true,maxPoolSize=500,defaultdatabase=14",
- "UseDistributedCache": true
+ "Hangfire": {
+ "Redis": {
+ "Host": "47.110.53.196:30712,password=1q3J@BGf!yhTaD46nS#",
+ "DB": "2"
+ }
},
- "ServerApplicationOptions": {
- "ServerTagName": "JiSheCollectBus10",
- "FirstCollectionTime": "2025-04-28 15:07:00",
- "AutomaticVerificationTime": "16:07:00",
- "AutomaticTerminalVersionTime": "17:07:00",
- "AutomaticTelematicsModuleTime": "17:30:00",
- "AutomaticDayFreezeTime": "02:30:00",
- "AutomaticMonthFreezeTime": "03:30:00",
- "DefaultProtocolPlugin": "T37612012ProtocolPlugin",
- "VerifySignatureToken": "SIcPQnpMgaFDmNlIjNmzq5smshz7cKrh",
- "DistributedMessage": 2
+ "Redis": {
+ "Configuration": "47.110.53.196:30712,password=1q3J@BGf!yhTaD46nS#,defaultdatabase=5"
+ },
+ "Kafka": {
+ "BootstrapServers": "47.110.62.104:9094,47.110.53.196:9094,47.110.60.222:9094",
+ "EnableFilter": true,
+ "EnableAuthorization": false,
+ "SaslUserName": "lixiao",
+ "SaslPassword": "lixiao@1980",
+ "KafkaReplicationFactor": 3,
+ "NumPartitions": 30,
+ "TaskThreadCount": -1
},
"Pulsar": {
- "ServiceUrl": "pulsar://47.110.60.222:9093",
- "WebUrl": "http://47.110.60.222:9094",
+ "ServiceUrl": "pulsar://47.110.53.196:9093", //pulsar+ssl://iot-north-mq.heclouds.com:6651 ,pulsar://47.110.53.196:26974
+ "WebUrl": "http://47.110.53.196:9094",
"UserName": "admin",
"TenantName": "1YMVZZkAkRArjxSD8457",
"Namespace": "OneNET",
+ "MessageTTL": 3600,
"PulsarSecretKey": "0fd7afb8b0d04e6abc4fdfdac2190a79",
"PulsarSubscriptionCustomName": "sub",
"EnableTls": false,
@@ -48,10 +44,78 @@
"DefaultPartitions": 16,
"DefaultBundles": 16,
"EnableAutoCreation": true, //开启自动创建Topic
- "TopicMode": "Static", //Dynamic 主题模式
+ "TopicMode": "Static", //Dynamic、Static 主题模式
"EnableTopicTypeFilter": true, //允许Topic类型过滤
"AllowedTopicTypes": [ "Static" ], //允许的Topic类型
"AllowedClusters": [ "pulsar-cluster-1" ], //允许的集群
- "AdminRoles": [ "admin" ]
+ "AdminRoles": [ "admin" ],
+ "EnableConsumerIdleCleanup": true,
+ "ConsumerIdleCleanupMinutes": 120,
+ "EnableProducerIdleCleanup": true,
+ "ProducerIdleCleanupMinutes": 60
+ },
+ "IoTDBOptions": {
+ "UserName": "root",
+ "Password": "Li#xiao@198!0",
+ //"TreeModelClusterList": [ "47.110.53.196:6667", "47.110.60.222:6667", "47.110.62.104:6667" ],
+ //"TableModelClusterList": [ "47.110.53.196:6667", "47.110.60.222:6667", "47.110.62.104:6667" ],
+ "TreeModelClusterList": [ "47.110.53.196:30710" ],
+ "TableModelClusterList": [ "47.110.53.196:30710" ],
+ "PoolSize": 32,
+ "DataBaseName": "jisheiotdata",
+ "OpenDebugMode": true,
+ "UseTableSessionPoolByDefault": false,
+ "BatchInsertSize": 1000
+ },
+ "ServerApplicationOptions": {
+ "ServerTagName": "JiSheCollectBus12",
+ "FirstCollectionTime": "2025-04-28 15:07:00",
+ "AutomaticVerificationTime": "16:07:00",
+ "AutomaticTerminalVersionTime": "17:07:00",
+ "AutomaticTelematicsModuleTime": "17:30:00",
+ "AutomaticDayFreezeTime": "02:30:00",
+ "AutomaticMonthFreezeTime": "03:30:00",
+ "DefaultProtocolPlugin": "T37612012ProtocolPlugin",
+ "SignatureToken": "SIcPQnpMgaFDmNlIjNmzq5smshz7cKrh",
+ "AesSecurityKey": "RPTEIGCA1KvDEXS1",
+ "IsAesEncrypted": false,
+ "DistributedMessage": 2,
+ "SnowflakeWorkerId": 1,
+ "DownloadDeviceFirmwareBasicUrl": "http://121.42.175.177:32580/Aggregation/Device/DownloadFirmware?Id=",
+ "MQTTServerType": 1
+ },
+ "Jwt": {
+ "Audience": "JiShe.IoT",
+ "SecurityKey": "dzehzRz9a8asdfaf43ghVD@d#fasdfaf567sdadfasdf=",
+ "Issuer": "JiShe.IoT",
+ "ExpirationTime": 2
+ },
+ "Cap": {
+ "RabbitMq": {
+ "HostName": "localhost",
+ "UserName": "admin",
+ "Password": "1q2w3E*",
+ "Port": 5672
+ }
+ },
+ "FreeRedisOptions": {
+ "ConnectionString": "47.110.53.196:30712,password=1q3J@BGf!yhTaD46nS#,abortConnect=false,connectTimeout=30000,allowAdmin=true,maxPoolSize=500,defaultdatabase=14",
+ "UseDistributedCache": true
+ },
+ "FreeSqlProviderOptions": {
+ "UsePrepayDB": false,
+ "UseEnergyDB": false,
+ "PrintLog": false,
+ "DataType": 1
+ },
+ "OneNETSecureReceiveOptions": {
+ "OneNETVerifySignatureToken": "SIcPQnpMgaFDmNlIjNmzq5smshz7cKrh",
+ "OneNETAesKey": "RPTEIGCA1KvDEXS1"
+ },
+ "DataChannelOptions": {
+ "DefaultBatchSize": 10000,
+ "TelemetryBatchSize": 10000,
+ "EmptyWaitmilliseconds": 500,
+ "TimeoutMilliseconds": 500
}
}
\ No newline at end of file
diff --git a/src/JiShe.IoT.Domain.Shared/IoTDomainSharedModule.cs b/src/JiShe.IoT.Domain.Shared/IoTDomainSharedModule.cs
index 5ce2156..8cd6bfc 100644
--- a/src/JiShe.IoT.Domain.Shared/IoTDomainSharedModule.cs
+++ b/src/JiShe.IoT.Domain.Shared/IoTDomainSharedModule.cs
@@ -10,9 +10,18 @@ using JiShe.ServicePro.TemplateManagement;
namespace JiShe.IoT
{
[DependsOn(
- typeof(ServiceProDomainSharedModule),
+ typeof(BasicManagementDomainSharedModule),
+ typeof(NotificationManagementDomainSharedModule),
+ typeof(DataDictionaryManagementDomainSharedModule),
+ typeof(LanguageManagementDomainSharedModule),
+ typeof(TemplateManagementDomainSharedModule),
+ typeof(DynamicMenuManagementDomainSharedModule),
+ typeof(FileManagementDomainSharedModule),
typeof(IoTDBManagementDomainSharedModule),
- typeof(ServiceProCoreModule)
+ typeof(CTWingManagementDomainSharedModule),
+ typeof(OneNETManagementDomainSharedModule),
+ typeof(ServiceProCoreModule),
+ typeof(DeviceManagementDomainSharedModule)
)]
public class IoTDomainSharedModule : AbpModule
{
diff --git a/src/JiShe.IoT.Domain.Shared/JiShe.IoT.Domain.Shared.csproj b/src/JiShe.IoT.Domain.Shared/JiShe.IoT.Domain.Shared.csproj
index b8e7c31..25b22bf 100644
--- a/src/JiShe.IoT.Domain.Shared/JiShe.IoT.Domain.Shared.csproj
+++ b/src/JiShe.IoT.Domain.Shared/JiShe.IoT.Domain.Shared.csproj
@@ -1,32 +1,50 @@
-
- $(DotnetTargetFrameworkVersion)
- JiShe.IoT
- true
-
+
+ $(DotnetTargetFrameworkVersion)
+ JiShe.IoT
+ true
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
-
+
+
+
+
-
-
+
-
+
+
\ No newline at end of file
diff --git a/src/JiShe.IoT.Domain/IoTDomainModule.cs b/src/JiShe.IoT.Domain/IoTDomainModule.cs
index f70938c..a12cae7 100644
--- a/src/JiShe.IoT.Domain/IoTDomainModule.cs
+++ b/src/JiShe.IoT.Domain/IoTDomainModule.cs
@@ -1,4 +1,3 @@
-using JiShe.ServicePro;
using JiShe.ServicePro.CTWingManagement;
using JiShe.ServicePro.DeviceManagement;
using JiShe.ServicePro.DynamicMenuManagement;
@@ -12,8 +11,18 @@ namespace JiShe.IoT
{
[DependsOn(
typeof(IoTDomainSharedModule),
+ typeof(BasicManagementDomainModule),
+ typeof(NotificationManagementDomainModule),
+ typeof(DataDictionaryManagementDomainModule),
+ typeof(LanguageManagementDomainModule),
+ typeof(TemplateManagementDomainModule),
+ typeof(FileManagementDomainModule),
typeof(IoTDBManagementDomainModule),
- typeof(ServiceProDomainModule)
+ typeof(DynamicMenuManagementDomainModule),
+ typeof(CTWingManagementDomainModule),
+ typeof(OneNETManagementDomainModule),
+ typeof(ServiceProFreeSqlProviderModule),
+ typeof(DeviceManagementDomainModule)
)]
public class IoTDomainModule : AbpModule
{
diff --git a/src/JiShe.IoT.Domain/JiShe.IoT.Domain.csproj b/src/JiShe.IoT.Domain/JiShe.IoT.Domain.csproj
index b51eeaf..f74f530 100644
--- a/src/JiShe.IoT.Domain/JiShe.IoT.Domain.csproj
+++ b/src/JiShe.IoT.Domain/JiShe.IoT.Domain.csproj
@@ -1,26 +1,45 @@
-
- $(DotnetTargetFrameworkVersion)
- JiShe.IoT
+
+ $(DotnetTargetFrameworkVersion)
+ JiShe.IoT
$(NoWarn);1591;1570
True
-
+
+
+
+
+
+
+
-
-
+
+
+
+
-
-
+
+
+
+
+
+
+
-
+
+
+
-
+
+
+
+
+
\ No newline at end of file