Exemplo n.º 1
0
        /// <summary>
        /// 用户中心
        /// </summary>
        public void userinfoPage()
        {
            BLL.orders oBll = new BLL.orders();
            //待付款的
            int    wid    = MyCommFun.RequestInt("wid");
            string openid = MyCommFun.RequestOpenid();
            IList <Model.orders> orderlist_dfu = oBll.GetModelList(" wid=" + wid + " and openid='" + openid + "'  and   payment_status=1 and status=1 order by id desc");//and payment_id in (2,3)

            if (orderlist_dfu != null)
            {
                for (int i = 0; i < orderlist_dfu.Count; i++)
                {
                    orderlist_dfu[i].status     = GetOrderStatus_int(orderlist_dfu[i].status, orderlist_dfu[i].payment_status, orderlist_dfu[i].express_status);
                    orderlist_dfu[i].statusName = GetOrderStatus(orderlist_dfu[i].status, orderlist_dfu[i].payment_status, orderlist_dfu[i].express_status);
                }
                this.Document.SetValue("o_dfu", orderlist_dfu);
                this.Document.SetValue("dfk_num", orderlist_dfu.Count);
            }

            //待收货的
            IList <Model.orders> orderlist_dsh = oBll.GetModelList(" wid=" + wid + " and openid='" + openid + "' and  payment_status=2  and status =2 order by id desc");

            if (orderlist_dsh != null)
            {
                for (int i = 0; i < orderlist_dsh.Count; i++)
                {
                    orderlist_dsh[i].status     = GetOrderStatus_int(orderlist_dsh[i].status, orderlist_dsh[i].payment_status, orderlist_dsh[i].express_status);
                    orderlist_dsh[i].statusName = GetOrderStatus(orderlist_dsh[i].status, orderlist_dsh[i].payment_status, orderlist_dsh[i].express_status);
                }

                this.Document.SetValue("o_dsh", orderlist_dsh);
                this.Document.SetValue("dsh_num", orderlist_dsh.Count);
            }

            //已结束的
            IList <Model.orders> orderlist_yjs = oBll.GetModelList(" wid=" + wid + " and openid='" + openid + "' and  payment_status=2 and status =6 order by id desc");

            if (orderlist_yjs != null)
            {
                for (int i = 0; i < orderlist_yjs.Count; i++)
                {
                    orderlist_yjs[i].status     = GetOrderStatus_int(orderlist_yjs[i].status, orderlist_yjs[i].payment_status, orderlist_yjs[i].express_status);
                    orderlist_yjs[i].statusName = GetOrderStatus(orderlist_yjs[i].status, orderlist_yjs[i].payment_status, orderlist_yjs[i].express_status);
                }

                this.Document.SetValue("o_yjs", orderlist_yjs);
                this.Document.SetValue("yjs_num", orderlist_yjs.Count);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 订单详情页面
        /// </summary>
        public void orderDetail()
        {
            int wid = MyCommFun.RequestInt("wid");

            int orderId = MyCommFun.RequestInt("orderid");

            BLL.orders oBll = new BLL.orders();
            //Model.orders order = oBll.GetModel(orderId);
            IList <Model.orders> orderlist_detail = oBll.GetModelList(" id=" + orderId);

            if (orderlist_detail != null)
            {
                Model.orders order = orderlist_detail[0];
                this.Document.SetValue("order", order);
                string statusName = GetOrderStatus(order.status, order.payment_status, order.express_status);
                this.Document.SetValue("statusName", statusName);

                string paymentName = new MxWeiXinPF.BLL.payment().GetTitle(wid, order.payment_id);
                this.Document.SetValue("paymentName", paymentName);
                string expressName = new MxWeiXinPF.BLL.express().GetTitle(order.express_id);
                this.Document.SetValue("expressName", expressName);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 【微支付】 订单付款成功,处理订单:1将订单的状态改成付款完成;
        /// 李朴 add
        /// </summary>
        /// <param name="beforeFunName"></param>
        /// <param name="out_trade_no">商户订单号</param>
        /// <param name="transaction_id">订单交易号</param>
        /// <param name="result_code">支付结果</param>
        /// <param name="total_fee">付款金额(单位为分)</param>
        /// <param name="otid">订单临时表id</param>
        /// <returns>有错误则返回错误信息,正确,则返回空字符串</returns>
        public string ProcessPaySuccess_wx(string beforeFunName, string out_trade_no, string transaction_id, string result_code, int total_fee, int otid, int wid)
        {
            string  payTmpType  = "【微支付】";
            decimal total_fee_d = (decimal)total_fee / 100;

            BLL.orders orderBll = new BLL.orders();

            string funName = payTmpType + beforeFunName + " ProcessPaySuccess_wx ";


            WXLogs.AddLog(wid, "微支付", funName, "开始执行ProcessPaySuccess_wx方法[otid:" + otid + "]");
            try
            {
                #region 数据同步前
                IList <Model.orders> orderlist = orderBll.GetModelList("id=" + otid + " and order_no='" + out_trade_no + "'");
                if (orderlist == null || orderlist.Count <= 0)
                {
                    WXLogs.AddLog(wid, payTmpType, funName, "订单号【" + out_trade_no + "】订单号不存在", 0);
                    return("订单号不存在");
                }
                //这个暂时不处理
                if (WXLogs.ExistsFlg((out_trade_no + otid)))
                {  //如果已经处理过,则不再处理
                    return("");
                }
                WXLogs.AddFlg(wid, payTmpType, funName, (out_trade_no + otid));//加标志,防止重复提交

                Model.orders orderEntity = orderlist[0];
                if (orderEntity.order_amount > total_fee_d)
                {
                    return("付款的金额(" + total_fee_d + ")小于订单的预付款金额(" + orderEntity.order_amount + ")信息,直接退款");
                }
                orderEntity.notify_id      = "";
                orderEntity.trade_no       = transaction_id;
                orderEntity.pay_info       = result_code;
                orderEntity.order_amount   = total_fee_d;
                orderEntity.payment_time   = DateTime.Now;
                orderEntity.status         = 2;
                orderEntity.payment_status = 2;

                //判断是否需要立即发货
                if (orderEntity.express_status == 0)
                {
                    //立即发货

                    orderEntity.express_status = 2;
                    orderEntity.express_time   = DateTime.Now;


                    //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);
                //把订单里的商品库存减少

                #region 减少库存
                BLL.wx_shop_product spBll = new BLL.wx_shop_product();
                BLL.orders          oBll  = new BLL.orders();
                //根据订单号得到订单
                Model.orders oModel = oBll.GetModelByNo(orderEntity.order_no);
                //得到所有订购商品
                List <Model.order_goods> ogList = oModel.order_goods;
                //根据订购商品的数量修改库存
                foreach (Model.order_goods item in ogList)
                {
                    Model.wx_shop_product spModel = spBll.GetModel(item.goods_id);
                    spModel.stock = spModel.stock - item.quantity;
                    spBll.Update(spModel);
                }
                #endregion


                if (!ret)
                {
                    WXLogs.AddLog(wid, payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后处理数据失败", 0);
                    return("订单号【" + out_trade_no + "】支付成功后处理数据失败");
                }

                WXLogs.AddLog(payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后,处理数据成功", 1);
                return("");

                #endregion
            }
            catch (Exception ex)
            {
                WXLogs.AddLog(wid, payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后处理数据同步出现错误:" + ex.Message, 0);
                return(null);
            }
        }
Exemplo n.º 4
0
        /// <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;
            BLL.orders orderBll = new BLL.orders();

            string funName = payTmpType + beforeFunName + " ProcessPaySuccess_wx ";

            BLL.wx_logs logBll = new BLL.wx_logs();
            logBll.AddLog(wid, "微支付", funName, "开始执行ProcessPaySuccess_wx方法[otid:" + otid + "]");
            try
            {
                #region 数据同步前
                IList <Model.orders> orderlist = orderBll.GetModelList("id=" + otid + " and order_no='" + out_trade_no + "'");
                if (orderlist == null || orderlist.Count <= 0)
                {
                    logBll.AddLog(wid, payTmpType, funName, "订单号【" + out_trade_no + "】订单号不存在", 0);
                    return("订单号不存在");
                }
                //这个暂时不处理
                if (logBll.ExistsFlg((out_trade_no + otid)))
                {  //如果已经处理过,则不再处理
                    return("");
                }
                logBll.AddFlg(wid, payTmpType, funName, (out_trade_no + otid));//加标志,防止重复提交

                Model.orders orderEntity = orderlist[0];
                if (orderEntity.order_amount > total_fee)
                {
                    return("付款的金额(" + total_fee + ")小于订单的预付款金额(" + orderEntity.order_amount + ")信息,直接退款");
                }
                orderEntity.notify_id      = notify_id;
                orderEntity.trade_no       = transaction_id;
                orderEntity.pay_info       = pay_info;
                orderEntity.order_amount   = total_fee;
                orderEntity.payment_time   = DateTime.Now;
                orderEntity.status         = 2;
                orderEntity.payment_status = 2;

                //判断是否需要立即发货
                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)
                {
                    logBll.AddLog(wid, payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后处理数据失败", 0);
                    return("订单号【" + out_trade_no + "】支付成功后处理数据失败");
                }

                logBll.AddLog(payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后,处理数据成功", 1);
                return("");

                #endregion
            }
            catch (Exception ex)
            {
                logBll.AddLog(wid, payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后处理数据同步出现错误:" + ex.Message, 0);
                return(null);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 用户中心
        /// </summary>
        public void userinfoPage()
        {
            BLL.orders oBll = new BLL.orders();
            //待付款的
            int wid = MyCommFun.RequestInt("wid");
            string openid = MyCommFun.RequestOpenid();
            IList<Model.orders> orderlist_dfu = oBll.GetModelList(" wid=" + wid + " and openid='" + openid + "' and payment_id in (2,3) and   payment_status=1 and status=1 order by id desc");
            if (orderlist_dfu != null)
            {
                for (int i = 0; i < orderlist_dfu.Count; i++)
                {
                    orderlist_dfu[i].status = GetOrderStatus_int(orderlist_dfu[i].status, orderlist_dfu[i].payment_status, orderlist_dfu[i].express_status);
                }
                this.Document.SetValue("o_dfu", orderlist_dfu);
                this.Document.SetValue("dfk_num", orderlist_dfu.Count);
            }

            //待收货的
            IList<Model.orders> orderlist_dsh = oBll.GetModelList(" wid=" + wid + " and openid='" + openid + "' and  (payment_status=2 or payment_id=1) and status not in(3,4,5) order by id desc");
            if (orderlist_dsh != null)
            {
                for (int i = 0; i < orderlist_dsh.Count; i++)
                {
                    orderlist_dsh[i].status = GetOrderStatus_int(orderlist_dsh[i].status, orderlist_dsh[i].payment_status, orderlist_dsh[i].express_status);
                }

                this.Document.SetValue("o_dsh", orderlist_dsh);
                this.Document.SetValue("dsh_num", orderlist_dsh.Count);
            }

            //已结束的
            IList<Model.orders> orderlist_yjs = oBll.GetModelList(" wid=" + wid + " and openid='" + openid + "' and  payment_status=2 and status in (3,4,5) order by id desc");
            if (orderlist_yjs != null)
            {
                for (int i = 0; i < orderlist_yjs.Count; i++)
                {
                    orderlist_yjs[i].status = GetOrderStatus_int(orderlist_yjs[i].status, orderlist_yjs[i].payment_status, orderlist_yjs[i].express_status);
                }

                this.Document.SetValue("o_yjs", orderlist_yjs);
                this.Document.SetValue("yjs_num", orderlist_yjs.Count);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 订单详情页面
        /// </summary>
        public void orderDetail()
        {
            int wid = MyCommFun.RequestInt("wid");
            string openid = MyCommFun.RequestOpenid();
            int orderId = MyCommFun.RequestInt("orderid");
            BLL.orders oBll = new BLL.orders();
            //Model.orders order = oBll.GetModel(orderId);
             IList<Model.orders> orderlist_detail = oBll.GetModelList(" id="+orderId);
             if (orderlist_detail != null)
             {
                 Model.orders order = orderlist_detail[0];
                 this.Document.SetValue("order", order);
                 string statusName = GetOrderStatus(order.status, order.payment_status, order.express_status);
                 this.Document.SetValue("statusName", statusName);

                 string paymentName = new MxWeiXinPF.BLL.payment().GetTitle(wid, order.payment_id);
                 this.Document.SetValue("paymentName", paymentName);
                 string expressName = new MxWeiXinPF.BLL.express().GetTitle(order.express_id);
                 this.Document.SetValue("expressName", expressName);

             }
        }
Exemplo n.º 7
0
        /// <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;
            BLL.orders orderBll = new BLL.orders();

            string funName = payTmpType + beforeFunName + " ProcessPaySuccess_wx ";

            BLL.wx_logs logBll = new BLL.wx_logs();
            logBll.AddLog(wid, "微支付", funName, "开始执行ProcessPaySuccess_wx方法[otid:" + otid + "]");
            try
            {
                #region 数据同步前
                IList<Model.orders> orderlist = orderBll.GetModelList("id=" + otid + " and order_no='" + out_trade_no + "'");
                if (orderlist == null || orderlist.Count <= 0)
                {
                    logBll.AddLog(wid,payTmpType, funName, "订单号【" + out_trade_no + "】订单号不存在", 0);
                    return "订单号不存在";
                }
                //这个暂时不处理
                if (logBll.ExistsFlg((out_trade_no + otid)))
                {  //如果已经处理过,则不再处理
                    return "";
                }
                logBll.AddFlg(wid,payTmpType, funName, (out_trade_no + otid));//加标志,防止重复提交

                Model.orders orderEntity = orderlist[0];
                if (orderEntity.order_amount > total_fee)
                {
                    return "付款的金额(" + total_fee + ")小于订单的预付款金额(" + orderEntity.order_amount + ")信息,直接退款";
                }
                orderEntity.notify_id = notify_id;
                orderEntity.trade_no = transaction_id;
                orderEntity.pay_info = pay_info;
                orderEntity.order_amount = total_fee;
                orderEntity.payment_time = DateTime.Now;
                orderEntity.status = 2;
                orderEntity.payment_status = 2;

                //判断是否需要立即发货
                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)
                {
                    logBll.AddLog(wid,payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后处理数据失败", 0);
                    return "订单号【" + out_trade_no + "】支付成功后处理数据失败";
                }

                logBll.AddLog(payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后,处理数据成功", 1);
                return "";

                #endregion

            }
            catch (Exception ex)
            {

                logBll.AddLog(wid,payTmpType, funName, "订单号【" + out_trade_no + "】支付成功后处理数据同步出现错误:" + ex.Message, 0);
                return null;
            }

        }