public IntegralActionResultDto DailySignIn(Guid uid) { string res = string.Empty; using (var db = base.NewDB()) { var dbitem = db.Users.FirstOrDefault(t => t.IsValid == true && t.AuthID == uid); if (dbitem == null) { throw new Exception("用户异常"); } var bus = new IntegralBus(db); var data = bus.IntegralProcess(dbitem.UserIntegral, "每日签到", null); db.SaveChanges(); var integraldto = new IntegralActionResultDto { message = bus.Message, detail = new IntegralChangeDto { points = data.Points, totalpoints = data.UserIntegral.TotalPoints, currentpoints = data.UserIntegral.CurrentPoints } }; return(integraldto); } }
public UserDto GetUser(dynamic wxuser) { if (((IDictionary <string, object>)wxuser).ContainsKey("openid") && !string.IsNullOrEmpty(wxuser.openid)) { using (var db = base.NewDB()) { string openid = wxuser.openid; var dbitem = db.UserAuths.FirstOrDefault(t => t.IdentityType == "wx" && t.Identifier == openid); if (dbitem == null) { User user = new User(); user = db.Users.Add(user); //db.SaveChanges(); UserProfile userpf = new UserProfile { ID = user.ID, NickName = wxuser.userinfo["nickName"].ToString(), AvatarUrl = wxuser.userinfo["avatarUrl"].ToString() }; db.UserProfiles.Add(userpf); //db.SaveChanges(); UserAuth ua = new UserAuth { IdentityType = "wx", Identifier = openid, User = user }; db.UserAuths.Add(ua); Agent agent = new Agent { User = user }; db.Agents.Add(agent); UserIntegral ui = new UserIntegral { User = user }; db.UserIntegrals.Add(ui); UserAccount uc = new UserAccount { User = user }; db.UserAccounts.Add(uc); db.SaveChanges(); try { if (!string.IsNullOrEmpty(wxuser.sharecode)) { Guid authid = ConvertHelper.StrToGuid(wxuser.sharecode, default(Guid)); if (ShareRewardType == 2) { var useracc = db.UserAccounts.FirstOrDefault(t => t.User.AuthID == authid); var bus = new AccountBus(db); bus.ShareReward(useracc, user); } else { var shareui = db.UserIntegrals.FirstOrDefault(t => t.User.AuthID == authid); if (shareui != null) { var bus = new IntegralBus(db); bus.IntegralProcess(shareui, "分享有礼", user); //分享直接成为上级 var shareagent = shareui.User.Agent; if (shareagent.IsValid ?? false) { agent.ParentAgent = shareui.User.Agent; } } } } } catch (Exception ex) { } db.SaveChanges(); dbitem = db.UserAuths.FirstOrDefault(t => t.IdentityType == "wx" && t.Identifier == openid); } dbitem.LastActiveTime = DateTime.Now; db.SaveChanges(); //dbitem = db.UserAuths.FirstOrDefault(t => t.IdentityType == "wx" && t.Identifier == openid); UserDto userdto = new UserDto { //id = dbitem.User.ID, authid = dbitem.User.AuthID, //agentcode = dbitem.User.UserProfile.AgentCode, //agentcode = dbitem.User.Agent.Code, //isagentvalid = dbitem.User.Agent.IsValid, isvalid = dbitem.User.IsValid, isverified = dbitem.User.UserProfile.IsVerified }; if (dbitem.User.UserProfile.NickName != wxuser.userinfo["nickName"].ToString()) { dbitem.User.UserProfile.NickName = wxuser.userinfo["nickName"].ToString(); } if (dbitem.User.UserProfile.AvatarUrl != wxuser.userinfo["avatarUrl"].ToString()) { dbitem.User.UserProfile.AvatarUrl = wxuser.userinfo["avatarUrl"].ToString(); } if (db.Entry(dbitem.User.UserProfile).State == EntityState.Modified) { db.SaveChanges(); } //if (dbitem.User.Agent == null) //{ // Agent agent = new Agent // { // User = dbitem.User // }; // dbitem.User.Agent = db.Agents.Add(agent); // db.SaveChanges(); //} if (dbitem.User.Agent != null && (dbitem.User.Agent.IsValid ?? false)) { userdto.agentcode = dbitem.User.Agent.Code; userdto.isagentvalid = dbitem.User.Agent.IsValid; } var signin = db.IntegralSignIns.FirstOrDefault(t => t.UserIntegral.User.ID == dbitem.User.ID); if (signin != null && signin.LastTime != null && signin.LastTime.Value.Date == DateTime.Now.Date) { userdto.issignin = true; } //return new ArticleDto { content = dbitem == null ? null : dbitem.Content }; return(userdto); } } else { return(null); } }