示例#1
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 Send_B_Click(object sender, EventArgs e)
        {
            M_WXTlp tlpMod = api.Tlp_GetTlpByID(TlpID);
            string  url    = Url_T.Text;
            //{"first": {"value":"恭喜你购买成功!","color":"#173177" },"keynote1":{"value":"巧克力","color":"#173177" },..}
            string        data      = "{";
            List <string> paraNames = api.Tlp_GetTlpParaNames(tlpMod.content);

            for (int i = 0; i < paraNames.Count; i++)
            {
                data += "\"" + paraNames[i] + "\":{\"value\":\"" + Request.Form[paraNames[i]] + "\",\"color\":\"" + Request.Form["col_" + paraNames[i]] + "\"},";
            }
            data = data.Trim(',') + "}";
            function.WriteErrMsg(data);
            api.Tlp_SendTlpMsg(api.AppId.APPID, TlpID, url, data);
        }
示例#3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            B_User.CheckIsLogged(Request.RawUrl);
            if (!IsPostBack)
            {
                int         num      = 1;
                M_OrderList orderMod = orderBll.SelReturnModel(Oid);
                M_UserInfo  frommu   = buser.SelReturnModel(orderMod.Userid);
                M_UserInfo  mu       = buser.GetLogin(false);
                //检测订单是否可借
                if (orderMod == null)
                {
                    HttpContext.Current.Response.Write("<script>alert('订单不存在')</script>");
                }
                if (orderMod.Ordertype != (int)M_OrderList.OrderEnum.Fast)
                {
                    HttpContext.Current.Response.Write("<script>alert('订单不可操作')</script>");
                }
                if (orderMod.OrderStatus != 0)
                {
                    HttpContext.Current.Response.Write("<script>alert('订单状态不正确')</script>");
                }
                if (mu.UserID == orderMod.Userid)
                {
                    HttpContext.Current.Response.Write("<script>alert('不可转借给本人')</script>");
                }


                //=================================检测是否符合条件
                double money = Unbrealla.T_CheckForegift(mu, num);
                //---------需要充值押金
                string json = JsonHelper.GetJson("oid,action".Split(','),
                                                 (orderMod.id + ",ue_lenttouser").Split(','));
                if (money > 0)
                {
                    M_OrderList foreMod = Unbrealla.H_NewFGOrder(mu, money);
                    foreMod.StoreID = orderMod.StoreID;
                    M_Payment forePay = Unbrealla.H_NewFGPayment(foreMod);
                    forePay.SysRemark = json;
                    orderBll.insert(foreMod);
                    payBll.Add(forePay);
                    Response.Redirect("/PayOnline/wxpay_mp.aspx?payno=" + forePay.PayNo); return;
                }
                //---------余额必须为正数,否则必须充值
                if (mu.Purse <= 0)
                {
                    //9,19,50,100
                    M_OrderList chargeMod = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Purse);
                    chargeMod.Ordersamount = 9;
                    chargeMod.StoreID      = orderMod.StoreID;
                    M_Payment payMod = payBll.CreateByOrder(chargeMod);
                    payMod.SysRemark = json;
                    payMod.Remark   += "充值" + chargeMod.Ordersamount.ToString("F2") + "元";
                    orderBll.insert(chargeMod);
                    payMod.PaymentID = payBll.Add(payMod);
                    Response.Redirect("/PayOnline/wxpay_mp.aspx?payno=" + payMod.PayNo); return;
                }
                //=================================

                //终止上一份订单,并生成新的转借订单
                orderMod.Ordermessage = "转借";
                Unbrealla.FinalOrder(orderMod);
                //创建新的订单
                M_OrderList newMod = orderBll.NewOrder(mu, M_OrderList.OrderEnum.Fast);
                newMod.Balance_remark = orderMod.Balance_remark;
                newMod.Promoter       = frommu.UserID;
                newMod.StoreID        = orderMod.StoreID;
                newMod.Extend         = DateTime.Now.ToString();
                newMod.id             = orderBll.insert(newMod);

                //新用户
                mu = buser.GetLogin(false);
                if (mu.PageID == 0)
                {
                    buser.AddMoney(orderMod.Userid, 5, M_UserExpHis.SType.Purse, "新用户转借奖励,订单[" + newMod.id + "]");
                    mu.PageID = 1;
                    buser.UpdateByID(mu);
                    WxAPI     wxapi  = WxAPI.Code_Get();
                    M_UserAPP appMod = appBll.SelModelByUid(orderMod.Userid, "wechat");
                    if (appMod != null && !string.IsNullOrEmpty(appMod.OpenID))
                    {
                        string tlp1 = "{\"first\": {\"value\":\"奖励到帐提醒\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + orderMod.OrderNo + "\",\"color\":\"#173177\"},\"keyword2\":{\"value\":\"" + DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"keyword3\": {\"value\":\"" + orderMod.Ordersamount.ToString("0.00") + "元\",\"color\":\"#173177\"},\"remark\":{\"value\":\"转借5元奖励已到账,该奖励可提现,请注意查收账户内余额\",\"color\":\"#173177\"}}";
                        wxapi.Tlp_SendTlpMsg(appMod.OpenID, "dlAIEAkV0lgDfc7-RYsdLVFMyP9UF7gHi_9kjPblVAU", ZoomLa.Components.SiteConfig.SiteInfo.SiteUrl + "/BU/UE/MyLend.aspx", tlp1);
                    }
                }
                HttpContext.Current.Response.Write("<script>alert('操作成功')</script>");
                Response.Redirect("/BU/UE/MyLend.aspx");
            }
        }
