修正参数

This commit is contained in:
qianhao.xu 2024-08-27 15:21:16 +08:00
parent 12ae1f7326
commit b42ea529f6
6 changed files with 103 additions and 5 deletions

View File

@ -114,5 +114,15 @@
"author": "admin",
"tablePrefix": "sys_", //"表前缀(生成类名不会包含表前缀,多个用逗号分隔)",
"vuePath": "" //egD:\Work\DOANAdmin-Vue3
},
//MQTT
"MqttPublisher": {
//ip
"broker_ip": "192.168.0.58",
//
"topic": "yida/log",
//id
"clientId": ""
}
}

View File

@ -8,6 +8,7 @@
<PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.13.0" />
<PackageReference Include="MailKit" Version="4.3.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.7" />
<PackageReference Include="MQTTnet" Version="4.3.6.1152" />
</ItemGroup>
<ItemGroup>

View File

@ -0,0 +1,49 @@
using MQTTnet;
using MQTTnet.Client;
using MQTTnet.Protocol;
using System;
using System.Threading.Tasks;
namespace DOAN.Common
{
public class MqttPublisher
{
private IMqttClient _client;
private MqttClientOptions _options;
public MqttPublisher(string brokerAddress, string clientId)
{
_client = new MqttFactory().CreateMqttClient();
_options = new MqttClientOptionsBuilder()
.WithTcpServer(brokerAddress)
.WithClientId(clientId)
.Build();
}
public async Task ConnectAsync()
{
await _client.ConnectAsync(_options);
}
public async Task PublishAsync(string topic, string payload, MqttQualityOfServiceLevel qualityOfService = MqttQualityOfServiceLevel.AtLeastOnce)
{
var applicationMessage = new MqttApplicationMessageBuilder()
.WithTopic(topic)
.WithPayload(payload)
.WithQualityOfServiceLevel(qualityOfService)
.Build();
await _client.PublishAsync(applicationMessage);
}
public async Task DisconnectAsync()
{
await _client.DisconnectAsync();
}
}
}

View File

@ -168,17 +168,20 @@ namespace DOAN.Service.huate_group.Recipe
// 获取每台设备的配方
foreach (BaseDeviceAccount device in accounts)
{
DevicecCombination devicecCombination = new DevicecCombination();
devicecCombination._account = device;
Recipee recipee = Context.Queryable<Recipee>()
.Where(it => it.FkDeviceId == device.Id)
.Where(it => it.IsSelected == true).First();
if (recipee != null)
{
DevicecCombination devicecCombination = new DevicecCombination();
devicecCombination._recipee = recipee;
devicecCombination._account = device;
DevicecCombinationList.Add(devicecCombination);
}
DevicecCombinationList.Add(devicecCombination);
}

View File

@ -25,6 +25,8 @@ using DOAN.Tasks;
using DOAN.Model.huate_group.CloudMonitor;
using DOAN.Model.huate_group.recipe;
using ZR.Model.Cloud.Dto;
using DOAN.Common;
using Infrastructure.Model;
namespace ZR.Tasks.TaskScheduler
{
@ -32,8 +34,14 @@ namespace ZR.Tasks.TaskScheduler
internal class YIDA_dataUpload_Task : JobBase, IJob
{
private readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();
private readonly MqttPublisher publisher = null;
public YIDA_dataUpload_Task()
{
var options = App.OptionsSetting;
MqttPublicConfig mqttPublicConfig = options.mqttPublicConfig;
//init MQTT
publisher = new MqttPublisher(mqttPublicConfig.BrokerIp, mqttPublicConfig.ClientId);
}
public async Task Execute(IJobExecutionContext context)
{
Console.WriteLine("---------------------------------上传开始");
@ -342,6 +350,10 @@ namespace ZR.Tasks.TaskScheduler
config.RegionId = "central";
return new AlibabaCloud.SDK.Dingtalkyida_1_0.Client(config);
}
}
}

View File

@ -49,6 +49,11 @@ namespace Infrastructure.Model
/// Reids配置
/// </summary>
public RedisServerConfig RedisServer { get; set; }
/// <summary>
/// Mqtt发布配置
/// </summary>
public MqttPublicConfig mqttPublicConfig { get; set; }
}
/// <summary>
/// 发送邮件数据配置
@ -177,4 +182,22 @@ namespace Infrastructure.Model
public int Open { get; set; }
public bool DbCache { get; set; }
}
public class MqttPublicConfig
{
/// <summary>
/// 代理服务器 ip
/// </summary>
public string BrokerIp { get; set; }
/// <summary>
/// 主题
/// </summary>
public string Topic { get; set; }
/// <summary>
/// 客户端ID
/// </summary>
public string ClientId { get; set; }
}
}