internal Lvmama_reqlog GetLvmamaOrderCreateLogByLvmamaorder(string mtorderid, string code) { string sql = @"SELECT top 1 * FROM Lvmama_reqlog where req_type=@req_type and mtorderid=@mtorderid and code=@code order by id desc"; var cmd = sqlHelper.PrepareTextSqlCommand(sql); cmd.AddParam("@req_type", "apply_code"); cmd.AddParam("@mtorderid", mtorderid); cmd.AddParam("@code", code); using (var reader = cmd.ExecuteReader()) { Lvmama_reqlog m = null; if (reader.Read()) { m = new Lvmama_reqlog { id = reader.GetValue <int>("id"), reqstr = reader.GetValue <string>("reqstr"), subtime = reader.GetValue <string>("subtime"), respstr = reader.GetValue <string>("respstr"), resptime = reader.GetValue <string>("resptime"), code = reader.GetValue <string>("code"), describe = reader.GetValue <string>("describe"), req_type = reader.GetValue <string>("req_type"), sendip = reader.GetValue <string>("sendip"), mtorderid = reader.GetValue <string>("mtorderid"), ordernum = reader.GetValue <string>("ordernum"), issecond_req = reader.GetValue <int>("issecond_req"), }; } return(m); } }
//编辑日志 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); }
public int EditReqlog(Lvmama_reqlog m) { using (var helper = new SqlHelper()) { int id = new Internallvmama_reqlogData(helper).EditReqlog(m); return(id); } }
//编辑日志 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); }
//编辑日志 public string EditLvmamalog_Order(apply_codeRefund response, Lvmama_reqlog mlog) { response.codeURL = ""; 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.ordernum = response.orderId; mlog.describe = response.msg; mlog.mtorderid = response.serialNo; mlog.stockagentcompanyid = mlog.stockagentcompanyid; new lvmama_reqlogData().EditReqlog(mlog); #endregion //驴妈妈,对供应商单独审核订单,才需要异步提交 //Agent_company agentinfo = new AgentCompanyData().GetAgentCompanyByLvmamaPartnerId(response.uid); //if (agentinfo != null) //{ // var lvmamadata = new LVMAMA_Data(agentinfo.Lvmama_uid, agentinfo.Lvmama_password, agentinfo.Lvmama_Apikey); // //初始的时候没有sign值,等组合后下面生成加密文件 // var asynnoticecalljson = lvmamadata.asyConsumeNotify_json(response.serialNo, agentinfo.Lvmama_uid, agentinfo.Lvmama_password, response.status, "", response.authCode, "", mlog.ordernum); // #region 签名验证 // string Md5Sign = lvmamadata.asynnoticecallbackmd5(asynnoticecalljson); // string afterSign = lvmamadata.lumamasign(Md5Sign, agentinfo.Lvmama_Apikey); // #endregion // asynnoticecalljson.sign = afterSign; // //异步通知 // AsyncsendsmsEventHandler mydelegate = new AsyncsendsmsEventHandler(AsyncSendSms); // mydelegate.BeginInvoke(asynnoticecalljson, agentinfo, new AsyncCallback(CompletedSendSms), null); //} return(json); }
protected void Page_Load(object sender, EventArgs e) { #region 记入日志表LVmama_reqlog string reqip = CommonFunc.GetRealIP(); Lvmama_reqlog mlog = new Lvmama_reqlog { id = 0, reqstr = _requestParam, subtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), respstr = "", resptime = "", code = "", describe = "", req_type = "sms_resend", sendip = reqip, stockagentcompanyid = 0 }; int logid = new lvmama_reqlogData().EditReqlog(mlog); mlog.id = logid; #endregion var data = JsonConvert.DeserializeObject <sms_resendmodel>(_requestParam); if (data == null) { return; } try { uid = data.uid; password = data.password; string timestamp = data.timestamp; string sign = data.sign; string extId = data.extId; agentinfo = new AgentCompanyData().GetAgentCompanyByLvmamaPartnerId(uid); LVMAMA_Data lvmamadata = new LVMAMA_Data(agentinfo.Lvmama_uid, agentinfo.Lvmama_password, agentinfo.Lvmama_Apikey); #region 验证是否已经配置驴妈妈合作商信息 if (agentinfo == null) { var response = new apply_codeRefund(); response.uid = uid; response.orderId = "0"; response.status = "2"; response.msg = "分销尚未配置驴妈妈商信息(uid:" + uid + ")"; string json = JsonConvert.SerializeObject(response); //把处理结果录入日志 mlog.respstr = ""; mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); mlog.code = response.status; mlog.describe = response.msg; new lvmama_reqlogData().EditReqlog(mlog); LogHelper.RecordSelfLog("Error", "lvmama", response.msg); Response.Write(json); return; } #endregion mlog.stockagentcompanyid = agentinfo.Id; mlog.ordernum = extId; #region 签名验证 string Md5Sign = lvmamadata.sms_resend_codemd5(data); string afterSign = lvmamadata.lumamasign(Md5Sign, agentinfo.Lvmama_Apikey); //判断签名是否正确 if (afterSign != sign) { var response = new apply_codeRefund(); response.uid = uid; response.orderId = extId; response.status = "2"; response.msg = "签名认证失败"; string json = JsonConvert.SerializeObject(response); //把处理结果录入日志 mlog.respstr = ""; mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); mlog.code = response.status; mlog.describe = response.msg; new lvmama_reqlogData().EditReqlog(mlog); LogHelper.RecordSelfLog("Error", "lvmama", "签名错误 lvmamamSign-" + sign + " meSign-" + afterSign); Response.Write(json); return; } #endregion string actionResult = Smsresend(mlog, agentinfo); Response.Write(actionResult); } catch (Exception ex) { // Response.Write(ex); } }
// 重发, 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)); } }
public backRefund discardcodecallbacksend(discardcodecallbackmodel requestData, int agentcompanyid) { string url = "http://114.80.83.165/vst_passport/lvmamacallback/discardcodecallback.do"; #region 记入日志表 string reqip = CommonFunc.GetRealIP(); Lvmama_reqlog mlog = new Lvmama_reqlog { id = 0, reqstr = JsonConvert.SerializeObject(requestData), subtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), respstr = "", resptime = "", code = "", describe = "", req_type = "discardcodecallback", sendip = reqip, stockagentcompanyid = agentcompanyid }; int logid = new lvmama_reqlogData().EditReqlog(mlog); mlog.id = logid; #endregion backRefund result = new backRefund { IsSuccess = false, }; try { var responseStr = DoRequest(url, JsonConvert.SerializeObject(requestData)); if (string.IsNullOrEmpty(responseStr)) { result.msg = "返回数据为空"; } else { backRefund responseBody = (backRefund)JsonConvert.DeserializeObject(responseStr, typeof(backRefund)); if (responseBody.status == "0") { result.IsSuccess = true; result.msg = JsonConvert.SerializeObject(responseBody); } else { result.IsSuccess = false; result.msg = responseBody.msg; } //记录在日志表 mlog.code = responseBody.status; mlog.describe = responseBody.msg; } } catch (Exception ex) { result.msg = "异常" + ex.Message; } #region 记录在日志表 mlog.req_type = "discardcodecallback"; mlog.respstr = result.msg; mlog.resptime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); new lvmama_reqlogData().EditReqlog(mlog); #endregion return(result); }
public string Getordercreate(Lvmama_reqlog mlog, Agent_company agentinfo) { lock (lockobj) { var response = new apply_codeRefund(); try { var data = JsonConvert.DeserializeObject <apply_codemodel>(_requestParam); if (data.contacts == null) { response.uid = agentinfo.Lvmama_uid; response.status = "2"; response.msg = "数据解析失败"; return(EditLvmamalog_Order(response, mlog)); } else { contacts body = data.contacts; string num = data.num; string timestamp = data.timestamp; string visitTime = data.visitTime; string supplierGoodsId = data.supplierGoodsId; string settlePrice = data.settlePrice; string serialNo = data.serialNo; string idNum = body.idNum; string name = body.name; string mobile = body.mobile; string idType = body.idType; //结算价核对 decimal jiesuanjia = 0; ////todo 根据请求参数查询产品返回结果 B2b_com_pro pro = new B2bComProData().GetProById(supplierGoodsId); #region 产品信息 if (pro != null) { #region 分销授权信息判断 Agent_company agentwarrantinfo = AgentCompanyData.GetAgentWarrant(agentinfo.Id, pro.Com_id); if (agentwarrantinfo != null) { int warrantid = agentwarrantinfo.Warrantid; int Warrant_type = agentwarrantinfo.Warrant_type; //支付类型分销 1出票扣款 2验码扣款 int Warrant_level = agentwarrantinfo.Warrant_level; if (Warrant_level == 1) { jiesuanjia = pro.Agent1_price; } if (Warrant_level == 2) { jiesuanjia = pro.Agent2_price; } if (Warrant_level == 3) { jiesuanjia = pro.Agent3_price; } if (agentwarrantinfo.Warrant_state == 0) { response.uid = agentinfo.Lvmama_uid; response.orderId = "0"; response.status = "3"; response.msg = "商户关闭授权"; return(EditLvmamalog_Order(response, mlog)); } } else { response.uid = agentinfo.Lvmama_uid; response.orderId = "0"; response.status = "3"; response.msg = "商户未授权开通分销"; return(EditLvmamalog_Order(response, mlog)); } #endregion #region 暂时对外接口只支持票务产品 //if (pro.Server_type != 1) //{ // response.status = 300; // response.msg = "暂时对外接口只支持票务产品,其他产品请到分销后台提单"; // return EditLvmamalog_Order(response, mlog); //} #endregion #region 结算价,保证价格是最新价格 decimal advice_price = Convert.ToDecimal(settlePrice); if (jiesuanjia != advice_price) { response.uid = agentinfo.Lvmama_uid; response.orderId = "0"; response.status = "3"; response.msg = "结算价格不同,请联系供应商要去新的价格。驴妈妈价:" + advice_price + " 系统价:" + jiesuanjia; return(EditLvmamalog_Order(response, mlog)); } #endregion #region 产品编码格式有误 if (supplierGoodsId.ConvertTo <int>(0) == 0) { response.uid = agentinfo.Lvmama_uid; response.orderId = "0"; response.status = "3"; response.msg = "产品编码格式有误"; return(EditLvmamalog_Order(response, mlog)); } #endregion #region 购买数量格式有误 if (num.ConvertTo <int>(0) == 0) { response.uid = agentinfo.Lvmama_uid; response.orderId = "0"; response.status = "3"; response.msg = "购买数量格式有误"; return(EditLvmamalog_Order(response, mlog)); } #endregion #region 产品限购则需要判断 限购数量 是否足够 if (pro.Ispanicbuy != 0) { //最多可购买数量 int zuiduo_canbuynum = pro.Limitbuytotalnum; if (int.Parse(num) > zuiduo_canbuynum) { response.uid = agentinfo.Lvmama_uid; response.orderId = "0"; response.status = "3"; response.msg = "产品库存不足"; return(EditLvmamalog_Order(response, mlog)); } } #endregion #region 产品已暂停 if (pro.Pro_state == 0) { response.uid = agentinfo.Lvmama_uid; response.orderId = "0"; response.status = "3"; response.msg = "产品已下线,请联系商家"; return(EditLvmamalog_Order(response, mlog)); } #endregion #region 产品已过期 if (pro.Pro_end < DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd"))) { response.uid = agentinfo.Lvmama_uid; response.orderId = "0"; response.status = "3"; response.msg = "产品已过期"; return(EditLvmamalog_Order(response, mlog)); } #endregion #region 产品是否需要预约:需要预约则最晚预约时间是 游玩前一天的18点 //if (pro.isneedbespeak == 1) //{ // if (timestamp != "") // { // DateTime visitdate = DateTime.Parse(timestamp); // DateTime bookdate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); // //必须提前一天预约 // if (bookdate >= visitdate) // { // response.orderId = "0"; //response.status = "300"; //response.msg = "产品未预约产品"; // return EditLvmamalog_Order(response, mlog); // } // } //} #endregion #region 是否有使用限制 //if (pro.Iscanuseonsameday == 0)//1:当天出票可用 ;2:2小时内出票不可用;0:当天出票不可用 //{ // if (body.travelDate != "") // { // DateTime visitdate = DateTime.Parse(body.travelDate);//游玩日期:2012-12-12 格式要求:yyyy-MM-dd // DateTime bookdate = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); // if (bookdate >= visitdate) // { // response.code = 300; // response.describe = "预定日期至少在游玩日期之前一天"; // return EditMTlog_Order(response, mlog); // } // } //} #endregion Lvmama_reqlog mtOrderCrateSucLog = new lvmama_reqlogData().GetLvmamaOrderCreateLogByLvmamaorder(serialNo, "0"); #region 查询驴妈妈吗 是否 创建订单日志 if (mtOrderCrateSucLog != null) { string pno = ""; if (pro.Source_type == 3) //如果是接口产品,按接口方式读码selservice,接口产品只读取了wl的码 { if (pro.Serviceid == 4) { //如果是接口产品 B2b_company commanage = B2bCompanyData.GetAllComMsg(pro.Com_id); WlGetProInfoDealRequestData wldata = new WlGetProInfoDealRequestData(commanage.B2bcompanyinfo.wl_PartnerId, commanage.B2bcompanyinfo.wl_userkey); var wlorderinfo = wldata.SearchWlOrderData(pro.Com_id, 0, "", int.Parse(mtOrderCrateSucLog.ordernum)); if (wlorderinfo != null) { pno = wlorderinfo.vouchers; } } } else { //如果不是借口,则按自己规则读码 SendEticketData sendate = new SendEticketData(); pno = sendate.HuoQuEticketPno(int.Parse(mtOrderCrateSucLog.ordernum)); } response.uid = agentinfo.Lvmama_uid; response.orderId = mtOrderCrateSucLog.ordernum; response.status = "0"; response.authCode = pno; response.serialNo = serialNo; response.msg = "订单创建成功"; mlog.ordernum = mtOrderCrateSucLog.ordernum; return(EditLvmamalog_Order(response, mlog)); } #endregion #region 此驴妈妈订单号 ,没有成功创建过 else { int isInterfaceSub = 1; //是否是电子票接口提交的订单:0.否;1.是 string ordertype = "1"; //1.出票2.充值 int orderid = 0; int speciid = 0; //string real_name = ""; //string mobile = ""; string use_date = timestamp.Substring(0, 4) + "-" + timestamp.Substring(4, 2) + "-" + timestamp.Substring(6, 2); //real_name = name; //mobile = mobile; //创建一笔未支付订单 string rdata = OrderJsonData.AgentOrder(agentinfo.Id, supplierGoodsId, ordertype, num, name, mobile, use_date, "", isInterfaceSub, out orderid); XmlDocument retdoc = (XmlDocument)JsonConvert.DeserializeXmlNode("{\"root\":" + rdata + "}"); XmlElement retroot = retdoc.DocumentElement; string rtype = retroot.SelectSingleNode("type").InnerText; string rmsg = retroot.SelectSingleNode("msg").InnerText; if (rtype == "100") //创建订单成功 { response.uid = agentinfo.Lvmama_uid; response.status = "0"; response.msg = "订单创建成功"; response.orderId = orderid.ToString(); response.serialNo = serialNo; response.authCode = retroot.SelectSingleNode("pno").InnerText; //只有成功的订单才有pno项; mlog.ordernum = orderid.ToString(); return(EditLvmamalog_Order(response, mlog)); } else { response.uid = agentinfo.Lvmama_uid; response.status = "3"; response.msg = "创建订单失败" + rmsg; return(EditLvmamalog_Order(response, mlog)); } } #endregion } else { response.uid = agentinfo.Lvmama_uid; response.uid = "0"; response.status = "4"; response.msg = "产品不存在"; return(EditLvmamalog_Order(response, mlog)); } #endregion } } catch (Exception ex) { response.uid = agentinfo.Lvmama_uid; response.status = "8"; response.msg = "异常错误" + ex; return(EditLvmamalog_Order(response, mlog)); } } }
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)); } }
// 订单退票 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)); } }
internal int EditReqlog(Lvmama_reqlog m) { if (m.id == 0) { string sql = @"INSERT INTO [Lvmama_reqlog] ([reqstr] ,[subtime] ,[respstr] ,[resptime] ,[code] ,[describe] ,[req_type] ,[sendip] ,mtorderid ,ordernum ,issecond_req,stockagentcompanyid) VALUES (@reqstr ,@subtime ,@respstr ,@resptime ,@code ,@describe ,@req_type ,@sendip ,@mtorderid ,@ordernum ,@issecond_req,@stockagentcompanyid);select @@identity;"; var cmd = sqlHelper.PrepareTextSqlCommand(sql); cmd.AddParam("@reqstr", m.reqstr); cmd.AddParam("@subtime", m.subtime); cmd.AddParam("@respstr", m.respstr); cmd.AddParam("@resptime", m.resptime); cmd.AddParam("@code", m.code); cmd.AddParam("@describe", m.describe); cmd.AddParam("@req_type", m.req_type); cmd.AddParam("@sendip", m.sendip); if (m.mtorderid == null) { m.mtorderid = ""; } cmd.AddParam("@mtorderid", m.mtorderid); if (m.ordernum == null) { m.ordernum = ""; } cmd.AddParam("@ordernum", m.ordernum); if (m.issecond_req == null) { m.issecond_req = 0; } cmd.AddParam("@issecond_req", m.issecond_req); if (m.stockagentcompanyid == null) { m.stockagentcompanyid = 0; } cmd.AddParam("@stockagentcompanyid", m.stockagentcompanyid); object o = cmd.ExecuteScalar(); return(o == null ? 0 : int.Parse(o.ToString())); } else { string sql = @"UPDATE [Lvmama_reqlog] SET [reqstr] = @reqstr ,[subtime] = @subtime ,[respstr] = @respstr ,[resptime] = @resptime ,[code] = @code ,[describe] = @describe ,[req_type] = @req_type ,[sendip] = @sendip ,mtorderid=@mtorderid ,ordernum=@ordernum ,issecond_req=@issecond_req ,stockagentcompanyid=@stockagentcompanyid WHERE id=@id"; var cmd = sqlHelper.PrepareTextSqlCommand(sql); cmd.AddParam("@id", m.id); cmd.AddParam("@reqstr", m.reqstr); cmd.AddParam("@subtime", m.subtime); if (m.respstr == null) { m.respstr = ""; } cmd.AddParam("@respstr", m.respstr); cmd.AddParam("@resptime", m.resptime); cmd.AddParam("@code", m.code); cmd.AddParam("@describe", m.describe); cmd.AddParam("@req_type", m.req_type); cmd.AddParam("@sendip", m.sendip); if (m.mtorderid == null) { m.mtorderid = ""; } cmd.AddParam("@mtorderid", m.mtorderid); if (m.ordernum == null) { m.ordernum = ""; } cmd.AddParam("@ordernum", m.ordernum); if (m.issecond_req == null) { m.issecond_req = 0; } cmd.AddParam("@issecond_req", m.issecond_req); if (m.stockagentcompanyid == null) { m.stockagentcompanyid = 0; } cmd.AddParam("@stockagentcompanyid", m.stockagentcompanyid); cmd.ExecuteNonQuery(); return(m.id); } }