/// <summary> /// 新增成功的订单信息 /// </summary> /// <param name="recharge"></param> private static void AddRecharge(Recharge recharge) { if (recharge == null || String.IsNullOrWhiteSpace(recharge.id)) { return; } Recharge recharge1 = GetInfo(recharge.id); String sql = ""; if (recharge1 != null) { sql = String.Format("update recharge set `group` = '{0}', accounts='{1}', time='{2}', money = '{3}', agent = '{4}' where id = '{5}' ", recharge.group, recharge.accounts, recharge.time, recharge.money, recharge.agent, recharge.id); DBUtils.ExecuteNonQuery(sql); FileLogUtils.Info("AddRecharge", "历史订单已处理:" + recharge.ToJsonString()); } else { sql = String.Format("insert into recharge(id,`group`,accounts,time,money,agent) values('{0}','{1}','{2}','{3}','{4}','{5}')", recharge.id, recharge.group, recharge.accounts, recharge.time, recharge.money, recharge.agent); DBUtils.ExecuteNonQuery(sql); FileLogUtils.Info("AddRecharge", "新订单生成成功:" + recharge.ToJsonString()); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { String writeString = "OK"; if (IsPostBack) { Response.Write(writeString); Response.End(); return; } ResponseHandler resHandler = new ResponseHandler(Context); FileLogUtils.Debug("PayNotify.aspx", resHandler.pairs.ToJsonString(), false); if (resHandler.pairs.Count == 0) { Response.Write(writeString); return; } NotifyResult requestParam = new NotifyResult(); Result sdkResult = SDK.checkReturntParam(resHandler.pairs, ref requestParam); FileLogUtils.Info("PayNotify.aspx", sdkResult.ToJsonString()); ApiLog log = new ApiLog(); log.type = 2; log.url = "PayNotify.aspx"; log.datas = resHandler.pairs.ToJsonString(); log.orderid = requestParam.out_trade_no; ApiLogUntils.AddLog(log); if (sdkResult.status != "1") { Response.Write(writeString); Response.End(); return; } Recharge recharge = new Recharge(); recharge.id = requestParam.out_trade_no; recharge.pay_orderid = requestParam.trade_no; recharge.pay_money = requestParam.resultMoney; if (recharge != null && !String.IsNullOrEmpty(recharge.id)) { recharge.payStatus = 1; RechargeUtils.UpdateRechargeState(recharge); } Response.Write(writeString); Response.End(); }
/// <summary> /// 更新历史订单信息(主要用于更新支付状态) /// </summary> /// <param name="recharge"></param> public static void UpdateRechargeState(Recharge recharge) { lock (LockObj) { if (recharge == null || String.IsNullOrWhiteSpace(recharge.id)) { FileLogUtils.Info("UpdateRechargeState", "订单参数异常:" + recharge.ToJsonString()); return; } Recharge recharge1 = GetHistoryInfo(recharge.id); if (recharge1 == null) { FileLogUtils.Info("UpdateRechargeState", "历史订单不存在:" + recharge.ToJsonString()); return; } String sql = ""; if (String.IsNullOrEmpty(recharge1.pay_orderid) && recharge1.pay_orderid != recharge.pay_orderid) { sql = String.Format("update recharge_history set pay_orderid = '{0}' where id = '{1}' ", recharge.pay_orderid, recharge1.id); DBUtils.ExecuteNonQuery(sql); FileLogUtils.Info("UpdateRechargeState", "支付平台流水号已记录:" + recharge.ToJsonString()); } if (recharge1.payStatus == 1) { FileLogUtils.Info("UpdateRechargeState", "历史订单已处理:" + recharge.ToJsonString()); return; } sql = String.Format("update recharge_history set payState = {0}, pay_money={1}, pay_orderid='{2}' where id = '{3}' ", recharge.payStatus, recharge.pay_money, recharge.pay_orderid, recharge1.id); DBUtils.ExecuteNonQuery(sql); FileLogUtils.Info("UpdateRechargeState", "历史订单状态已变更:" + recharge.ToJsonString()); if (recharge.payStatus == 1) { recharge1.payStatus = 1; recharge1.money = recharge.pay_money.Value; recharge1.pay_orderid = recharge.pay_orderid; AddRecharge(recharge1); } } }