internal Agent_asyncsendlog getNoticeLog(int noticelogid)
        {
            string sql2 = "select * from Agent_asyncsendlog where id=" + noticelogid;
            var    cmd2 = sqlHelper.PrepareTextSqlCommand(sql2);


            using (var reader2 = cmd2.ExecuteReader())
            {
                Agent_asyncsendlog r = null;
                if (reader2.Read())
                {
                    r = new Agent_asyncsendlog()
                    {
                        Id                = reader2.GetValue <int>("id"),
                        Pno               = reader2.GetValue <string>("pno"),
                        Num               = reader2.GetValue <int>("num"),
                        Confirmtime       = reader2.GetValue <DateTime>("confirmtime"),
                        Sendtime          = reader2.GetValue <DateTime>("sendtime"),
                        Issendsuc         = reader2.GetValue <int>("issendsuc"),
                        Agentupdatestatus = reader2.GetValue <int>("agentupdatestatus"),
                        Remark            = reader2.GetValue <string>("remark"),
                        Agentcomid        = reader2.GetValue <int>("agentcomid"),
                        Comid             = reader2.GetValue <int>("comid"),
                        Issecondsend      = reader2.GetValue <int>("issecondsend"),
                        Platform_req_seq  = reader2.GetValue <string>("platform_req_seq"),
                        Request_content   = reader2.GetValue <string>("request_content"),
                        Response_content  = reader2.GetValue <string>("response_content"),
                        b2b_etcket_logid  = reader2.GetValue <int>("b2b_etcket_logid"),
                        isreissue         = reader2.GetValue <int>("isreissue"),
                    };
                }
                return(r);
            }
        }
Exemplo n.º 2
0
 public int EditLog(Agent_asyncsendlog log)
 {
     using (var helper = new SqlHelper())
     {
         int result = new InternalAgent_asyncsendlog(helper).EditLog(log);
         return(result);
     }
 }
        internal Agent_asyncsendlog GetTop1SendFail()
        {
            string sql = @"SELECT top 1 [id]
      ,[pno]
      ,[num]
      ,[confirmtime]
      ,[sendtime]
      ,[issendsuc]
      ,[agentupdatestatus]
      ,[remark]
      ,[agentcomid]
      ,[comid]
      ,issecondsend
     , b2b_etcket_logid
  FROM [EtownDB].[dbo].[agent_asyncsendlog]  where  issecondsend=0 and  issendsuc=0  and b2b_etcket_logid in ( select b2b_etcket_logid from agent_asyncsendlog group by b2b_etcket_logid having COUNT(1)<3)
  and b2b_etcket_logid not in (select b2b_etcket_logid from [agent_asyncsendlog] where agentupdatestatus=0)";

            var cmd = sqlHelper.PrepareTextSqlCommand(sql);

            using (var reader = cmd.ExecuteReader())
            {
                Agent_asyncsendlog u = null;
                if (reader.Read())
                {
                    u = new Agent_asyncsendlog
                    {
                        Id                = reader.GetValue <int>("id"),
                        Pno               = reader.GetValue <string>("pno"),
                        Num               = reader.GetValue <int>("num"),
                        Confirmtime       = reader.GetValue <DateTime>("confirmtime"),
                        Sendtime          = reader.GetValue <DateTime>("sendtime"),
                        Issendsuc         = reader.GetValue <int>("issendsuc"),
                        Agentupdatestatus = reader.GetValue <int>("agentupdatestatus"),
                        Remark            = reader.GetValue <string>("remark"),
                        Agentcomid        = reader.GetValue <int>("agentcomid"),
                        Comid             = reader.GetValue <int>("comid"),
                        Issecondsend      = reader.GetValue <int>("issecondsend"),
                        b2b_etcket_logid  = reader.GetValue <int>("b2b_etcket_logid"),
                    };
                }
                sqlHelper.Dispose();
                return(u);
            }
        }
