DongYing/DongYingAPI/Controllers/api/SetSecondaryStopController.cs

88 lines
3.5 KiB
C#

using DataServer.api;
using Newtonsoft.Json;
using QingHaiVisualizationAPI.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Web.Http;
namespace DongYingAPI.Controllers.api
{
/// <summary>
/// 空调-冷冻二次泵启停
/// </summary>
public class SetSecondaryStopController : ApiController
{
DataServer.BLL.secondary_pump bll = new DataServer.BLL.secondary_pump();
static log4net.ILog log;
public HttpResponseMessage Get()
{
var res = new get_information();
try
{
var data = new List<data>();
var list = bll.GetModelList("");
foreach (var item in list)
{
var model = new DataServer.Model.secondary_pump();
model.SecondaryId = item.SecondaryId;
model.SecondaryName = item.SecondaryName;
model.SecondaryNumberOne = item.SecondaryNumberOne;
model.SecondaryNumberTwo = item.SecondaryNumberTwo;
if (item.SecondaryStateOne == "0")
{
model.SecondaryStateOne = "1";
}
else
{
model.SecondaryStateTwo = "0";
}
if (item.SecondaryStateOne == "1")
{
model.SecondaryStateOne = "0";
}
else
{
model.SecondaryStateTwo = "1";
}
model.SecondaryFrequencyName= item.SecondaryFrequencyName;
model.SecondaryFrequency=item.SecondaryFrequency;
bll.Update(model);
}
var alist = bll.GetModelList("");
foreach (var item in alist)
{
log4net.Config.XmlConfigurator.Configure();
log = log4net.LogManager.GetLogger("loginfo");
var mqqt = new MqttClientService();
data controlData = new data();
controlData.h = new HeaderData();
controlData.h.rt = item.SecondaryName;
// 如果需要同时设置多个数据项,可以使用字典
controlData.b = new BodyData();
controlData.b.dl = new Dictionary<string, string>();
controlData.b.dl["" + item.SecondaryNumberOne + ""] = "" + item.SecondaryStateOne + "";
controlData.b.dl["" + item.SecondaryNumberTwo + ""] = "" + item.SecondaryStateOne + "";
controlData.b.dl["" + item.SecondaryFrequencyName + ""] = "" + item.SecondaryFrequency + "";
data.Add(controlData);
mqqt.MqttClientStart();
mqqt.Publish("gc/data/33cb79ea-e788-489a-9340-322d31d90158", "J" + JsonConvert.SerializeObject(controlData));
}
res.code = 200;
res.msg = "成功";
res.data = data;
}
catch (Exception ex)
{
res.code = 500;
res.msg = "失败," + ex.Message;
}
HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(JsonConvert.SerializeObject(res), Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
}
}