public void bind_date(int _id) { Cms.BLL.C_order bll = new Cms.BLL.C_order(); Cms.Model.C_order model = bll.GetModel(_id); ordernum.InnerHtml = model.order_num; updateTime.InnerHtml = model.updateTime.ToString(); OrderStatus.InnerHtml = model.order_status.ToString() == "0" ? "未完单" : "已完单"; isPayment.InnerHtml = model.is_payment.ToString() == "0" ? "未支付" : "已支付"; countprice.InnerHtml = Convert.ToDecimal(model.price_sum).ToString("0.00"); Quantity.InnerHtml = model.quantity_sum.ToString(); isDelivery.InnerHtml = model.is_delivery.ToString() == "0" ? "未发货" : "已发货"; is_receiving.InnerHtml = model.is_receiving.ToString() == "0" ? "未收货" : "已收货"; integral_sum.InnerHtml = model.integral_sum.ToString(); pay_method.InnerHtml = model.pay_method.ToString() == "" ? "微信支付" : model.pay_method.ToString(); shipping_method.InnerHtml = model.shipping_method.ToString(); note.InnerHtml = model.note.ToString(); recommended_code.InnerHtml = model.recommended_code.ToString(); courierNumber.Text = model.courier_number.ToString(); fahuoCode.Text = model.fahuoCode.ToString(); fahuoMsg.Text = model.fahuoMsg.ToString(); if (model.is_delivery == 1) { btnSubmit.Visible = false; } #region 会员信息===================== int struserid = Convert.ToInt32(model.user_id); Cms.BLL.C_user blluser = new Cms.BLL.C_user(); DataSet ds2 = blluser.GetList("id=" + struserid); if (ds2 != null && ds2.Tables[0].Rows.Count > 0) { UserName.InnerHtml = ds2.Tables[0].Rows[0]["username"].ToString(); //userMoney.InnerHtml =Convert.ToDecimal(ds2.Tables[0].Rows[0]["userMoney"]).ToString("0.00"); //userJifen.InnerHtml = ds2.Tables[0].Rows[0]["userscore"].ToString(); } else { userinfo.InnerHtml = "匿名用户"; } #endregion #region 产品信息=========================== Cms.BLL.C_ordersub bllordersub = new Cms.BLL.C_ordersub(); DataSet ds1 = bllordersub.GetList("order_id=" + _id); if (ds1 != null && ds1.Tables[0].Rows.Count > 0) { Repeaterordersub.DataSource = ds1.Tables[0].DefaultView; Repeaterordersub.DataBind(); } #endregion #region 收货信息=========================== DataSet ds3 = new Cms.BLL.c_user_address().GetList("id=" + model.adress_id); if (ds3 != null && ds3.Tables[0].Rows.Count > 0) { RepAddress.DataSource = ds3.Tables[0].DefaultView; RepAddress.DataBind(); } #endregion }
protected void Page_Load(object sender, EventArgs e) { Log.Info(this.GetType().ToString(), "page load"); if (!IsPostBack) { Cms.Model.C_user userModel = adminUser.GetuserLoginState(); int otid = Convert.ToInt32(Request["orderid"].ToString()); Cms.BLL.C_order otBll = new Cms.BLL.C_order(); Cms.Model.C_order orderEntity = otBll.GetModel(otid); order_num.Text = orderEntity.order_num; litMoney.Text = Convert.ToDecimal(orderEntity.price_sum).ToString("0.00"); litDate.Text = orderEntity.updateTime.ToString(); string openid = userModel.openid.ToString(); string total_fee = ((int)(Convert.ToDecimal(orderEntity.price_sum) * 100)).ToString(); //检测是否给当前页面传递了相关参数 if (string.IsNullOrEmpty(openid) || string.IsNullOrEmpty(total_fee)) { Response.Write("<span style='color:#FF0000;font-size:20px'>" + "页面传参出错,请返回重试" + "</span>"); Log.Error(this.GetType().ToString(), "This page have not get params, cannot be inited, exit..."); submit.Visible = false; return; } //若传递了相关参数,则调统一下单接口,获得后续相关接口的入口参数 JsApiPay jsApiPay = new JsApiPay(this); jsApiPay.openid = openid; jsApiPay.orderid = orderEntity.order_num; DataTable dt = new Cms.BLL.C_ordersub().GetList("order_id=" + orderEntity.id).Tables[0]; if (dt != null && dt.Rows.Count > 0) { jsApiPay.productName = dt.Rows[0]["title"].ToString(); } else { jsApiPay.productName = "泓源鼎盛酒业商品"; } try { jsApiPay.total_fee = int.Parse(total_fee); //JSAPI支付预处理 WxPayData unifiedOrderResult = jsApiPay.GetUnifiedOrderResult(); wxJsApiParam = jsApiPay.GetJsApiParameters();//获取H5调起JS API参数 orderNum = Request["orderid"].ToString(); Log.Debug(this.GetType().ToString(), "wxJsApiParam : " + wxJsApiParam); //在页面上显示订单信息 //Response.Write("<span style='color:#00CD00;font-size:20px'>订单详情:</span><br/>"); //Response.Write("<span style='color:#00CD00;font-size:20px'>" + unifiedOrderResult.ToPrintStr() + "</span>"); } catch (Exception ex) { Response.Write("<span style='color:#FF0000;font-size:20px'>" + "下单失败,请返回重试" + "</span>" + ex.Message.ToString() + Convert.ToDecimal(orderEntity.price_sum).ToString()); submit.Visible = false; } } }
/// <summary> /// 【微支付】 订单付款成功,处理订单:1将订单的状态改成付款完成; /// /// </summary> /// <param name="beforeFunName"></param> /// <param name="notify_id">通知id</param> /// <param name="out_trade_no">商户订单号</param> /// <param name="transaction_id">订单交易号</param> /// <param name="pay_info">支付结果</param> /// <param name="total_fee">付款金额(单位为分)</param> /// <param name="otid">订单临时表id</param> /// <returns>有错误则返回错误信息,正确,则返回空字符串</returns> public string ProcessPaySuccess_wx(string beforeFunName, string notify_id, string out_trade_no, string transaction_id, string pay_info, int total_fee, int otid, int wid) { string payTmpType = "【微支付】"; total_fee = total_fee / 100; Cms.BLL.C_order orderBll = new Cms.BLL.C_order(); string funName = payTmpType + beforeFunName + " ProcessPaySuccess_wx "; Cms.BLL.wx_log logBll = new Cms.BLL.wx_log(); Cms.Model.wx_log logModel = new Cms.Model.wx_log(); logModel.modelName = "微支付"; logModel.funName = funName; logModel.logsContent = "开始执行ProcessPaySuccess_wx方法[otid:" + otid + "]"; logBll.Add(logModel); try { #region 数据同步前 IList <Cms.Model.C_order> orderlist = orderBll.GetModelList("id=" + otid + " and order_num='" + out_trade_no + "'"); if (orderlist == null || orderlist.Count <= 0) { logModel.modelName = payTmpType; logModel.funName = funName; logModel.logsContent = "订单号【" + out_trade_no + "】订单号不存在"; logModel.logsType = 0; logBll.Add(logModel); return("订单号不存在"); } ////这个暂时不处理 //if (logBll.ExistsFlg((out_trade_no + otid))) //{ //如果已经处理过,则不再处理 // return ""; //} //logBll.AddFlg(wid, payTmpType, funName, (out_trade_no + otid));//加标志,防止重复提交 Cms.Model.C_order orderEntity = orderlist[0]; //if (orderEntity.price_sum > total_fee) //{ // return "付款的金额(" + total_fee + ")小于订单的预付款金额(" + orderEntity.price_sum + ")信息,直接退款"; //} orderEntity.notify_id = notify_id; orderEntity.trade_no = transaction_id; orderEntity.pay_info = pay_info; //orderEntity.price_sum = total_fee; orderEntity.payment_time = DateTime.Now; orderEntity.is_transaction = 0; orderEntity.order_status = 0; orderEntity.is_payment = 1; #region 修改积分============================ Cms.BLL.C_user user_bll = new Cms.BLL.C_user(); Cms.Model.C_user user_model = new Cms.BLL.C_user().GetModel(Convert.ToInt32(orderEntity.user_id)); user_model.userallscore = user_model.userallscore + orderEntity.integral_sum; user_model.userscore = user_model.userscore + orderEntity.integral_sum; user_bll.Update(user_model); Cms.BLL.C_integral_rec integral_BLL = new Cms.BLL.C_integral_rec(); Cms.Model.C_integral_rec integral_model = new Cms.Model.C_integral_rec(); DataTable dt = new Cms.BLL.C_ordersub().GetList("order_id=" + otid).Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { integral_model.article_id = Convert.ToInt32(dt.Rows[i]["article_id"].ToString()); integral_model.user_id = Convert.ToInt32(dt.Rows[i]["user_id"].ToString()); integral_model.usercard = user_model.usercard; integral_model.openid = user_model.openid; integral_model.numberid = dt.Rows[i]["id"].ToString(); integral_model.scorename = "购买产品"; integral_model.title = dt.Rows[i]["title"].ToString(); integral_model.wescore = Convert.ToInt32(dt.Rows[i]["integral"].ToString() == "" ? "0" : dt.Rows[i]["integral"].ToString()) * Convert.ToInt32(dt.Rows[i]["quantity"].ToString()); integral_model.quantity = Convert.ToInt32(dt.Rows[i]["quantity"].ToString()); integral_model.type = 0; integral_model.updateTime = DateTime.Now; integral_BLL.Add(integral_model); try { wxuser.UserSale wu = new wxuser.UserSale(); wu = wxuser.getUserScore(user_model.usercard, user_model.openid, dt.Rows[i]["id"].ToString(), "购买产品", "+" + integral_model.wescore); } catch (Exception ex) { } } #endregion ////判断是否需要立即发货 //if (orderEntity.express_status == 0) //{ // //立即发货 // FaHuoProc fahuo = new FaHuoProc(); // BLL.wx_payment_wxpay payBll = new BLL.wx_payment_wxpay(); // Model.wx_payment_wxpay paymentInfo = payBll.GetModelByWid(wid); // Dictionary<string, object> fahuoDict = fahuo.fahuomgr(paymentInfo, orderEntity); // string errcode = fahuoDict["errcode"].ToString(); // string errmsg = fahuoDict["errmsg"].ToString(); // orderEntity.fahuoCode = errcode; // orderEntity.fahuoMsg = errmsg; // if (errcode == "0") // { // orderEntity.express_status = 2; // orderEntity.express_time = DateTime.Now; // } // else // { // orderEntity.express_status = 1; // } //} bool ret = orderBll.Update(orderEntity); if (!ret) { logModel.modelName = payTmpType; logModel.funName = funName; logModel.logsContent = "订单号【" + out_trade_no + "】支付成功后处理数据失败"; logModel.logsType = 0; logBll.Add(logModel); return("订单号【" + out_trade_no + "】支付成功后处理数据失败"); } logModel.modelName = payTmpType; logModel.funName = funName; logModel.logsContent = "订单号【" + out_trade_no + "】支付成功后,处理数据成功"; logModel.logsType = 1; logBll.Add(logModel); return(""); #endregion } catch (Exception ex) { logModel.modelName = payTmpType; logModel.funName = funName; logModel.logsContent = "订单号【" + out_trade_no + "】支付成功后处理数据同步出现错误:" + ex.Message; logModel.logsType = 0; logBll.Add(logModel); return(null); } }
public override void ProcessNotify() { WxPayData notifyData = GetNotifyData(); setlog("transaction_id", notifyData.GetValue("transaction_id").ToString()); //检查支付结果中transaction_id是否存在 if (!notifyData.IsSet("transaction_id")) { setlog("transaction_id", "不存在"); //若transaction_id不存在,则立即返回结果给微信支付后台 WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "支付结果中微信订单号不存在"); Log.Error(this.GetType().ToString(), "The Pay result is error : " + res.ToXml()); page.Response.Write(res.ToXml()); page.Response.End(); } else { #region 支付成功后处理订单信息============================================================= setlog("transaction_id", "存在"); Cms.BLL.C_order otBll = new Cms.BLL.C_order(); setlog("orderid", notifyData.GetValue("out_trade_no").ToString()); DataTable DT = otBll.GetList("order_num='" + notifyData.GetValue("out_trade_no").ToString() + "'").Tables[0]; if (DT != null && DT.Rows.Count > 0)//购物 { int orderId = Convert.ToInt32(DT.Rows[0]["id"].ToString()); Cms.Model.C_order ordertmp = otBll.GetModel(orderId); ordertmp.trade_no = notifyData.GetValue("transaction_id").ToString(); //ordertmp.notify_id = notifyData.GetValue("notify_id").ToString(); //ordertmp.pay_info = notifyData.GetValue("pay_info").ToString(); //orderEntity.price_sum = total_fee; ordertmp.payment_time = DateTime.Now; ordertmp.is_transaction = 0; ordertmp.order_status = 0; ordertmp.is_payment = 1; #region 修改积分============================ //setlog("修改积分", notifyData.GetValue("out_trade_no").ToString()); //Cms.BLL.C_user user_bll = new Cms.BLL.C_user(); //Cms.Model.C_user user_model = new Cms.BLL.C_user().GetModel(Convert.ToInt32(ordertmp.user_id)); //user_model.userallscore = user_model.userallscore + ordertmp.integral_sum; //user_model.userscore = user_model.userscore + ordertmp.integral_sum; //user_bll.Update(user_model); //Cms.BLL.C_integral_rec integral_BLL = new Cms.BLL.C_integral_rec(); //Cms.Model.C_integral_rec integral_model = new Cms.Model.C_integral_rec(); //DataTable dt = new Cms.BLL.C_ordersub().GetList("order_id=" + ordertmp.id).Tables[0]; //if (dt != null && dt.Rows.Count > 0) //{ // for (int i = 0; i < dt.Rows.Count; i++) // { // integral_model.article_id = Convert.ToInt32(dt.Rows[i]["article_id"].ToString()); // integral_model.user_id = Convert.ToInt32(dt.Rows[i]["user_id"].ToString()); // integral_model.usercard = user_model.usercard; // integral_model.openid = user_model.openid; // integral_model.numberid = dt.Rows[i]["id"].ToString(); // integral_model.scorename = "购买产品"; // integral_model.title = dt.Rows[i]["title"].ToString(); // integral_model.wescore = Convert.ToInt32(dt.Rows[i]["integral"].ToString() == "" ? "0" : dt.Rows[i]["integral"].ToString()) * Convert.ToInt32(dt.Rows[i]["quantity"].ToString()); // integral_model.quantity = Convert.ToInt32(dt.Rows[i]["quantity"].ToString()); // integral_model.type = 0; // integral_model.updateTime = DateTime.Now; // integral_BLL.Add(integral_model); // try // { // wxuser.UserSale wu = new wxuser.UserSale();//积分修改同步到ERP // wu = wxuser.getUserScore(user_model.usercard, user_model.openid, dt.Rows[i]["id"].ToString(), "购买产品", "+" + integral_model.wescore); // } // catch (Exception ex) // { // page.Response.Write(ex.Message); // page.Response.End(); // } // } //} #endregion #region 减库存加销量============================ DataTable dt = new Cms.BLL.C_ordersub().GetList("order_id=" + ordertmp.id).Tables[0]; if (dt != null && dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { try { int productId = Convert.ToInt32(dt.Rows[i]["article_id"].ToString()); int quantity = Convert.ToInt32(dt.Rows[i]["quantity"].ToString()); Cms.Model.C_product product = new Cms.BLL.C_product().GetModel(productId); if (product.stock - quantity > 0) { product.stock = product.stock - quantity; product.sales = product.sales + quantity; new Cms.BLL.C_product().Update(product); } } catch (Exception ex) { page.Response.Write(ex.Message); page.Response.End(); } } } #endregion Cms.BLL.wx_log logBll = new Cms.BLL.wx_log(); Cms.Model.wx_log logModel = new Cms.Model.wx_log(); string payTmpType = "【微支付】"; string funName = payTmpType + "【微支付】 订单付款成功,处理订单" + " ProcessPaySuccess_wx "; bool ret = otBll.Update(ordertmp);//修改主表订单信息 if (!ret) { logModel.modelName = payTmpType; logModel.funName = funName; logModel.logsContent = "订单号【" + notifyData.GetValue("out_trade_no").ToString() + "】支付成功后处理数据失败"; logModel.logsType = 0; logBll.Add(logModel); } logModel.modelName = payTmpType; logModel.funName = funName; logModel.logsContent = "订单号【" + notifyData.GetValue("out_trade_no").ToString() + "】支付成功后,处理数据成功"; logModel.logsType = 1; logBll.Add(logModel); } else//充值 { DataTable dtRecharge = new Cms.BLL.C_user_recharge().GetList("orderNumber='" + notifyData.GetValue("out_trade_no").ToString() + "'").Tables[0]; if (dtRecharge != null && dtRecharge.Rows.Count > 0) { int orderId = Convert.ToInt32(dtRecharge.Rows[0]["id"].ToString()); Cms.Model.C_user_recharge orderRecharge = new Cms.BLL.C_user_recharge().GetModel(orderId); orderRecharge.isPay = 1; Cms.Model.C_user user = new Cms.BLL.C_user().GetModel(Convert.ToInt32(orderRecharge.userId)); user.userMoney = user.userMoney + orderRecharge.price; new Cms.BLL.C_user().Update(user); Cms.BLL.wx_log logBll = new Cms.BLL.wx_log(); Cms.Model.wx_log logModel = new Cms.Model.wx_log(); string payTmpType = "【微支付】"; string funName = payTmpType + "【微支付】 订单付款成功,处理订单" + " ProcessPaySuccess_wx "; bool ret = new Cms.BLL.C_user_recharge().Update(orderRecharge);//修改订单信息 if (!ret) { logModel.modelName = payTmpType; logModel.funName = funName; logModel.logsContent = "订单号【" + notifyData.GetValue("out_trade_no").ToString() + "】支付成功后处理数据失败"; logModel.logsType = 0; logBll.Add(logModel); } else { logModel.modelName = payTmpType; logModel.funName = funName; logModel.logsContent = "订单号【" + notifyData.GetValue("out_trade_no").ToString() + "】支付成功后,处理数据成功"; logModel.logsType = 1; logBll.Add(logModel); } } } #endregion } string transaction_id = notifyData.GetValue("transaction_id").ToString(); //查询订单,判断订单真实性 if (!QueryOrder(transaction_id)) { setlog("return_code", "FAIL"); //若订单查询失败,则立即返回结果给微信支付后台 WxPayData res = new WxPayData(); res.SetValue("return_code", "FAIL"); res.SetValue("return_msg", "订单查询失败"); Log.Error(this.GetType().ToString(), "Order query failure : " + res.ToXml()); page.Response.Write(res.ToXml()); page.Response.End(); } //查询订单成功 else { setlog("return_code", "SUCCESS"); WxPayData res = new WxPayData(); res.SetValue("return_code", "SUCCESS"); res.SetValue("return_msg", "OK"); Log.Info(this.GetType().ToString(), "order query success : " + res.ToXml()); page.Response.Write(res.ToXml()); page.Response.End(); setlog("SUCCESS", res.ToXml()); } }
public void DataBind(int userId) { Cms.Model.C_user model = new Cms.BLL.C_user().GetModel(userId); this.username.Text = model.username.ToString();; //姓名 this.usercard.Text = model.usercard.ToString(); //会员卡 this.password.Text = model.password.ToString(); //密码 this.openid.Text = model.openid.ToString(); //微信账号 this.birthday.Text = string.Format("{0:yyyy-MM-dd}", model.birthday); this.useraddress.Text = model.useraddress.ToString(); this.telphone.Text = model.telphone.ToString(); this.marryday.Text = string.Format("{0:yyyy-MM-dd}", model.marryday); //this.userMoney.Text = Convert.ToDecimal(model.userMoney).ToString("0.00"); this.userJifen.Text = model.userscore.ToString(); this.shopcode.Text = model.shopcode.ToString(); this.shopname.Text = model.shopname.ToString(); this.sex.SelectedValue = model.sex.ToString();//性别 this.updatetime.Text = model.updatetime.ToString(); DataSet ds = new Cms.BLL.c_user_address().GetList("user_id=" + userId); if (ds != null && ds.Tables[0].Rows.Count > 0) { rptList.DataSource = ds.Tables[0].DefaultView; rptList.DataBind(); } else { rptList.DataSource = ds.Tables[0].DefaultView; rptList.DataBind(); } DataSet dsBuy = new Cms.BLL.C_ordersub().GetList("user_id=" + userId); if (dsBuy != null && dsBuy.Tables[0].Rows.Count > 0) { RepBuyRecord.DataSource = dsBuy.Tables[0].DefaultView; RepBuyRecord.DataBind(); } else { RepBuyRecord.DataSource = dsBuy.Tables[0].DefaultView; RepBuyRecord.DataBind(); } DataSet dsIntegral = new Cms.BLL.C_order_integralsub().GetList("user_id=" + userId); if (dsIntegral != null && dsIntegral.Tables[0].Rows.Count > 0) { RepIntegralRec.DataSource = dsIntegral.Tables[0].DefaultView; RepIntegralRec.DataBind(); } else { RepIntegralRec.DataSource = dsIntegral.Tables[0].DefaultView; RepIntegralRec.DataBind(); } DataSet dsOne = new Cms.BLL.C_integral_rec().GetList("user_id=" + userId); if (dsOne != null && dsOne.Tables[0].Rows.Count > 0) { Repeater1.DataSource = dsOne.Tables[0].DefaultView; Repeater1.DataBind(); } else { Repeater1.DataSource = dsOne.Tables[0].DefaultView; Repeater1.DataBind(); } }