Exemplo n.º 4
0
        public static void AsyncSend(string updateurl, string pno, int confirmnum, string confirmtime, int agentcomid, int comidd1, int validateticketlogid, int aorderid)
        {
            Agent_asyncsendlog log = new Agent_asyncsendlog
            {
                Id                = 0,
                Pno               = pno,
                Num               = confirmnum,
                Sendtime          = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")),
                Confirmtime       = DateTime.Parse(confirmtime),
                Issendsuc         = 0,//0失败;1成功
                Agentupdatestatus = (int)AgentUpdateStatus.Fail,
                Agentcomid        = agentcomid,
                Comid             = comidd1,
                Remark            = "",
                Issecondsend      = 0,
                Platform_req_seq  = (1000000000 + agentcomid).ToString() + DateTime.Now.ToString("yyyyMMddhhssmm") + CommonFunc.CreateNum(6),//请求流水号
                Request_content   = "",
                Response_content  = "",
                b2b_etcket_logid  = validateticketlogid
            };
            int inslog = new Agent_asyncsendlogData().EditLog(log);

            log.Id = inslog;
            try
            {
                //获得分销商信息
                Agent_company agentinfo = new AgentCompanyData().GetAgentCompany(agentcomid);
                if (agentinfo != null)
                {
                    string agent_updateurl = agentinfo.Agent_updateurl;

                    #region 糯米分销
                    if (agentinfo.Agent_type == (int)AgentCompanyType.NuoMi)//糯米分销
                    {
                        string re = new GetUrlData().HttpPost(updateurl, "");

                        XmlDocument doc  = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + re + "}");
                        XmlElement  root = doc.DocumentElement;
                        string      info = root.SelectSingleNode("info").InnerText;

                        //只要返回了数据,则是发送成功
                        log.Id               = inslog;
                        log.Issendsuc        = 1;
                        log.Request_content  = updateurl;
                        log.Response_content = re;

                        if (info == "success")
                        {
                            string errCode = root.SelectSingleNode("res/errCode").InnerText;//分销商更新结果
                            if (errCode == "0")
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Suc;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                            else
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                        }
                        else
                        {
                            log.Remark            = info;
                            log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                            new Agent_asyncsendlogData().EditLog(log);
                        }
                    }
                    #endregion
                    #region 一般分销
                    else //一般分销
                    {
                        /*根据订单号得到分销商订单请求记录(当前需要得到原订单请求流水号)*/
                        List <Agent_requestlog> listagent_rlog = new Agent_requestlogData().GetAgent_requestlogByOrdernum(aorderid.ToString(), "add_order", "1");
                        if (listagent_rlog == null)
                        {
                            log.Remark            = "根据订单号得到分销商订单请求记录失败";//单引号替换为'',双引号不用处理;
                            log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                            new Agent_asyncsendlogData().EditLog(log);
                            return;
                        }
                        if (listagent_rlog.Count == 0)
                        {
                            log.Remark            = "根据订单号得到分销商订单请求记录失败.";//单引号替换为'',双引号不用处理;
                            log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                            new Agent_asyncsendlogData().EditLog(log);
                            return;
                        }


                        /*验证通知发送内容*/
                        string sbuilder = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                                                        "<business_trans>" +
                                                        "<request_type>sync_order</request_type>" +  //<!--验证同步-->
                                                        "<req_seq>{0}</req_seq>" +                   //<!--原订单请求流水号-->
                                                        "<platform_req_seq>{1}</platform_req_seq>" + //<!--平台请求流水号-->
                                                        "<order>" +                                  //<!--订单信息-->
                                                        "<code>{5}</code>" +                         //<!-- 验证电子码 y-->
                                                        "<order_num>{2}</order_num>" +               //<!-- 订单号 y-->
                                                        "<num>{3}</num>" +                           //<!-- 使用张数 -->
                                                        "<use_time>{4}</use_time>" +                 //<!--  使用时间  -->
                                                        "</order>" +
                                                        "</business_trans>", listagent_rlog[0].Req_seq, log.Platform_req_seq, aorderid, confirmnum, CommonFunc.ConvertDateTimeInt(DateTime.Parse(confirmtime)), pno);

                        #region 分销通知发送方式post
                        if (agentinfo.inter_sendmethod.ToLower() == "post")
                        {
                            string re = "";
                            if (agentcomid == 6490)
                            {
                                re = new GetUrlData().HttpPost(updateurl, sbuilder);

                                updateurl += "?xml=" + sbuilder;//只为记录
                            }
                            else
                            {
                                updateurl += "?xml=" + sbuilder;
                                re         = new GetUrlData().HttpPost(updateurl, "");
                            }


                            //只要返回了数据,则是发送成功
                            log.Id               = inslog;
                            log.Issendsuc        = 1;
                            log.Request_content  = updateurl;
                            log.Response_content = re;

                            log.Remark = re.Replace("'", "''");//单引号替换为'',双引号不用处理;
                            if (re.Length >= 7)
                            {
                                re = re.Substring(0, 7);
                            }
                            if (re == "success")
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Suc;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                            else
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                        }
                        #endregion
                        #region 分销通知发送方式get
                        else
                        {
                            if (updateurl.IndexOf('?') > -1)
                            {
                                updateurl += "&xml=" + sbuilder;
                            }
                            else
                            {
                                updateurl += "?xml=" + sbuilder;
                            }

                            string re = new GetUrlData().HttpGet(updateurl);
                            //只要返回了数据,则是发送成功
                            log.Id               = inslog;
                            log.Issendsuc        = 1;
                            log.Request_content  = updateurl;
                            log.Response_content = re;

                            log.Remark = re.Replace("'", "''");//单引号替换为'',双引号不用处理;
                            if (re.Length >= 7)
                            {
                                re = re.Substring(0, 7);
                            }
                            if (re == "success")
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Suc;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                            else
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                        }
                        #endregion
                    }
                    #endregion
                }
                else
                {
                    log.Remark            = "分销商获取失败";
                    log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                    new Agent_asyncsendlogData().EditLog(log);
                }
            }
            catch (Exception e)
            {
                log.Id     = inslog;
                log.Remark = e.Message.Replace("'", "''");//单引号替换为'',双引号不用处理
                new Agent_asyncsendlogData().EditLog(log);
            }
        }
