コード例 #1
0
        private string pay_order(Agent_requestlog reqlog, OrderPayRequestBody body, string organization, Meituan_reqlog mlog)
        {
            var response = new OrderPayResponse();

            response.partnerId = int.Parse(agentinfo.mt_partnerId);

            string mtorderid      = body.orderId.ToString();
            string partnerOrderId = body.partnerOrderId;
            ////如果合作商订单Id不存在,则查询美团订单创建日志
            //if(partnerOrderId=="")
            //{
            //    Meituan_reqlog mtOrderCrateSucLog = new Meituan_reqlogData().GetMtOrderCrateLogByMtorder(body.orderId.ToString(), "200");
            //    partnerOrderId = mtOrderCrateSucLog.ordernum;
            //}

            string      data    = OrderJsonData.agentorder_shoudongchuli(partnerOrderId.ConvertTo <int>(0));
            XmlDocument retdoc  = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + data + "}");
            XmlElement  retroot = retdoc.DocumentElement;
            string      type    = retroot.SelectSingleNode("type").InnerText;
            string      msg     = retroot.SelectSingleNode("msg").InnerText;

            if (type == "100")//创建订单成功
            {
                string pno = retroot.SelectSingleNode("pno").InnerText;

                response.code     = 200;
                response.describe = "success";
                response.body     = new OrderPayResponseBody
                {
                    orderId          = body.orderId,
                    partnerOrderId   = partnerOrderId,
                    voucherType      = (int)Meituan_voucherType.multiuse,
                    asyReturnVoucher = false,
                    vouchers         = new string[] { pno },
                    voucherPics      = new string[] {}
                };


                reqlog.Is_dealsuc = 1;
                reqlog.Ordernum   = partnerOrderId;

                mlog.ordernum = partnerOrderId;

                return(EditMTlog_Err(response, mlog, reqlog));
            }
            else//创建订单失败
            {
                if (msg == "预付款不足")
                {
                    response.code     = 501;
                    response.describe = msg;
                }
                else
                {
                    response.code     = 599;
                    response.describe = "支付订单失败:" + msg;
                }
                return(EditMTlog_Err(response, mlog, reqlog));
            }
        }
コード例 #2
0
ファイル: sms_resend.aspx.cs プロジェクト: radtek/etowncode
        //编辑日志
        public string EditLvmamalog_Order(backRefund response, Lvmama_reqlog mlog, Agent_requestlog reqlog)
        {
            string json = JsonConvert.SerializeObject(response);

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

            #region  把处理结果录入分销接口通用日志表
            if (reqlog != null)
            {
                reqlog.Errmsg           = json;
                reqlog.Decode_returnstr = json;
                reqlog.Encode_returnstr = "";
                reqlog.Return_time      = DateTime.Now;

                new Agent_requestlogData().Editagent_reqlog(reqlog);
            }
            #endregion

            return(json);
        }
コード例 #3
0
        //编辑美团日志
        public string EditMTlog_Err(OrderPayResponse response, Meituan_reqlog mlog, Agent_requestlog reqlog)
        {
            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

            #region  把处理结果录入分销接口通用日志表
            if (reqlog != null)
            {
                reqlog.Errmsg           = json;
                reqlog.Decode_returnstr = json;
                reqlog.Encode_returnstr = "";
                reqlog.Return_time      = DateTime.Now;

                new Agent_requestlogData().Editagent_reqlog(reqlog);
            }
            #endregion

            return(json);
        }
コード例 #4
0
 public int Editagent_reqlog(Agent_requestlog reqlog)
 {
     using (var helper = new SqlHelper())
     {
         int r = new Internalagent_requestlog(helper).Editagent_reqlog(reqlog);
         return(r);
     }
 }
