コード例 #1
0
ファイル: MeController.cs プロジェクト: immi31415927/qiannian
        public JsonResult SaveRecharge(SaveRechargeRequest request)
        {
            var response = new JResult <string>()
            {
                Status = false
            };

#if DEBUG
            //request.Amount = new decimal(0.01);
#else
#endif
            //当前上下文
            var context = CustomerContext.Context;
            if (context == null)
            {
                response.Message = "用户已超时、请重新登录﹗";
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            if (request.PayWay.Equals(10))
            {
                //支付订单编号
                var orderNo = Guid.NewGuid().ToString().Replace("-", "");

                var recharge = new FnRecharge()
                {
                    OrderNo       = orderNo,
                    CustomerSysNo = context.SysNo,
                    Amount        = request.Amount,
                    Remarks       = string.Format("用户:{0},充值金额:{1}", context.RealName, request.Amount),
                    Status        = PayStatus.未支付.GetHashCode(),
                    Type          = FnEnum.RechargeType.充值.GetHashCode(),
                    CreatedDate   = DateTime.Now
                };

                if (RechargeApp.Instance.Insert(recharge) <= 0)
                {
                    response.Message = "创建订单失败、联系管理员!";
                    return(Json(response, JsonRequestBehavior.AllowGet));
                }
                response.Status = true;
                response.Data   = orderNo;
            }
            else if (request.PayWay.Equals(20))
            {
                lock (_lock)
                {
                    if (context.WalletAmount < request.Amount)
                    {
                        response.Message = "奖金余额不足!";
                        return(Json(response, JsonRequestBehavior.AllowGet));
                    }
                    if (CustomerApp.Instance.UpdateBonusRecharge(new CrCustomer()
                    {
                        SysNo = context.SysNo,
                        WalletAmount = request.Amount,
                        UpgradeFundAmount = request.Amount,
                        RechargeTotalAmount = request.Amount
                    }) <= 0)
                    {
                        response.Message = "奖金充值失败、联系管理员!";
                        return(Json(response, JsonRequestBehavior.AllowGet));
                    }
                    response.Status = true;
                }
            }
            else
            {
                response.Message = "参数错误!";
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
ファイル: MeController.cs プロジェクト: immi31415927/qiannian
        public JsonResult RenewSaveRecharge(SaveRechargeRequest request)
        {
            var response = new JResult <string>()
            {
                Status = false
            };

#if DEBUG
            request.Amount = new decimal(0.01);
#else
#endif
            request.Amount = new decimal(200);
            //当前上下文
            var context = CustomerContext.Context;
            if (context == null)
            {
                response.Message = "用户已超时、请重新登录﹗";
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            if (request.PayWay.Equals(10))
            {
                //支付订单编号
                var orderNo = Guid.NewGuid().ToString().Replace("-", "");

                var recharge = new FnRecharge()
                {
                    OrderNo       = orderNo,
                    CustomerSysNo = context.SysNo,
                    Amount        = request.Amount,
                    Remarks       = string.Format("用户:{0},续费充值金额:{1}", context.RealName, request.Amount),
                    Status        = PayStatus.未支付.GetHashCode(),
                    Type          = FnEnum.RechargeType.升级.GetHashCode(),
                    CreatedDate   = DateTime.Now
                };

                if (RechargeApp.Instance.Insert(recharge) <= 0)
                {
                    response.Message = "创建订单失败、联系管理员!";
                    return(Json(response, JsonRequestBehavior.AllowGet));
                }

                response.Status = true;
                response.Data   = orderNo;
            }
            else if (request.PayWay.Equals(20))
            {
                lock (_lock)
                {
                    using (var tran = new TransactionProvider())
                    {
                        try
                        {
                            if (context.WalletAmount < request.Amount)
                            {
                                response.Message = "奖金余额不足!";
                                return(Json(response, JsonRequestBehavior.AllowGet));
                            }
                            if (CustomerApp.Instance.UpdateWalletAmountRenew(new CrCustomer()
                            {
                                SysNo = context.SysNo,
                                WalletAmount = request.Amount
                            }) <= 0)
                            {
                                response.Message = "奖金充值失败、联系管理员!";
                                return(Json(response, JsonRequestBehavior.AllowGet));
                            }

                            if (context.Grade.Equals(CustomerEnum.Grade.普通会员.GetHashCode()))
                            {
                                if (CustomerApp.Instance.UpdateGrade(new CrCustomer()
                                {
                                    SysNo = context.SysNo,
                                    Grade = CustomerEnum.Grade.普通代理.GetHashCode()
                                }) <= 0)
                                {
                                    throw new Exception("更新等级失败!");
                                }
                            }
                            //如果过期时间为空则添加一年有效期
                            if (string.IsNullOrWhiteSpace(context.ExpiresTime))
                            {
                                context.ExpiresTime = DateTime.Now.AddYears(1).ToString("yyyy-MM-dd");
                                if (CustomerApp.Instance.UpdateExpiresTime(context) <= 0)
                                {
                                    throw new Exception("更新过期时间失败!");
                                }
                            }
                            else
                            {
                                context.ExpiresTime = Convert.ToDateTime(context.ExpiresTime).AddYears(1).ToString("yyyy-MM-dd");
                                if (CustomerApp.Instance.UpdateExpiresTime(context) <= 0)
                                {
                                    throw new Exception("更新过期时间失败!");
                                }
                            }
                            tran.Commit();
                            response.Status  = true;
                            response.Message = "续费成功!";
                        }
                        catch (Exception ex)
                        {
                            tran.Dispose();
                            response.Message = ex.Message;
                        }
                        finally
                        {
                            tran.Dispose();
                        }
                    }
                }
            }
            else
            {
                response.Message = "参数错误!";
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
ファイル: MeController.cs プロジェクト: immi31415927/qiannian
        public JsonResult UpgradeSaveRecharge(SaveRechargeRequest request)
        {
            var response = new JResult <string>()
            {
                Status = false
            };

            //当前上下文
            var context = CustomerContext.Context;

            if (context == null)
            {
                response.Message = "用户已超时、请重新登录﹗";
                return(Json(response, JsonRequestBehavior.AllowGet));
            }
            //获取会员
            var customer = CustomerApp.Instance.Get(context.SysNo);

            if (customer == null)
            {
                response.Message = "扩展会员不存在﹗";
                return(Json(response, JsonRequestBehavior.AllowGet));
            }

            var upgradeGrade = customer.Grade + Step.步长.GetHashCode();

            decimal PayAmount = 0;

            var code = CodeApp.Instance.GetByType(EC.Entity.Enum.CodeEnum.CodeTypeEnum.会员等级信息.GetHashCode());

            if (code != null)
            {
                var grades = code.Value.ToObject <List <Grade> >();

                var grade = grades.FirstOrDefault(p => p.Type == upgradeGrade);
                if (grade != null)
                {
                    if (customer.UpgradeFundAmount > grade.Amount)
                    {
                        ViewBag.PayAmount = 0.ToString("#0.00");
                    }
                    else
                    {
                        PayAmount = grade.Amount - customer.UpgradeFundAmount;
                    }
                }
            }


            //支付订单编号
            var orderNo = Guid.NewGuid().ToString().Replace("-", "");

            var recharge = new FnRecharge();

            if (context.Account.Equals("15008228718"))
            {
                recharge.OrderNo       = orderNo;
                recharge.CustomerSysNo = context.SysNo;
                recharge.Amount        = new decimal(0.01);
                recharge.Remarks       = string.Format("用户:{0},升级金额:{1}", context.RealName, new decimal(0.01));
                recharge.Status        = PayStatus.未支付.GetHashCode();
                recharge.Type          = FnEnum.RechargeType.升级.GetHashCode();
                recharge.CreatedDate   = DateTime.Now;
            }
            else
            {
                recharge.OrderNo       = orderNo;
                recharge.CustomerSysNo = context.SysNo;
                recharge.Amount        = PayAmount;
                recharge.Remarks       = string.Format("用户:{0},升级金额:{1}", context.RealName, PayAmount);
                recharge.Status        = PayStatus.未支付.GetHashCode();
                recharge.Type          = FnEnum.RechargeType.升级.GetHashCode();
                recharge.CreatedDate   = DateTime.Now;
            }

            if (RechargeApp.Instance.Insert(recharge) <= 0)
            {
                response.Message = "创建订单失败、联系管理员!";
                return(Json(response, JsonRequestBehavior.AllowGet));
            }
            response.Status = true;
            response.Data   = orderNo;
            return(Json(response, JsonRequestBehavior.AllowGet));
        }