Ejemplo n.º 1
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public void Update(Wuyiju.Model.DepositTakecash model)
        {
            StringBuilder sql = new StringBuilder();

            sql.Append("update ec_deposit_takecash set ");

            sql.Append(" user_id = @user_id , ");
            sql.Append(" user_name = @user_name , ");
            sql.Append(" bank_card_id = @bank_card_id , ");
            sql.Append(" money = @money , ");
            sql.Append(" add_time = @add_time , ");
            sql.Append(" status = @status , ");
            sql.Append(" sn = @sn , ");
            sql.Append(" pay_money = @pay_money , ");
            sql.Append(" remark = @remark , ");
            sql.Append(" pay_time = @pay_time  ");
            sql.Append(" where id=@id ");

            DynamicParameters param = new DynamicParameters();

            if (model != null)
            {
                param.AddDynamicParams(model);
            }

            var rows = db.Execute(sql, param);

            if (rows < 1)
            {
                throw new ApplicationException("更新数据无效");
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public void Add(Wuyiju.Model.DepositTakecash obj)
        {
            if (obj == null)
            {
                throw new ApplicationException("参数不能为空");
            }

            dao.Insert(obj);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 删除一条数据
        /// </summary>
        public void Remove(Wuyiju.Model.DepositTakecash obj)
        {
            if (obj == null)
            {
                throw new ApplicationException("参数不能为空");
            }

            var old = dao.Get(obj.Id);

            if (old == null)
            {
                throw new ApplicationException("非法操作记录不存在");
            }

            dao.Delete(obj.Id);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public void Insert(Wuyiju.Model.DepositTakecash model)
        {
            StringBuilder sql = new StringBuilder();

            sql.Append("insert into ec_deposit_takecash(");
            sql.Append("user_id,user_name,bank_card_id,money,add_time,status,sn,pay_money,remark,pay_time");
            sql.Append(") values (");
            sql.Append("@user_id,@user_name,@bank_card_id,@money,@add_time,@status,@sn,@pay_money,@remark,@pay_time");
            sql.Append(") ");

            DynamicParameters param = new DynamicParameters();

            if (model != null)
            {
                param.AddDynamicParams(model);
            }

            var rows = db.Execute(sql, param);

            if (rows < 1)
            {
                throw new ApplicationException("插入数据无效");
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 提现逻辑
        /// </summary>
        /// <param name="obj"></param>
        public void Takecash(Wuyiju.Model.DepositTakecash obj, string payPwd)
        {
            using (var db = new DataContext())
            {
                var cashSvr = unity.GetInstance <IDepositTakecashDAL>(db);
                var bankSvr = unity.GetInstance <IDepositBankCardDAL>(db);
                var userSvr = unity.GetInstance <IUserDAL>(db);

                var user = userSvr.Get(obj.User_Id);

                if (user == null)
                {
                    throw new ApplicationException("用户不存在");
                }

                if (obj.Money <= 0)
                {
                    throw new ApplicationException("提现的金额有误");
                }

                if (user.Money < 0.01m && (user.Money - obj.Money) < 0)
                {
                    throw new ApplicationException("没有足够的余额");
                }

                if (obj.Bank_Card_Id < 1)
                {
                    throw new ApplicationException("没有选择银行卡");
                }


                var card = bankSvr.Get(obj.Bank_Card_Id);

                if (card == null || (card != null && card.User_Id != obj.User_Id))
                {
                    throw new ApplicationException("错误的银行卡");
                }

                if (payPwd.IsNullOrWhiteSpace())
                {
                    throw new ApplicationException("未设置支付密码");
                }

                if (!payPwd.ToMD5().Equals(user.Pay_Password))
                {
                    throw new ApplicationException("支付密码错误");
                }

                var now = DateTime.Now;
                obj.Sn = string.Format("{0:yyMMdd}{1:d10}", now, cashSvr.GetMaxId() + 1);

                obj.Add_Time = now.ToUnixTimestamp();

                obj.Status = 0;

                try
                {
                    db.BeginTransaction();
                    cashSvr.Insert(obj);
                    user.Money         = user.Money - obj.Money;
                    user.Frozen_Money += obj.Money;
                    userSvr.Update(user);
                    db.Commit();
                }
                catch (Exception ex)
                {
                    db.Rollback();
                    Logger.GetLogger().Error("提现逻辑出现异常\n", ex);
                    throw ex;
                }
            }
        }