コード例 #5
0
        internal Agent_requestlog GetAgent_addorderlogByReq_seq(string organization, string req_seq, int isdealsuc)
        {
            string sql = @"SELECT [id]
      ,[organization]
      ,[encode_requeststr]
      ,[decode_requeststr]
      ,[request_time]
      ,[encode_returnstr]
      ,[decode_returnstr]
      ,[return_time]
      ,[errmsg]
      ,[request_type]
      ,[req_seq]
      ,[ordernum]
      ,[is_dealsuc]
      ,[is_second_receivereq]
      ,[request_ip]
  FROM  [agent_requestlog] where organization=@organization and request_type=@requesttype and  req_seq =@req_seq and ordernum!='' and is_dealsuc=@is_dealsuc";

            var cmd = sqlHelper.PrepareTextSqlCommand(sql);

            cmd.AddParam("@organization", organization);
            cmd.AddParam("@requesttype", "add_order");
            cmd.AddParam("@req_seq", req_seq);
            cmd.AddParam("@is_dealsuc", isdealsuc);


            using (var reader = cmd.ExecuteReader())
            {
                Agent_requestlog r = null;
                if (reader.Read())
                {
                    r = new Agent_requestlog()
                    {
                        Id                   = reader.GetValue <int>("id"),
                        Organization         = reader.GetValue <int>("organization"),
                        Encode_requeststr    = reader.GetValue <string>("encode_requeststr"),
                        Decode_requeststr    = reader.GetValue <string>("decode_requeststr"),
                        Request_time         = reader.GetValue <DateTime>("request_time"),
                        Encode_returnstr     = reader.GetValue <string>("encode_returnstr"),
                        Decode_returnstr     = reader.GetValue <string>("decode_returnstr"),
                        Return_time          = reader.GetValue <DateTime>("return_time"),
                        Errmsg               = reader.GetValue <string>("errmsg"),
                        Request_type         = reader.GetValue <string>("request_type"),
                        Req_seq              = reader.GetValue <string>("req_seq"),
                        Ordernum             = reader.GetValue <string>("ordernum"),
                        Is_dealsuc           = reader.GetValue <int>("is_dealsuc"),
                        Is_second_receivereq = reader.GetValue <int>("is_second_receivereq"),
                        Request_ip           = reader.GetValue <string>("request_ip")
                    };
                }
                return(r);
            }
        }
コード例 #6
0
        //编辑日志
        public string EditLvmamalog_Order(backRefund response, Lvmama_reqlog mlog, Agent_requestlog reqlog)
        {
            string json = JsonConvert.SerializeObject(response);

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

            #region  把处理结果录入分销接口通用日志表
            if (reqlog != null)
            {
                reqlog.Errmsg           = json;
                reqlog.Decode_returnstr = json;
                reqlog.Encode_returnstr = "";
                reqlog.Return_time      = DateTime.Now;

                new Agent_requestlogData().Editagent_reqlog(reqlog);
            }
            #endregion


            if (agentinfo != null)
            {
                var lvmamadata = new LVMAMA_Data(agentinfo.Lvmama_uid, agentinfo.Lvmama_password, agentinfo.Lvmama_Apikey);


                //初始的时候没有sign值,等组合后下面生成加密文件
                var discardcodecalljson = lvmamadata.discardcodecall_json(reqlog.Req_seq, agentinfo.Lvmama_uid, agentinfo.Lvmama_password, response.status, "", response.msg);


                #region 签名验证
                string Md5Sign   = lvmamadata.discardcall_codemd5(discardcodecalljson);
                string afterSign = lvmamadata.lumamasign(Md5Sign, agentinfo.Lvmama_Apikey);
                #endregion

                discardcodecalljson.sign = afterSign;

                //异步通知
                AsyncsendsmsEventHandler mydelegate = new AsyncsendsmsEventHandler(AsyncSendSms);
                mydelegate.BeginInvoke(discardcodecalljson, agentinfo, new AsyncCallback(CompletedSendSms), null);
            }


            return(json);
        }