Exemplo n.º 5
0
        public string AsyncSend(Agent_asyncsendlog log1)
        {
            lock (lockobj)
            {
                Agent_asyncsendlog log = new Agent_asyncsendlog
                {
                    Id                = 0,
                    Pno               = log1.Pno,
                    Num               = log1.Num,
                    Sendtime          = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")),
                    Confirmtime       = log1.Confirmtime,
                    Issendsuc         = 0,//0失败;1成功
                    Agentupdatestatus = (int)AgentUpdateStatus.Fail,
                    Agentcomid        = log1.Agentcomid,
                    Comid             = log1.Comid,
                    Remark            = "",
                    Issecondsend      = 1,
                    Platform_req_seq  = log1.Platform_req_seq,//平台流水号,同一次验证的平台流水号相同,分销商根据平台流水号判断是否是同一次验证
                    Request_content   = "",
                    Response_content  = "",
                    b2b_etcket_logid  = log1.b2b_etcket_logid
                };
                int inslog = new Agent_asyncsendlogData().EditLog(log);
                log.Id = inslog;
                try
                {
                    var eticketinfo = new B2bEticketData().GetEticketDetail(log1.Pno);
                    if (eticketinfo.Agent_id > 0)//分销商电子票,需要发送验证同步请求
                    {
                        //获得分销商信息
                        Agent_company agentinfo = new AgentCompanyData().GetAgentCompany(log1.Agentcomid);
                        if (agentinfo != null)
                        {
                            string agent_updateurl = agentinfo.Agent_updateurl;
                            #region 糯米分销
                            if (agentinfo.Agent_type == (int)AgentCompanyType.NuoMi)//糯米分销
                            {
                                //查询站外码状态
                                string username    = agentinfo.Agent_auth_username; //百度糯米用户名
                                string token       = agentinfo.Agent_auth_token;    //百度糯米token
                                string code        = eticketinfo.Pno;               //券码
                                string bindcomname = agentinfo.Agent_bindcomname;   //供应商名称

                                string updateurl = agent_updateurl + "?auth={\"userName\":\"" + username + "\",\"token\":\"" + token + "\"}&code=" + code + "&userName="******"&dealId=&phone=";;


                                string re = new GetUrlData().HttpPost(updateurl, "");

                                XmlDocument doc  = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + re + "}");
                                XmlElement  root = doc.DocumentElement;
                                string      info = root.SelectSingleNode("info").InnerText;

                                //只要返回了数据,则是发送成功
                                log.Id               = inslog;
                                log.Issendsuc        = 1;
                                log.Request_content  = updateurl;
                                log.Response_content = re;

                                if (info == "success")
                                {
                                    string errCode = root.SelectSingleNode("res/errCode").InnerText;//分销商更新结果
                                    if (errCode == "0")
                                    {
                                        log.Agentupdatestatus = (int)AgentUpdateStatus.Suc;
                                        new Agent_asyncsendlogData().EditLog(log);

                                        return("糯米成功");
                                    }
                                    else
                                    {
                                        log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                        new Agent_asyncsendlogData().EditLog(log);

                                        return("糯米失败:" + log.Agentupdatestatus);
                                    }
                                }
                                else
                                {
                                    log.Remark            = info;
                                    log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                    new Agent_asyncsendlogData().EditLog(log);

                                    return("糯米失败:" + log.Remark);
                                }
                            }
                            #endregion
                            #region 一般分销推送验证同步请求
                            else
                            {
                                //一般分销推送验证同步请求

                                if (agent_updateurl.Trim() == "" || agentinfo.Inter_deskey == "")
                                {
                                    log.Remark            = "分销商验证同步通知或秘钥没提供";//单引号替换为'',双引号不用处理;
                                    log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                    new Agent_asyncsendlogData().EditLog(log);
                                    return(log.Remark);
                                }

                                if (eticketinfo.Oid == 0)
                                {
                                    log.Remark            = "电子票对应的订单号为0";//单引号替换为'',双引号不用处理;
                                    log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                    new Agent_asyncsendlogData().EditLog(log);
                                    return(log.Remark);
                                }

                                //a订单:原分销向指定商户提交的订单;b订单:指定商户下的绑定分销向拥有产品的商户提交的订单
                                //电子票表中记录的Oid是b订单
                                //判断b订单 是否 属于某个a订单
                                B2b_order loldorder = new B2bOrderData().GetOldorderBybindingId(eticketinfo.Oid);
                                if (loldorder != null)
                                {
                                    eticketinfo.Oid = loldorder.Id;
                                }
                                /*根据订单号得到分销商订单请求记录(当前需要得到原订单请求流水号)*/
                                List <Agent_requestlog> listagent_rlog = new Agent_requestlogData().GetAgent_requestlogByOrdernum(eticketinfo.Oid.ToString(), "add_order", "1");
                                if (listagent_rlog == null)
                                {
                                    log.Remark            = "根据订单号得到分销商订单请求记录失败";//单引号替换为'',双引号不用处理;
                                    log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                    new Agent_asyncsendlogData().EditLog(log);
                                    return(log.Remark);
                                }

                                if (listagent_rlog.Count == 0)
                                {
                                    log.Remark            = "根据订单号得到分销商订单请求记录失败.";//单引号替换为'',双引号不用处理;
                                    log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                    new Agent_asyncsendlogData().EditLog(log);
                                    return(log.Remark);
                                }


                                /*验证通知发送内容*/
                                string sbuilder = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                                                                "<business_trans>" +
                                                                "<request_type>sync_order</request_type>" +  //<!--验证同步-->
                                                                "<req_seq>{0}</req_seq>" +                   //<!--原订单请求流水号-->
                                                                "<platform_req_seq>{1}</platform_req_seq>" + //<!--平台请求流水号-->
                                                                "<order>" +                                  //<!--订单信息-->
                                                                "<order_num>{2}</order_num>" +               //<!-- 订单号 y-->
                                                                "<num>{3}</num>" +                           //<!-- 使用张数 -->
                                                                "<use_time>{4}</use_time>" +                 //<!--  使用时间  -->
                                                                "</order>" +
                                                                "</business_trans>", listagent_rlog[0].Req_seq, log.Platform_req_seq, eticketinfo.Oid, log.Num, ConvertDateTimeInt(log.Confirmtime));

                                string updateurl = agent_updateurl + "?xml=" + sbuilder;


                                string re = new GetUrlData().HttpPost(updateurl, "");

                                //只要返回了数据,则是发送成功
                                log.Id               = inslog;
                                log.Issendsuc        = 1;
                                log.Request_content  = updateurl;
                                log.Response_content = re;

                                log.Remark = re.Replace("'", "''");//单引号替换为'',双引号不用处理;
                                if (re.Length >= 7)
                                {
                                    re = re.Substring(0, 7);
                                }
                                if (re == "success")
                                {
                                    log.Agentupdatestatus = (int)AgentUpdateStatus.Suc;
                                    new Agent_asyncsendlogData().EditLog(log);

                                    return("成功");
                                }
                                else
                                {
                                    log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                    new Agent_asyncsendlogData().EditLog(log);

                                    return(re);
                                }
                            }
                            #endregion
                        }
                        else
                        {
                            return("分销商信息获取失败");
                        }
                    }
                    else
                    {
                        return("直销订单无需发送验证通知");
                    }
                }
                catch (Exception e)
                {
                    log.Id     = inslog;
                    log.Remark = e.Message.Replace("'", "''");//单引号替换为'',双引号不用处理
                    new Agent_asyncsendlogData().EditLog(log);

                    return(log.Remark);
                }
            }
        }
        internal int EditLog(Agent_asyncsendlog log)
        {
            string sql = @"INSERT INTO [EtownDB].[dbo].[agent_asyncsendlog]
           ([pno]
           ,[num]
           ,[confirmtime]
           ,[sendtime]
           ,[issendsuc]
           ,[agentupdatestatus]
           ,[remark]
           ,[agentcomid]
           ,[comid]
           ,issecondsend,platform_req_seq,request_content,response_content,b2b_etcket_logid,isreissue)
     VALUES
           (@pno
           ,@num
           ,@confirmtime
           ,@sendtime
           ,@issendsuc
           ,@agentupdatestatus
           ,@remark
           ,@agentcomid
           ,@comid
           ,@issecondsend,@platform_req_seq,@request_content,@response_content,@b2b_etcket_logid,@isreissue);select @@IDENTITY;";

            if (log.Id > 0)
            {
                sql = @"UPDATE [EtownDB].[dbo].[agent_asyncsendlog]
                       SET [pno] = @pno
                          ,[num] = @num
                          ,[confirmtime] = @confirmtime
                          ,[sendtime] = @sendtime
                          ,[issendsuc] = @issendsuc
                          ,[agentupdatestatus] = @agentupdatestatus
                          ,[remark] = @remark
                          ,[agentcomid] = @agentcomid
                          ,[comid] = @comid
                          ,issecondsend=@issecondsend
                          ,platform_req_seq=@platform_req_seq
                          ,request_content=@request_content  
                          ,response_content=@response_content
                          ,b2b_etcket_logid=@b2b_etcket_logid
                          ,isreissue=@isreissue
                     WHERE id=@id";
            }
            var cmd = sqlHelper.PrepareTextSqlCommand(sql);

            if (log.Id > 0)
            {
                cmd.AddParam("@id", log.Id);
            }
            cmd.AddParam("@pno", log.Pno);
            cmd.AddParam("@num", log.Num);
            cmd.AddParam("@confirmtime", log.Confirmtime);
            cmd.AddParam("@sendtime", log.Sendtime);
            cmd.AddParam("@issendsuc", log.Issendsuc);
            cmd.AddParam("@agentupdatestatus", log.Agentupdatestatus);
            cmd.AddParam("@remark", log.Remark);
            cmd.AddParam("@agentcomid", log.Agentcomid);
            cmd.AddParam("@comid", log.Comid);
            cmd.AddParam("@issecondsend", log.Issecondsend);
            cmd.AddParam("@platform_req_seq", log.Platform_req_seq);
            cmd.AddParam("@request_content", log.Request_content == null ? "" : log.Request_content);
            cmd.AddParam("@response_content", log.Response_content == null ? "" : log.Response_content);
            cmd.AddParam("@b2b_etcket_logid", log.b2b_etcket_logid);
            cmd.AddParam("@isreissue", log.isreissue);
            if (log.Id > 0)
            {
                cmd.ExecuteNonQuery();
                return(log.Id);
            }
            else
            {
                object o = cmd.ExecuteScalar();
                return(o == null ? 0 : int.Parse(o.ToString()));
            }
        }
