| | |
| | | /// </summary> |
| | | public class SendControlJobHelper |
| | | { |
| | | /// <summary> |
| | | /// 从MQ里面获取控制指令 辅助类 |
| | | /// </summary> |
| | | private static RabbitMqExChangeHelper _queueHelper = null; |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | if (paras == null) |
| | | { |
| | | LogHelper.Info("南通控制命令,数据序列化失败"); |
| | | NtLogHelper.Info("南通控制命令,数据序列化失败"); |
| | | return true; |
| | | } |
| | | byte[] bts = null; |
| | | switch (paras.Type) |
| | | switch (paras.ControlType) |
| | | { |
| | | case 0: |
| | | bts = MsgDataHelper.GetControlMsg关机(); |
| | | LogHelper.Info("关机"); |
| | | break;//从辅助类中获取 关闭 |
| | | case 1: |
| | | bts = MsgDataHelper.GetControlMsg开机(); |
| | | LogHelper.Info("开机"); |
| | | break;//从辅助类中获取 开启 |
| | | case -1: |
| | | case Model.MonitorTestControlParas.eControlType.Stop: |
| | | { |
| | | if (string.IsNullOrEmpty(paras.Paras)) |
| | | { |
| | | LogHelper.Error($"[调频]参数: null"); |
| | | return false; |
| | | } |
| | | if (!double.TryParse(paras.Paras, out double value)) |
| | | { |
| | | LogHelper.Error($"[调频]参数异常:{paras.Paras}"); |
| | | return false; |
| | | } |
| | | |
| | | bts = MsgDataHelper.GetControlMsg调频(value); |
| | | LogHelper.Info($"[调频]参数:{paras.Paras}"); |
| | | ShutDownMsgHelper.StartJob(session); |
| | | } |
| | | break;//从辅助类中获取 变频 |
| | | break; |
| | | case Model.MonitorTestControlParas.eControlType.Start: |
| | | { |
| | | if (string.IsNullOrEmpty(paras.Context)) |
| | | return false; |
| | | var context = Model.MonitorTestControlParas.StartContext.ToModel(paras.Context); |
| | | if (context == null) |
| | | return default; |
| | | NtLogHelper.Debug(context.ToJson()); |
| | | StartUpMsgHelper.StartJob(session, context); |
| | | } |
| | | break; |
| | | default: |
| | | return false; |
| | | } |
| | | if (bts != null) |
| | | { |
| | | if (session != null) |
| | | { |
| | | if (session.IsConnected) |
| | | { |
| | | session.Send(bts, 0, bts.Length); |
| | | LogHelper.Info(session.SessionName + ":" + BitTransfer.ToString(bts) + ", 发送一条请求控制指令"); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Error($"session:Not connected"); |
| | | return false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Error($"session:Close"); |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Error("南通控制命令,数据消息队列出错,自动跳过", ex); |
| | | NtLogHelper.Error("南通控制命令,数据消息队列出错,自动跳过", ex); |
| | | return true; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |