Пример #1
0
        public M_Payment CreateByOrder(M_OrderList orderMod)
        {
            var list = new List <M_OrderList>();

            list.Add(orderMod);
            return(CreateByOrder(list));
        }
Пример #2
0
        //修改合计金额(单店铺)
        protected void ChangeMoney_Btn_Click(object sender, EventArgs e)
        {
            orderinfo              = oll.GetOrderListByid(Mid);
            orderinfo.Freight      = DataConverter.CDouble(PI_OrderExpMoney_T.Text);
            orderinfo.Ordersamount = DataConverter.CDouble(PI_OrdersMoney_T.Text) + orderinfo.Freight;
            M_Payment payMod = GetPayment(orderinfo);

            if (payMod != null)
            {
                if (payMod.Status != (int)M_Payment.PayStatus.NoPay)
                {
                    function.WriteErrMsg("该订单已支付过,不可修改金额");
                }
                payMod.MoneyReal = orderinfo.Ordersamount;
                payMod.MoneyPay  = orderinfo.Ordersamount;
                payBll.Update(payMod);
            }
            if (orderinfo.Freight < 0 || orderinfo.Ordersamount < 0)
            {
                function.WriteErrMsg("指定的金额不正确");
            }
            M_Order_OPLog logMod = logBll.NewLog(Mid, "修改金额", orderinfo.Ordersamount.ToString());

            oll.Update(orderinfo); logBll.Insert(logMod);
            Response.Redirect(Request.RawUrl);
        }
Пример #3
0
        /// <summary>
        /// 返回状态信息(后期扩展为与支付单一起做判断)
        /// </summary>
        public static string GetStatus(M_OrderList orderMod, TypeEnum type)
        {
            switch (type)
            {
            case TypeEnum.Pay:
                return(GetPayStatus(orderMod.Paymentstatus));

            case TypeEnum.Order:
            {
                if (orderMod.Aside > 0)
                {
                    return(GetOrderStatus(orderMod.OrderStatus, orderMod.Aside, orderMod.StateLogistics));
                }
                //订单已处理,但用户尚未签收
                else if (orderMod.OrderStatus == 99 &&
                         (orderMod.StateLogistics == (int)M_OrderList.ExpEnum.NoSend || orderMod.StateLogistics == (int)M_OrderList.ExpEnum.HasSend))
                {
                    return(GetOrderStatus(2));
                }
                return(GetOrderStatus(orderMod.OrderStatus));
            }

            case TypeEnum.Express:
                return(GetExpStatus(orderMod.StateLogistics));

            case TypeEnum.Aside:
                return(GetOrderStatus(orderMod.OrderStatus, orderMod.Aside, orderMod.StateLogistics));

            case TypeEnum.PayType:
                return(OrderConfig.GetPayType(orderMod.PayType));

            default:
                throw new Exception(type.ToString() + "状态码错误");
            }
        }
Пример #4
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (function.isAjax())
     {
         int    oid    = Convert.ToInt32(Request.Form["oid"]);
         string action = Request.Form["action"];
         string value  = Request.Form["value"];
         string result = "";
         switch (action)
         {
         case "Save":
             M_OrderList orderMod = orderBll.SelReturnModel(oid);
             orderMod.Ordermessage = value;
             orderBll.UpdateByID(orderMod);
             result = "1";
             break;
         }
         Response.Clear();
         Response.Write(result); Response.Flush(); Response.End();
     }
     if (!IsPostBack)
     {
         SelType = Request.QueryString["type"];
         Call.HideBread(Master);
         MyBind();
     }
 }