Exemplo n.º 7
0
        public static void AsyncSend(string updateurl, string pno, int confirmnum, string confirmtime, int agentcomid, int comidd1, int validateticketlogid, int aorderid)
        {
            Agent_asyncsendlog log = new Agent_asyncsendlog
            {
                Id                = 0,
                Pno               = pno,
                Num               = confirmnum,
                Sendtime          = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")),
                Confirmtime       = DateTime.Parse(confirmtime),
                Issendsuc         = 0,//0失败;1成功
                Agentupdatestatus = (int)AgentUpdateStatus.Fail,
                Agentcomid        = agentcomid,
                Comid             = comidd1,
                Remark            = "",
                Issecondsend      = 0,
                Platform_req_seq  = (1000000000 + agentcomid).ToString() + DateTime.Now.ToString("yyyyMMddhhssmm") + CommonFunc.CreateNum(6),//请求流水号
                Request_content   = "",
                Response_content  = "",
                b2b_etcket_logid  = validateticketlogid
            };
            int inslog = new Agent_asyncsendlogData().EditLog(log);

            log.Id = inslog;
            try
            {
                //获得分销商信息
                Agent_company agentinfo = new AgentCompanyData().GetAgentCompany(agentcomid);
                if (agentinfo != null)
                {
                    string agent_updateurl = agentinfo.Agent_updateurl;

                    #region 糯米分销
                    if (agentinfo.Agent_type == (int)AgentCompanyType.NuoMi)//糯米分销
                    {
                        string re = new GetUrlData().HttpPost(updateurl, "");

                        XmlDocument doc  = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + re + "}");
                        XmlElement  root = doc.DocumentElement;
                        string      info = root.SelectSingleNode("info").InnerText;

                        //只要返回了数据,则是发送成功
                        log.Id               = inslog;
                        log.Issendsuc        = 1;
                        log.Request_content  = updateurl;
                        log.Response_content = re;

                        if (info == "success")
                        {
                            string errCode = root.SelectSingleNode("res/errCode").InnerText;//分销商更新结果
                            if (errCode == "0")
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Suc;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                            else
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                        }
                        else
                        {
                            log.Remark            = info;
                            log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                            new Agent_asyncsendlogData().EditLog(log);
                        }
                    }
                    #endregion
                    #region 驴妈妈
                    else if (agentinfo.Agent_type == (int)AgentCompanyType.Lvmama)
                    {
                        /*根据订单号得到分销商订单请求记录(当前需要得到原订单请求流水号)*/


                        Lvmama_reqlog LvmamaOrderCrateSucLog = new lvmama_reqlogData().GetLvmama_OrderpayreqlogBySelforderid(aorderid, "0");


                        if (LvmamaOrderCrateSucLog == null)
                        {
                            log.Remark            = "根据订单号得到分销商订单请求记录失败";//单引号替换为'',双引号不用处理;
                            log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                            new Agent_asyncsendlogData().EditLog(log);
                            return;
                        }

                        B2b_order morder = new B2bOrderData().GetOrderById(aorderid);
                        if (morder == null)
                        {
                            log.Remark            = "根据订单号查询订单失败.";//单引号替换为'',双引号不用处理;
                            log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                            new Agent_asyncsendlogData().EditLog(log);
                            return;
                        }

                        string state = "1";
                        if (morder.U_num > confirmnum)
                        {
                            state = "2";
                        }
                        else if (confirmnum == morder.U_num)
                        {
                            state = "3";
                        }
                        else
                        {
                            state = "1";
                        }



                        var lvmamadata = new LVMAMA_Data(agentinfo.Lvmama_uid, agentinfo.Lvmama_password, agentinfo.Lvmama_Apikey);
                        //初始的时候没有sign值,等组合后下面生成加密文件
                        var hexiaojson = lvmamadata.usedticketscallback_json(LvmamaOrderCrateSucLog.mtorderid, agentinfo.Lvmama_uid, agentinfo.Lvmama_password, state, "", DateTime.Now.ToString("yyyyMMddHHmmss"), confirmnum.ToString());

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

                        var asynnoticecall = lvmamadata.useConsumeNotify(hexiaojson, agentinfo.Id);
                        return;
                    }
                    #endregion
                    #region 一般分销
                    else //一般分销
                    {
                        #region 如果是美团分销,则向美团发送验证通知
                        Agent_company mtagentcompany = new AgentCompanyData().GetAgentCompany(agentinfo.Id);
                        if (mtagentcompany != null)
                        {
                            if (mtagentcompany.mt_partnerId != "")
                            {
                                B2b_order      ordermodel  = new B2bOrderData().GetOrderById(aorderid);
                                Meituan_reqlog meituanlogg = new Meituan_reqlogData().GetMt_OrderpayreqlogBySelforderid(ordermodel.Id, "200");
                                if (meituanlogg == null)
                                {
                                    LogHelper.RecordSelfLog("Erro", "meituan", "美团验证通知发送失败:查询美团支付成功订单失败");
                                }
                                else
                                {
                                    #region  订单电子票使用情况
                                    string all_pno     = ""; //全部电子码
                                    string keyong_pno  = ""; //可用电子码
                                    int    buy_num     = 0;
                                    int    keyong_num  = 0;
                                    int    consume_num = 0;
                                    int    tuipiao_num = ordermodel.Cancelnum;
                                    #endregion


                                    string meituancontent = "{" +
                                                            "\"partnerId\": " + mtagentcompany.mt_partnerId + "," +
                                                            "\"body\": " +
                                                            "{" +
                                                            "\"orderId\": " + meituanlogg.mtorderid + "," +
                                                            "\"partnerOrderId\": \"" + aorderid + "\"," +
                                                            "\"quantity\": " + ordermodel.U_num + "," +
                                                            "\"usedQuantity\": " + confirmnum + "," +
                                                            "\"refundedQuantity\": " + tuipiao_num + "," +
                                                            "\"voucherList\": " +
                                                            "[{" +
                                                            "\"voucher\":\"" + pno + "\"," +
                                                            "\"voucherPics\":\"\"," +
                                                            "\"voucherInvalidTime\":\"" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "\"," +
                                                            "\"quantity\":" + confirmnum + "," +
                                                            "\"status\":1" + //4.10 凭证码状态:0	未使用;1	已使用;2	已退款;3	已废弃 对应的门票还未消费,但是此凭证码作废了
                                                            "}]" +
                                                            "}" +
                                                            "}";


                                    OrderConsumeNotice mrequest = (OrderConsumeNotice)JsonConvert.DeserializeObject(meituancontent, typeof(OrderConsumeNotice));

                                    ETS2.PM.Service.Meituan.Data.ReturnResult r = new MeiTuanInter(mtagentcompany.mt_partnerId, mtagentcompany.mt_secret, mtagentcompany.mt_client).ConsumeNotify(mrequest, mtagentcompany.Id);
                                }
                            }
                        }
                        #endregion


                        /*根据订单号得到分销商订单请求记录(当前需要得到原订单请求流水号)*/
                        List <Agent_requestlog> listagent_rlog = new Agent_requestlogData().GetAgent_requestlogByOrdernum(aorderid.ToString(), "add_order", "1");
                        if (listagent_rlog == null)
                        {
                            log.Remark            = "根据订单号得到分销商订单请求记录失败";//单引号替换为'',双引号不用处理;
                            log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                            new Agent_asyncsendlogData().EditLog(log);
                            return;
                        }
                        if (listagent_rlog.Count == 0)
                        {
                            log.Remark            = "根据订单号得到分销商订单请求记录失败.";//单引号替换为'',双引号不用处理;
                            log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                            new Agent_asyncsendlogData().EditLog(log);
                            return;
                        }


                        /*验证通知发送内容*/
                        string sbuilder = string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                                                        "<business_trans>" +
                                                        "<request_type>sync_order</request_type>" +  //<!--验证同步-->
                                                        "<req_seq>{0}</req_seq>" +                   //<!--原订单请求流水号-->
                                                        "<platform_req_seq>{1}</platform_req_seq>" + //<!--平台请求流水号-->
                                                        "<order>" +                                  //<!--订单信息-->
                                                        "<code>{5}</code>" +                         //<!-- 验证电子码 y-->
                                                        "<order_num>{2}</order_num>" +               //<!-- 订单号 y-->
                                                        "<num>{3}</num>" +                           //<!-- 使用张数 -->
                                                        "<use_time>{4}</use_time>" +                 //<!--  使用时间  -->
                                                        "</order>" +
                                                        "</business_trans>", listagent_rlog[0].Req_seq, log.Platform_req_seq, aorderid, confirmnum, CommonFunc.ConvertDateTimeInt(DateTime.Parse(confirmtime)), pno);

                        #region 分销通知发送方式post
                        if (agentinfo.inter_sendmethod.ToLower() == "post")
                        {
                            string re = "";
                            if (agentcomid == 6490)
                            {
                                re = new GetUrlData().HttpPost(updateurl, sbuilder);

                                updateurl += "?xml=" + sbuilder;//只为记录
                            }
                            else
                            {
                                updateurl += "?xml=" + sbuilder;
                                re         = new GetUrlData().HttpPost(updateurl, "");
                            }


                            //只要返回了数据,则是发送成功
                            log.Id               = inslog;
                            log.Issendsuc        = 1;
                            log.Request_content  = updateurl;
                            log.Response_content = re;

                            log.Remark = re.Replace("'", "''");//单引号替换为'',双引号不用处理;
                            if (re.Length >= 7)
                            {
                                re = re.Substring(0, 7);
                            }
                            if (re == "success")
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Suc;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                            else
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                        }
                        #endregion
                        #region 分销通知发送方式get
                        else
                        {
                            if (updateurl.IndexOf('?') > -1)
                            {
                                updateurl += "&xml=" + sbuilder;
                            }
                            else
                            {
                                updateurl += "?xml=" + sbuilder;
                            }

                            string re = new GetUrlData().HttpGet(updateurl);
                            //只要返回了数据,则是发送成功
                            log.Id               = inslog;
                            log.Issendsuc        = 1;
                            log.Request_content  = updateurl;
                            log.Response_content = re;

                            log.Remark = re.Replace("'", "''");//单引号替换为'',双引号不用处理;
                            if (re.Length >= 7)
                            {
                                re = re.Substring(0, 7);
                            }
                            if (re == "success")
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Suc;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                            else
                            {
                                log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                                new Agent_asyncsendlogData().EditLog(log);
                            }
                        }
                        #endregion
                    }
                    #endregion
                }
                else
                {
                    log.Remark            = "分销商获取失败";
                    log.Agentupdatestatus = (int)AgentUpdateStatus.Fail;
                    new Agent_asyncsendlogData().EditLog(log);
                }
            }
            catch (Exception e)
            {
                log.Id     = inslog;
                log.Remark = e.Message.Replace("'", "''");//单引号替换为'',双引号不用处理
                new Agent_asyncsendlogData().EditLog(log);
            }
        }