/// <summary> /// 写入跨店奖励日志 /// /// </summary> /// <param name="model"></param> /// <returns></returns> public bool InsertCrossShopLog(CrossShopModel model) { string sql = @"INSERT INTO CrossShopLog (ClienterId ,Amount ,BusinessCount ,[Platform] ,Remark ,InsertTime) VALUES (@ClienterId ,@Amount ,@BusinessCount ,@Platform ,@Remark ,@InsertTime)"; IDbParameters parm = DbHelper.CreateDbParameters(); parm.AddWithValue("@ClienterId", model.ClienterId); parm.AddWithValue("@Amount", model.Amount); parm.AddWithValue("@BusinessCount", model.BusinessCount); parm.AddWithValue("@Platform", model.Platform); parm.AddWithValue("@Remark", model.Remark); parm.AddWithValue("@InsertTime", model.InsertTime); return(DbHelper.ExecuteNonQuery(SuperMan_Write, sql, parm) > 0 ? true : false); }
/// <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); }