コード例 #7
0
ファイル: sms_resend.aspx.cs プロジェクト: radtek/etowncode
        //     重发,
        public string Smsresend(Lvmama_reqlog mlog, Agent_company agentinfo)
        {
            var response = new backRefund();

            response.uid = agentinfo.Lvmama_uid;
            try
            {
                int organization = agentinfo.Id;
                #region 把分销商发送过来的请求记入数据库日志表2  agent_requestlog
                Agent_requestlog reqlog = new Agent_requestlog()
                {
                    Id                   = 0,
                    Organization         = organization,
                    Encode_requeststr    = "",
                    Decode_requeststr    = _requestParam,
                    Request_time         = DateTime.Now,
                    Encode_returnstr     = "",
                    Decode_returnstr     = "",
                    Return_time          = DateTime.Parse("1970-01-01 00:00:00"),
                    Errmsg               = "",
                    Request_type         = "sms_resend",
                    Req_seq              = "",
                    Ordernum             = "",
                    Is_dealsuc           = 0,
                    Is_second_receivereq = 0,
                    Request_ip           = CommonFunc.GetRealIP()
                };
                int reqlogid = new Agent_requestlogData().Editagent_reqlog(reqlog);
                reqlog.Id = reqlogid;
                #endregion


                var data = JsonConvert.DeserializeObject <sms_resendmodel>(_requestParam);
                if (data.uid == "")
                {
                    response.uid    = agentinfo.Lvmama_uid;
                    response.status = "1";
                    response.msg    = "数据解析失败";
                    return(EditLvmamalog_Order(response, mlog, reqlog));
                }
                else
                {
                    string uid       = data.uid;
                    string password  = data.password;
                    string sign      = data.sign;
                    string timestamp = data.timestamp;
                    string extId     = data.extId;

                    var vasmodel = new SendEticketData().SendEticket(extId.ConvertTo <int>(0), 2);//重发电子码

                    if (vasmodel == "OK")
                    {
                        response.status = "0";
                        response.msg    = "重发成功";
                        return(EditLvmamalog_Order(response, mlog, null));
                    }
                    else
                    {
                        response.status = "14";
                        response.msg    = vasmodel;
                        return(EditLvmamalog_Order(response, mlog, null));
                    }
                }
            }
            catch (Exception ex)
            {
                response.status = "2";
                response.msg    = "异常错误";

                return(EditLvmamalog_Order(response, mlog, null));
            }
        }
コード例 #8
0
        private string Cancel_order(Agent_requestlog reqlog, OrderCancelRequestBody body, string organization, Meituan_reqlog mlog)
        {
            var response = new OrderCancelResponse();

            response.partnerId = int.Parse(agentinfo.mt_partnerId);

            string mtorderid = body.orderId.ToString();
            string order_num = body.partnerOrderId;
            string num       = body.refundQuantity.ToString();

            mlog.mtorderid = mtorderid;
            mlog.ordernum  = order_num;

            #region 条件判断
            if (order_num.ConvertTo <int>(0) == 0)
            {
                response.code     = 699;
                response.describe = "订单号格式有误";
                return(EditMTlog_Err(response, mlog, reqlog));
            }

            if (num.ConvertTo <int>(0) == 0)
            {
                response.code     = 606;
                response.describe = "退票张数格式有误";
                return(EditMTlog_Err(response, mlog, reqlog));
            }
            //判断订单是否是当前分销的订单
            bool isselforder = new Agent_requestlogData().Getisselforder(organization, order_num);
            if (isselforder == false)
            {
                response.code     = 699;
                response.describe = "订单并非此分销的订单";
                return(EditMTlog_Err(response, mlog, reqlog));
            }
            #endregion
            B2b_order morder = new B2bOrderData().GetOrderById(order_num.ConvertTo <int>(0));
            if (morder != null)
            {
                if (morder.Pro_id > 0)
                {
                    B2b_com_pro pro = new B2bComProData().GetProById(morder.Pro_id.ToString());
                    if (pro == null)
                    {
                        response.code     = 607;
                        response.describe = "产品不存在";
                        return(EditMTlog_Err(response, mlog, reqlog));
                    }
                    else
                    {
                        if (pro.Source_type == 2)//产品来源:1.系统自动生成2.倒码产品
                        {
                            response.code     = 607;
                            response.describe = "倒码产品不支持接口退票";
                            return(EditMTlog_Err(response, mlog, reqlog));
                        }
                        else
                        {
                            //得到订单的验证方式:0(一码多验);1(一码一验),
                            #region 一码多验 退票 按订单号退票,或者外部接口订单
                            if (morder.yanzheng_method == 0 || pro.Source_type == 3)
                            {
                                string      data    = OrderJsonData.QuitOrder(pro.Com_id, order_num.ConvertTo <int>(0), pro.Id, num.ConvertTo <int>(0), "分销外部接口退票");
                                XmlDocument retdoc  = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + data + "}");
                                XmlElement  retroot = retdoc.DocumentElement;
                                string      type    = retroot.SelectSingleNode("type").InnerText;
                                string      msg     = retroot.SelectSingleNode("msg").InnerText;

                                if (type == "100")//取消订单成功
                                {
                                    response.code     = 200;
                                    response.describe = "success";
                                    response.body     = new OrderCancelResponseBody
                                    {
                                        orderId        = body.orderId,
                                        refundId       = body.refundId,
                                        partnerOrderId = body.partnerOrderId,
                                        requestTime    = reqlog.Request_time.ToString("yyyy-MM-dd HH:mm:ss"),
                                        responseTime   = reqlog.Return_time.ToString("yyyy-MM-dd HH:mm:ss")
                                    };


                                    reqlog.Ordernum   = order_num;
                                    reqlog.Is_dealsuc = 1;


                                    return(EditMTlog_Err(response, mlog, reqlog));
                                }
                                else//取消订单失败
                                {
                                    response.code     = 606;
                                    response.describe = msg;
                                    return(EditMTlog_Err(response, mlog, reqlog));
                                }
                            }
                            #endregion
                            #region 一码一验 ,或非接口产品
                            else
                            {
                                response.code     = 604;
                                response.describe = "订单验码方式不支持";
                                return(EditMTlog_Err(response, mlog, reqlog));
                            }
                            #endregion
                        }
                    }
                }
                else
                {
                    response.code     = 699;
                    response.describe = "订单中产品不存在";
                    return(EditMTlog_Err(response, mlog, reqlog));
                }
            }
            else
            {
                response.code     = 699;
                response.describe = "订单不存在";
                return(EditMTlog_Err(response, mlog, reqlog));
            }
        }
