Ejemplo n.º 1
0
     public object GetDailyLoginGolds(int userId)
     {
         using (var dc = new DC())
         {
             var today          = DateTime.Now.Date;
             var isExists       = dc.user_login_bonuses.Any(r => r.bonus_typeId == 2 && r.create_time > today && r.userId == userId);
             var closeIfSuccess = dc.user_login_bonuses.Any(r => r.userId == userId && r.bonus_typeId == 1);
             if (isExists)
             {
                 return new ReturnMessage {
                            success = true, message = "今日已签到!", data = new { close = closeIfSuccess }
                 }
             }
             ;
             var bonusConfig = new UserBLL().GetDailyLoginBonusConfigs(userId).FirstOrDefault(r => r.IsActive);
             var golds       = bonusConfig.golds;
             var bonus       = new user_login_bonus
             {
                 userId       = userId,
                 bonus_typeId = 2,
                 create_time  = DateTime.Now,
                 golds        = golds,
                 remain_golds = golds
             };
             var user = dc.users.FirstOrDefault(r => r.userId == userId);
             user.golds += golds;
             var log = new user_golds_record
             {
                 userId       = userId,
                 amount       = user.golds,
                 changeAmount = golds,
                 recordTime   = DateTime.Now,
                 detail       = $"{bonusConfig.name}签到{golds.ToString("0.00")}金币"
             };
             dc.user_login_bonuses.Add(bonus);
             dc.user_golds_records.Add(log);
             dc.SaveChanges();
             var close = dc.user_login_bonuses.Count(r => r.userId == userId) >= 2;
             return(new ReturnMessage {
                 success = true, message = "签到成功!", data = new { close = closeIfSuccess }
             });
         }
     }
 }
Ejemplo n.º 2
0
        public object GetNewUserGolds(int userId)
        {
            using (var dc = new DC())
            {
                var isExists       = dc.user_login_bonuses.Any(r => r.bonus_typeId == 1 && r.userId == userId);
                var closeIfSuccess = dc.user_login_bonuses.Any(r => r.userId == userId && r.bonus_typeId == 2);
                if (isExists)
                {
                    return new ReturnMessage {
                               success = true, message = "新手礼包已领取!", data = new { close = closeIfSuccess }
                    }
                }
                ;

                var golds = 88;
                var bonus = new user_login_bonus
                {
                    userId       = userId,
                    bonus_typeId = 1,
                    create_time  = DateTime.Now,
                    golds        = golds,
                    remain_golds = 0
                };
                var user = dc.users.FirstOrDefault(r => r.userId == userId);
                user.golds += golds;
                var log = new user_golds_record
                {
                    userId       = userId,
                    amount       = user.golds,
                    changeAmount = golds,
                    recordTime   = DateTime.Now,
                    detail       = $"新手礼包{golds.ToString("0.00")}金币"
                };
                dc.user_login_bonuses.Add(bonus);
                dc.user_golds_records.Add(log);
                dc.SaveChanges();
                return(new ReturnMessage {
                    success = true, message = "领取成功!", data = new { close = closeIfSuccess }
                });
            }
        }