コード例 #1
0
        /// <summary>
        /// 请求富士主平台的标准接口
        /// </summary>
        /// <param name="servername">接口方法地址</param>
        /// <param name="arguments">参数</param>
        /// <returns></returns>
        public bool RequestInterfaceV2(string servername, Dictionary <string, object> arguments)
        {
            string parkingCode = ""; //车编
            string carNo       = ""; //车牌

            try
            {
                if (arguments.ContainsKey("ParkingCode") && arguments["ParkingCode"] != null)
                {
                    parkingCode = arguments["ParkingCode"].ToString();
                }
                if (arguments.ContainsKey("CarNo") && arguments["CarNo"] != null)
                {
                    carNo = arguments["CarNo"].ToString();
                }
                string jsonstr   = m_serializer.Serialize(arguments);
                string timestamp = GenerateTimeStamp();
                string sign      = GetSignContentV2(string.Format("param={0}&secret={1}&timestamp={2}", jsonstr, Fujica_secret, timestamp), Fujica_privatekey);

                HttpHelp._headers.Clear();
                HttpHelp.Headers.Add("sign", sign);
                HttpHelp.Headers.Add("appid", Fujica_appid);
                HttpHelp.Headers.Add("timestamp", timestamp);
                //string result = HttpHelper.HttpPost("http://api.mops.fujica.com.cn/v2/Api/" + servername, jsonstr);
                string result = HttpHelp.HttpPost(Fujica_url + servername, jsonstr);

                Dictionary <string, object> resultdic = m_serializer.Deserialize <Dictionary <string, object> >(result);
                if ((bool)resultdic["IsSuccess"])
                {
                    this.FujicaResult = result;
                    m_logger.LogInfo(LoggerLogicEnum.Communication, "", parkingCode, carNo, "Fujica.com.cn.Tools.RequestFujicaStandard.RequestInterfaceV2", string.Format("接口执行成功,请求接口:{0},请求字符串:{1},原始返回结果:{2}", servername, m_serializer.Serialize(arguments), result));
                }
                else
                {
                    this.FujicaResult = result;
                    m_logger.LogWarn(LoggerLogicEnum.Communication, "", parkingCode, carNo, "Fujica.com.cn.Tools.RequestFujicaStandard.RequestInterfaceV2", string.Format("接口执行不成功,请求接口:{0},请求字符串:{1},原始返回结果:{2}", servername, m_serializer.Serialize(arguments), result));
                    return(false);
                }
                return(true);
            }
            catch (Exception ex)
            {
                m_logger.LogFatal(LoggerLogicEnum.Communication, "", parkingCode, carNo, "Fujica.com.cn.Tools.RequestFujicaStandard.RequestInterfaceV2", string.Format("请求业务抛出异常,请求接口:{0},请求字符串:{1}", servername, m_serializer.Serialize(arguments)), ex.ToString());
                return(false);
            }
        }
コード例 #2
0
        /// <summary>
        /// 请求报表接口
        /// </summary>
        /// <param name="servername"></param>
        /// <param name="arguments"></param>
        /// <returns></returns>
        public bool RequestFujicaReport(string servername, Dictionary<string, object> arguments)
        {
            string parkingCode = "";//车编
            string licensePlate = "";//车牌号或卡号
            try
            {
                if (arguments.ContainsKey("ParkingCode") && arguments["ParkingCode"] != null)
                {
                    parkingCode = arguments["ParkingCode"].ToString();
                }
                if (arguments.ContainsKey("LicensePlate")&& arguments["LicensePlate"] != null)
                { 
                    licensePlate = arguments["LicensePlate"].ToString();
                }
                string jsonstr = m_serializer.Serialize(arguments);
                string timestamp = GenerateTimeStamp();
                string sign = GetSignContentV2(string.Format("param={0}&secret={1}&timestamp={2}", jsonstr, Fujica_secret, timestamp), Fujica_privatekey);

                HttpHelp._headers.Clear();
                HttpHelp.Headers.Add("sign", sign);
                HttpHelp.Headers.Add("appid", Fujica_appid);
                HttpHelp.Headers.Add("timestamp", timestamp);
                string result = HttpHelp.HttpPost(Fujica_url + servername, jsonstr);
                Dictionary<string, object> resultdic = m_serializer.Deserialize<Dictionary<string, object>>(result);
                if ((bool)resultdic["IsSuccess"])
                {
                    this.FujicaResult = result;
                    m_logger.LogInfo(LoggerLogicEnum.Communication, "", parkingCode, licensePlate, "Fujica.com.cn.Tools.RequestFujicaReportStatistical.RequestFujicaReport", string.Format("接口执行成功,请求接口:{0},请求字符串:{1},原始返回结果:{2}", servername, m_serializer.Serialize(arguments), result));
                }
                else
                {
                    this.FujicaResult = result;
                    m_logger.LogWarn(LoggerLogicEnum.Communication, "", parkingCode, licensePlate, "Fujica.com.cn.Tools.RequestFujicaReportStatistical.RequestFujicaReport", string.Format("接口执行不成功,请求接口:{0},请求字符串:{1},原始返回结果:{2}", servername, m_serializer.Serialize(arguments), result));
                    return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                m_logger.LogFatal(LoggerLogicEnum.Communication, "", parkingCode, licensePlate, "Fujica.com.cn.Tools.RequestFujicaReportStatistical.RequestFujicaReport", string.Format("请求业务抛出异常,请求接口:{0},异常信息:{1}", servername, ex.ToString()));
                return false;
            }
        }