using System; using System.Collections.Generic; using System.Linq; using MySystem.PxcModels; namespace MySystem { public class Utils { public readonly static Utils Instance = new Utils(); private Utils() { } /// /// 操作收支明细 /// /// /// /// public void OpAccount(int UserId, decimal Money, int ChangeType, bool IsTotal = true) { WebCMSEntities db = new WebCMSEntities(); UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId); if (account == null) { account = db.UserAccount.Add(new UserAccount() { Id = UserId, UserId = UserId, }).Entity; db.SaveChanges(); } decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额 decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额 decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额 account.BalanceAmount += Money; if(IsTotal) { account.TotalAmount += Money; } decimal AfterTotalAmount = account.TotalAmount; //变更后总金额 decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额 decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额 UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord() { CreateDate = DateTime.Now, UpdateDate = DateTime.Now, UserId = UserId, //创客 ChangeType = ChangeType, //变动类型 ChangeAmount = Money, //变更金额 BeforeTotalAmount = BeforeTotalAmount, //变更前总金额 AfterTotalAmount = AfterTotalAmount, //变更后总金额 BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额 AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额 BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额 AfterBalanceAmount = AfterBalanceAmount, //变更后余额 }).Entity; db.SaveChanges(); db.Dispose(); } public void ToChargeAmount(int UserId, decimal Money) { WebCMSEntities db = new WebCMSEntities(); UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId); if (account == null) { account = db.UserAccount.Add(new UserAccount() { Id = UserId, UserId = UserId, }).Entity; db.SaveChanges(); } account.ToChargeAmount += Money; db.SaveChanges(); db.Dispose(); } /// /// 判断是否达标创客 /// /// /// public bool IsStandardUser(int UserId) { WebCMSEntities db = new WebCMSEntities(); int ActiveCount = db.PosMachinesTwo.Count(m => m.BuyUserId == UserId && m.ActivationState == 1); //判断是否拥有3台激活机(不限购买或赠送) int couponCount = db.PosCoupons.Count(m => m.UserId == UserId && m.IsUse == 0); //判断是否拥有3张券 // TODO:待确认条件 db.Dispose(); if(ActiveCount + couponCount >= 3) { return true; } return false; } /// /// 预设职级 /// /// /// public void LeaderPreUserLevel(int UserId, int UserLevel, DateTime ExpiredDate) { WebCMSEntities db = new WebCMSEntities(); UserRankWhite rank = db.UserRankWhite.FirstOrDefault(m => m.Id == UserId); if(rank == null) { rank = db.UserRankWhite.Add(new UserRankWhite() { CreateDate = DateTime.Now, //设置时间 UserId = UserId, //用户 Id = UserId, }).Entity; db.SaveChanges(); } rank.Rank = UserLevel; rank.UpdateDate = ExpiredDate; db.SaveChanges(); db.Dispose(); } } }