Пример #5
0
    //支付成功时执行的操作
    private void PayOrder_Success(WxPayData result)
    {
        ZLLog.L(ZLEnum.Log.pay, PayPlat + " 支付单:" + result.GetValue("out_trade_no") + " 金额:" + result.GetValue("total_fee"));
        try
        {
            M_Order_PayLog paylogMod = new M_Order_PayLog();
            M_Payment      pinfo     = payBll.SelModelByPayNo(result.GetValue("out_trade_no").ToString());
            if (pinfo == null)
            {
                throw new Exception("支付单不存在");
            }                                                    //支付单检测合为一个方法
            if (pinfo.Status != (int)M_Payment.PayStatus.NoPay)
            {
                throw new Exception("支付单状态不为未支付");
            }
            pinfo.Status       = (int)M_Payment.PayStatus.HasPayed;
            pinfo.PlatformInfo = PayPlat;
            pinfo.SuccessTime  = DateTime.Now;
            pinfo.PayTime      = DateTime.Now;
            pinfo.CStatus      = true;
            //1=100,
            double tradeAmt = Convert.ToDouble(result.GetValue("total_fee")) / 100;
            pinfo.MoneyTrue = tradeAmt;
            payBll.Update(pinfo);
            DataTable orderDT = orderBll.GetOrderbyOrderNo(pinfo.PaymentNum);
            foreach (DataRow dr in orderDT.Rows)
            {
                M_OrderList orderMod = orderBll.SelModelByOrderNo(dr["OrderNo"].ToString());
                OrderHelper.FinalStep(pinfo, orderMod, paylogMod);
                //if (orderMod.Ordertype == (int)M_OrderList.OrderEnum.Purse)
                //{

                //    M_UserInfo mu = buser.SelReturnModel(orderMod.Userid);
                //    new B_Shop_MoneyRegular().AddMoneyByMin(mu, orderMod.Ordersamount, ",订单号[" + orderMod.OrderNo + "]");
                //}
                orderCom.SendMessage(orderMod, paylogMod, "payed");
                //orderCom.SaveSnapShot(orderMod);
                //发送微信消息
                B_UserAPP  userappBll = new B_UserAPP();
                M_UserAPP  userappMod = new M_UserAPP();
                M_UserInfo mu         = buser.GetUserByUserID(orderMod.Userid);
                userappMod = userappBll.SelModelByUid(mu.UserID, "wechat");
                if (userappMod != null)
                {
                    WxAPI  wxapi = WxAPI.Code_Get(1);
                    string json  = "{\"first\":{\"value\":\"您已成功支付" + orderMod.Ordersamount.ToString("0.00") + "元\",\"color\":\"#000\"},\"DateTime\":{\"value\":\"" + DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"PayAmount\":{\"value\":\"" + orderMod.Ordersamount.ToString("0.00") + "元\",\"color\":\"#173177\"},\"remark\":{\"value\":\"您的订单已成功付款!订单号:" + orderMod.OrderNo + "\",\"color\":\"#173177\"}}";
                    wxapi.Tlp_SendTlpMsg(userappMod.OpenID, "jAP4eGIOPvCdg33KBVDcClxRGYNNgcUpmHlVdO_FRV0", SiteConfig.SiteInfo.SiteUrl + "/User/Order/OrderProList?OrderNo=" + orderMod.OrderNo, json);
                }
            }
            ZLLog.L(ZLEnum.Log.pay, PayPlat + "成功!支付单:" + result.GetValue("out_trade_no").ToString());
        }
        catch (Exception ex)
        {
            ZLLog.L(ZLEnum.Log.pay, new M_Log()
            {
                Action  = "支付回调报错",
                Message = PayPlat + ",支付单:" + result.GetValue("out_trade_no").ToString() + ",原因:" + ex.Message
            });
        }
    }
 //保存
 protected void btn_Click(object sender, EventArgs e)
 {
     int         id         = DataConverter.CLng(hforderid.Value);
     M_OrderList orderinfo  = orderBll.GetOrderListByid(id);//GetCartProOrderID
     B_CartPro   cartproBll = new B_CartPro();
     DataTable   dts        = cartproBll.GetCartProOrderID(id);
 }
Пример #7
0
        /// <summary>
        /// 0:正常状态
        /// 1:用户回收站
        /// 2:用户彻底删除|管理员删除订单时,返还优惠卷,并删除支付单
        ///(仅可操作未完成支付的支付单)
        /// </summary>
        public bool CancelOrder(M_OrderList orderMod)
        {
            B_Payment payBll = new B_Payment();
            M_Payment payMod = payBll.SelModelByOrder(orderMod);

            //支付单不存在,或状态不为未支付,则忽略
            if (payMod == null)
            {
                return(false);
            }
            //返还优惠卷
            if (!string.IsNullOrEmpty(payMod.ArriveDetail))
            {
                B_Arrive avBll = new B_Arrive();
                M_Arrive avMod = avBll.SelReturnModel(DataConvert.CLng(payMod.ArriveDetail));
                if (avMod != null && avMod.State == 10)
                {
                    avMod.State     = 1;
                    avMod.UseRemind = "订单[" + orderMod.OrderNo + "]取消,返还优惠卷";
                    avBll.GetUpdate(avMod);
                }
            }
            //返回积分,需计算积分的值
            if (payMod.UsePoint > 0)
            {
            }
            DBCenter.UpdateSQL(payMod.TbName, "Status=" + (int)M_Payment.PayStatus.NoPay + ",MoneyTrue=0,IsDel=1", "PaymentID=" + payMod.PaymentID);
            return(true);
        }
Пример #8
0
        //[办酒网临时使用]
        public string Delivery_API()
        {
            string action = Request["action"];

            switch (action)
            {
            case "o_sign":    //订单签收
            {
                int         oid      = DataConvert.CLng(Request["oid"]);
                M_OrderList orderMod = orderBll.SelReturnModel(oid);
                if (orderMod == null || string.IsNullOrEmpty(orderMod.ExpressNum))
                {
                    return("订单不存在,或未指定配送员");
                }
                M_Order_Exp expMod = expBll.SelReturnModel(DataConvert.CLng(orderMod.ExpressNum));
                if (mu.UserID != DataConvert.CLng(expMod.ExpNo))
                {
                    return("你无权操作该订单");
                }
                if (orderMod.StateLogistics != (int)M_OrderList.ExpEnum.HasSend)
                {
                    return("订单的物流状态并非已发货");
                }
                orderMod.StateLogistics = (int)M_OrderList.ExpEnum.HasReceived;
                expMod.SignDate         = DateTime.Now.ToString();
                expMod.AdminRemind      = "送货员确认";
                orderBll.UpdateByID(orderMod);
                expBll.UpdateByID(expMod);
            }
            break;
            }
            return(Success.ToString());
        }
