Beispiel #1
0
 public JsonActionResult <User> GetUserByOpenID([FromUri] WeChatLoginParams param)
 {
     return(SafeExecute(() =>
     {
         return UserService.GetUserByOpenID(param);
     }));
 }
Beispiel #2
0
 public JsonActionResult <UserInfoDto> WeChatLogin([FromUri] WeChatLoginParams param)
 {
     return(SafeExecute(() =>
     {
         if (param == null)
         {
             throw new DomainException("参数为空");
         }
         return UserService.WeChatLogin(param);
     }));
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }