/// <summary> /// 加入流水表 /// </summary> /// <param name="userId"></param> /// <param name="Amount"></param> /// <param name="journalTypeId"></param> /// <param name="currencyType"></param> /// <param name="balanceAmount"></param> /// <param name="remark"></param> /// <param name="type">1-加,0-减</param> /// <returns></returns> public async Task <bool> AddAsync(long userId, decimal Amount, int journalTypeId, int currencyType, decimal balanceAmount, string remark, int type) { using (MyDbContext dbc = new MyDbContext()) { JournalEntity journal = new JournalEntity(); if (type == 1)//1-加,0-减 { journal.InAmount = Amount; journal.OutAmount = 0; } else { journal.InAmount = 0; journal.OutAmount = Amount; } journal.JournalTypeId = journalTypeId; journal.CurrencyType = currencyType; journal.Remark = remark; journal.UserId = userId; journal.BalanceAmount = balanceAmount; dbc.Journals.Add(journal); await dbc.SaveChangesAsync(); return(true); } }
/// <summary> /// 插入一条记录 /// </summary> /// <param name="entity"></param> /// <returns></returns> public void Insert(JournalEntity entity) { if (string.IsNullOrEmpty(entity.iGuid)) { entity.iGuid = Guid.NewGuid().ToString(); } entity.iCreatedOn = DateTime.Now; entity.iUpdatedOn = DateTime.Now; entity.iIsDeleted = 0; entity.iStatus = 1; IDbSession session = SessionFactory.CreateSession(); try { session.BeginTrans(); Repository.Insert <JournalEntity>(session.Connection, entity, session.Transaction); session.Commit(); } catch (System.Exception) { session.Rollback(); throw; } finally { session.Dispose(); } }
public JournalDTO ToDTO(JournalEntity entity) { JournalDTO dto = new JournalDTO(); dto.Amount = entity.Amount; dto.CreateTime = entity.CreateTime; dto.Description = entity.Description; dto.Id = entity.Id; dto.InIntegral = entity.InIntegral; dto.Integral = entity.Integral; dto.IntegralTypeId = entity.IntegralTypeId; dto.JournalTypeId = entity.JournalTypeId; dto.JournalTypeName = entity.JournalType.Name; dto.OutIntegral = entity.OutIntegral; dto.Tip = entity.Tip; dto.FromPlatformUserId = entity.FormPlatformUserId; dto.FromPlatformUserMobile = entity.FormPlatformUser.Mobile; dto.ToPlatformUserId = entity.ToPlatformUserId; dto.ToPlatformUserMobile = entity.ToPlatformUser.Mobile; dto.IntegralTypeName = entity.IntegralType.Name; dto.ToIntegralTypeName = entity.ToIntegralType.Name; dto.Journal01 = entity.Journal01; dto.PlatformUserId = entity.PlatformUserId; dto.PlatformUserMobile = entity.PlatformUser.Mobile; dto.ToPlatformUserCode = entity.ToPlatformUser.Code; dto.FormPlatformUserCode = entity.FormPlatformUser.Code; return(dto); }
public bool Confirm(long id, string imgUrl) { using (MyDbContext dbc = new MyDbContext()) { CommonService <TakeCashEntity> cs = new CommonService <TakeCashEntity>(dbc); CommonService <TakeCashStateEntity> tcs = new CommonService <TakeCashStateEntity>(dbc); CommonService <HolderEntity> hcs = new CommonService <HolderEntity>(dbc); CommonService <JournalTypeEntity> jcs = new CommonService <JournalTypeEntity>(dbc); var takeCash = cs.GetAll().SingleOrDefault(t => t.Id == id); if (takeCash == null) { return(false); } var holder = hcs.GetAll().SingleOrDefault(h => h.Id == takeCash.HolderId); if (holder == null) { return(false); } takeCash.ImgUrl = imgUrl; takeCash.StateId = tcs.GetAll().SingleOrDefault(t => t.Name == "已完成").Id; holder.TakeBonus = holder.TakeBonus - takeCash.Amount; holder.HaveBonus = holder.HaveBonus + takeCash.Amount; JournalEntity journal = new JournalEntity(); journal.BalanceAmount = holder.TakeBonus; journal.HolderId = holder.Id; journal.OutAmount = takeCash.Amount; journal.Remark = "提现"; journal.JournalTypeId = jcs.GetAll().SingleOrDefault(j => j.Name == "takecash").Id; dbc.Journal.Add(journal); dbc.SaveChanges(); return(true); } }
/// <summary> /// 修改升级,扣款,加人流水表 /// </summary> /// <param name="user"></param> /// <returns></returns> public long Update_LeveID(int GetLoginID, int LeveID, decimal Amount) { using (MyDbContext dbc = new MyDbContext()) { MemberSearchResult result = new MemberSearchResult(); CommonService <UserEntity> cs = new CommonService <UserEntity>(dbc); //先查询有没有值。 var User = cs.GetById(GetLoginID); if (User == null) { //没有值就返回null result.MemberList = null; return(0); } User.LevelID = LeveID; User.Emoney = User.Emoney - Amount; User.RegMoney = User.RegMoney + Amount; JournalEntity journal = new JournalEntity(); journal.UserID = GetLoginID; journal.Remark = "会员升级"; journal.OutAmount = Amount; journal.BalanceAmount = User.Emoney; journal.JournalDate = DateTime.Now; journal.JournalType = 1; journal.Journal01 = GetLoginID; dbc.Journal.Add(journal); dbc.SaveChanges(); return(2); } }
/// <summary> /// 转账 /// </summary> /// <param name="UserID"></param> /// <param name="ToUserID"></param> /// <param name="Amount"></param> /// <param name="ChangeType"></param> /// <param name="remark"></param> /// <param name="remarken"></param> /// <param name="toremark"></param> /// <param name="toremarken"></param> /// <returns></returns> public long TransferMonbey(long UserID, long ToUserID, decimal Amount, long ChangeType, string remark, string remarken, string toremark, string toremarken) { using (MyDbContext dbcontext = new MyDbContext()) { CommonService <ChangeEntity> change = new CommonService <ChangeEntity>(dbcontext); CommonService <UserEntity> user = new CommonService <UserEntity>(dbcontext); CommonService <JournalEntity> journal = new CommonService <JournalEntity>(dbcontext); //转账表(insert) ChangeEntity entity = new ChangeEntity(); entity.UserID = UserID; entity.ToUserType = 0; entity.ToUserID = ToUserID; entity.Amount = Amount; entity.ChangeType = ChangeType; entity.ChangeDate = DateTime.Now; dbcontext.Change.Add(entity); //转账用户(update) UserEntity uentity = user.GetById(UserID); UserEntity touentity = user.GetById(ToUserID); if (ChangeType == 1) { uentity.BonusAccount -= Amount; touentity.BonusAccount += Amount; } //转出明细(insert) JournalEntity jentity = new JournalEntity(); jentity.UserID = UserID; jentity.InAmount = 0; if (ChangeType == 1) { jentity.OutAmount = Amount; jentity.BalanceAmount = uentity.BonusAccount; } jentity.JournalType = 1; jentity.Journal01 = ToUserID; jentity.Remark = remark; jentity.RemarkEn = remarken; dbcontext.Journal.Add(jentity); //转入明细(insert) JournalEntity tojentity = new JournalEntity(); tojentity.UserID = ToUserID; tojentity.OutAmount = 0; if (ChangeType == 1) { tojentity.InAmount = Amount; tojentity.BalanceAmount = uentity.BonusAccount; } tojentity.JournalType = 1; tojentity.Journal01 = UserID; tojentity.Remark = toremark; tojentity.RemarkEn = toremarken; dbcontext.Journal.Add(tojentity); int re = dbcontext.SaveChanges(); return(re); } }
internal bool TryAddPage(JournalEntity journalEntity, JournalPageEntity page, out Exception exception) { bool result = false; exception = null; try { // connecting to, or creating a brand new given journal's DB using (var db = GetInternalStorageContext(journalEntity)) { // inserting a page db.GetCollection <JournalPageEntity>("JournalPages").Insert(page); // adding references page.Journal = journalEntity; page.StorageContext = this; result = true; } } catch (Exception ex) { // setting our exception exception = ex; result = false; } return(result); }
public void AutoConfirm() { using (MyDbContext dbc = new MyDbContext()) { long stateId = dbc.GetId <IdNameEntity>(i => i.Name == "已完成"); string val = dbc.GetParameter <SettingEntity>(s => s.Name == "自动确认收货时间", s => s.Parm); double day; double.TryParse(val, out day); if (day == 0) { day = 7; } //Expression<Func<OrderEntity, bool>> timewhere = r => r.ConsignTime == null ? false : r.ConsignTime.Value.AddDays(Convert.ToDouble(val)) < DateTime.Now; //var orders = dbc.GetAll<OrderEntity>().Where(r => r.OrderState.Name == "已发货").Where(timewhere.Compile()).ToList(); var orders = dbc.GetAll <OrderEntity>().Where(r => r.OrderState.Name == "已发货").Where(r => SqlFunctions.DateAdd("day", day, r.ConsignTime) < DateTime.Now); long count = 0; foreach (OrderEntity order in orders) { order.EndTime = DateTime.Now; order.OrderStateId = stateId; count++; } log.Debug($"自动确认收货时间:{day},订单状态:{stateId},符合要求订单数量{count}"); dbc.SaveChanges(); val = dbc.GetParameter <SettingEntity>(s => s.Name == "不能退货时间", s => s.Parm); double.TryParse(val, out day); if (day == 0) { day = 3; } var orders1 = dbc.GetAll <OrderEntity>().Where(r => r.CloseTime == null).Where(r => r.OrderState.Name == "已完成" || r.OrderState.Name == "退货审核").Where(r => SqlFunctions.DateAdd("day", day, r.EndTime) < DateTime.Now); List <string> orderCodes = new List <string>(); foreach (OrderEntity order in orders1) { order.OrderStateId = stateId; order.CloseTime = DateTime.Now; orderCodes.Add(order.Code); } var journals = dbc.GetAll <JournalEntity>().AsNoTracking().Where(j => orderCodes.Contains(j.OrderCode) && j.JournalType.Name == "佣金收入" && j.IsEnabled == false); Dictionary <long, long> dicts = new Dictionary <long, long>(); foreach (JournalEntity journal in journals) { dicts.Add(journal.Id, journal.UserId); } foreach (var dict in dicts) { var user = dbc.GetAll <UserEntity>().SingleOrDefault(u => u.Id == dict.Value); JournalEntity journal = dbc.GetAll <JournalEntity>().SingleOrDefault(j => j.Id == dict.Key); user.Amount = user.Amount + journal.InAmount.Value; user.FrozenAmount = user.FrozenAmount - journal.InAmount.Value; user.BonusAmount = user.BonusAmount + journal.InAmount.Value; journal.BalanceAmount = user.Amount; journal.IsEnabled = true; } dbc.SaveChanges(); log.Debug($"service中执行自动收货,不能退货完成"); } }
public async Task <long> Confirm(long id, long adminId) { using (MyDbContext dbc = new MyDbContext()) { TakeCashEntity takeCash = await dbc.GetAll <TakeCashEntity>().SingleOrDefaultAsync(t => t.Id == id); if (takeCash == null) { return(-1); } UserEntity user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == takeCash.UserId); if (user == null) { return(-2); } if (takeCash.Amount > user.Amount) { return(-3); } user.Amount = user.Amount - takeCash.Amount; takeCash.StateId = (await dbc.GetAll <IdNameEntity>().SingleOrDefaultAsync(i => i.Name == "已结款")).Id; takeCash.AdminMobile = (await dbc.GetAll <AdminEntity>().SingleOrDefaultAsync(a => a.Id == adminId)).Mobile; JournalEntity journal = new JournalEntity(); journal.OutAmount = takeCash.Amount; journal.JournalTypeId = 1; journal.Remark = "余额提现"; journal.UserId = takeCash.UserId; journal.BalanceAmount = user.Amount; dbc.Journals.Add(journal); await dbc.SaveChangesAsync(); return(takeCash.Id); } }
public string JournalSaveChanges(string jsonString) { try { JsonSerializerSettings st = new JsonSerializerSettings(); st.DateTimeZoneHandling = DateTimeZoneHandling.Local; JournalEntity entity = JsonConvert.DeserializeObject <JournalEntity>(jsonString, st); JournalManager service = new JournalManager(); if (string.IsNullOrEmpty(entity.iGuid)) { entity.iCreatedBy = SessionHelper.CurrentUser.UserName; entity.iUpdatedBy = SessionHelper.CurrentUser.UserName; service.Insert(entity); } else { entity.iUpdatedBy = SessionHelper.CurrentUser.UserName; service.Update(entity); } return("success"); } catch (Exception e) { return(e.ToString()); } }
private async void LoadJournal(JournalEntity journalEntity) { this.CurrentJournal = journalEntity; // binding var pages = journalEntity.Pages; var leftPage = pages[1]; var rightPage = pages[2]; if (leftPage.InkLayer != null) { LoadInkStrokesFromInkLayer(leftPage.InkLayer, this.LeftInkCanvasView); } if (rightPage.InkLayer != null) { LoadInkStrokesFromInkLayer(rightPage.InkLayer, this.RightInkCanvasView); } //this.currentJournalBook.ItemsSource = journalEntity.Pages; //this.currentJournalBook.CurrentSheetIndex = journalEntity.LastOpenPage; // update current journal's metadata // UpdateCurrentJournalMetadata(journalEntity); //var page1 = this.CurrentJournal.Pages[0]; this.CurrentJournal.PropertyChanged += CurrentJournal_PropertyChanged; // this.book.ItemsSource = this.CurrentJournal.Pages; // this.LeftPageNumber = this.book.CurrentPage; // this.RightPageNumber = this.LeftPageNumber + 1; }
public JournalDTO ToDTO(JournalEntity journal) { JournalDTO jourDTO = new JournalDTO(); jourDTO.ID = journal.ID; jourDTO.UserID = journal.UserID; jourDTO.JournalType = journal.JournalType; jourDTO.InAmount = journal.InAmount; jourDTO.OutAmount = journal.OutAmount; jourDTO.BalanceAmount = journal.BalanceAmount; jourDTO.JournalDate = journal.JournalDate; jourDTO.Journal01 = journal.Journal01; jourDTO.Journal02 = journal.Journal02; jourDTO.Journal03 = journal.Journal03; jourDTO.Journal04 = journal.Journal04; jourDTO.Journal05 = journal.Journal05; jourDTO.Journal06 = journal.Journal06; jourDTO.Journal07 = journal.Journal07; jourDTO.UserCode = journal.Users.UserCode; jourDTO.TrueName = journal.Users.TrueName; jourDTO.CurrencyName = journal.Currencys.CurrencyName; jourDTO.CurrencyNameEn = journal.Currencys.CurrencyNameEn; return(jourDTO); }
private JournalEntity CreateJournalInternal(Guid id, string displayName, string hexColor) { #region Creating Journal var journal = new JournalEntity { Id = id, StorageContext = this, IsSoftDeleted = false, DateCreated = DateTime.UtcNow, DateUpdated = DateTime.UtcNow, FrontCoverSolidBrushHex = hexColor, FrontCoverSolidColorHex = hexColor, DisplayName = displayName, Width = 205, X = 350, Y = 490, ZoomLevel = 1 }; this.Journals.AddJournal(journal); #endregion // loading pages var pages = journal.Pages; #region Creating Front Cover & First Two Pages JournalPageEntity cover = new JournalPageEntity { Id = 1, DateCreated = DateTime.UtcNow, DateUpdated = DateTime.UtcNow, IsCoverPage = true }; journal.Pages.AddPage(cover); JournalPageEntity page1 = new JournalPageEntity { Id = 2, DateCreated = DateTime.UtcNow, DateUpdated = DateTime.UtcNow, IsCoverPage = false }; journal.Pages.AddPage(page1); JournalPageEntity page2 = new JournalPageEntity { Id = 3, DateCreated = DateTime.UtcNow, DateUpdated = DateTime.UtcNow, IsCoverPage = false }; journal.Pages.AddPage(page2); #endregion return(journal); }
public async Task <long> AddAsync(long buyerId, string buyerName, long courseId) { using (MyDbContext dbc = new MyDbContext()) { int res = await dbc.GetAll <CourseOrderEntity>().Where(c => c.CourseId == courseId && c.BuyerId == buyerId && c.OrderStateId != (int)CourseOrderStateEnum.已取消 && c.PayTypeId == 2).Select(c => c.OrderStateId).SingleOrDefaultAsync(); //订单已经存在且状态不是已取消 if (res > 0) { return(-1); } decimal amount = await dbc.GetAll <LinkEntity>().Where(l => l.Id == courseId).Select(l => l.link002).SingleOrDefaultAsync(); var user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == buyerId); if (user.Amount < amount) { return(-2); } user.Amount = user.Amount - amount; CourseOrderEntity entity = new CourseOrderEntity(); entity.Code = CommonHelper.GetRandom3(); entity.BuyerId = buyerId; entity.BuyerName = buyerName; entity.CourseId = courseId; entity.PayTypeId = 2; entity.OrderStateId = 2; entity.CourseName = await dbc.GetParameterAsync <LinkEntity>(l => l.Id == courseId, l => l.Name); entity.Amount = amount; entity.ImgUrl = ""; dbc.CourseOrders.Add(entity); JournalEntity journal = new JournalEntity(); journal.UserId = user.Id; journal.BalanceAmount = user.Amount; journal.OutAmount = amount; journal.Remark = "用户(" + user.Mobile + ")用碳积分购买课程"; journal.JournalTypeId = (int)JournalTypeEnum.购买课程; journal.OrderCode = entity.Code; journal.GoodsId = entity.CourseId;//来至订单ID journal.CurrencyType = (int)CurrencyEnums.碳积分; dbc.Journals.Add(journal); await dbc.SaveChangesAsync(); //积分购买课程发放奖励 //await IntegralBuyAsync(entity.Id); //积分购买课程升级 await IntegralBuyUpAsync(dbc, buyerId); //积分购买课程奖励 await IntegralBuyBonusAsync(dbc, entity.Id); return(entity.Id); } }
public async Task <long> ConfirmAsync(long id, bool auditState) { using (MyDbContext dbc = new MyDbContext()) { ForwardEntity forward = await dbc.GetAll <ForwardEntity>().Include(f => f.Task).SingleOrDefaultAsync(f => f.Id == id); if (forward == null) { return(-1); } if (forward.State.Name != "审核中") { return(-6);//不是审核中的任务不能通过审核或取消审核 } long stateId = await dbc.GetIdAsync <ForwardStateEntity>(f => f.Name == "未通过审核"); if (stateId <= 0) { return(-2); } if (auditState == false) { forward.StateId = stateId; await dbc.SaveChangesAsync(); return(forward.Id); } stateId = await dbc.GetIdAsync <ForwardStateEntity>(f => f.Name == "任务完成"); forward.StateId = stateId; UserEntity user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == forward.UserId); if (user == null) { return(-4); } decimal bonus = forward.Task.Bonus; user.Amount = user.Amount + bonus; user.BonusAmount = user.BonusAmount + bonus; long journalTypeId = await dbc.GetIdAsync <IdNameEntity>(f => f.Name == "任务转发"); if (journalTypeId <= 0) { return(-5); } JournalEntity journal = new JournalEntity(); journal.BalanceAmount = user.Amount; journal.ForwardId = forward.Id; journal.TaskId = forward.TaskId; journal.InAmount = bonus; journal.JournalTypeId = journalTypeId; journal.Remark = "任务转发获得佣金"; journal.UserId = user.Id; dbc.Journals.Add(journal); await dbc.SaveChangesAsync(); return(forward.Id); } }
public async Task <long> BalancePayAsync(long orderId) { using (MyDbContext dbc = new MyDbContext()) { OrderEntity order = await dbc.GetAll <OrderEntity>().SingleOrDefaultAsync(o => o.Id == orderId); if (order == null) { return(-1); } UserEntity user = await dbc.GetAll <UserEntity>().Where(u => u.IsNull == false).SingleOrDefaultAsync(u => u.Id == order.BuyerId); if (user == null) { return(-2); } if (order.Amount > user.Amount) { return(-4); } //更新库存、销量 UpdateGoodsInfo(dbc, order); int upLevelId = 1; user.Amount = user.Amount - order.Amount; order.PayTime = DateTime.Now; order.PayTypeId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "余额"); order.OrderStateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "待发货"); if (order.Deliver == "无需物流") { order.OrderStateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "已完成"); } JournalEntity journal = new JournalEntity(); journal.UserId = user.Id; journal.BalanceAmount = user.Amount; journal.OutAmount = order.Amount; journal.Remark = "购买商品"; journal.JournalTypeId = 1; journal.OrderCode = order.Code; journal.LevelId = upLevelId; dbc.Journals.Add(journal); int result = await dbc.SaveChangesAsync(); if (result > 0) { await CalcSroce(user.Id, order.Amount); // 累计业绩 } return(1); } }
public async Task AutoConfirmAsync() { using (MyDbContext dbc = new MyDbContext()) { long stateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "已完成"); string val = await dbc.GetParameterAsync <SettingEntity>(s => s.Name == "自动确认收货时间", s => s.Param); double day; double.TryParse(val, out day); if (day == 0) { day = 7; } var orders = dbc.GetAll <OrderEntity>().AsNoTracking().Where(r => r.OrderState.Name == "已发货").Where(r => SqlFunctions.DateAdd("day", day, r.ConsignTime) < DateTime.Now); foreach (OrderEntity order in orders) { order.EndTime = DateTime.Now; order.OrderStateId = stateId; } val = await dbc.GetParameterAsync <SettingEntity>(s => s.Name == "不能退货时间", s => s.Param); double.TryParse(val, out day); if (day == 0) { day = 3; } var orders1 = dbc.GetAll <OrderEntity>().Where(r => r.CloseTime == null).Where(r => r.OrderState.Name == "已完成" || r.OrderState.Name == "退货审核").Where(r => SqlFunctions.DateAdd("day", day, r.EndTime) < DateTime.Now); List <string> orderCodes = new List <string>(); foreach (OrderEntity order in orders1) { order.OrderStateId = stateId; order.CloseTime = DateTime.Now; orderCodes.Add(order.Code); } var journals = dbc.GetAll <JournalEntity>().AsNoTracking().Where(j => orderCodes.Contains(j.OrderCode) && j.JournalTypeId == 1 && j.IsEnabled == false); Dictionary <long, long> dicts = new Dictionary <long, long>(); foreach (JournalEntity journal in journals) { dicts.Add(journal.Id, journal.UserId); } foreach (var dict in dicts) { var user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == dict.Value); JournalEntity journal = await dbc.GetAll <JournalEntity>().SingleOrDefaultAsync(j => j.Id == dict.Key); user.Amount = user.Amount + journal.InAmount.Value; user.FrozenAmount = user.FrozenAmount - journal.InAmount.Value; user.BonusAmount = user.BonusAmount + journal.InAmount.Value; journal.BalanceAmount = user.Amount; journal.IsEnabled = true; } await dbc.SaveChangesAsync(); } }
/// <summary> /// 计算购物奖 /// </summary> /// <param name="orderId"></param> /// <param name="orderCode"></param> /// <param name="profit">支付积分部分</param> /// <param name="buyerId"></param> /// <returns></returns> public async Task <bool> CalcAwardBuy(long orderId, string orderCode, decimal profit, long buyerId) { if (profit <= 0) { return(true); } using (MyDbContext dbc = new MyDbContext()) { int journalTypeId = 1; decimal parm; decimal.TryParse(await dbc.GetParameterAsync <SettingEntity>(s => s.Name == "购物奖励", s => s.Param), out parm); var user = await dbc.GetAll <UserEntity>().Where(u => u.IsNull == false).SingleOrDefaultAsync(u => u.Id == buyerId); decimal bonus = profit * (parm / 100); user.FrozenAmount = user.FrozenAmount + bonus; BonusEntity entity = new BonusEntity(); entity.UserId = user.Id; entity.Amount = bonus; entity.Revenue = 0; entity.sf = bonus; entity.TypeID = 3; //购物奖励 entity.Source = "用户(" + user.Mobile + ")购买商品,获得购物奖励"; entity.FromUserID = user.Id; entity.IsSettled = 1; dbc.Bonus.Add(entity); JournalEntity journal1 = new JournalEntity(); journal1.UserId = user.Id; journal1.BalanceAmount = user.FrozenAmount; journal1.InAmount = bonus; journal1.Remark = "用户(" + user.Mobile + ")购买商品,获得购物奖励"; journal1.JournalTypeId = journalTypeId; journal1.OrderCode = orderCode; journal1.GoodsId = orderId;//来至订单ID journal1.CurrencyType = (int)CurrencyEnums.碳积分; dbc.Journals.Add(journal1); await dbc.SaveChangesAsync(); //累计业绩 int flag = await dbc.Database.ExecuteSqlCommandAsync("exec proc_Sroce @UserId = " + user.Id + ",@sroce = " + bonus); log.DebugFormat($"购物奖励 累计业绩 CalcAwardBuy:{flag},orderCode:{orderCode},buyerId:{buyerId}"); //极差奖 bool result = await CalcAwardLevelDiff(orderId, orderCode, bonus, buyerId); log.DebugFormat($"购物奖励 极差奖 CalcAwardLevelDiff:{result},orderCode:{orderCode},buyerId:{buyerId}"); //极差奖 平分 result = await CalcAwardLevelDiffMaxAvg(orderId, orderCode, bonus, buyerId, user.Mobile); log.DebugFormat($"购物奖励 极差奖 平分 CalcAwardLevelDiffMaxAvg:{result},orderCode:{orderCode},buyerId:{buyerId}"); return(true); } }
public JournalPartDTO ToPartDTO(JournalEntity entity) { JournalPartDTO dto = new JournalPartDTO(); dto.CreateTime = entity.CreateTime; dto.Id = entity.Id; dto.Remark = entity.Remark; dto.JournalTypeName = entity.JournalTypeId.GetEnumName <JournalTypeEnum>(); dto.Amount = entity.InAmount > 0 ? "+" + ((decimal)entity.InAmount) : (0 - (decimal)entity.OutAmount).ToString(); dto.BalanceAmount = entity.BalanceAmount; return(dto); }
public long AddNew(HolderSvcModel model) { using (MyDbContext dbc = new MyDbContext()) { CommonService <SettingsEntity> scs = new CommonService <SettingsEntity>(dbc); CommonService <StockItemEntity> cs = new CommonService <StockItemEntity>(dbc); CommonService <JournalTypeEntity> jcs = new CommonService <JournalTypeEntity>(dbc); CommonService <HolderEntity> hcs = new CommonService <HolderEntity>(dbc); if (hcs.GetAll().SingleOrDefault(h => h.Mobile == model.Mobile) != null) { return(-2); } StockItemEntity stockItem = cs.GetAll().Where(s => s.Id == model.StockItemId).SingleOrDefault(); long holderadd = jcs.GetAll().SingleOrDefault(j => j.Name == "holderadd").Id; if (stockItem == null) { return(-1); } var seting = scs.GetAll().SingleOrDefault(s => s.Name == "takecashtime"); HolderEntity entity = new HolderEntity(); entity.Amount = model.Amount; entity.BankAccount = model.BankAccount; entity.BankName = model.BankName; entity.Contact = model.Mobile; entity.IdNumber = model.IdNumber; entity.Mobile = model.Mobile; entity.Name = model.Name; entity.Gender = model.Gender; entity.Proportion = model.Amount / stockItem.TotalAmount; entity.TotalAssets = model.Amount; entity.Password = model.Password; entity.Copies = model.Copies; entity.TakeCashTime = entity.CreateTime.AddDays(Convert.ToDouble(seting.Value)); stockItem.HaveCopies = stockItem.HaveCopies - model.Copies; JournalEntity journal = new JournalEntity(); journal.BalanceAmount = entity.TotalAssets; journal.InAmount = entity.Amount; journal.JournalTypeId = holderadd; journal.Remark = "后台添加股东"; dbc.Holder.Add(entity); dbc.Journal.Add(journal); dbc.SaveChanges(); return(entity.Id); } }
public async Task <long> AddAsync(long userId, long payTypeId, decimal amount, string descripton, string partner_trade_no, string payment_no, DateTime payment_time) { using (MyDbContext dbc = new MyDbContext()) { UserEntity user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == userId); if (user == null) { return(-1); } if (user.Amount < amount) { return(-2); } //if(user.Level.Name=="普通会员") //{ // return -4; //} TakeCashEntity entity = new TakeCashEntity(); entity.UserId = userId; entity.PayTypeId = payTypeId; var stateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "已结款"); if (stateId == 0) { return(-3); } entity.StateId = stateId; entity.Amount = amount; entity.Description = descripton; entity.partner_trade_no = partner_trade_no; entity.payment_no = payment_no; entity.payment_time = payment_time; dbc.TakeCashes.Add(entity); user.Amount -= amount; JournalEntity journal = new JournalEntity(); journal.OutAmount = amount; journal.JournalTypeId = 1; journal.Remark = "余额提现"; journal.UserId = userId; journal.BalanceAmount = user.Amount; journal.OrderCode = payment_no; dbc.Journals.Add(journal); await dbc.SaveChangesAsync(); return(entity.Id); } }
internal List <JournalPageEntity> LoadPages(JournalEntity journalEntity) { List <JournalPageEntity> pages = new List <JournalPageEntity>(); // connecting to, or creating a brand new given journal's DB using (var db = GetInternalStorageContext(journalEntity)) { // obtaining pages pages = db.GetCollection <JournalPageEntity>("JournalPages").FindAll().ToList(); } // returning our pages return(pages); }
public async Task <long> UpdateDeliverStateAsync(long id, string deliver, string deliverName, string deliverCode) { using (MyDbContext dbc = new MyDbContext()) { OrderEntity entity = await dbc.GetAll <OrderEntity>().SingleOrDefaultAsync(g => g.Id == id); if (entity == null) { return(-1); } if (entity.OrderState.Name == "退单中" || entity.OrderState.Name == "退单完成") { return(-2); } if (deliver == "无需物流") { entity.OrderStateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "已完成"); entity.EndTime = DateTime.Now; } else { entity.OrderStateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "已发货"); } entity.Deliver = deliver; entity.DeliverName = deliverName; entity.DeliverCode = deliverCode; entity.ConsignTime = DateTime.Now; UserEntity user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == entity.BuyerId); if (user == null) { return(-3); } JournalEntity journal = await dbc.GetAll <JournalEntity>().SingleOrDefaultAsync(j => j.UserId == user.Id && j.OrderCode == entity.Code && j.JournalTypeId == 1); if (journal == null) { return(-4); } if (journal.LevelId > user.LevelId) { user.LevelId = journal.LevelId; } await dbc.SaveChangesAsync(); return(1); } }
public async Task <long> AddAsync(long userId, decimal amount) { using (MyDbContext dbc = new MyDbContext()) { UserEntity user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == userId); if (user == null) { return(-1); } if (user.BonusAmount < amount) { return(-2); } TransferEntity entity = new TransferEntity(); entity.UserId = userId; entity.ChangeType = 1; entity.Amount = amount; dbc.Transfer.Add(entity); user.BonusAmount -= amount; user.Amount += amount; int JournalTypeId = 1; JournalEntity journal = new JournalEntity(); journal.OutAmount = amount; journal.InAmount = 0; journal.JournalTypeId = JournalTypeId; journal.Remark = "A积分转换B积分"; journal.UserId = userId; journal.CurrencyType = 1; journal.BalanceAmount = user.BonusAmount; dbc.Journals.Add(journal); JournalEntity journalInfo = new JournalEntity(); journalInfo.OutAmount = 0; journalInfo.InAmount = amount; journalInfo.JournalTypeId = JournalTypeId; journalInfo.Remark = "A积分转换B积分"; journalInfo.UserId = userId; journalInfo.CurrencyType = 2; journalInfo.BalanceAmount = user.Amount; dbc.Journals.Add(journalInfo); await dbc.SaveChangesAsync(); return(entity.Id); } }
public async Task <long> AddAsync(long userId, long payTypeId, decimal amount, string descripton) { using (MyDbContext dbc = new MyDbContext()) { UserEntity user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == userId); if (user == null) { return(-1); } if (user.Amount < amount) { return(-2); } if (string.IsNullOrEmpty(user.Mobile)) { return(-4); } TakeCashEntity takeCash = new TakeCashEntity(); takeCash.UserId = userId; takeCash.TypeId = payTypeId; var stateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "未结款"); if (stateId == 0) { return(-3); } takeCash.StateId = stateId; takeCash.Amount = amount; takeCash.Description = descripton; dbc.TakeCashes.Add(takeCash); await dbc.SaveChangesAsync(); user.Amount = user.Amount - takeCash.Amount; JournalEntity journal = new JournalEntity(); journal.OutAmount = takeCash.Amount; journal.JournalTypeId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "余额提现中"); journal.Remark = "余额提现"; journal.UserId = takeCash.UserId; journal.BalanceAmount = user.Amount; journal.Journal01 = takeCash.Id; dbc.Journals.Add(journal); await dbc.SaveChangesAsync(); return(takeCash.Id); } }
private LiteDatabase GetInternalStorageContext(JournalEntity journalEntity) { if (this.Journals.Where(j => j.Id == journalEntity.Id).Count() == 0) { throw new Exception("Journal with a given Id doesn't exist"); } var journalDirectoryPath = System.IO.Path.Combine(courierShellDataPath, journalEntity.Id.ToString()); var journalDirectory = System.IO.Directory.CreateDirectory(journalDirectoryPath); // journal db var journalDb = System.IO.Path.Combine(journalDirectoryPath, "journal.db"); return(new LiteDatabase(journalDb)); }
public Journal GetJournalById(int Id) { Journal result = null; using (DataContext) { JournalEntity entity = DataContext.Journals.SingleOrDefault(j => j.Id == Id); if (entity != null) { result = Mapper.Map <Journal>(entity); } } return(result); }
public bool Average(decimal Amount) { using (MyDbContext dbc = new MyDbContext()) { CommonService <HolderEntity> cs = new CommonService <HolderEntity>(dbc); CommonService <JournalTypeEntity> jcs = new CommonService <JournalTypeEntity>(dbc); long average = jcs.GetAll().SingleOrDefault(j => j.Name == "average").Id; var holders = cs.GetAll(); if (holders.LongCount() <= 0) { return(false); } //foreach (var holder in holders) //{ // holder.TotalBonus = holder.TotalBonus + Amount * holder.Proportion; // holder.TotalAssets = holder.Amount + holder.TotalBonus - holder.HaveBonus; // holder.TakeBonus = holder.TotalBonus - holder.HaveBonus; // holder.Point = true; // JournalEntity journal = new JournalEntity(); // journal.HolderId = holder.Id; // journal.BalanceAmount = holder.TotalAssets; // journal.InAmount = Amount * holder.Proportion; // journal.JournalTypeId = average; // journal.Remark = "获得平均分红"; // dbc.Journal.Add(journal); //} holders.ForEachAsync(holder => { holder.TotalBonus = holder.TotalBonus + Amount * holder.Proportion; holder.TotalAssets = holder.Amount + holder.TotalBonus - holder.HaveBonus; holder.TakeBonus = holder.TotalBonus - holder.HaveBonus; holder.Point = true; JournalEntity journal = new JournalEntity(); journal.HolderId = holder.Id; journal.BalanceAmount = holder.TotalAssets; journal.InAmount = Amount * holder.Proportion; journal.JournalTypeId = average; journal.Remark = "获得平均分红"; dbc.Journal.Add(journal); }); dbc.SaveChanges(); return(true); } }
public async Task <long> Confirm(long id, long adminId, bool isSuccess) { using (MyDbContext dbc = new MyDbContext()) { TakeCashEntity takeCash = await dbc.GetAll <TakeCashEntity>().SingleOrDefaultAsync(t => t.Id == id); if (takeCash == null) { return(-1); } UserEntity user = await dbc.GetAll <UserEntity>().SingleOrDefaultAsync(u => u.Id == takeCash.UserId); if (user == null) { return(-2); } if (isSuccess == false) { takeCash.StateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "已取消"); takeCash.AdminMobile = await dbc.GetParameterAsync <AdminEntity>(a => a.Id == adminId, a => a.Mobile); JournalEntity journal = await dbc.GetAll <JournalEntity>().SingleOrDefaultAsync(j => j.Journal01 == takeCash.Id && j.JournalType.Name == "余额提现中"); user.Amount = user.Amount + journal.OutAmount.Value; await dbc.SaveChangesAsync(); return(-4); } else { takeCash.StateId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "已结款"); takeCash.AdminMobile = await dbc.GetParameterAsync <AdminEntity>(a => a.Id == adminId, a => a.Mobile); JournalEntity journal = await dbc.GetAll <JournalEntity>().SingleOrDefaultAsync(j => j.Journal01 == takeCash.Id && j.JournalType.Name == "余额提现中"); journal.JournalTypeId = await dbc.GetIdAsync <IdNameEntity>(i => i.Name == "余额提现"); user.TakeCashAmount = user.TakeCashAmount + journal.OutAmount.Value; await dbc.SaveChangesAsync(); return(takeCash.Id); } } }
public async Task <bool> ActivateAllAsync(long[] ids) { using (MyDbContext dbc = new MyDbContext()) { //批量激活会员 foreach (var id in ids) { UserEntity entity = await dbc.GetAll <UserEntity>().Where(u => u.IsNull == false).SingleOrDefaultAsync(u => u.Id == id); if (entity == null) { return(false); } decimal givingAmount = await dbc.GetDecimalParamAsync("激活赠送积分数量"); entity.IsUpgraded = true; entity.Amount = entity.Amount + givingAmount; BonusEntity bonus = new BonusEntity(); bonus.UserId = entity.Id; bonus.Amount = givingAmount; bonus.Revenue = 0; bonus.sf = givingAmount; bonus.TypeID = 1; //购买课程奖励 bonus.Source = "用户(" + entity.Mobile + ")后台激活成功,获赠碳积分"; bonus.FromUserID = entity.Id; bonus.IsSettled = 1; dbc.Bonus.Add(bonus); JournalEntity journal = new JournalEntity(); journal.UserId = entity.Id; journal.BalanceAmount = entity.Amount; journal.InAmount = givingAmount; journal.Remark = "用户(" + entity.Mobile + ")后台激活成功,获赠碳积分"; journal.JournalTypeId = (int)JournalTypeEnum.会员激活; journal.OrderCode = ""; journal.GoodsId = 0;//来至订单ID journal.CurrencyType = (int)CurrencyEnums.碳积分; dbc.Journals.Add(journal); } await dbc.SaveChangesAsync(); return(true); } }