示例#4
0
    //支付成功时执行的操作
    private void PayOrder_Success(WxPayData result)
    {
        ZLLog.L(ZLEnum.Log.pay, "微信:微信支付 支付单:" + 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 = "微信扫码|公众号支付";
            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);

                if (orderMod.Ordertype != 6)
                {
                    buser.ChangeVirtualMoney(orderMod.Userid, new M_UserExpHis()
                    {
                        score     = orderMod.Ordersamount,
                        ScoreType = 3,
                        detail    = "在线消费赠送积分:" + orderMod.Ordersamount
                    });
                }
                //订单返利
                OrderRebates(orderMod.Userid, orderMod.Ordersamount);
                //订单打印
                int orderID  = DataConvert.CLng(dr["ID"].ToString());
                int StoreID  = DataConvert.CLng(dr["StoreID"].ToString());
                int devID    = GetPrintDevice(StoreID);  //设备ID
                int tlpID    = GetPrintModelID(StoreID); //模板ID
                int printnum = GetPrintNum(StoreID);
                //------------------------------
                DataTable          orderDT1 = DBCenter.Sel("ZL_OrderInfo", "ID=" + orderID);
                M_Shop_PrintTlp    tlpMod   = tlpBll.SelReturnModel(tlpID);
                M_Shop_PrintDevice devMod   = devBll.SelReturnModel(devID);
                string             msg      = orderCOM.TlpDeal(tlpMod.Content, orderDT1);
                ZLLog.L(ZLEnum.Log.pay, msg);
                msgBll.Insert(msg, tlpMod.ID, devMod, printnum);
                //function.WriteSuccessMsg("信息已发送", "MessageList.aspx");

                //发送微信通知
                try
                {
                    userappMod = userappBll.SelModelByUid(DataConvert.CLng(dr["UserID"]), "wechat");
                    if (userappMod != null)
                    {
                        WxAPI wxapi = WxAPI.Code_Get(1);
                        if (dr["Ordertype"].ToString() == "6")
                        {
                            M_UserInfo userMod = buser.GetUserByUserID(DataConvert.CLng(dr["UserID"]));
                            wxapi.Tlp_SendTlpMsg(userappMod.OpenID, "vRUiDj-k6EGjwQC2GO4oU1G37CJjiu2fZ-ePBj1jJ60", "http://v.wodian8.com/User/Order/OrderList1.aspx", "{\"first\": {\"value\":\"您好,您已经充值成功。\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + DataConvert.CDouble(dr["Ordersamount"]).ToString("0.00") + "\",\"color\":\"#173177\"},\"keyword2\": {\"value\":\"" + DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"keyword3\": {\"value\":\"" + userMod.Purse.ToString("0.00") + "\",\"color\":\"#173177\"},\"remark\":{\"value\":\"感谢您对我们的信任,我们将为您提供更优质的服务。\",\"color\":\"#173177\"}}");
                        }
                        else
                        {
                            wxapi.Tlp_SendTlpMsg(userappMod.OpenID, "E-yWv8GVKeJHymtTB0zOGKnEv6LXodjr-M6tj1sLzfM", "http://v.wodian8.com/User/Order/OrderList1.aspx", "{\"first\": {\"value\":\"您的订单支付成功!\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + dr["OrderNo"].ToString() + "\",\"color\":\"#173177\"},\"keyword2\": {\"value\":\"" + GetProname(DataConvert.CLng(dr["ID"])) + "\",\"color\":\"#173177\"},\"keyword3\": {\"value\":\"" + DataConvert.CDouble(dr["Ordersamount"]).ToString("0.00") + "\",\"color\":\"#173177\"},\"keyword4\": {\"value\":\"" + DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"remark\":{\"value\":\"点击查看订单详情!\",\"color\":\"#173177\"}}");
                        }
                    }
                }
                catch (Exception ex)
                {
                    ZLLog.L(ZLEnum.Log.pay, new M_Log()
                    {
                        Action  = "发送微信通知报错",
                        Message = "原因:" + ex.Message
                    });
                    throw;
                }
            }
            ZLLog.L(ZLEnum.Log.pay, "微信支付成功!支付单:" + result.GetValue("out_trade_no").ToString());
        }
        catch (Exception ex)
        {
            ZLLog.L(ZLEnum.Log.pay, new M_Log()
            {
                Action  = "支付回调报错",
                Message = "平台:微信,支付单:" + result.GetValue("out_trade_no").ToString() + ",原因:" + ex.Message
            });
        }
    }
