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 static void LotteryOperateNotify(string requestDataJson, UDPClientItemBusiness.ClientItem item)
        {
            string routeDeivceToken = string.Empty;
            string password         = string.Empty;
            string errMsg           = string.Empty;

            //获取雷达通知请求数据模式
            LotteryOperateResultNotifyRequestModel requestDataModel = JsonHelper.DataContractJsonDeserializer <LotteryOperateResultNotifyRequestModel>(requestDataJson);
            UDPSocketCommonQueryAnswerModel        asnwerModel      = UDPSocketCommonQueryAnswerBusiness.GetAnswerModel(requestDataModel.SN);

            if (requestDataModel.Result_Data == null)
            {
                requestDataModel.Result_Data = "";
            }
            //验证MD5
            if (!SignKeyHelper.CheckSignKey(requestDataModel, asnwerModel.StorePassword))
            {
                errMsg = "签名不正确";
                return;
            }

            asnwerModel.Status = 1;
            asnwerModel.Result = requestDataModel;

            SignalrServerToClient.BroadcastMessage(Convert.ToInt32(TransmiteEnum.远程门店彩票操作请求响应), "远程门店彩票操作请求响应", asnwerModel.RadarToken, requestDataJson);
        }
        public object radarRegister(Dictionary <string, object> dicParas)
        {
            string errMsg  = string.Empty;
            string storeId = dicParas.ContainsKey("storeId") ? dicParas["storeId"].ToString() : string.Empty;
            string segment = dicParas.ContainsKey("segment") ? dicParas["segment"].ToString() : string.Empty;

            XCGameManaAdminUserTokenModel tokenModel = (XCGameManaAdminUserTokenModel)(dicParas[Constant.XCGameManamAdminUserToken]);

            if (tokenModel == null)
            {
                errMsg = "用户没有授权";
                return(false);
            }

            StoreBusiness   storeBusiness   = new StoreBusiness();
            StoreCacheModel storeCacheModel = null;

            if (!storeBusiness.IsEffectiveStore(storeId, ref storeCacheModel, out errMsg))
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店不存在"));
            }

            ClientService service = new ClientService();

            service.Connection();
            RadarRegisterRequestDataModel dataModel = new RadarRegisterRequestDataModel(storeId, segment);

            SignKeyHelper.SetSignKey(dataModel, storeCacheModel.StorePassword);
            byte[] data = DataFactory.CreateRequesProtocolData(TransmiteEnum.雷达注册授权, dataModel);
            service.Send(data);

            System.Threading.Thread.Sleep(5000);

            int count = 0;

            UDPClientItemBusiness.ClientItem item = XCCloudService.SocketService.UDP.ClientList.ClientListObj.Where <UDPClientItemBusiness.ClientItem>(p => p.StoreID.Equals(storeId) && p.Segment.Equals(segment)).FirstOrDefault <UDPClientItemBusiness.ClientItem>();
            while (item == null && count < 10)
            {
                item = XCCloudService.SocketService.UDP.ClientList.ClientListObj.Where <UDPClientItemBusiness.ClientItem>(p => p.StoreID.Equals(storeId) && p.Segment.Equals(segment)).FirstOrDefault <UDPClientItemBusiness.ClientItem>();
                System.Threading.Thread.Sleep(1000);
                count++;
            }

            if (item == null)
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "注册失败"));
            }

            var obj = new { token = item.gID };

            return(ResponseModelFactory.CreateAnonymousSuccessModel(isSignKeyReturn, obj));
        }
        public static void CattleMemberCardQueryNotify(string requestDataJson, UDPClientItemBusiness.ClientItem item)
        {
            string errMsg = string.Empty;

            //获取雷达通知请求数据模式
            CattleMemberCardQueryResultNotifyRequestModel requestDataModel = JsonHelper.DataContractJsonDeserializer <CattleMemberCardQueryResultNotifyRequestModel>(requestDataJson);
            UDPSocketCommonQueryAnswerModel asnwerModel = UDPSocketCommonQueryAnswerBusiness.GetAnswerModel(requestDataModel.SN);

            //验证MD5
            if (!SignKeyHelper.CheckSignKey(requestDataModel, asnwerModel.StorePassword))
            {
                errMsg = "签名不正确";
                return;
            }

            asnwerModel.Status = 1;
            asnwerModel.Result = requestDataModel;

            SignalrServerToClient.BroadcastMessage(Convert.ToInt32(TransmiteEnum.黄牛卡信息查询请求响应), "黄牛卡信息查询请求响应", asnwerModel.RadarToken, requestDataJson);
        }