Ejemplo n.º 1
0
        /// <summary>
        /// 更新一条记录
        /// </summary>
        /// <param name="clienterBalanceRecord">参数实体</param>
        public void Update(ClienterBalanceRecord clienterBalanceRecord)
        {
            const string  updateSql    = @"
update  ClienterBalanceRecord
set  Amount=@Amount,Status=@Status,Balance=@Balance,RecordType=@RecordType,Operator=@Operator,OperateTime=@OperateTime,RelationNo=@RelationNo,Remark=@Remark
where  Id=@Id ";
            IDbParameters dbParameters = DbHelper.CreateDbParameters();

            dbParameters.AddWithValue("Amount", clienterBalanceRecord.Amount);
            dbParameters.AddWithValue("Status", clienterBalanceRecord.Status);
            dbParameters.AddWithValue("Balance", clienterBalanceRecord.Balance);
            dbParameters.AddWithValue("RecordType", clienterBalanceRecord.RecordType);
            dbParameters.AddWithValue("Operator", clienterBalanceRecord.Operator);
            dbParameters.AddWithValue("OperateTime", clienterBalanceRecord.OperateTime);
            dbParameters.AddWithValue("RelationNo", clienterBalanceRecord.RelationNo);
            dbParameters.AddWithValue("Remark", clienterBalanceRecord.Remark);
            DbHelper.ExecuteNonQuery(SuperMan_Write, updateSql, dbParameters);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 根据ID获取对象
        /// </summary>
        /// <param name="id">id</param>
        /// <returns></returns>
        public ClienterBalanceRecord GetById(long id)
        {
            ClienterBalanceRecord model        = new ClienterBalanceRecord();
            const string          querysql     = @"
select  Id,ClienterId,Amount,Status,Balance,RecordType,Operator,OperateTime,RelationNo,Remark
from  ClienterBalanceRecord (nolock)
where  Id=@Id ";
            IDbParameters         dbParameters = DbHelper.CreateDbParameters();

            dbParameters.AddWithValue("Id", id);

            DataTable dt = DataTableHelper.GetTable(DbHelper.ExecuteDataset(SuperMan_Read, querysql, dbParameters));

            if (DataTableHelper.CheckDt(dt))
            {
                model = DataTableHelper.ConvertDataTableList <ClienterBalanceRecord>(dt)[0];
            }
            return(model);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 增加一条记录
        /// </summary>
        /// <param name="clienterBalanceRecord">参数实体</param>
        /// <returns></returns>
        public long Insert(ClienterBalanceRecord clienterBalanceRecord)
        {
            const string  insertSql    = @"
insert into ClienterBalanceRecord
(ClienterId,Amount,Status,Balance,RecordType,Operator,WithwardId,RelationNo,Remark)
select @ClienterId,@Amount,@Status,c.AccountBalance,@RecordType,@Operator,@WithwardId,@RelationNo,@Remark 
from dbo.clienter as c where Id=@ClienterId
select @@IDENTITY";
            IDbParameters dbParameters = DbHelper.CreateDbParameters();

            dbParameters.AddWithValue("ClienterId", clienterBalanceRecord.ClienterId); //骑士id
            dbParameters.AddWithValue("Amount", clienterBalanceRecord.Amount);         //流水金额
            dbParameters.AddWithValue("Status", clienterBalanceRecord.Status);         //流水状态(1、交易成功 2、交易中)
            dbParameters.AddWithValue("RecordType", clienterBalanceRecord.RecordType); //交易类型(1佣金 2奖励 3提现 4取消订单赔偿 5无效订单扣款)
            dbParameters.AddWithValue("Operator", clienterBalanceRecord.Operator);     //操作人
            dbParameters.AddWithValue("WithwardId", clienterBalanceRecord.WithwardId); //关联ID
            dbParameters.AddWithValue("RelationNo", clienterBalanceRecord.RelationNo); //关联单号
            dbParameters.AddWithValue("Remark", clienterBalanceRecord.Remark);         //描述
            object result = DbHelper.ExecuteScalar(SuperMan_Write, insertSql, dbParameters);

            return(ParseHelper.ToLong(result));
        }
        /// <summary>
        /// 提现
        /// 窦海超
        /// 2015年3月23日 12:54:43
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool AddWtihdrawRecords(Model.ParameterModel.WtihdrawRecords.WithdrawRecordsModel model)
        {
            using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
            {
                WtihdrawRecordsDao withDao     = new WtihdrawRecordsDao();
                ClienterDao        clienterDao = new ClienterDao();
                bool checkBalance = clienterDao.UpdateClienterAccountBalance(model);
                if (!checkBalance)//如果余额不正确,返回错误
                {
                    return(false);
                }
                var     cliterModel = clienterDao.GetUserInfoByUserId(model.UserId); //获取当前用户余额
                decimal balance     = ParseHelper.ToDecimal(cliterModel.AccountBalance, 0);
                model.Balance = balance;                                             //最新余额
                bool checkAddwith = withDao.AddWtihdrawRecords(model);               //新增提现记录
                //流水改到
                ClienterBalanceRecord cbrm = new ClienterBalanceRecord()
                {
                    ClienterId = model.UserId,
                    Amount     = Convert.ToDecimal(model.Amount),
                    Status     = ClienterBalanceRecordStatus.Success.GetHashCode(),
                    Balance    = balance - Convert.ToDecimal(model.Amount), //最新余额 - 提现金额
                    RecordType = ClienterBalanceRecordRecordType.WithdrawApply.GetHashCode(),
                    Operator   = cliterModel.TrueName,
                    RelationNo = "", //提现的时候没有关联单号吧
                    Remark     = "骑士提现"
                };

                long iResult = clienterBalanceRecordDao.Insert(cbrm);
                // bool checkAddrecords = withDao.AddRecords(model);//新增提现流水记录
                if (!checkAddwith || iResult <= 0)
                {
                    return(false);
                }
                tran.Complete();
            }
            return(true);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 跨店补贴
        /// 徐鹏程
        /// 20150414
        /// </summary>
        public bool CrossShop(List <GlobalConfigSubsidies> SubsidiesList)
        {
            IList <GrabOrderModel> list = subsidyDao.GetBusinessCount();
            WtihdrawRecordsDao     withdrawRecordsDao = new WtihdrawRecordsDao();
            ClienterDao            clienterDao        = new ClienterDao();

            int    MaxSubsidiesShop  = SubsidiesList.Max(t => ParseHelper.ToInt(t.Value1));                                                                //最大数量
            double MaxSubsidiesPrice = ParseHelper.ToDouble(SubsidiesList.Where(t => ParseHelper.ToInt(t.Value1) == MaxSubsidiesShop).ToList()[0].Value2); //最大金额

            foreach (GrabOrderModel item in list)
            {
                //Ets.Model.DomainModel.Clienter.ClienterModel cliterModel = new ClienterDao().GetUserInfoByUserId(item.ClienterId);//获取当前用户余额
                WithdrawRecordsModel withdraw = new WithdrawRecordsModel();
                #region 写流水
                withdraw.Platform = 1;
                withdraw.AdminId  = 0;
                withdraw.UserId   = item.ClienterId;
                int businessCount = item.BusinessCount;
                //var findSubsidie = SubsidiesList.OrderByDescending(t => ParseHelper.ToInt(t.Value1)).ToList().Where(t => ParseHelper.ToInt(t.Value1) >= businessCount).First();
                //double businessPrice = findSubsidie == null ? 0 : ParseHelper.ToDouble(findSubsidie.Value2);

                //ParseHelper.ToDouble(SubsidiesList.Select(t => ParseHelper.ToInt(t.Value1) == businessCount));
                double businessPrice = 0;
                if (businessCount > MaxSubsidiesShop)
                {
                    businessPrice = MaxSubsidiesPrice;
                }
                else
                {
                    var tmpPrice = SubsidiesList.Where(t => ParseHelper.ToInt(t.Value1) == businessCount).ToList();
                    if (tmpPrice == null || tmpPrice.Count <= 0)
                    {
                        continue;
                    }
                    businessPrice = ParseHelper.ToDouble(tmpPrice[0].Value2);//当前金额
                }

                withdraw.Amount  = ParseHelper.ToDecimal(businessPrice, 0);
                withdraw.Balance = ParseHelper.ToDecimal(item.AccountBalance, 0) + withdraw.Amount;
                withdraw.Remark  = string.Format("跨店抢单奖励{0}元", withdraw.Amount);

                //记录跨店日志
                CrossShopModel crossShopModel = new CrossShopModel()
                {
                    Amount        = withdraw.Amount,
                    BusinessCount = businessCount,
                    ClienterId    = withdraw.UserId,
                    Platform      = 2,
                    Remark        = withdraw.Remark,
                    InsertTime    = DateTime.Now
                };
                #endregion

                ClienterBalanceRecord cbrm = new ClienterBalanceRecord()
                {
                    ClienterId = withdraw.UserId,
                    Amount     = withdraw.Amount,                    //奖励的金额
                    Status     = ClienterBalanceRecordStatus.Success.GetHashCode(),
                    Balance    = withdraw.Balance + withdraw.Amount, //奖励后的金额
                    RecordType = ClienterBalanceRecordRecordType.SystemReward.GetHashCode(),
                    Operator   = "系统服务",
                    RelationNo = "",
                    Remark     = "跨店骑士奖励"
                };

                using (IUnitOfWork tran = EdsUtilOfWorkFactory.GetUnitOfWorkOfEDS())
                {
                    //修改records表增加记录作废,改为 新表ClienterBalanceRecord
                    // withdrawRecordsDao.AddRecords(withdraw);
                    clienterBalanceRecordDao.Insert(cbrm);
                    clienterDao.UpdateAccountBalanceAndWithdraw(withdraw);//更改用户金额
                    subsidyDao.InsertCrossShopLog(crossShopModel);
                    tran.Complete();
                }
            }
            return(true);
        }
 /// <summary>
 /// 修改一条记录
 ///<param name="clienterBalanceRecord">要修改的对象</param>
 /// </summary>
 public void Modify(ClienterBalanceRecord clienterBalanceRecord)
 {
     _clienterBalanceRecordDao.Update(clienterBalanceRecord);
 }
 /// <summary>
 /// 新增一条记录
 ///<param name="clienterBalanceRecord">要新增的对象</param>
 /// </summary>
 public long Create(ClienterBalanceRecord clienterBalanceRecord)
 {
     return(_clienterBalanceRecordDao.Insert(clienterBalanceRecord));
 }