Пример #1
0
        /// <summary>
        /// 新增主播提现记录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int Insert(SysAnchorInfoEntity agentModel, SysAnchorWithdrawalRecordEntity model)
        {
            var result = 0;

            using (var db = GetInstance())
            {
                try
                {
                    db.Ado.BeginTran();
                    //更新主播余额
                    db.Updateable <SysAnchorInfoEntity>().SetColumns(it => new SysAnchorInfoEntity {
                        agentGold = agentModel.agentGold - model.WithdrawalAmount * 10
                    }).Where(it => it.aid == agentModel.aid).ExecuteCommand();
                    model.Status           = 3;
                    model.createTime       = DateTime.Now;
                    model.ModifiedTime     = DateTime.Now;
                    model.Remark           = model.Remark;
                    model.WithdrawalAmount = Math.Truncate(model.WithdrawalAmount * 100) / 100;
                    result = db.Insertable(model).ExecuteCommand();
                    db.Ado.CommitTran();
                }
                catch (Exception ex)
                {
                    db.Ado.RollbackTran();
                    new LogLogic().Write(Level.Error, "新增主播提现记录", ex.Message, ex.StackTrace);
                }
            }
            return(result);
        }
Пример #2
0
        /// <summary>
        /// 处理主播提现驳回  把钱返回
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int Reject(SysAnchorWithdrawalRecordEntity model, SysAnchorInfoEntity sysAnchorInfoModel)
        {
            var result = 0;

            using (var db = GetInstance())
            {
                try
                {
                    db.Ado.BeginTran();//事务
                    //更新主播余额
                    db.Updateable <SysAnchorInfoEntity>().SetColumns(it => new SysAnchorInfoEntity {
                        agentGold = sysAnchorInfoModel.agentGold + model.WithdrawalAmount * 10
                    }).Where(it => it.aid == sysAnchorInfoModel.aid).ExecuteCommand();
                    result = db.Updateable <SysAnchorWithdrawalRecordEntity>().SetColumns(it => new SysAnchorWithdrawalRecordEntity
                    {
                        Status       = 2,
                        Feedback     = model.Feedback,
                        ModifiedBy   = OperatorProvider.Instance.Current.Account,
                        ModifiedTime = DateTime.Now
                    }).Where(it => it.id == model.id).ExecuteCommand();
                    db.Ado.CommitTran();
                }
                catch (Exception ex)
                {
                    db.Ado.RollbackTran();
                    new LogLogic().Write(Level.Error, "处理主播提现驳回", ex.Message, ex.StackTrace);
                }
                return(result);
            }
        }
Пример #3
0
        public ActionResult Form(SysAnchorWithdrawalRecordEntity model)
        {
            var agentModel = new SysUserAnchorLogic().GetAnchorBalance(model.AnchorID);

            if (agentModel == null)
            {
                return(Error("主播不存在!"));
            }
            if (agentModel.agentGold / 10 < model.WithdrawalAmount)
            {
                return(Error("提现金额不可大于余额!可提现余额:" + agentModel.agentGold / 10));
            }
            int row = sysAnchorWithdrawalRecordLogic.Insert(agentModel, model);

            return(row > 0 ? Success() : Error());
        }
Пример #4
0
        public ActionResult Handle(SysAnchorWithdrawalRecordEntity model)
        {
            int row;
            var withModel = sysAnchorWithdrawalRecordLogic.Get(model.id);

            if (withModel.Status != 3)
            {
                return(Error("已经处理,不可重复处理!"));
            }
            var agentModel = new SysUserAnchorLogic().GetAnchorBalance(withModel.AnchorID);

            if (model.Status == 2)                                   //驳回
            {
                model.WithdrawalAmount = withModel.WithdrawalAmount; //返回提现金额
                row = sysAnchorWithdrawalRecordLogic.Reject(model, agentModel);
            }
            else//成功
            {
                row = sysAnchorWithdrawalRecordLogic.Update(model);
            }
            return(row > 0 ? Success() : Error());
        }
Пример #5
0
        /// <summary>
        /// 处理主播提现成功
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int Update(SysAnchorWithdrawalRecordEntity model)
        {
            int result = 0;

            using (var db = GetInstance())
            {
                try
                {
                    result = db.Updateable <SysAnchorWithdrawalRecordEntity>().SetColumns(it => new SysAnchorWithdrawalRecordEntity
                    {
                        Status       = 1,
                        Feedback     = model.Feedback,
                        ModifiedBy   = OperatorProvider.Instance.Current.Account,
                        ModifiedTime = DateTime.Now
                    }).Where(it => it.id == model.id).ExecuteCommand();
                }
                catch (Exception ex)
                {
                    new LogLogic().Write(Level.Error, "处理主播提现成功", ex.Message, ex.StackTrace);
                }
                return(result);
            }
        }
Пример #6
0
        public ActionResult GetForm(long primaryKey)
        {
            SysAnchorWithdrawalRecordEntity entity = sysAnchorWithdrawalRecordLogic.Get(primaryKey);

            return(Content(entity.ToJson()));
        }