示例#1
0
        //编辑日志
        public string EditMTlog_Err(VoucherResponse response, Meituan_reqlog mlog)
        {
            string json = JsonConvert.SerializeObject(response);

            #region 把处理结果录入数据库
            mlog.respstr  = json;
            mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            mlog.code     = response.code.ToString();
            mlog.describe = response.describe;

            new Meituan_reqlogData().EditReqlog(mlog);
            #endregion

            return(json);
        }
示例#2
0
        public async override Task <VoucherResponse> UploadVoucher(IAsyncStreamReader <VoucherRequest> requestStream, ServerCallContext context)
        {
            VoucherResponse response = new VoucherResponse {
                Message = "Operation Successful"
            };

            await foreach (var m in requestStream.ReadAllAsync())
            {
                _tripVoucherService.UploadVoucher(new TripVoucher
                {
                    Amount = m.Amount,
                });
            }
            return(response);
        }
示例#3
0
        public void SerializerXml(string res)
        {
            VoucherResponse v = Newtonsoft.Json.JsonConvert.DeserializeObject <VoucherResponse>(res);

            using (var db = new HACIENDAContext())
            {
                db.VoucherResponse.Add(new VoucherResponse {
                    Clave        = v.Clave,
                    Fecha        = v.Fecha,
                    IntEstado    = v.IntEstado,
                    RespuestaXml = v.RespuestaXml
                });
                db.SaveChanges();
                Console.WriteLine(String.Format("Se recibio una respuesta de hacienda del documento{0} con un status {1} ", v.Clave, v.IntEstado));
            }
        }
示例#4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            #region 记入日志表Meituan_reqlog
            string         reqip = CommonFunc.GetRealIP();
            Meituan_reqlog mlog  = new Meituan_reqlog
            {
                id                  = 0,
                reqstr              = _requestParam,
                subtime             = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                respstr             = "",
                resptime            = "",
                code                = "",
                describe            = "",
                req_type            = "",
                sendip              = reqip,
                stockagentcompanyid = 0
            };
            int logid = new Meituan_reqlogData().EditReqlog(mlog);
            mlog.id = logid;
            #endregion


            string date          = System.Web.HttpContext.Current.Request.Headers.Get("Date");
            string PartnerId     = System.Web.HttpContext.Current.Request.Headers.Get("PartnerId");
            string Authorization = System.Web.HttpContext.Current.Request.Headers.Get("Authorization");
            string requestMethod = System.Web.HttpContext.Current.Request.HttpMethod;
            string URI           = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath;
            //authorization 形式: "MWS" + " " + client + ":" + sign;
            string mtSign = Authorization.Substring(Authorization.IndexOf(":") + 1);

            mlog.req_type = URI;

            agentinfo = new AgentCompanyData().GetAgentCompanyByMeituanPartnerId(PartnerId);
            #region 验证是否已经配置美团合作商信息
            if (agentinfo == null)
            {
                var response = new VoucherResponse();
                response.partnerId = int.Parse(PartnerId);
                response.code      = 300;
                response.describe  = "分销尚未配置美团合作商信息(合作商PartnerId:" + PartnerId + ")";

                string json = JsonConvert.SerializeObject(response);

                //把处理结果录入日志
                mlog.respstr  = json;
                mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                mlog.code     = response.code.ToString();
                mlog.describe = response.describe;
                new Meituan_reqlogData().EditReqlog(mlog);

                LogHelper.RecordSelfLog("Error", "meituan", response.describe);

                Response.Write(json);
                return;
            }
            #endregion

            mlog.stockagentcompanyid = agentinfo.Id;

            #region 签名验证
            string beforeSign = requestMethod + " " + URI + "\n" + date;
            string afterSign  = new MeiTuanInter(agentinfo.mt_partnerId, agentinfo.mt_secret, agentinfo.mt_client).GetSign(beforeSign);
            //判断签名是否正确
            if (afterSign != mtSign)
            {
                var response = new VoucherResponse();
                response.partnerId = int.Parse(PartnerId);
                response.code      = 300;
                response.describe  = "签名验证失败";

                string json = JsonConvert.SerializeObject(response);

                //把处理结果录入日志
                mlog.respstr  = json;
                mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                mlog.code     = response.code.ToString();
                mlog.describe = response.describe;
                new Meituan_reqlogData().EditReqlog(mlog);

                LogHelper.RecordSelfLog("Error", "meituan", "拉取产品 签名错误 mtSign-" + mtSign + "  meSign-" + afterSign);

                Response.Write(json);
                return;
            }
            #endregion

            string actionResult = Getorderresend(mlog);

            Response.Write(actionResult);
        }