This commit is contained in:
jl
2023-04-21 11:44:47 +08:00
parent 3a08c033ba
commit 8c07d147d5
4 changed files with 75 additions and 48 deletions

View File

@ -54,7 +54,10 @@ namespace Epost.DAL.Cache
else if (CommendType.Equals(EcontrolCommend.Execute))
{
JobParam.ForEach(m => MainControlList.Remove(m));
foreach (var planitem in MainControlList.ToArray())
{
MainControlList.Remove(planitem);
}
}
@ -86,9 +89,11 @@ namespace Epost.DAL.Cache
public class LightcontrolModel
{
private string _controlip = string.Empty;
private int _port ;
MainControl _maincontrol = new MainControl();
public MainControl maincontrol { get => _maincontrol; set => _maincontrol = value; }
public string controlip { get => _controlip; set => _controlip = value; }
public int port { get => _port; set => _port = value; }
}
}

View File

@ -110,6 +110,7 @@ namespace Epost.Model
public string wallNo { get; set; }
public string lightType { get; set; }
public string lightColor { get; set; }
public string status { get; set; }
}

View File

@ -11,6 +11,7 @@ using LightContrl;
using Epost.DAL.Cache;
using System.Net;
using Microsoft.Owin.BuilderProperties;
namespace Epost.DPS.Controllers
{
@ -32,52 +33,72 @@ namespace Epost.DPS.Controllers
{
foreach (var item in data)
{
DataTable dt = addrbll.QueryControlList(" and waveno ='" + item.wallNo + "'");
if (dt != null && dt.Rows.Count > 0)
if (item.status == "1")//连接
{
foreach (DataRow rowitem in dt.Rows)
DataTable dt = addrbll.QueryControlList(" and waveno ='" + item.wallNo + "'");
if (dt != null && dt.Rows.Count > 0)
{
foreach (DataRow rowitem in dt.Rows)
{
string ipaddress = rowitem["controlip"].ToString().Trim();
List<LightcontrolModel> conlist = cachedal.GetControlList().FindAll(o => o.controlip == ipaddress);
if (conlist != null && conlist.Count > 0)
{
LogHelper.WriteLogInfo(ipaddress + "已连接!");
}
else
{
int port = Convert.ToInt32(rowitem["port"].ToString().Trim());
int timeout = 2000;
bool bo = lig.Connect(ipaddress, port, timeout);//timeout 毫秒
if (bo)
string ipaddress = rowitem["controlip"].ToString().Trim();
List<LightcontrolModel> conlist = cachedal.GetControlList().FindAll(o => o.controlip == ipaddress);
if (conlist != null && conlist.Count > 0)
{
LightcontrolModel model = new LightcontrolModel();
model.controlip = ipaddress;
model.maincontrol = lig;
cachedal.UpdateControlList(new List<LightcontrolModel> { model }, EcontrolCommend.Create);
res.resultCode = "0";
res.resultMsg = "成功!";
LogHelper.WriteLogInfo(ipaddress + "已连接!");
}
else
{
res.resultCode = "-1";
res.resultMsg = "连接失败" + ipaddress;
return res;
int port = Convert.ToInt32(rowitem["port"].ToString().Trim());
int timeout = 2000;
bool bo = lig.Connect(ipaddress, port, timeout);//timeout 毫秒
if (bo)
{
LightcontrolModel model = new LightcontrolModel();
model.controlip = ipaddress;
model.maincontrol = lig;
model.port = port;
cachedal.UpdateControlList(new List<LightcontrolModel> { model }, EcontrolCommend.Create);
res.resultCode = "0";
res.resultMsg = "成功!";
}
else
{
res.resultCode = "-1";
res.resultMsg = "连接失败" + ipaddress;
return res;
}
}
}
}
else
{
res.resultCode = "-1";
res.resultMsg = "播种墙号错误";
return res;
}
}
else {
res.resultCode = "-1";
res.resultMsg = "播种墙号错误";
return res;
LogHelper.WriteLogInfo("断开连接");
List<LightcontrolModel> conlist = cachedal.GetControlList();
if (conlist.Any() && conlist.Count > 0)
{
foreach (LightcontrolModel con in conlist)
{
bool b= con.maincontrol.DisConnect(con.controlip,con.port);
LogHelper.WriteLogInfo(b+"断开连接"+ con.controlip+"=="+con.port);
}
}
cachedal.ClearControlList();
res.resultCode = "0";
res.resultMsg = "断开连接成功!";
}
}
}

View File

@ -33,19 +33,19 @@
<publishTime>04/04/2018 15:45:12</publishTime>
</File>
<File Include="bin/App_global.asax.compiled">
<publishTime>04/20/2023 10:35:48</publishTime>
<publishTime>04/20/2023 18:07:45</publishTime>
</File>
<File Include="bin/App_global.asax.dll">
<publishTime>04/20/2023 10:35:48</publishTime>
<publishTime>04/20/2023 18:07:45</publishTime>
</File>
<File Include="bin/BouncyCastle.Crypto.dll">
<publishTime>02/24/2020 15:29:24</publishTime>
</File>
<File Include="bin/Common.dll">
<publishTime>04/20/2023 10:35:36</publishTime>
<publishTime>04/20/2023 18:07:34</publishTime>
</File>
<File Include="bin/Common.pdb">
<publishTime>04/20/2023 10:35:36</publishTime>
<publishTime>04/20/2023 18:07:34</publishTime>
</File>
<File Include="bin/ComposerSDK.dll">
<publishTime>04/29/2020 16:50:14</publishTime>
@ -63,31 +63,31 @@
<publishTime>10/23/2017 13:15:20</publishTime>
</File>
<File Include="bin/Epost.BLL.dll">
<publishTime>04/20/2023 10:35:37</publishTime>
<publishTime>04/20/2023 18:07:35</publishTime>
</File>
<File Include="bin/Epost.BLL.pdb">
<publishTime>04/20/2023 10:35:37</publishTime>
<publishTime>04/20/2023 18:07:35</publishTime>
</File>
<File Include="bin/Epost.BLL.XmlSerializers.dll">
<publishTime>08/26/2020 18:09:48</publishTime>
</File>
<File Include="bin/Epost.DAL.dll">
<publishTime>04/20/2023 10:35:36</publishTime>
<publishTime>04/20/2023 18:07:35</publishTime>
</File>
<File Include="bin/Epost.DAL.pdb">
<publishTime>04/20/2023 10:35:36</publishTime>
<publishTime>04/20/2023 18:07:35</publishTime>
</File>
<File Include="bin/Epost.DPS.dll">
<publishTime>04/20/2023 10:35:39</publishTime>
<publishTime>04/20/2023 18:07:38</publishTime>
</File>
<File Include="bin/Epost.DPS.pdb">
<publishTime>04/20/2023 10:35:39</publishTime>
<publishTime>04/20/2023 18:07:38</publishTime>
</File>
<File Include="bin/Epost.Model.dll">
<publishTime>04/20/2023 10:35:36</publishTime>
<publishTime>04/20/2023 18:07:34</publishTime>
</File>
<File Include="bin/Epost.Model.pdb">
<publishTime>04/20/2023 10:35:36</publishTime>
<publishTime>04/20/2023 18:07:34</publishTime>
</File>
<File Include="bin/Epost.TestToolsWeb.dll">
<publishTime>09/06/2018 11:57:11</publishTime>
@ -5658,7 +5658,7 @@
<publishTime>05/30/2022 16:58:47</publishTime>
</File>
<File Include="PrecompiledApp.config">
<publishTime>04/20/2023 10:35:44</publishTime>
<publishTime>04/20/2023 18:07:40</publishTime>
</File>
<File Include="Scripts/ai.0.22.9-build00167.js">
<publishTime>04/04/2018 15:45:12</publishTime>