Example #1
0
 /// <summary>
 /// 检查请求信息
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="request"></param>
 /// <param name="langType"></param>
 /// <returns></returns>
 public string CheckRequestInfo <T>(RequstModel <T> request, string langType = "")
 {
     if (request == null)
     {
         if (langType == "EN")
         {
             return("Invoking Parameter Failed.");
         }
         else
         {
             return("请求参数缺失.");
         }
     }
     if (request.requestInfo == null)
     {
         if (langType == "EN")
         {
             return("requestInfo Parameter Missing.");
         }
         else
         {
             return("requestInfo参数缺失.");
         }
     }
     return(string.Empty);
 }
        public Task <ResultModel <ResponseResultInfo> > PushBusTest(RequstModel <PushBusInterfaceModel> requst)
        {
            _logger.Trace(LogSource, $"Start PushBusTest Data:{ JsonConvert.SerializeObject(requst) }", "PushBusTest");

            var responseInfo = new ResultModel <ResponseResultInfo>();

            responseInfo.resultInfo = new ResponseResultInfo()
            {
                logId = Guid.NewGuid().ToString()
            };
            return(Task.FromResult(responseInfo));
        }
        /// <summary>
        /// 噪音数据上报
        /// </summary>
        public void UploadData(BaseDataModel _baseDataModel)
        {
            RequstModel requstModel = new RequstModel();
            string      resultStr   = requstModel.ToString(new DataModel()
            {
                Humidity      = _baseDataModel.humidity,
                Noise         = _baseDataModel.noise,
                PM10          = _baseDataModel.PM10,
                PM25          = _baseDataModel.PM25,
                Temperature   = _baseDataModel.temperature,
                WindDirection = _baseDataModel.windDirection,
                WindSpeed     = _baseDataModel.windSpeed,

                TerminalNumber = _baseDataModel.deviceAddress,
                DeviceAddress  = _baseDataModel.deviceAddress
            });

            byte[] sendData = Encoding.ASCII.GetBytes(resultStr);
            tcpSend(sendData);

            int tryTimes = 0;

            do
            {
                Thread.Sleep(500);
                if (isEnd)
                {
                    break;
                }
                if (tryTimes >= 6)
                {
                    _client.Close();
                    _log.InfoFormat("{0}{1} TBJDataUploadService 设备号:{2} 服务器响应超时链接已断开", DateTime.Now, Environment.NewLine, _baseDataModel.deviceAddress);
                    break;
                }
                tryTimes++;
            } while (true);

            _log.InfoFormat("{0}{1} TBJDataUploadService 数据上传完成 设备号:{2}", DateTime.Now, Environment.NewLine, _baseDataModel.deviceAddress);
            _client.Close();
            _client.Dispose();
        }
