//玩家完成一局游戏 增加每日抽奖的次数
        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);
                }
            }
        }
Example #2
0
        public static FreeDrawLottery Create(long userId)
        {
            FreeDrawLottery freeDrawLottery = ComponentFactory.Create <FreeDrawLottery>();

            freeDrawLottery.UserId = userId;
            freeDrawLottery.Count  = 1;
            freeDrawLottery.UpAddFreeDrawLotteryTime = TimeTool.GetCurrenTimeStamp();
            return(freeDrawLottery);
        }