コード例 #9
0
        ///     订单退票
        public string Getorderrefund(Meituan_reqlog mlog)
        {
            var response = new OrderCancelResponse();

            response.partnerId = int.Parse(agentinfo.mt_partnerId);
            try
            {
                int organization = agentinfo.Id;
                #region 把分销商发送过来的请求记入数据库日志表2  agent_requestlog
                Agent_requestlog reqlog = new Agent_requestlog()
                {
                    Id                   = 0,
                    Organization         = organization,
                    Encode_requeststr    = "",
                    Decode_requeststr    = _requestParam,
                    Request_time         = DateTime.Now,
                    Encode_returnstr     = "",
                    Decode_returnstr     = "",
                    Return_time          = DateTime.Parse("1970-01-01 00:00:00"),
                    Errmsg               = "",
                    Request_type         = "cancel_order",
                    Req_seq              = "",
                    Ordernum             = "",
                    Is_dealsuc           = 0,
                    Is_second_receivereq = 0,
                    Request_ip           = CommonFunc.GetRealIP()
                };
                int reqlogid = new Agent_requestlogData().Editagent_reqlog(reqlog);
                reqlog.Id = reqlogid;
                #endregion


                var data = JsonConvert.DeserializeObject <OrderCancelRequest>(_requestParam);
                if (data.body == null)
                {
                    response.code     = 699;
                    response.describe = "数据解析失败";
                    return(EditMTlog_Err(response, mlog, reqlog));
                }
                else
                {
                    OrderCancelRequestBody body = data.body;

                    string mtorderid = body.orderId.ToString();
                    string order_num = body.partnerOrderId;
                    int    num       = body.refundQuantity;


                    //日志表2 判断是否是二次发送相同的请求
                    int is_secondreq = new Agent_requestlogData().Is_secondreq(organization.ToString(), mtorderid, reqlog.Request_type);

                    #region 把发送的请求类型,请求流水号,订单号,是否是二次发送相同的请求录入数据库 日志表2
                    reqlog.Req_seq              = mtorderid;
                    reqlog.Ordernum             = order_num;
                    reqlog.Is_second_receivereq = is_secondreq;
                    new Agent_requestlogData().Editagent_reqlog(reqlog);
                    #endregion

                    #region 编辑日志表1
                    mlog.mtorderid    = mtorderid;
                    mlog.ordernum     = order_num;
                    mlog.issecond_req = is_secondreq;
                    new Meituan_reqlogData().EditReqlog(mlog);
                    #endregion

                    if (is_secondreq == 1)
                    {
                        //获取处理成功的请求信息:如果没有则重新操作
                        Agent_requestlog suclog = new Agent_requestlogData().GetAgent_cancelorderlogByReq_seq(organization.ToString(), mtorderid, 1);
                        if (suclog != null)
                        {
                            //return suclog.Decode_returnstr;
                            response = (OrderCancelResponse)JsonConvert.DeserializeObject(suclog.Decode_returnstr, typeof(OrderCancelResponse));

                            reqlog.Is_dealsuc = 1;
                            //reqlog.Ordernum = suclog.Ordernum;

                            mlog.ordernum = suclog.Ordernum;

                            return(EditMTlog_Err(response, mlog, reqlog));
                        }
                        else
                        {
                            return(Cancel_order(reqlog, body, organization.ToString(), mlog));
                        }
                    }
                    else
                    {
                        return(Cancel_order(reqlog, body, organization.ToString(), mlog));
                    }
                }
            }
            catch (Exception ex)
            {
                response.code     = 699;
                response.describe = "异常错误";

                return(EditMTlog_Err(response, mlog, null));
            }
        }
