//编辑日志 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 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 backRefund testsend(apply_codemodel requestData) { //string url = "http://localhost:14395/Meituan-jk/ordercreate.aspx"; string url = "http://localhost:14395/lvmama/apply_code.aspx"; backRefund result = new backRefund { IsSuccess = false, }; try { var responseStr = DoRequest(url, JsonConvert.SerializeObject(requestData)); Label1.Text = responseStr; 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; } } } catch (Exception ex) { result.msg = "异常" + ex.Message; } return(result); }
// 重发, 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); }
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)); } }