Beispiel #1
0
        public void Notify()
        {
            SortedDictionary<string, string> sPara = GetRequestPost();

            if (sPara.Count > 0)//判断是否有带返回参数
            {
                Notify aliNotify = new Notify();
                bool verifyResult = aliNotify.Verify(sPara, Request.Form["notify_id"], Request.Form["sign"]);
                // WriteTxt(Request.Form["notify_id"]+"\r\n" + Request.Form["sign"]);
                if (verifyResult)//验证成功
                {
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    //请在这里加上商户的业务逻辑程序代码
                    var account = Request.QueryString["total_fee"];
                    var 当前用户 = currentUser as 供应商;
                    var 会员级别 = 当前用户.供应商用户信息.认证级别.ToString();
                    double amount = 0D;
                    switch (会员级别)
                    {
                        case "军采通标准会员":
                            switch (account)
                            {
                                case "2850":
                                    amount = double.Parse(account) / 0.95;
                                    break;
                                case "5400":
                                    amount = double.Parse(account) / 0.9;
                                    break;
                                case "8500":
                                    amount = double.Parse(account) / 0.85;
                                    break;
                                case "16000":
                                    amount = double.Parse(account) / 0.8;
                                    break;
                            }
                            break;
                        case "军采通高级会员":
                            switch (account)
                            {
                                case "2700":
                                    amount = double.Parse(account) / 0.9;
                                    break;
                                case "5100":
                                    amount = double.Parse(account) / 0.85;
                                    break;
                                case "8000":
                                    amount = double.Parse(account) / 0.8;
                                    break;
                                case "15000":
                                    amount = double.Parse(account) / 0.75;
                                    break;
                            }
                            break;
                        default:
                            switch (account)
                            {
                                case "2940":
                                    amount = double.Parse(account) * 0.98;
                                    break;
                                case "5700":
                                    amount = double.Parse(account) * 0.95;
                                    break;
                                case "9200":
                                    amount = double.Parse(account) * 0.92;
                                    break;
                                case "18000":
                                    amount = double.Parse(account) * 0.9;
                                    break;
                            }
                            break;
                    }


                    var 充值记录 = new 供应商充值记录();
                    充值记录.充值方式 = 充值方式.支付宝;
                    充值记录.充值金额 = (decimal)amount;
                    充值记录.充值时间 = DateTime.Now;
                    充值记录.供应商转款账号 = Request.QueryString["buyer_email"];
                    充值记录.收款账号 = Request.QueryString["seller_email"];
                    充值记录.所属供应商.用户ID = currentUser.Id;
                    供应商充值记录管理.添加供应商充值记录(充值记录);

                    var 余额记录 = 供应商充值余额管理.查询供应商充值余额(0, 0, Query<供应商充值余额>.Where(o => o.所属供应商.用户ID == currentUser.Id));
                    if (余额记录.Count() > 0)
                    {
                        var model = 余额记录.First();
                        model.可用余额 += 充值记录.充值金额;
                        供应商充值余额管理.更新供应商充值余额(model);
                    }
                    else
                    {
                        var 充值余额 = new 供应商充值余额();
                        充值余额.可用余额 = 充值记录.充值金额;
                        充值余额.所属供应商.用户ID = currentUser.Id;
                        供应商充值余额管理.添加供应商充值余额(充值余额);
                    }



                    //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
                    //获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表

                    //商户订单号

                    string out_trade_no = Request.Form["out_trade_no"];

                    //支付宝交易号

                    string trade_no = Request.Form["trade_no"];

                    //交易状态
                    string trade_status = Request.Form["trade_status"];


                    if (Request.Form["trade_status"] == "TRADE_FINISHED" || Request.Form["trade_status"] == "TRADE_SUCCESS")
                    {
                        WriteTxt("订单号:" + out_trade_no + "交易号:" + trade_no + "交易状态:" + trade_status);
                    }
                    else
                    {
                    }
                    //——请根据您的业务逻辑来编写程序(以上代码仅作参考)——
                    Response.Write("success");  //请不要修改或删除

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                }
                else//验证失败
                {
                    Response.Write("fail");
                }
            }
            else
            {
                Response.Write("无通知参数");
            }
        }