コード例 #10
0
        private string Cancel_order(Agent_requestlog reqlog, discard_codemodel body, string organization, Lvmama_reqlog mlog)
        {
            var response = new backRefund();
            // response.partnerId = int.Parse(agentinfo.mt_partnerId);

            string mtorderid = body.lvmmamaorderid;
            string order_num = body.extId;
            int    num       = body.num;

            mlog.mtorderid = mtorderid;
            mlog.ordernum  = order_num;

            #region 条件判断
            if (order_num.ConvertTo <int>(0) == 0)
            {
                response.status = "4";
                response.msg    = "订单号格式有误";
                return(EditLvmamalog_Order(response, mlog, reqlog));
            }

            if (num == 0)
            {
                response.status = "4";
                response.msg    = "退票张数格式有误";
                return(EditLvmamalog_Order(response, mlog, reqlog));
            }
            //判断订单是否是当前分销的订单
            //bool isselforder = new Agent_requestlogData().lvmamaGetisselforder(organization, order_num);
            //if (isselforder == false)
            //{
            //    response.status = "4";
            //    response.msg = "订单信息错误";
            //    return EditLvmamalog_Order(response, mlog, reqlog);

            //}
            #endregion
            B2b_order morder = new B2bOrderData().GetOrderById(order_num.ConvertTo <int>(0));
            if (morder != null)
            {
                if (morder.Pro_id > 0)
                {
                    //判断订单出票单位是否正确
                    if (morder.Agentid != int.Parse(organization))
                    {
                        response.status = "4";
                        response.msg    = "订单信息错误";
                        return(EditLvmamalog_Order(response, mlog, reqlog));
                    }


                    B2b_com_pro pro = new B2bComProData().GetProById(morder.Pro_id.ToString());
                    if (pro == null)
                    {
                        response.status = "4";
                        response.msg    = "此订单对应产品错误";
                        return(EditLvmamalog_Order(response, mlog, reqlog));
                    }
                    else
                    {
                        if (pro.Source_type == 2) //产品来源:1.系统自动生成2.倒码产品3.外部接口产品
                        {
                            response.status = "4";
                            response.msg    = "倒码产品不支持接口退票";
                            return(EditLvmamalog_Order(response, mlog, reqlog));
                        }
                        else
                        {
                            //得到订单的验证方式:0(一码多验);1(一码一验),
                            #region 一码多验 退票 按订单号退票
                            if (morder.yanzheng_method == 0)
                            {
                                string      data    = OrderJsonData.QuitOrder(pro.Com_id, order_num.ConvertTo <int>(0), pro.Id, num, "分销外部接口退票");
                                XmlDocument retdoc  = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + data + "}");
                                XmlElement  retroot = retdoc.DocumentElement;
                                string      type    = retroot.SelectSingleNode("type").InnerText;
                                string      msg     = retroot.SelectSingleNode("msg").InnerText;

                                if (type == "100")//取消订单成功
                                {
                                    response.status   = "0";
                                    response.msg      = "success";
                                    reqlog.Ordernum   = order_num;
                                    reqlog.Is_dealsuc = 1;
                                    return(EditLvmamalog_Order(response, mlog, reqlog));
                                }
                                else//取消订单失败
                                {
                                    response.status = "4";
                                    response.msg    = msg;
                                    return(EditLvmamalog_Order(response, mlog, reqlog));
                                }
                            }
                            #endregion
                            #region 一码一验 退票 按电子码退票
                            else
                            {
                                response.status = "2";
                                response.msg    = "订单验码方式不支持";
                                return(EditLvmamalog_Order(response, mlog, reqlog));
                            }
                            #endregion
                        }
                    }
                }
                else
                {
                    response.status = "4";
                    response.msg    = "订单中产品不存在";
                    return(EditLvmamalog_Order(response, mlog, reqlog));
                }
            }
            else
            {
                response.status = "4";
                response.msg    = "订单不存在";
                return(EditLvmamalog_Order(response, mlog, reqlog));
            }
        }