Пример #9
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         Call.HideBread(Master);
         M_OrderList orderMod = orderBll.SelReturnModel(Mid);
         if (orderMod == null)
         {
             function.WriteErrMsg("订单不存在");
         }
         OrderNo_T.Text    = orderMod.OrderNo;
         AddTime_T.Text    = orderMod.AddTime.ToString("yyyy-MM-dd HH:mm:ss");
         ReUserName_L.Text = orderMod.Receiver;
         Mobile_L.Text     = orderMod.MobileNum;
         Address_L.Text    = orderMod.AddRess;
         //----------
         DataTable dt = cartProBll.SelByOrderID(Mid);
         RPT.DataSource = dt;
         RPT.DataBind();
         //----------
         //P_Arrive_L.Text = null;
         //P_Point_L.Text = null;
         Remind_L.Text     = orderMod.Ordermessage;
         P_Pro_L.Text      = orderMod.Balance_price.ToString("f2");
         P_Exp_L.Text      = orderMod.Freight.ToString("f2");
         TotalMoney_L.Text = orderMod.Ordersamount.ToString("f2");
     }
 }
Пример #10
0
        public IActionResult DrawBack_Add()
        {
            M_OrderList orderMod = orderBll.SelReturnModel(Mid);

            if (!DrawBackCheck(orderMod, ref err))
            {
                return(WriteErr(err));
            }
            string text = RequestEx["Back_T"];

            if (text.Length < 10)
            {
                return(WriteErr("退款说明最少需十个字符"));
            }
            //------------------------
            M_Order_Back backMod = new M_Order_Back();

            backMod.OrderID    = orderMod.id;
            backMod.OrderBak   = JsonConvert.SerializeObject(orderMod);
            backMod.UserRemind = text;
            backMod.UserID     = mu.UserID;
            backMod.ID         = backBll.Insert(backMod);
            DBCenter.UpdateSQL(orderMod.TbName, "BackID=" + backMod.ID + ",OrderStatus=" + (int)M_OrderList.StatusEnum.DrawBack, "ID=" + orderMod.id);
            return(Content("<script>top.location=top.location;</script>"));
        }
Пример #11
0
 //检测订单是否允许退货,true:通过
 private bool DrawBackCheck(M_OrderList orderMod, ref string err)
 {
     err = "";
     if (orderMod == null)
     {
         err = "订单不存在";
     }
     else if (orderMod.Userid != mu.UserID)
     {
         err = "订单不属于你,拒绝操作";
     }
     //只有已付款订单,并且未退款才可申请
     else if (orderMod.Paymentstatus != (int)M_OrderList.PayEnum.HasPayed)
     {
         err = "该订单当前支付状态无法退款";
     }
     else if (orderMod.OrderStatus != (int)M_OrderList.StatusEnum.OrderFinish)
     {
         err = "订单属于不可退款状态";
     }
     else if (SiteConfig.SiteOption.THDate != 0 && (DateTime.Now - orderMod.AddTime).TotalDays > SiteConfig.SiteOption.THDate)
     {
         err = "订单已超过" + SiteConfig.SiteOption.THDate + "天,无法申请退款";
     }
     return(string.IsNullOrEmpty(err));
 }
Пример #12
0
        public static List <M_OrderList> OrdersCheck(M_Payment payMod)
        {
            B_OrderList val = new B_OrderList();

            if (payMod.Status != 1)
            {
                function.WriteErrMsg("Incorrect order payment condition");
                return(null);
            }
            if (payMod.IsDel == 1)
            {
                function.WriteErrMsg("The order has been deleted");
                return(null);
            }
            string[]           array = payMod.PaymentNum.Split(',');
            List <M_OrderList> list  = new List <M_OrderList>();

            for (int i = 0; i < array.Length; i++)
            {
                M_OrderList val2 = val.SelModelByOrderNo(array[i]);
                SnsHelper.CheckIsCanPay(val2);
                list.Add(val2);
            }
            return(list);
        }
Пример #13
0
        public IActionResult OrderListInfo()
        {
            M_OrderList orderinfo = null;

            if (!B_ARoleAuth.AuthCheckEx(ZLEnum.Auth.shop, "order"))
            {
                return(null);
            }
            if (Mid < 1 && string.IsNullOrEmpty(RequestEx["OrderNo"]))
            {
                return(WriteErr("未指定订单"));
            }
            if (Mid > 0)
            {
                orderinfo = orderBll.GetOrderListByid(Mid);
            }
            else if (!string.IsNullOrEmpty(RequestEx["OrderNo"]))
            {
                orderinfo = orderBll.GetByOrder(RequestEx["OrderNo"], "0");
            }
            if (orderinfo == null || orderinfo.id < 1)
            {
                return(WriteErr("订单不存在"));
            }
            return(View(orderinfo));
        }
