Files
shgx_tz_mes_backend_sync/ZR.Admin.WebApi/Controllers/mqtt/MqttController.cs
赵正易 8e459d0ccd feat(mqtt): 添加设备数据上传功能及相关服务
实现设备数据通过MQTT上传功能,包括:
1. 新增DeviceUploadData实体及DTO
2. 添加MQTT服务处理设备消息
3. 实现设备数据存储逻辑
4. 创建相关控制器和服务接口
2025-09-21 13:52:06 +08:00

51 lines
1.3 KiB
C#

using Microsoft.AspNetCore.Mvc;
using MQTTnet.Protocol;
using ZR.Common.MqttHelper;
using ZR.Service.mqtt;
namespace ZR.Admin.WebApi.Controllers
{
/// <summary>
/// agv 相关接口
/// </summary>
[Route("/mqtt")]
public class MqttController : BaseController
{
private readonly MqttService _mqttService;
public MqttController(MqttService mqttService)
{
_mqttService = mqttService;
}
/// <summary>
/// 1. 发布信息
/// </summary>
/// <param name="topic">主题</param>
/// <param name="payload">信息</param>
/// <returns></returns>
[HttpPost("publish")]
public async Task<IActionResult> PublishMessage(string topic, string payload)
{
try
{
// 发布消息到MQTT代理服务器
await _mqttService.PublishAsync(
topic,
payload,
MqttQualityOfServiceLevel.AtLeastOnce,
false
);
return Ok("消息已发布");
}
catch (Exception ex)
{
return StatusCode(500, $"发布消息失败: {ex.Message}");
}
}
}
}