コード例 #11
0
        //     订单退票
        public string Getorderrefund(Lvmama_reqlog mlog, Agent_company agentinfo)
        {
            var response = new backRefund();

            response.uid = agentinfo.Lvmama_uid;
            try
            {
                int organization = agentinfo.Id;
                #region 把分销商发送过来的请求记入数据库日志表2  agent_requestlog
                Agent_requestlog reqlog = new Agent_requestlog()
                {
                    Id                   = 0,
                    Organization         = organization,
                    Encode_requeststr    = "",
                    Decode_requeststr    = _requestParam,
                    Request_time         = DateTime.Now,
                    Encode_returnstr     = "",
                    Decode_returnstr     = "",
                    Return_time          = DateTime.Parse("1970-01-01 00:00:00"),
                    Errmsg               = "",
                    Request_type         = "discard_code",
                    Req_seq              = "",
                    Ordernum             = "",
                    Is_dealsuc           = 0,
                    Is_second_receivereq = 0,
                    Request_ip           = CommonFunc.GetRealIP()
                };
                int reqlogid = new Agent_requestlogData().Editagent_reqlog(reqlog);
                reqlog.Id = reqlogid;
                #endregion


                var data = JsonConvert.DeserializeObject <discard_codemodel>(_requestParam);
                if (data.uid == "")
                {
                    response.uid    = agentinfo.Lvmama_uid;
                    response.status = "2";
                    response.msg    = "数据解析失败";
                    return(EditLvmamalog_Order(response, mlog, reqlog));
                }
                else
                {
                    string uid       = data.uid;
                    string password  = data.password;
                    string sign      = data.sign;
                    string timestamp = data.timestamp;
                    string extId     = data.extId;


                    Lvmama_reqlog LvmamaOrderCrateSucLog = new lvmama_reqlogData().GetLvmama_OrderpayreqlogBySelforderid(int.Parse(extId), "0");
                    if (LvmamaOrderCrateSucLog == null)
                    {
                        response.status = "4";
                        response.msg    = "未查找到相对应订单";

                        return(EditLvmamalog_Order(response, mlog, null));
                    }
                    string lvmamaorderid = LvmamaOrderCrateSucLog.mtorderid;
                    data.lvmmamaorderid = lvmamaorderid;


                    B2bOrderData dataorder     = new B2bOrderData();
                    B2b_order    modelb2border = dataorder.GetOrderById(int.Parse(extId));
                    if (modelb2border == null)
                    {
                        response.status = "4";
                        response.msg    = "未查找到相对应订单";

                        return(EditLvmamalog_Order(response, mlog, null));
                    }

                    int num = modelb2border.U_num;
                    data.num = num;



                    //日志表2 判断是否是二次发送相同的请求
                    int is_secondreq = new Agent_requestlogData().Is_secondreq(organization.ToString(), lvmamaorderid, reqlog.Request_type);

                    #region 把发送的请求类型,请求流水号,订单号,是否是二次发送相同的请求录入数据库 日志表2
                    reqlog.Req_seq              = lvmamaorderid;
                    reqlog.Ordernum             = extId;
                    reqlog.Is_second_receivereq = is_secondreq;
                    new Agent_requestlogData().Editagent_reqlog(reqlog);
                    #endregion

                    #region 编辑日志表1
                    mlog.mtorderid    = lvmamaorderid;
                    mlog.ordernum     = extId;
                    mlog.issecond_req = is_secondreq;
                    new lvmama_reqlogData().EditReqlog(mlog);
                    #endregion

                    //因为是作废,重复的也可以操作,但返回不一定正确
                    if (is_secondreq == 1)
                    {
                        return(Cancel_order(reqlog, data, organization.ToString(), mlog));
                    }
                    else
                    {
                        return(Cancel_order(reqlog, data, organization.ToString(), mlog));
                    }
                }
            }
            catch (Exception ex)
            {
                response.status = "2";
                response.msg    = "异常错误";

                return(EditLvmamalog_Order(response, mlog, null));
            }
        }