Пример #14
0
    protected string getAction(string id)
    {
        int    sid   = DataConverter.CLng(Request.QueryString["id"]);//订单ID
        string restr = "";

        if (oll.GetOrderListByid(sid).Rename == buser.GetLogin().UserName)
        {
            M_OrderList olist = oll.GetOrderListByid(sid, 3);                                    //订单信息
            if (olist.Paymentstatus == 1 && olist.StateLogistics == 1 && olist.OrderStatus == 1) //付款状态-物流状态-订单状态
            {
                restr = "<font color=red>成交OK</font>";
            }
            else if (olist.OrderStatus == 1 || olist.Paymentstatus == 1)//付款状态-订单状态,只要确认一个就不能删除
            {
                restr = "<font color=green>已确认无权再操作</font>";
            }
            else
            {
                restr = "<a href=?menu=delprecartpro&id=" + id + " onclick=\"return confirm('不可恢复性删除数据,你确定将该数据删除吗?');\">删除</a>";
            }
        }
        // else
        //{
        //    function.WriteErrMsg("");
        //}
        return(restr);
    }
Пример #15
0
        public VM_OrderPro(M_UserInfo mu, HttpRequestBase Request)
        {
            this.SType   = DataConvert.CLng(Request.QueryString["SType"]);
            this.mu      = mu;
            this.OrderNo = Request.QueryString["OrderNo"];
            switch (SType)
            {
            case 0:    //订单
                orderMod = orderBll.SelModelByOrderNo(OrderNo);
                if (orderMod == null || orderMod.id == 0)
                {
                    function.WriteErrMsg("订单不存在");
                }
                if (orderMod.Userid != mu.UserID)
                {
                    function.WriteErrMsg("该订单不属于你,无法查看");
                }
                proDT = cartProBll.SelByOrderID(orderMod.id);
                break;

            case 1:    //购物车
                proDT = cartBll.GetCarProList(OrderNo, mu.UserID);
                break;
            }
            if (proDT.Rows.Count > 0 && !string.IsNullOrEmpty(proDT.Rows[0]["Additional"].ToString()))
            {
                M_Cart_Travel model = JsonConvert.DeserializeObject <M_Cart_Travel>(proDT.Rows[0]["Additional"].ToString());
                clientList = new List <M_Cart_Contract>();
                clientList.AddRange(model.Guest);
                clientList.AddRange(model.Contract);
            }
        }
Пример #16
0
 //public void AddLog(int orderID, string opname, string after, string remind = "")
 //{
 //    B_OrderList orderBll = new B_OrderList();
 //    M_Order_OPLog logMod = new M_Order_OPLog();
 //    M_OrderList orderMod = orderBll.SelReturnModel(orderID);
 //    M_AdminInfo adminMod = B_Admin.GetLogin();
 //    logMod.OrderNo = orderMod.OrderNo;
 //    logMod.AdminID = adminMod.AdminId;
 //    logMod.OPName = opname;
 //    logMod.Remind = remind;
 //    logMod.Before = GetOrderInfo(orderMod);
 //    logMod.After = after;
 //    Insert(logMod);
 //}
 public string GetOrderInfo(M_OrderList orderMod)
 {
     string result = "";
     result = orderMod.OrderStatus + "|" + orderMod.Paymentstatus + "|" + orderMod.PaymentNo + "|" + orderMod.Payment + "|"
         + orderMod.Ordersamount.ToString("F2") + "|" + orderMod.Userid + "|" + orderMod.Freight.ToString("F2");
     return result;
 }
        private void showData(string str)
        {
            M_OrderList orderMod = oll.SelNext(Mid, str);

            if (str == "next")
            {
                if (orderMod == null)
                {
                    btnNext.Text     = "已是最后一个订单";
                    btnNext.Enabled  = false;
                    btnNext2.Enabled = false;
                }
                else
                {
                    Response.Redirect("Orderlistinfo.aspx?id=" + orderMod.id);
                }
            }
            else if (str == "pre")
            {
                if (orderMod == null)
                {
                    btnPre.Text     = "已是第一个订单";
                    btnPre.Enabled  = false;
                    btnPre2.Enabled = false;
                }
                else
                {
                    Response.Redirect("Orderlistinfo.aspx?id=" + orderMod.id);
                }
            }
        }
Пример #18
0
        public void OrderRebates(int userid, M_OrderList orderMod, M_UserInfo mu)
        {
            int buynum = GetUserBuyNum(userid);
            int fuser  = GetFirstUser(userid);
            int suser  = GetSecondUser(userid);
            int tuser  = GetThirdUser(userid);

            //先判断自己是否购买众筹产品
            if (buynum > 0)
            {
                //一级有效会员大于10人,二级有效会员小于21人 获得银币(只能用于购买众筹商品)
                if (fuser >= 10 && suser < 21)
                {
                    //第一层是产品
                    buser.AddMoney(userid, 99, M_UserExpHis.SType.SIcon, "返利[第一层], 来源: " + mu.UserName + "[用户ID:" + mu.UserID + "][订单号:" + orderMod.OrderNo + "], 备注:99");
                }
                //一级有效会员大于10人,二级有效会员大于21人 三级有效会员小于32人 二级会员每人提成9.9元
                if (fuser >= 10 && suser >= 21 && tuser < 32)
                {
                    //第一级别:9.9元
                    buser.AddMoney(userid, 9.9 * suser, M_UserExpHis.SType.Purse, "返利[第二层第一级别],来源: " + mu.UserName + "[用户ID:" + mu.UserID + "][订单号:" + orderMod.OrderNo + "], 备注:" + (9.9 * suser).ToString("f2"));
                }
                //一级有效会员大于10人,二级有效会员大于21人 三级有效会员大于32人 三级会员每人提成5元
                if (fuser >= 10 && suser >= 21 && tuser >= 32)
                {
                    //第二级别:5元
                    buser.AddMoney(userid, 5 * tuser, M_UserExpHis.SType.Purse, "返利[第二层第二级别],来源: " + mu.UserName + "[用户ID:" + mu.UserID + "][订单号:" + orderMod.OrderNo + "], 备注:" + (5 * suser).ToString("f2"));
                }
            }
        }
