public JsonActionResult <User> GetUserByOpenID([FromUri] WeChatLoginParams param) { return(SafeExecute(() => { return UserService.GetUserByOpenID(param); })); }
public JsonActionResult <UserInfoDto> WeChatLogin([FromUri] WeChatLoginParams param) { return(SafeExecute(() => { if (param == null) { throw new DomainException("参数为空"); } return UserService.WeChatLogin(param); })); }
public UserInfoDto WeChatLogin(WeChatLoginParams param) { var password = Util.EncryptPassword(param.UserName, param.Password); var result = Login(param.UserName, password); var user = Repository.GetInclude(t => t.UserRoles, false).Where(t => t.ID == result.ID).FirstOrDefault(); if (user != null) { var userRoles = user.UserRoles; if (param.IsManager) { var ismanager = false; foreach (var role in userRoles) { if (role.RoleID == Guid.Parse("00000000-0000-0000-0000-000000000002")) { ismanager = true; break; } } if (!ismanager) { throw new DomainException("非店长登录"); } } else { var isstaff = false; foreach (var role in userRoles) { if (role.RoleID == Guid.Parse("00000000-0000-0000-0000-000000000003")) { isstaff = true; break; } } if (!isstaff) { throw new DomainException("非店员登录"); } } if (string.IsNullOrEmpty(user.OpenID) && !string.IsNullOrEmpty(param.OpenID)) { user.OpenID = param.OpenID; base.Update(user); } } return(result); }
public User GetUserByOpenID(WeChatLoginParams param) { var users = Repository.GetInclude(t => t.UserRoles, false).Where(t => t.OpenID == param.OpenID && t.MerchantID == AppContext.CurrentSession.MerchantID).ToList(); User user = null; if (users != null && users.Count > 0) { var userRoles = new List <UserRole>(); users.ForEach(t => { userRoles.AddRange(t.UserRoles); }); UserRole userrole = null; if (param.IsManager) { userrole = userRoles.Where(t => t.RoleID == Guid.Parse("00000000-0000-0000-0000-000000000002")).FirstOrDefault(); } else { userrole = userRoles.Where(t => t.RoleID == Guid.Parse("00000000-0000-0000-0000-000000000003")).FirstOrDefault(); } if (userrole == null) { return(null); } else { user = users.FirstOrDefault(t => t.ID == userrole.UserID); if (user == null) { return(null); } } if (user != null && !user.IsAvailable) { throw new DomainException("没有权限"); } } return(user); }