Exemple #1
0
        public static bool GetParam(string storeId, string requestType, ref ParamQueryResultModel paramQueryResultModel, out string errMsg)
        {
            StoreBusiness   storeBusiness   = new StoreBusiness();
            StoreCacheModel storeCacheModel = null;

            if (!storeBusiness.IsEffectiveStore(storeId, ref storeCacheModel, out errMsg))
            {
                return(false);
            }

            string sn = System.Guid.NewGuid().ToString().Replace("-", "");
            UDPSocketCommonQueryAnswerModel answerModel = null;
            string radarToken = string.Empty;

            if (DataFactory.SendDataParamQuery(sn, storeId, storeCacheModel.StorePassword, requestType, out radarToken, out errMsg))
            {
            }
            else
            {
                return(false);
            }

            answerModel = null;
            while (answerModel == null)
            {
                System.Threading.Thread.Sleep(1000);
                answerModel = UDPSocketCommonQueryAnswerBusiness.GetAnswerModel(sn, 1);
            }

            if (answerModel != null)
            {
                ParamQueryResultNotifyRequestModel model = (ParamQueryResultNotifyRequestModel)(answerModel.Result);
                //移除应答缓存数据
                UDPSocketCommonQueryAnswerBusiness.Remove(sn);

                if (model.Result_Code == "1")
                {
                    paramQueryResultModel = model.Result_Data;
                    return(true);
                }
                else
                {
                    errMsg = model.Result_Msg;
                    return(false);
                }
            }
            else
            {
                errMsg = "系统没有响应";
                return(false);
            }
        }
        public static void ParamQueryNotify(string requestDataJson, UDPClientItemBusiness.ClientItem item)
        {
            string errMsg = string.Empty;

            //获取雷达通知请求数据模式
            ParamQueryResultNotifyRequestModel requestDataModel = JsonHelper.DataContractJsonDeserializer <ParamQueryResultNotifyRequestModel>(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);
        }