Пример #19
0
        protected void RPT_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            M_UserInfo mu = buser.GetLogin();

            switch (e.CommandName)
            {
            case "return":
            {
                if (StoreID < 1)
                {
                    HttpContext.Current.Response.Write("<script>alert('请扫描商户二维码进行还伞操作')</script>");
                }
                int         oid      = DataConvert.CLng(e.CommandArgument);
                M_OrderList orderMod = orderBll.SelReturnModel(oid);
                if (orderMod.OrderStatus != 0)
                {
                    HttpContext.Current.Response.Write("<script>alert('订单状态不正确')</script>");
                }
                if (orderMod.Userid != mu.UserID)
                {
                    HttpContext.Current.Response.Write("<script>alert('你无权操作该订单')</script>");
                }
                orderMod.Settle = StoreID;
                DBCenter.UpdateSQL("ZL_OrderInfo", "Settle=" + StoreID + ",OrderStatus=" + (int)M_OrderList.StatusEnum.DrawBack, "ID=" + oid);
                HttpContext.Current.Response.Write("<script>alert('还伞提交成功,请等待商户确认')</script>");
            }
            break;
            }
            MyBind();
        }
Пример #20
0
        protected void Submit_Btn_Click(object sender, EventArgs e)
        {
            //创建一张新订单,完毕后更新老订单时间
            M_OrderList orderMod = orderBll.SelModelByOrderNo(OrderNo);
            M_Order_IDC idcMod   = idcBll.SelModelByOrderNo(OrderNo);
            M_Product   proMod   = proBll.GetproductByid(idcMod.ProID);
            M_UserInfo  mu       = buser.SelReturnModel(orderMod.Userid);

            if (mu.IsNull)
            {
                function.WriteErrMsg("订单未绑定用户[" + orderMod.Userid + "],或用户不存在");
            }
            //根据所选,生成新的ID充值订单
            DataRow     timeMod = idcBll.GetSelTime(proMod, IDCTime_DP.SelectedValue);
            M_OrderList newMod  = orderBll.NewOrder(mu, M_OrderList.OrderEnum.IDCRen);

            newMod.Ordersamount = Convert.ToDouble(timeMod["price"]);
            newMod.Promoter     = idcMod.ID;
            newMod.Ordermessage = idcBll.ToProInfoStr(timeMod);
            newMod.id           = orderBll.insert(newMod);
            //-----------------------------------------------
            M_Payment payMod = payBll.CreateByOrder(newMod);

            payBll.Add(payMod);
            Response.Redirect("/PayOnline/Orderpay.aspx?PayNo=" + payMod.PayNo);
        }
Пример #21
0
 protected void Page_Load(object sender, EventArgs e)
 {
     B_User.CheckIsLogged(Request.RawUrl);
     if (!IsPostBack)
     {
         M_UserInfo  mu       = buser.GetLogin();
         M_OrderList orderMod = orderBll.SelModelByOrderNo(OrderNo);
         M_Order_IDC idcMod   = idcBll.SelModelByOrderNo(orderMod.OrderNo);
         if (orderMod == null)
         {
             function.WriteErrMsg("订单不存在");
         }
         if (orderMod.Userid != mu.UserID)
         {
             function.WriteErrMsg("你无权对该订单续费");
         }
         if (idcMod == null)
         {
             function.WriteErrMsg("idc订单不存在");
         }
         M_Product proMod = proBll.GetproductByid(idcMod.ProID);
         if (proMod == null)
         {
             function.WriteErrMsg("需要续费的商品不存在");
         }
         OrderNo_L.Text = orderMod.OrderNo;
         Domain_L.Text  = idcMod.Domain;
         Proname_L.Text = proMod.Proname;
         ETime_L.Text   = idcMod.ETime.ToString("yyyy/MM/dd");
         DataTable timedt = idcBll.P_GetValid(proMod.IDCPrice);
         IDCTime_DP.DataSource = timedt;
         IDCTime_DP.DataBind();
     }
 }