Example #4
0
        /// <summary>
        /// 噪音数据上报
        ///
        //string.Format("&&DataTime={0};" +
        //        "a01001-Rtd={1},a01001-Flag=N;" +
        //        "a01002-Rtd={2},a01002-Flag=N;" +
        //        "a01006-Rtd={3},a01006-Flag=N;" +
        //        "a01007-Rtd={4},a01007-Flag=N;" +
        //        "a01008-Rtd={5},a01008-Flag=N;" +
        //        "a34001-Rtd={6},a34001-Flag=N;" +
        //        "a34002-Rtd={7},a34002-Flag=N;" +
        //        "a34004-Rtd={8},a34004-Flag=N;" +
        //        "La-Rtd={9},La-Flag=N;" +
        //        "longitude={10};latitude={11};&&",
        //                DateTime.Now.ToString("yyyyMMddhhmmss"),
        //        _baseDataModel.temperature,     //温度 摄氏度
        //        _baseDataModel.humidity,     //湿度 %
        //        0,     //气压 千帕
        //        _baseDataModel.windSpeed,     //风速 米/秒
        //        _baseDataModel.windDirection,     //风向 角度
        //        _baseDataModel.TSP,     //总悬浮颗粒物 TSP
        //        _baseDataModel.PM10,     //可吸入颗粒物 PM10
        //        _baseDataModel.PM25,     //细微颗粒物 PM2.5
        //        _baseDataModel.noise,     //噪声 分贝
        //        _baseDataModel.longitude,
        //        _baseDataModel.latitude
        //        )
        /// </summary>
        public void UploadData(BaseDataModel _baseDataModel)
        {
            RequstModel   requstModel = new RequstModel();
            StringBuilder cpsb        = new StringBuilder();

            cpsb.Append("&&").AppendFormat("DataTime={0};", DateTime.Now.ToString("yyyyMMddhhmmss"));

            if (!string.IsNullOrEmpty(_baseDataModel.temperature))//温度 摄氏度
            {
                cpsb.AppendFormat("a01001-Rtd={0},a01001-Flag=N;", _baseDataModel.temperature);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.humidity))//湿度 %
            {
                cpsb.AppendFormat("a01002-Rtd={0},a01002-Flag=N;", _baseDataModel.humidity);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.windSpeed))//风速 米/秒
            {
                cpsb.AppendFormat("a01007-Rtd={0},a01007-Flag=N;", _baseDataModel.windSpeed);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.windDirection))//风向 角度
            {
                cpsb.AppendFormat("a01008-Rtd={0},a01008-Flag=N;", _baseDataModel.windDirection);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.TSP))//总悬浮颗粒物 TSP
            {
                cpsb.AppendFormat("a34001-Rtd={0},a34001-Flag=N;", _baseDataModel.TSP);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.PM10))//可吸入颗粒物 PM10
            {
                cpsb.AppendFormat("a34002-Rtd={0},a34002-Flag=N;", _baseDataModel.PM10);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.PM25))//细微颗粒物 PM2.5
            {
                cpsb.AppendFormat("a34004-Rtd={0},a34004-Flag=N;", _baseDataModel.PM25);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.noise))//噪声 分贝
            {
                cpsb.AppendFormat("La-Rtd={0},La-Flag=N;", _baseDataModel.noise);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.longitude))//经度
            {
                cpsb.AppendFormat("longitude={0};", _baseDataModel.longitude);
            }
            if (!string.IsNullOrEmpty(_baseDataModel.latitude))//纬度
            {
                cpsb.AppendFormat("latitude={0};", _baseDataModel.latitude);
            }
            cpsb.Append("&&");

            string resultStr = requstModel.ToString(new DataModel()
            {
                QN   = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
                ST   = "39",
                CN   = "2011",
                PW   = "123456",
                MN   = _baseDataModel.deviceAddress,
                Flag = "5",
                CP   = cpsb.ToString(),
            });

            byte[] sendData = Encoding.ASCII.GetBytes(resultStr);
            tcpSend(sendData);

            //do
            //{
            //    Thread.Sleep(1000);
            //    if (isEnd)
            //    {
            //        break;
            //    }
            //} while (true);

            _log.InfoFormat("{0}{1} MonitoringPollutantsTask 数据上传完成 设备号:{2}", DateTime.Now, Environment.NewLine, _baseDataModel.deviceAddress);
            _client.Close();
            _client.Dispose();
        }