示例#5
0
        protected void RPT_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            WxAPI       wxapi    = WxAPI.Code_Get();
            int         oid      = DataConvert.CLng(e.CommandArgument);
            M_OrderList orderMod = orderBll.SelReturnModel(oid);
            M_UserAPP   appMod   = appBll.SelModelByUid(orderMod.Userid, "wechat");
            M_UserAPP   appMod2  = appBll.SelModelByUid(storeMod.UserID, "wechat");
            string      tlpid    = "dlAIEAkV0lgDfc7-RYsdLVFMyP9UF7gHi_9kjPblVAU";

            switch (e.CommandName)
            {
            case "return":    //确认归还
            {
                Unbrealla.FinalOrder(orderMod);
                if (appMod != null && !string.IsNullOrEmpty(appMod.OpenID))
                {
                    string json = "{\"first\": {\"value\":\"还伞成功通知\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + orderMod.OrderNo + "\",\"color\":\"#173177\"},\"keyword2\":{\"value\":\"" + orderMod.AddTime.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"keyword3\": {\"value\":\"" + orderMod.Ordersamount.ToString("0.00") + "元\",\"color\":\"#173177\"},\"remark\":{\"value\":\"您已还伞成功,如需继续借伞,请扫描借伞点二维码进行借伞!\",\"color\":\"#173177\"}}";
                    string r    = wxapi.Tlp_SendTlpMsg(appMod.OpenID, tlpid, ZoomLa.Components.SiteConfig.SiteInfo.SiteUrl + "/BU/UE/MyLend.aspx", json);
                }
                if (appMod2 != null && !string.IsNullOrEmpty(appMod2.OpenID))
                {
                    string json1 = "{\"first\": {\"value\":\"还伞成功通知\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + orderMod.OrderNo + "\",\"color\":\"#173177\"},\"keyword2\":{\"value\":\"" + orderMod.AddTime.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"keyword3\": {\"value\":\"" + orderMod.Ordersamount.ToString("0.00") + "元\",\"color\":\"#173177\"},\"remark\":{\"value\":\"用户已还伞成功!\",\"color\":\"#173177\"}}";
                    wxapi.Tlp_SendTlpMsg(appMod2.OpenID, tlpid, ZoomLa.Components.SiteConfig.SiteInfo.SiteUrl + "/Class_2/NodePage.aspx", json1);
                }

                //更新库存
                string    sql = "select * from ZL_Commodities where UserShopID=" + orderMod.StoreID;
                DataTable dt  = SqlHelper.ExecuteTable(CommandType.Text, sql);
                if (dt.Rows.Count > 0)
                {
                    M_Product proMod = proBll.GetproductByid(DataConvert.CLng(dt.Rows[0]["ID"]));
                    proMod.Stock = proMod.Stock + 1;
                    proBll.UpdateByID(proMod);
                }
            }
            break;

            case "cancel":    //取消归还
            {
                DBCenter.UpdateSQL(orderMod.TbName, "OrderStatus=0", "ID=" + oid + " AND OrderStatus=-1");
            }
            break;

            case "repair":    //坏伞回收
            {
                Unbrealla.FinalOrder(orderMod);
                string json = "{\"first\": {\"value\":\"还伞成功通知\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + orderMod.OrderNo + "\",\"color\":\"#173177\"},\"keyword2\":{\"value\":\"" + orderMod.AddTime.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"keyword3\": {\"value\":\"" + orderMod.Ordersamount.ToString("0.00") + "元\",\"color\":\"#173177\"},\"remark\":{\"value\":\"您已还伞成功,如需继续借伞,请扫描借伞点二维码进行借伞!\",\"color\":\"#173177\"}}";
                Unbrealla.SendWXNotify(appMod, tlpid, "/BU/UE/MyLend.aspx", json);
                json = "{\"first\": {\"value\":\"还伞成功通知\",\"color\":\"#173177\"},\"keyword1\":{\"value\":\"" + orderMod.OrderNo + "\",\"color\":\"#173177\"},\"keyword2\":{\"value\":\"" + orderMod.AddTime.ToString("yyyy年MM月dd日 HH:mm:ss") + "\",\"color\":\"#173177\"},\"keyword3\": {\"value\":\"" + orderMod.Ordersamount.ToString("0.00") + "元\",\"color\":\"#173177\"},\"remark\":{\"value\":\"用户已还伞成功,请等待公司工作人员收取坏伞!\",\"color\":\"#173177\"}}";
                Unbrealla.SendWXNotify(appMod2, tlpid, "/Class_2/NodePage.aspx", json);
            }
            break;

            case "cancel_repair":    //取消报修申请,返还余额
            {
                double money = orderMod.Specifiedprice;
                orderMod.IsCount         = false;
                orderMod.Internalrecords = "";
                orderMod.Specifiedprice  = 0;
                orderMod.OrderStatus     = 0;
                orderBll.UpdateByID(orderMod);
                buser.AddMoney(orderMod.Userid, money, M_UserExpHis.SType.Purse, "取消报修,返还预扣余额[" + orderMod.id + "]");
            }
            break;
            }
            MyBind();
        }