Пример #22
0
 public static void OrdersCheck(M_OrderList orderMod)
 {
     if (orderMod == null)
     {
         function.WriteErrMsg(orderMod.OrderNo + "订单不存在");
     }
     if (orderMod.OrderStatus < (int)M_OrderList.OrderEnum.Normal)
     {
         function.WriteErrMsg(orderMod.OrderNo + "订单状态异常,无法完成支付");
     }
     if (orderMod.Ordersamount <= 0)
     {
         function.WriteErrMsg(orderMod.OrderNo + "订单应付金额异常");
     }
     if (orderMod.Paymentstatus != (int)M_OrderList.PayEnum.NoPay)
     {
         function.WriteErrMsg(orderMod.OrderNo + "订单已支付过,不能重复付款!");
     }
     //配置文件,开放性检测
     if (SiteConfig.ShopConfig.IsCheckPay == 1 && orderMod.OrderStatus == (int)M_OrderList.OrderEnum.Normal)
     {
         function.WriteErrMsg(orderMod.OrderNo + "订单未确认,请等待确认后再支付!");
     }
     if (SiteConfig.ShopConfig.OrderExpired > 0 && (DateTime.Now - orderMod.AddTime).TotalHours > SiteConfig.ShopConfig.OrderExpired)
     {
         function.WriteErrMsg(orderMod.OrderNo + "订单已过期,关闭支付功能!");
     }
     //if (orderMod.Ordertype == 8)//需要检测库存的商品,如有任意一项不足,则订单不允许进行,主用于云购
     //{
     //    if (!cartProBll.CheckStock(orderMod.id)) function.WriteErrMsg(orderMod.OrderNo + "中的商品库存数量不足,取消购买");
     //}
 }
Пример #23
0
        //----------------------------申请退款|返修
        public ActionResult DrawBack()
        {
            M_OrderList orderMod = orderBll.SelReturnModel(Mid);

            if (orderMod == null)
            {
                function.WriteErrMsg("订单不存在"); return(Content(""));
            }
            if (orderMod.Userid != mu.UserID)
            {
                function.WriteErrMsg("订单不属于你,拒绝操作"); return(Content(""));
            }
            //只有已付款订单,并且未退款才可申请
            if (orderMod.Paymentstatus != (int)M_OrderList.PayEnum.HasPayed)
            {
                function.WriteErrMsg("该订单当前支付状态无法退款"); return(Content(""));
            }
            if (orderMod.OrderStatus != 99 && orderMod.OrderStatus != 1 && orderMod.OrderStatus != 0)
            {
                function.WriteErrMsg("订单属于不可退款状态"); return(Content(""));
            }
            if (SiteConfig.SiteOption.THDate != 0 && (DateTime.Now - orderMod.AddTime).TotalDays > SiteConfig.SiteOption.THDate)
            {
                function.WriteErrMsg("订单已超过" + SiteConfig.SiteOption.THDate + "天,无法申请退款"); return(Content(""));
            }
            if (orderMod.OrderStatus != 99 && orderMod.OrderStatus != 1)
            {
                function.WriteErrMsg("订单属于不可退款状态"); return(Content(""));
            }
            return(View(orderMod));
        }
Пример #24
0
        public void GetDonate(double Money)
        {
            if (Money < 0.01)
            {
                function.WriteErrMsg("请输入有效的金额");
            }
            //mu = buser.SelReturnModel(Identity);
            mu = buser.GetLogin();
            M_OrderList Odata = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Donate);

            Odata.Ordermessage   = "打赏:" + Money + "元";
            Odata.Ordersamount   = Money;
            Odata.Userid         = mu.IsNull ? Int32.MaxValue : mu.UserID;
            Odata.Balance_price  = Odata.Ordersamount;
            Odata.Specifiedprice = Odata.Ordersamount;
            Odata.id             = orderBll.Adds(Odata);

            M_Payment payMod = payBll.CreateByOrder(Odata);

            payMod.Remark    = "打赏:" + Money + "元";
            payMod.SysRemark = "donate";
            payMod.PaymentID = payBll.Add(payMod);

            //判断是不是来自微信
            if (DeviceHelper.GetBrower() == DeviceHelper.Brower.Micro)
            {
                //弹出微信支付窗口
                Response.Redirect("/PayOnline/wxpay_mp.aspx?PayNo=" + payMod.PayNo);
            }
            else
            {
                Response.Redirect("/PayOnline/Orderpay.aspx?PayNo=" + payMod.PayNo + "&OrderCode=" + Odata.OrderNo);
            }
        }