Beispiel #2
0
        public ActionResult Payment_Result()
        {
            SortedDictionary<string, string> sPara = GetRequestGet();
            if (sPara.Count > 0)//判断是否有带返回参数
            {
                Notify aliNotify = new Notify();
                bool verifyResult = aliNotify.Verify(sPara, Request.QueryString["notify_id"], Request.QueryString["sign"]);

                if (verifyResult)//验证成功
                {
                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    //请在这里加上商户的业务逻辑程序代码
                    var account = Request.QueryString["total_fee"];
                    var 当前用户 = currentUser as 供应商;
                    var 会员级别 = 当前用户.供应商用户信息.认证级别.ToString();
                    double amount = 0D;
                    switch (会员级别)
                    {
                        case "军采通标准会员":
                            switch (account)
                            {
                                case "2850":
                                    amount = double.Parse(account) / 0.95;
                                    break;
                                case "5400":
                                    amount = double.Parse(account) / 0.9;
                                    break;
                                case "8500":
                                    amount = double.Parse(account) / 0.85;
                                    break;
                                case "16000":
                                    amount = double.Parse(account) / 0.8;
                                    break;
                            }
                            break;
                        case "军采通高级会员":
                            switch (account)
                            {
                                case "2700":
                                    amount = double.Parse(account) / 0.9;
                                    break;
                                case "5100":
                                    amount = double.Parse(account) / 0.85;
                                    break;
                                case "8000":
                                    amount = double.Parse(account) / 0.8;
                                    break;
                                case "15000":
                                    amount = double.Parse(account) / 0.75;
                                    break;
                            }
                            break;
                        default:
                            switch (account)
                            {
                                case "2940":
                                    amount = double.Parse(account) * 0.98;
                                    break;
                                case "5700":
                                    amount = double.Parse(account) * 0.95;
                                    break;
                                case "9200":
                                    amount = double.Parse(account) * 0.92;
                                    break;
                                case "18000":
                                    amount = double.Parse(account) * 0.9;
                                    break;
                            }
                            break;
                    }


                    var 充值记录 = new 供应商充值记录();
                    充值记录.充值方式 = 充值方式.支付宝;
                    充值记录.充值金额 = (decimal)amount;
                    充值记录.充值时间 = DateTime.Now;
                    充值记录.供应商转款账号 = Request.QueryString["buyer_email"];
                    充值记录.收款账号 = Request.QueryString["seller_email"];
                    充值记录.所属供应商.用户ID = currentUser.Id;
                    供应商充值记录管理.添加供应商充值记录(充值记录);

                    var 余额记录 = 供应商充值余额管理.查询供应商充值余额(0, 0, Query<供应商充值余额>.Where(o => o.所属供应商.用户ID == currentUser.Id));
                    if (余额记录.Count() > 0)
                    {
                        var model = 余额记录.First();
                        model.可用余额 += 充值记录.充值金额;
                        供应商充值余额管理.更新供应商充值余额(model);
                    }
                    else
                    {
                        var 充值余额 = new 供应商充值余额();
                        充值余额.可用余额 = 充值记录.充值金额;
                        充值余额.所属供应商.用户ID = currentUser.Id;
                        供应商充值余额管理.添加供应商充值余额(充值余额);
                    }


                    //——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
                    //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表

                    //商户订单号

                    string out_trade_no = Request.QueryString["out_trade_no"];

                    //支付宝交易号

                    string trade_no = Request.QueryString["trade_no"];

                    //交易状态
                    string trade_status = Request.QueryString["trade_status"];


                    if (Request.QueryString["trade_status"] == "TRADE_FINISHED" || Request.QueryString["trade_status"] == "TRADE_SUCCESS")
                    {
                        ViewData["Trade_Status"] = 1;//1充值成功,0充值失败
                        ViewData["result"] = amount; //Request.QueryString["total_fee"]; //充值金额
                        //ViewData["result"] = "用户号为" + Request.QueryString["buyer_id"] + "的你已购买价值为" + Request.QueryString["total_fee"] + "军采通产品,流水号位" + Request.QueryString["trade_no"] + "交易状态:" + Request.QueryString["trade_status"] + "验证ID为:" + Request.QueryString["notify_id"];
                    }
                    else
                    {
                        ViewData["Trade_Status"] = 0;
                        //Response.Write("trade_status=" + Request.QueryString["trade_status"]);
                    }

                    //——请根据您的业务逻辑来编写程序(以上代码仅作参考)——

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////
                }
                else//验证失败
                {
                    //Response.Write("验证失败");
                    ViewData["Trade_Status"] = 0;
                }
            }
            else
            {
                ViewData["result"] = "无返回参数";
                //Response.Write("无返回参数");
            }
            return View();
        }
 public static bool 更新供应商充值余额(供应商充值余额 content, bool f = true)
 {
     return Mongo.更新(content, f);
 }
        public ActionResult AccountInfoManage()
        {
            //var 已开通服务列表 = new List<供应商计费项目扣费记录>();

            var list = 供应商服务记录管理.查询供应商服务记录(0, 0, Query<供应商服务记录>.Where(o => o.所属供应商.用户ID == currentUser.Id));
            var _t = new 供应商服务记录();
            if (list.Count() > 0)
            {
                _t = list.First();
            }
            else
            {
                _t.所属供应商.用户ID = currentUser.Id;
                foreach (var j in 扣费规则.规则列表)
                {
                    var b = new 供应商增值服务申请记录();
                    b.所申请项目名 = j.扣费项目名;
                    b.所属供应商.用户ID = currentUser.Id;
                    _t.可申请的服务.Add(b);
                }
                供应商服务记录管理.添加供应商服务记录(_t);
            }

            ViewData["供应商服务"] = _t;
            ViewData["会员级别"] = currentUser.供应商用户信息.认证级别;
            ViewData["已申请服务"] = _t.申请中的服务;
            ViewData["已开通服务"] = _t.已开通的服务;


            var 余额 = 供应商充值余额管理.查询供应商充值余额(0, 0, Query<供应商充值余额>.Where(o => o.所属供应商.用户ID == currentUser.Id));
            var 供应商账户余额 = new 供应商充值余额();
            if (余额.Count() > 0)
            {
                供应商账户余额 = 余额.First();
            }
            else
            {
                供应商账户余额.所属供应商.用户ID = currentUser.Id;
                供应商账户余额.可用余额 = 0;
                供应商充值余额管理.添加供应商充值余额(供应商账户余额);
            }

            return View(供应商账户余额);
        }
 public static bool 添加供应商充值余额(供应商充值余额 content)
 {
     return Mongo.添加(content);
 }