public static void DeviceStateChange(string requestDataJson, UDPClientItemBusiness.ClientItem item) { object outModel = null; object requestModel = null; DataFactory.CreateResponseProtocolData(TransmiteEnum.设备状态变更通知, requestDataJson, ref requestModel, ref outModel); DeviceStateOutParamsModel responseOutModel = (DeviceStateOutParamsModel)outModel; Send(((IPEndPoint)item.remotePoint).Address.ToString(), ((IPEndPoint)item.remotePoint).Port, ((DeviceStateOutParamsModel)outModel).ResponsePackages); DeviceStateRequestDataModel requestDataModel = (DeviceStateRequestDataModel)requestModel; //记录心跳日志 bool bChangeSuccess = false; if (responseOutModel.ResponseModel.GetType().Name.Equals("ComonErrorResponseModel")) { ComonErrorResponseModel model = (ComonErrorResponseModel)(responseOutModel.ResponseModel); bChangeSuccess = model.Result_Code == "1" ? true : false; } else if (responseOutModel.ResponseModel.GetType().Name.Equals("ComonSuccessResponseModel")) { ComonSuccessResponseModel model = (ComonSuccessResponseModel)(responseOutModel.ResponseModel); bChangeSuccess = model.Result_Code == "1" ? true : false; } string logTxt = "[接收:" + requestDataJson + "]" + "[响应:" + Utils.SerializeObject(outModel) + "]" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); UDPLogHelper.SaveDeviceStateChangeLog(((IPEndPoint)item.remotePoint).Address.ToString(), ((IPEndPoint)item.remotePoint).Port, requestDataModel.StoreId, requestDataModel.Token, requestDataModel.MCUId, requestDataModel.Status, bChangeSuccess, requestDataJson, responseOutModel.ResponseJson, logTxt); string message = "[接收:" + requestDataJson + "]" + "[响应:" + responseOutModel.ResponseJson + "]"; SignalrServerToClient.BroadcastMessage(Convert.ToInt32(TransmiteEnum.设备状态变更通知), "设备状态变更通知", requestDataModel.Token, message, System.DateTime.Now); }
public object deviceChange(Dictionary <string, object> dicParas) { string errMsg = string.Empty; string token = dicParas.ContainsKey("token") ? dicParas["token"].ToString() : string.Empty; string mcuid = dicParas.ContainsKey("mcuid") ? dicParas["mcuid"].ToString() : string.Empty; string status = dicParas.ContainsKey("status") ? dicParas["status"].ToString() : string.Empty; UDPClientItemBusiness.ClientItem item = XCCloudService.SocketService.UDP.ClientList.ClientListObj.Where <UDPClientItemBusiness.ClientItem>(p => p.gID.Equals(token)).FirstOrDefault <UDPClientItemBusiness.ClientItem>(); if (item == null) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "雷达token不存在")); } StoreBusiness storeBusiness = new StoreBusiness(); StoreCacheModel storeCacheModel = null; if (!storeBusiness.IsEffectiveStore(item.StoreID, ref storeCacheModel, out errMsg)) { return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店不存在")); } ClientService service = new ClientService(); service.Connection(); DeviceStateRequestDataModel dataModel = new DeviceStateRequestDataModel(token, mcuid, status, "", ""); SignKeyHelper.SetSignKey(dataModel, storeCacheModel.StorePassword); byte[] data = DataFactory.CreateRequesProtocolData(TransmiteEnum.设备状态变更通知, dataModel); service.Send(data); var obj = new { token = token }; return(ResponseModelFactory.CreateAnonymousSuccessModel(isSignKeyReturn, obj)); }
public void deviceState(HttpContext context) { string token = context.Request["token"] ?? ""; string mcuid = context.Request["mcuid"] ?? ""; string status = context.Request["status"] ?? ""; string signkey = context.Request["signkey"] ?? ""; ClientService service = new ClientService(); service.Connection(); DeviceStateRequestDataModel dataModel = new DeviceStateRequestDataModel(token, mcuid, status, "", signkey); byte[] data = DataFactory.CreateRequesProtocolData(TransmiteEnum.设备状态变更通知, dataModel); service.Send(data); }