Пример #25
0
    //用于后台确认支付
    public static void FinalStep(M_OrderList mod)
    {
        if (mod.id < 1)
        {
            throw new Exception("未指定订单ID");
        }
        if (mod.Ordertype < 1)
        {
            throw new Exception("未指定订单类型");
        }
        if (string.IsNullOrEmpty(mod.OrderNo))
        {
            throw new Exception("未指定订单号");
        }
        M_AdminInfo adminMod = B_Admin.GetLogin();
        B_Payment   payBll   = new B_Payment();
        M_Payment   pinfo    = new M_Payment();

        pinfo.PaymentNum   = mod.OrderNo;
        pinfo.UserID       = mod.Userid;
        pinfo.PayNo        = payBll.CreatePayNo();
        pinfo.MoneyPay     = (decimal)mod.Ordersamount;
        pinfo.MoneyTrue    = pinfo.MoneyPay;//看是否需要支持手输
        pinfo.Status       = (int)M_Payment.PayStatus.HasPayed;
        pinfo.CStatus      = true;
        pinfo.Remark       = "管理员确认支付,ID:" + adminMod.AdminId + ",登录名:" + adminMod.AdminName + ",真实姓名:" + adminMod.AdminTrueName;
        pinfo.PaymentID    = payBll.Add(pinfo);
        pinfo.SuccessTime  = DateTime.Now;
        pinfo.PayPlatID    = (int)M_PayPlat.Plat.CashOnDelivery;//默认为线下支付
        pinfo.PlatformInfo = "";
        M_Order_PayLog paylogMod = new M_Order_PayLog();

        FinalStep(pinfo, mod, paylogMod);
    }
        protected void Page_Load(object sender, EventArgs e)
        {
            int type = DataConverter.CLng(Request.QueryString["type"]);  //类型:0为网站管理员,1为店铺管理员,2为客户

            if (type == 0)
            {
                B_Admin badmin = new B_Admin();
                if (!B_ARoleAuth.Check(ZLEnum.Auth.shop, "OrderList"))
                {
                    function.WriteErrMsg("没有权限进行此项操作");
                }
            }
            else
            {
                B_User.CheckIsLogged();
            }
            int id = DataConverter.CLng(Request.QueryString["id"]);

            hforderid.Value = id.ToString();
            M_OrderList orderinfo = oll.GetOrderListByid(id);

            if (!IsPostBack)
            {
                if (orderinfo != null && orderinfo.id > 0)
                {
                    ddstate.SelectedValue = orderinfo.Developedvotes.ToString();
                    if (ddstate.SelectedValue == "1")
                    {
                        fahuo.Visible = true;
                    }
                    else
                    {
                        fahuo.Visible = false;
                    }
                }
                //类型:0为网站管理员,1为店铺管理员,2为客户
                if (type == 0 || type == 1)
                {
                    if (orderinfo.Aside != 1 && orderinfo.Settle != 1)
                    {
                        ddstate.Enabled    = true;
                        txtContent.Enabled = true;
                        btn.Enabled        = true;
                    }
                    else
                    {
                        ddstate.Enabled    = false;
                        txtContent.Enabled = false;
                        btn.Enabled        = false;
                    }
                }
                else
                {
                    ddstate.Enabled    = false;
                    txtContent.Enabled = false;
                    btn.Enabled        = false;
                }
            }
            Call.SetBreadCrumb(Master, "<li>商城管理</li><li><a href='UserOrderlist.aspx'>店铺订单</a></li><li>发票信息处理</li>");
        }
Пример #27
0
    private void GetViewOrderList()
    {
        Label1.Text  = "乘客信息";
        Label10.Text = "旅游信息";
        sid          = DataConverter.CLng(Request.QueryString["id"]);
        M_OrderList orderlist = oll.GetOrderListByid(sid);

        lblIns.Text = orderlist.Freight.ToString();

        DataTable orderlistW = bcart.GetCartProOrderIDW(sid);

        if (orderlistW != null && orderlistW.Rows.Count > 0)
        {
            EGV2.DataSource = orderlistW;
            EGV2.DataBind();
            preojiage.Text = orderlist.Ordersamount.ToString();
            List <M_Passenger> pass = passen.GetSelectByOrderIDUserID(orderlist.Merchandiser);
            EGV3.DataSource = pass;
            EGV3.DataBind();
        }
        if (orderlist.Paymentstatus == 1)
        {
            lb.Text    = "成功付款";
            lb.Enabled = false;
        }
        else if (orderlist.OrderStatus == 1)
        {
            lb.Attributes.Add("onclick", "javascript:window.open('../PayOnline/Orderpay.aspx?OrderCode=" + orderlist.OrderNo + "')");
        }
        else
        {
            lb.Text    = "待确认";
            lb.Enabled = false;
        }
    }
Пример #28
0
        protected void Save_Btn_Click(object sender, EventArgs e)
        {
            M_OrderList orderMod = orderBll.SelReturnModel(Mid);
            M_Order_Exp expMod   = new M_Order_Exp();

            if (!string.IsNullOrEmpty(orderMod.ExpressNum))
            {
                expMod = expBll.SelReturnModel(Convert.ToInt32(orderMod.ExpressNum));
            }
            expMod.ExpNo    = ExpNo_T.Text.Trim();
            expMod.CompType = ExpComp_DP.SelectedValue;
            if (expMod.CompType.Equals("其它 "))
            {
                expMod.ExpComp = ExpOther_T.Text;
            }
            else
            {
                expMod.ExpComp = ExpComp_DP.SelectedValue;
            }
            if (expMod.ID > 0)
            {
                expBll.UpdateByID(expMod);
            }
            else
            {
                expMod.OrderID = orderMod.id;
                expMod.UserID  = orderMod.Userid;
                expMod.ID      = expBll.Insert(expMod);
            }
            orderMod.StateLogistics = 1;
            orderMod.ExpressNum     = expMod.ID.ToString();
            orderBll.UpdateByID(orderMod);
            function.Script(this, "parent.window.location= parent.location;");
        }
