//玩家完成一局游戏 增加每日抽奖的次数 public static async void FinishTaskAddLotteryCount(this TurntableComponent turntableComponent, IList <long> userIds) { //如果本来有免费 抽奖次数信息 就直接加次数 List <FreeDrawLottery> freeDrawInfos = await turntableComponent.dbProxyComponent.Query <FreeDrawLottery>((free) => userIds.Contains(free.UserId)); for (int i = 0; i < freeDrawInfos.Count; i++) { if (!TimeTool.TimeStampIsToday(freeDrawInfos[i].UpAddFreeDrawLotteryTime)) { freeDrawInfos[i].Count++; } } await turntableComponent.dbProxyComponent.Save(freeDrawInfos); if (userIds.Count == freeDrawInfos.Count) { return; } //如果有的玩家之前没有记录 就创建 免费抽奖信息 for (int i = 0; i < userIds.Count; i++) { if (freeDrawInfos.UserIdIsExist(userIds[i])) { } else { FreeDrawLottery freeDrawLottery = FreeDrawLotteryFactory.Create(userIds[0]); await turntableComponent.dbProxyComponent.Save(freeDrawLottery); } } }
public static FreeDrawLottery Create(long userId) { FreeDrawLottery freeDrawLottery = ComponentFactory.Create <FreeDrawLottery>(); freeDrawLottery.UserId = userId; freeDrawLottery.Count = 1; freeDrawLottery.UpAddFreeDrawLotteryTime = TimeTool.GetCurrenTimeStamp(); return(freeDrawLottery); }