Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
IoTSharp
IoTSharp
提交
6a9471cf
IoTSharp
项目概览
IoTSharp
/
IoTSharp
大约 1 年 前同步成功
通知
15
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
IoTSharp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6a9471cf
编写于
2月 04, 2023
作者:
麦壳饼
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调整 sql 原始数据 转换处理
上级
0310d3cf
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
36 addition
and
6 deletion
+36
-6
IoTSharp/IoTSharp.xml
IoTSharp/IoTSharp.xml
+1
-1
IoTSharp/Services/MQTTControllers/DataController.cs
IoTSharp/Services/MQTTControllers/DataController.cs
+35
-5
未找到文件。
IoTSharp/IoTSharp.xml
浏览文件 @
6a9471cf
...
...
@@ -1110,7 +1110,7 @@
</member>
<member
name=
"P:IoTSharp.Dtos.ProduceDictionaryItemDto.UnitConvert"
>
<summary>
单位转换
</summary>
</member>
<member
name=
"P:IoTSharp.Dtos.ProduceDictionaryItemDto.KeyDesc"
>
...
...
IoTSharp/Services/MQTTControllers/DataController.cs
浏览文件 @
6a9471cf
...
...
@@ -12,6 +12,9 @@ using MQTTnet.AspNetCore.Routing;
using
System
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
MQTTnet
;
using
System.Text.Json.Nodes
;
using
Newtonsoft.Json
;
namespace
IoTSharp.Services.MQTTControllers
{
...
...
@@ -66,12 +69,39 @@ namespace IoTSharp.Services.MQTTControllers
}
}
}
[
MqttRoute
()]
public
async
Task
DataProcessing
()
[
MqttRoute
(
"binary"
)]
public
async
Task
BinaryDataProcessing
()
{
var
p_dev
=
_dev
.
DeviceType
==
DeviceType
.
Gateway
?
device
:
_dev
;
var
rules
=
await
_caching
.
GetAsync
(
$"ruleid_
{
p_dev
.
Id
}
_raw_binary"
,
async
()
=>
{
using
(
var
scope
=
_scopeFactor
.
CreateScope
())
using
(
var
_dbContext
=
scope
.
ServiceProvider
.
GetRequiredService
<
ApplicationDbContext
>())
{
var
guids
=
await
_dbContext
.
GerDeviceRulesIdList
(
p_dev
.
Id
,
EventType
.
RAW
);
return
guids
;
}
}
,
TimeSpan
.
FromSeconds
(
_settings
.
RuleCachingExpiration
));
if
(
rules
.
HasValue
)
{
var
obj
=
Message
.
Payload
;
rules
.
Value
.
ToList
().
ForEach
(
async
g
=>
{
_logger
.
LogInformation
(
$"
{
ClientId
}
的数据
{
Message
.
Topic
}
通过规则链
{
g
}
进行处理。"
);
await
_flowRuleProcessor
.
RunFlowRules
(
g
,
obj
,
p_dev
.
Id
,
FlowRuleRunType
.
Normal
,
null
);
});
}
else
{
_logger
.
LogInformation
(
$"
{
ClientId
}
的数据
{
Message
.
Topic
}
不符合规范, 也无相关规则链处理。"
);
}
}
[
MqttRoute
(
"json"
)]
public
async
Task
JsonDataProcessing
()
{
var
p_dev
=
_dev
.
DeviceType
==
DeviceType
.
Gateway
?
device
:
_dev
;
var
rules
=
await
_caching
.
GetAsync
(
$"ruleid_
{
p_dev
.
Id
}
_raw"
,
async
()
=>
var
rules
=
await
_caching
.
GetAsync
(
$"ruleid_
{
p_dev
.
Id
}
_raw
_json
"
,
async
()
=>
{
using
(
var
scope
=
_scopeFactor
.
CreateScope
())
using
(
var
_dbContext
=
scope
.
ServiceProvider
.
GetRequiredService
<
ApplicationDbContext
>())
...
...
@@ -83,7 +113,7 @@ namespace IoTSharp.Services.MQTTControllers
,
TimeSpan
.
FromSeconds
(
_settings
.
RuleCachingExpiration
));
if
(
rules
.
HasValue
)
{
var
obj
=
new
{
Message
.
Topic
,
Payload
=
Convert
.
ToBase64String
(
Message
.
Payload
),
ClientId
}
;
var
obj
=
JsonConvert
.
DeserializeObject
(
Message
.
ConvertPayloadToString
())
;
rules
.
Value
.
ToList
().
ForEach
(
async
g
=>
{
_logger
.
LogInformation
(
$"
{
ClientId
}
的数据
{
Message
.
Topic
}
通过规则链
{
g
}
进行处理。"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录