コード例 #12
0
        ///     订单支付
        public string Getorderpay(Meituan_reqlog mlog)
        {
            lock (lockobj)
            {
                var response = new OrderPayResponse();
                response.partnerId = int.Parse(agentinfo.mt_partnerId);
                try
                {
                    int organization = agentinfo.Id;
                    #region 把分销商发送过来的请求记入数据库日志表2  agent_requestlog
                    Agent_requestlog reqlog = new Agent_requestlog()
                    {
                        Id                   = 0,
                        Organization         = organization,
                        Encode_requeststr    = "",
                        Decode_requeststr    = _requestParam,
                        Request_time         = DateTime.Now,
                        Encode_returnstr     = "",
                        Decode_returnstr     = "",
                        Return_time          = DateTime.Parse("1970-01-01 00:00:00"),
                        Errmsg               = "",
                        Request_type         = "add_order",
                        Req_seq              = "",
                        Ordernum             = "",
                        Is_dealsuc           = 0,
                        Is_second_receivereq = 0,
                        Request_ip           = CommonFunc.GetRealIP()
                    };
                    int reqlogid = new Agent_requestlogData().Editagent_reqlog(reqlog);
                    reqlog.Id = reqlogid;
                    #endregion


                    var data = JsonConvert.DeserializeObject <OrderPayRequest>(_requestParam);
                    if (data.body == null)
                    {
                        response.code     = 599;
                        response.describe = "Body数据解析失败";
                        return(EditMTlog_Err(response, mlog, reqlog));
                    }
                    else
                    {
                        OrderPayRequestBody body = data.body;

                        string mtorderid = body.orderId.ToString();
                        //如果合作商订单Id不存在,则查询美团订单创建日志
                        if (body.partnerOrderId == "")
                        {
                            Meituan_reqlog mtOrderCrateSucLog = new Meituan_reqlogData().GetMtOrderCrateLogByMtorder(body.orderId.ToString(), "200");
                            body.partnerOrderId = mtOrderCrateSucLog.ordernum;
                        }
                        string order_num = body.partnerOrderId;
                        mlog.mtorderid = body.orderId.ToString();


                        //日志表2 判断是否是二次发送相同的请求
                        int is_secondreq = new Agent_requestlogData().Is_secondreq(organization.ToString(), mtorderid, reqlog.Request_type);

                        #region 把发送的请求类型,请求流水号,订单号,是否是二次发送相同的请求录入数据库 日志表2
                        reqlog.Req_seq              = mtorderid;
                        reqlog.Ordernum             = order_num;
                        reqlog.Is_second_receivereq = is_secondreq;
                        new Agent_requestlogData().Editagent_reqlog(reqlog);
                        #endregion

                        #region 编辑日志表1
                        mlog.mtorderid    = mtorderid;
                        mlog.ordernum     = order_num;
                        mlog.issecond_req = is_secondreq;
                        new Meituan_reqlogData().EditReqlog(mlog);
                        #endregion

                        if (is_secondreq == 1)
                        {
                            //获取处理成功的请求信息:如果没有则重新提单
                            Agent_requestlog suclog = new Agent_requestlogData().GetAgent_addorderlogByReq_seq(organization.ToString(), mtorderid, 1);
                            if (suclog != null)
                            {
                                //return suclog.Decode_returnstr;
                                Meituan_reqlog mtlogg = new Meituan_reqlogData().GetMeituan_Orderpayreqlog(mtorderid, "200");
                                if (mtlogg != null)
                                {
                                    response = (OrderPayResponse)JsonConvert.DeserializeObject(mtlogg.respstr, typeof(OrderPayResponse));

                                    reqlog.Is_dealsuc = 1;
                                    //reqlog.Ordernum = suclog.Ordernum;

                                    mlog.ordernum = suclog.Ordernum;

                                    return(EditMTlog_Err(response, mlog, reqlog));
                                }
                                else
                                {
                                    response.code     = 502;
                                    response.describe = "查询美团支付成功日志失败";
                                    return(EditMTlog_Err(response, mlog, reqlog));
                                }
                            }
                            else
                            {
                                return(pay_order(reqlog, body, organization.ToString(), mlog));
                            }
                        }
                        else
                        {
                            return(pay_order(reqlog, body, organization.ToString(), mlog));
                        }
                    }
                }
                catch (Exception ex)
                {
                    response.code     = 599;
                    response.describe = "异常错误";

                    return(EditMTlog_Err(response, mlog, null));
                }
            }
        }