Example #5
0
        public void ToCRC16()
        {
            //string inputStr = @"QN=20160801085857223;ST=32;CN=1062;PW=100000;MN=010000A8900016F000169DC0;Flag=5;CP=&&RtdInterval=30&&";

            //int length = inputStr.Length;
            //string result = CRC.ToCRC16(inputStr, Encoding.ASCII, false);

            //Console.WriteLine(result);
            BaseDataModel _baseDataModel = new BaseDataModel()
            {
                dataTime      = DateTime.Now,
                deviceAddress = "11056",
                humidity      = "12",
                ID            = 12,
                latitude      = "114.213452",
                longitude     = "34.232157",
                noise         = "12",
                PM10          = "12",
                PM25          = "12",
                sensorCount   = "12",
                temperature   = "12",
                transCode     = "12",
                transTo       = "12",
                TSP           = "12",
                windDirection = "12",
                windPower     = "12",
                windSpeed     = "12"
            };

            RequstModel requstModel = new RequstModel();
            string      resultStr   = requstModel.ToString(new DataModel()
            {
                QN   = DateTime.Now.ToString("yyyyMMddHHmmssfff"),
                ST   = "39",
                CN   = "2011",
                PW   = "123456",
                MN   = "11004",
                Flag = "5",
                CP   = string.Format("&&DataTime={0};" +
                                     "a01001-Rtd={1},a01001-Flag=N;" +
                                     "a01002-Rtd={2},a01002-Flag=N;" +
                                     "a01006-Rtd={3},a01006-Flag=N;" +
                                     "a01007-Rtd={4},a01007-Flag=N;" +
                                     "a01008-Rtd={5},a01008-Flag=N;" +
                                     "a34001-Rtd={6},a34001-Flag=N;" +
                                     "a34002-Rtd={7},a34002-Flag=N;" +
                                     "a34004-Rtd={8},a34004-Flag=N;" +
                                     "La-Rtd={9},La-Flag=N;" +
                                     "longitude={10};latitude={11};&&",
                                     DateTime.Now.ToString("yyyyMMddhhmmss"),
                                     _baseDataModel.temperature,   //温度 摄氏度
                                     _baseDataModel.humidity,      //湿度 %
                                     0,                            //气压 千帕
                                     _baseDataModel.windSpeed,     //风速 米/秒
                                     _baseDataModel.windDirection, //风向 角度
                                     _baseDataModel.TSP,           //总悬浮颗粒物 TSP
                                     _baseDataModel.PM10,          //可吸入颗粒物 PM10
                                     _baseDataModel.PM25,          //细微颗粒物 PM2.5
                                     _baseDataModel.noise,         //噪声 分贝
                                     _baseDataModel.longitude,
                                     _baseDataModel.latitude
                                     ),
            });

            Console.WriteLine(resultStr);
        }
        public Task <ResultModel <ResponseResultModel> > StartProcess(RequstModel <ProcessStartArgs> requst)
        {
            _logger.Trace(LogSource, $"Start StartProcess bizId:{ requst?.requestInfo?.bizId }", "StartProcess");
            #region 初始化信息

            System.Diagnostics.Stopwatch stopwatch_Start = new System.Diagnostics.Stopwatch();
            stopwatch_Start.Start();

            System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
            TimeSpan timespan;

            //初始化返回信息
            var responseInfo = _BPMService.InitProcessStartResponseInfo();
            var serviceInfo  = _BPMService.InitBPMServiceModel();

            //初始化sourceId
            var sourceId = (requst != null && requst.requestInfo != null) ? requst.requestInfo.sourceId : string.Empty;

            //获取requst Json数据
            var requstJson = JsonConvert.SerializeObject(requst);
            #endregion

            try
            {
                //初始化BPMServiceInfo
                serviceInfo             = _BPMService.InitBPMServiceInfo(sourceId, requstJson);
                responseInfo.resultInfo = serviceInfo.ResponseInfo;

                //校验Esb请求参数是否为空
                serviceInfo.ResponseInfo.returnMsg = _BPMService.CheckRequestInfo(requst);
                if (!string.IsNullOrWhiteSpace(serviceInfo.ResponseInfo.returnMsg))
                {
                    _BPMService.ProStartAddErrorInfo(serviceInfo, requst.requestInfo, 0);
                    return(Task.FromResult(responseInfo));
                }

                //必填参数校验
                serviceInfo.ResponseInfo.returnMsg = _BPMService.VerifyRequired(ModelState);
                if (!string.IsNullOrWhiteSpace(serviceInfo.ResponseInfo.returnMsg))
                {
                    _BPMService.ProStartAddErrorInfo(serviceInfo, requst.requestInfo);
                    return(Task.FromResult(responseInfo));
                }
                var requestInfo = requst.requestInfo;
                //发起模式(默认值为Default)
                requestInfo.startMode = string.IsNullOrWhiteSpace(requestInfo.startMode) ? ProcessStartModeEnum.Default.ToString() : requestInfo.startMode;

                //流程发起
                responseInfo.resultInfo = _BPMService.ProcessStart(serviceInfo, requestInfo);
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "StartProcess");//记录日志到日志系统
                responseInfo.resultInfo.returnMsg = "接口错误!" + ex.Message;

                //返回错误信息,记录日志
                _BPMService.ProStartAddErrorInfo(serviceInfo, requst.requestInfo, 999);
            }

            stopwatch_Start.Stop();
            var timespan_Start = stopwatch_Start.Elapsed;
            _logger.Debug("StartProcess", $"StartProcess 执行时间:{ timespan_Start.TotalMilliseconds } ms");//方法计时记录日志系统
            _logger.Trace(LogSource, $"End StartProcess流程发起 bizId:{requst?.requestInfo?.bizId}");

            return(Task.FromResult(responseInfo));
        }