Пример #29
0
        protected void Submit_B_Click(object sender, EventArgs e)
        {
            M_UserInfo mu = buser.SelReturnModel(DataConvert.CLng(UserID_Hid.Value));

            if (mu.IsNull)
            {
                function.WriteErrMsg("订单所绑定的用户[" + UserID_T.Text + "]不存在");
            }
            if (string.IsNullOrEmpty(ProID_Hid.Value) || string.IsNullOrEmpty(ProTime_Hid.Value))
            {
                function.WriteErrMsg("请先选择需要绑定的商品");
            }
            M_Product proMod = proBll.GetproductByid(Convert.ToInt32(ProID_Hid.Value));

            if (proMod == null)
            {
                function.WriteErrMsg("商品不存在");
            }
            DataRow timeMod = idcBll.GetSelTime(proMod, ProTime_Hid.Value);

            M_OrderList Odata = orderBll.NewOrder(mu, M_OrderList.OrderEnum.IDC);

            Odata.Ordermessage = Ordermessage_T.Text;//订货留言
            Odata.Ordersamount = DataConvert.CFloat(Price_T.Text);
            if (Odata.Ordersamount <= 0)
            {
                Odata.Ordersamount = Convert.ToDouble(timeMod["price"]);
            }
            Odata.Balance_price  = Odata.Ordersamount;
            Odata.Specifiedprice = Odata.Ordersamount;
            if (Odata.Ordersamount <= 0)
            {
                function.WriteErrMsg("未为商品指定价格");
            }
            Odata.id = orderBll.Adds(Odata);
            //-----------------------------
            M_Order_IDC idcMod = new M_Order_IDC();

            idcMod.ProID     = proMod.ID;
            idcMod.OrderNo   = Odata.OrderNo;
            idcMod.ProInfo   = idcBll.ToProInfoStr(timeMod);
            idcMod.Domain    = Domain_T.Text;
            idcMod.AdminName = "webmater@" + idcMod.Domain;
            idcMod.STime     = Convert.ToDateTime(STime_T.Text);
            idcMod.ETime     = idcMod.STime;
            idcMod.ID        = idcBll.Insert(idcMod);
            //-----------------------------
            DataTable prodt = new DataTable();

            prodt.Columns.Add(new DataColumn("proid", typeof(int)));
            prodt.Columns.Add(new DataColumn("pronum", typeof(int)));
            DataRow dr = prodt.NewRow();

            dr["proid"]  = proMod.ID;
            dr["pronum"] = 1;
            prodt.Rows.Add(dr);
            cartProBll.CopyToCartPro(mu, prodt, Odata.id);
            function.WriteSuccessMsg("订单添加成功!", "IDCOrder.aspx?OrderType=" + OrderType);
        }
Пример #30
0
 protected void Page_Load(object sender, EventArgs e)
 {
     B_User.CheckIsLogged(Request.RawUrl);
     if (!IsPostBack)
     {
         M_Payment payMod  = new M_Payment();
         DataTable orderDT = new DataTable();
         purseli.Visible = SiteConfig.SiteOption.SiteID.Contains("purse");
         siconli.Visible = SiteConfig.SiteOption.SiteID.Contains("sicon");
         pointli.Visible = SiteConfig.SiteOption.SiteID.Contains("point");
         if (Money > 0)//直接传要充多少,用于充值余额等,生成一条临时记录
         {
             virtual_ul.Visible = false;
             orderDT            = orderBll.GetOrderbyOrderNo("-1");
             DataRow dr = orderDT.NewRow();
             dr["Balance_price"] = Money;
             dr["Freight"]       = 0;
             dr["Ordersamount"]  = Money;
             orderDT.Rows.Add(dr);
         }
         else if (!string.IsNullOrEmpty(PayNo))
         {
             payMod = payBll.SelModelByPayNo(PayNo);
             OrderHelper.OrdersCheck(payMod);
             orderDT = orderBll.GetOrderbyOrderNo(payMod.PaymentNum);
         }
         else
         {
             M_OrderList orderMod = orderBll.SelModelByOrderNo(OrderNo);
             OrderHelper.OrdersCheck(orderMod);
             orderDT = orderBll.GetOrderbyOrderNo(OrderNo);
         }
         if (orderDT != null && orderDT.Rows.Count > 0)
         {
             //如果是跳转回来的,检测其是否包含充值订单
             foreach (DataRow dr in orderDT.Rows)
             {
                 if (DataConverter.CLng(dr["Ordertype"]) == (int)M_OrderList.OrderEnum.Purse)
                 {
                     virtual_ul.Visible = false; break;
                 }
             }
             //总金额,如有支付单,以支付单的为准
             GetTotal(orderDT, ref price, ref fare, ref allamount);
             if (!string.IsNullOrEmpty(PayNo))
             {
                 allamount = (double)payMod.MoneyPay;
                 arrive    = payMod.ArriveMoney;
             }
             TxtvMoney.Text = price.ToString("f2");// + " + " + fare.ToString("f2") + " - " + arrive.ToString("f2") + " = " + allamount.ToString("f2")
             TxtvMoney.Text = TxtvMoney.Text + "";
             OrderCode.Text = OrderNo;
         }
         //支付币种
         //BindMoney();
         //支付平台
         BindPlat();
     }
 }