コード例 #13
0
        internal int Editagent_reqlog(Agent_requestlog m)
        {
            if (m.Id == 0)
            {
                string sql = "INSERT INTO [EtownDB].[dbo].[agent_requestlog]" +
                             "([organization]" +
                             " ,[encode_requeststr]" +
                             " ,[decode_requeststr]" +
                             " ,[request_time]" +
                             " ,[encode_returnstr]" +
                             " ,[decode_returnstr]" +
                             " ,[return_time]" +
                             " ,[errmsg]" +
                             " ,[request_type]" +
                             " ,[req_seq]" +
                             "  ,[ordernum]" +
                             "   ,[is_dealsuc]" +
                             "    ,[is_second_receivereq]" +
                             "    ,[request_ip])" +
                             "VALUES" +
                             " (" + m.Organization +
                             " ,'" + m.Encode_requeststr + "'" +
                             ",'" + m.Decode_requeststr + "'" +
                             ",'" + m.Request_time + "'" +
                             ",'" + m.Encode_returnstr + "'" +
                             ",'" + m.Decode_returnstr + "'" +
                             ",'" + m.Return_time + "'" +
                             ",'" + m.Errmsg + "'" +
                             ",'" + m.Request_type + "'" +
                             ",'" + m.Req_seq + "'" +
                             ",'" + m.Ordernum + "'" +
                             "," + m.Is_dealsuc +
                             "," + m.Is_second_receivereq +
                             ",'" + m.Request_ip + "');select @@identity;";

                var    cmd = sqlHelper.PrepareTextSqlCommand(sql);
                object o   = cmd.ExecuteScalar();
                return(o == null ? 0 : int.Parse(o.ToString()));
            }
            else
            {
                string sql = "UPDATE [EtownDB].[dbo].[agent_requestlog]" +
                             "SET [organization] = " + m.Organization +
                             "  ,[encode_requeststr] = '" + m.Encode_requeststr + "'" +
                             " ,[decode_requeststr] = '" + m.Decode_requeststr + "'" +
                             " ,[request_time] = '" + m.Request_time + "'" +
                             " ,[encode_returnstr] = '" + m.Encode_returnstr + "'" +
                             " ,[decode_returnstr] = '" + m.Decode_returnstr + "'" +
                             " ,[return_time] ='" + m.Return_time + "'" +
                             " ,[errmsg] = '" + m.Errmsg + "'" +
                             "  ,[request_type] = '" + m.Request_type + "'" +
                             " ,[req_seq] = '" + m.Req_seq + "'" +
                             " ,[ordernum] = '" + m.Ordernum + "'" +
                             " ,[is_dealsuc] = '" + m.Is_dealsuc + "'" +
                             " ,[is_second_receivereq] = '" + m.Is_second_receivereq + "'" +
                             " ,[request_ip] = '" + m.Request_ip + "'" +
                             " WHERE id=" + m.Id;

                var cmd = sqlHelper.PrepareTextSqlCommand(sql);
                cmd.ExecuteNonQuery();
                return(m.Id);
            }
        }